diff --git a/crates/libs/bindgen/src/rust/com_methods.rs b/crates/libs/bindgen/src/rust/com_methods.rs index 6afd3ec787..52a7e9a6b9 100644 --- a/crates/libs/bindgen/src/rust/com_methods.rs +++ b/crates/libs/bindgen/src/rust/com_methods.rs @@ -33,7 +33,7 @@ pub fn writer(writer: &Writer, def: metadata::TypeDef, kind: metadata::Interface #features pub unsafe fn #name<#generics>(&self, #params) -> ::windows_core::Result #where_clause { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args).from_abi(result__) + (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args).and_then(||::windows_core::Type::from_abi(result__)) } } } @@ -54,13 +54,20 @@ pub fn writer(writer: &Writer, def: metadata::TypeDef, kind: metadata::Interface let args = writer.win32_args(&signature.params, kind); let params = writer.win32_params(&signature.params, kind); let return_type = signature.params[signature.params.len() - 1].ty.deref(); + + let map = if metadata::type_is_blittable(&return_type) { + quote! { map(||result__) } + } else { + quote! { and_then(||::windows_core::Type::from_abi(result__)) } + }; + let return_type = writer.type_name(&return_type); quote! { #features pub unsafe fn #name<#generics>(&self, #params) -> ::windows_core::Result<#return_type> #where_clause { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args).from_abi(result__) + (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args).#map } } } @@ -80,24 +87,33 @@ pub fn writer(writer: &Writer, def: metadata::TypeDef, kind: metadata::Interface let params = writer.win32_params(&signature.params, kind); let return_type = signature.params[signature.params.len() - 1].ty.deref(); let is_nullable = metadata::type_is_nullable(&return_type); - let return_type = writer.type_name(&return_type); if is_nullable { + let return_type = writer.type_name(&return_type); + quote! { #features pub unsafe fn #name<#generics>(&self, #params) -> ::windows_core::Result<#return_type> #where_clause { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } } else { + let map = if metadata::type_is_blittable(&return_type) { + quote! { result__ } + } else { + quote! { ::std::mem::transmute(result__) } + }; + + let return_type = writer.type_name(&return_type); + quote! { #features pub unsafe fn #name<#generics>(&self, #params) -> #return_type #where_clause { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self)#bases.#vname)(::windows_core::Interface::as_raw(self), #args); - ::std::mem::transmute(result__) + #map } } } diff --git a/crates/libs/bindgen/src/rust/functions.rs b/crates/libs/bindgen/src/rust/functions.rs index fbbd80f1e9..9f9ac4d11e 100644 --- a/crates/libs/bindgen/src/rust/functions.rs +++ b/crates/libs/bindgen/src/rust/functions.rs @@ -53,7 +53,7 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) pub unsafe fn #name<#generics>(#params) -> ::windows_core::Result #where_clause { #link let mut result__ = ::std::ptr::null_mut(); - #name(#args).from_abi(result__) + #name(#args).and_then(||::windows_core::Type::from_abi(result__)) } } } @@ -76,6 +76,13 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) let args = writer.win32_args(&signature.params, kind); let params = writer.win32_params(&signature.params, kind); let return_type = signature.params[signature.params.len() - 1].ty.deref(); + + let map = if metadata::type_is_blittable(&return_type) { + quote! { map(||result__) } + } else { + quote! { and_then(||::windows_core::Type::from_abi(result__)) } + }; + let return_type = writer.type_name(&return_type); quote! { @@ -84,7 +91,7 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) pub unsafe fn #name<#generics>(#params) -> ::windows_core::Result<#return_type> #where_clause { #link let mut result__ = ::std::mem::zeroed(); - #name(#args).from_abi(result__) + #name(#args).#map } } } @@ -106,9 +113,10 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) let params = writer.win32_params(&signature.params, kind); let return_type = signature.params[signature.params.len() - 1].ty.deref(); let is_nullable = metadata::type_is_nullable(&return_type); - let return_type = writer.type_name(&return_type); if is_nullable { + let return_type = writer.type_name(&return_type); + quote! { #features #[inline] @@ -116,10 +124,18 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) #link let mut result__ = ::std::mem::zeroed(); #name(#args); - ::windows_core::from_abi(result__.assume_init()) + ::windows_core::Type::from_abi(result__.assume_init()) } } } else { + let map = if metadata::type_is_blittable(&return_type) { + quote! { result__ } + } else { + quote! { ::std::mem::transmute(result__) } + }; + + let return_type = writer.type_name(&return_type); + quote! { #features #[inline] @@ -127,7 +143,7 @@ fn gen_win_function(writer: &Writer, namespace: &str, def: metadata::MethodDef) #link let mut result__ = ::std::mem::zeroed(); #name(#args); - ::std::mem::transmute(result__) + #map } } } diff --git a/crates/libs/bindgen/src/rust/winrt_methods.rs b/crates/libs/bindgen/src/rust/winrt_methods.rs index 0b4544f459..7737c53985 100644 --- a/crates/libs/bindgen/src/rust/winrt_methods.rs +++ b/crates/libs/bindgen/src/rust/winrt_methods.rs @@ -49,14 +49,20 @@ pub fn writer(writer: &Writer, def: metadata::TypeDef, generic_types: &[metadata quote! { let mut result__ = ::core::mem::MaybeUninit::zeroed(); (::windows_core::Interface::vtable(this).#vname)(::windows_core::Interface::as_raw(this), #args #return_arg) - .and_then(|| result__.assume_init()) + .map(|| result__.assume_init()) } } _ => { + let map = if metadata::type_is_blittable(&signature.return_type) { + quote! { map(||result__) } + } else { + quote! { and_then(|| ::windows_core::Type::from_abi(result__)) } + }; + quote! { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).#vname)(::windows_core::Interface::as_raw(this), #args #return_arg) - .from_abi(result__) + .#map } } }; diff --git a/crates/libs/core/src/hresult.rs b/crates/libs/core/src/hresult.rs index 759d0e8cb9..5b83b45428 100644 --- a/crates/libs/core/src/hresult.rs +++ b/crates/libs/core/src/hresult.rs @@ -40,24 +40,10 @@ impl HRESULT { } } - /// Returns the [`Option`] as a [`Result`] if the option is a [`Some`] value, returning - /// a suitable error if not. - pub fn and_some(self, some: Option) -> Result { - if self.is_ok() { - if let Some(result) = some { - Ok(result) - } else { - Err(Error::OK) - } - } else { - Err(Error::from(self)) - } - } - /// Calls `op` if `self` is a success code, otherwise returns [`HRESULT`] /// converted to [`Result`]. #[inline] - pub fn and_then(self, op: F) -> Result + pub fn map(self, op: F) -> Result where F: FnOnce() -> T, { @@ -65,19 +51,15 @@ impl HRESULT { Ok(op()) } - /// If the [`Result`] is [`Ok`] converts the `T::Abi` into `T`. - /// - /// # Safety - /// - /// Safe to call if - /// * `abi` is initialized if `self` is `Ok` - /// * `abi` can be safely transmuted to `T` - pub unsafe fn from_abi>(self, abi: T::Abi) -> Result { - if self.is_ok() { - T::from_abi(abi) - } else { - Err(Error::from(self)) - } + /// Calls `op` if `self` is a success code, otherwise returns [`HRESULT`] + /// converted to [`Result`]. + #[inline] + pub fn and_then(self, op: F) -> Result + where + F: FnOnce() -> Result, + { + self.ok()?; + op() } /// The error message describing the error. diff --git a/crates/libs/core/src/imp/com_bindings.rs b/crates/libs/core/src/imp/com_bindings.rs index d5945f7945..e38cc91148 100644 --- a/crates/libs/core/src/imp/com_bindings.rs +++ b/crates/libs/core/src/imp/com_bindings.rs @@ -5,7 +5,7 @@ pub unsafe fn CoCreateGuid() -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("ole32.dll" "system" fn CoCreateGuid(pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoCreateGuid(&mut result__).from_abi(result__) + CoCreateGuid(&mut result__).map(|| result__) } #[inline] pub unsafe fn RoGetAgileReference(options: AgileReferenceOptions, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result @@ -14,7 +14,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn RoGetAgileReference(options : AgileReferenceOptions, riid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, ppagilereference : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetAgileReference(options, riid, punk.into_param().abi(), &mut result__).from_abi(result__) + RoGetAgileReference(options, riid, punk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub const AGILEREFERENCE_DEFAULT: AgileReferenceOptions = AgileReferenceOptions(0i32); #[repr(transparent)] @@ -83,7 +83,7 @@ impl IAgileReference { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -97,23 +97,23 @@ pub struct IAgileReference_Vtbl { impl IErrorInfo { pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHelpFile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHelpContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -131,7 +131,7 @@ pub struct IErrorInfo_Vtbl { impl ILanguageExceptionErrorInfo { pub unsafe fn GetLanguageException(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -145,11 +145,11 @@ pub struct ILanguageExceptionErrorInfo_Vtbl { impl ILanguageExceptionErrorInfo2 { pub unsafe fn GetLanguageException(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreviousLanguageExceptionErrorInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousLanguageExceptionErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousLanguageExceptionErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CapturePropagationContext(&self, languageexception: P0) -> ::windows_core::Result<()> where @@ -159,7 +159,7 @@ impl ILanguageExceptionErrorInfo2 { } pub unsafe fn GetPropagationContextHead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropagationContextHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropagationContextHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -177,140 +177,140 @@ impl IPropertyValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNumericScalar(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSingle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDouble(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetChar16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTimeSpan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPoint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8Array(&self, value: &mut ::windows_core::Array) -> ::windows_core::Result<()> { @@ -497,147 +497,147 @@ impl IReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNumericScalar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSingle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDouble(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetChar16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDateTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTimeSpan(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPoint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8Array(&self, value: &mut ::windows_core::Array) -> ::windows_core::Result<()> { @@ -742,7 +742,7 @@ impl IRestrictedErrorInfo { } pub unsafe fn GetReference(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IRestrictedErrorInfo {} @@ -761,7 +761,7 @@ impl IStringable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -782,7 +782,7 @@ impl IWeakReference { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -796,7 +796,7 @@ pub struct IWeakReference_Vtbl { impl IWeakReferenceSource { pub unsafe fn GetWeakReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWeakReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWeakReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -901,79 +901,79 @@ impl PropertyValue { pub fn CreateEmpty() -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEmpty)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt8(value: u8) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt8)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt8)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt16(value: i16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt16(value: u16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt32(value: i32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt32(value: u32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt64(value: i64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt64(value: u64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSingle(value: f32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDouble(value: f64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateChar16(value: u16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateChar16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateChar16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBoolean(value: bool) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateString(value: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInspectable(value: P0) -> ::windows_core::Result<::windows_core::IInspectable> @@ -982,157 +982,157 @@ impl PropertyValue { { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInspectable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInspectable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateGuid(value: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGuid)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGuid)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTime(value: DateTime) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimeSpan(value: TimeSpan) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimeSpan)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimeSpan)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePoint(value: Point) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePoint)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePoint)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSize(value: Size) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSize)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSize)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateRect(value: Rect) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRect)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRect)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt8Array(value: &[u8]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt8Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt8Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt16Array(value: &[i16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt16Array(value: &[u16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt32Array(value: &[i32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt32Array(value: &[u32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt64Array(value: &[i64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt64Array(value: &[u64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSingleArray(value: &[f32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSingleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSingleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDoubleArray(value: &[f64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDoubleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDoubleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateChar16Array(value: &[u16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateChar16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateChar16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBooleanArray(value: &[bool]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStringArray(value: &[::windows_core::HSTRING]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStringArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStringArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInspectableArray(value: &[::core::option::Option<::windows_core::IInspectable>]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInspectableArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInspectableArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateGuidArray(value: &[::windows_core::GUID]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGuidArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGuidArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTimeArray(value: &[DateTime]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimeSpanArray(value: &[TimeSpan]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimeSpanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimeSpanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePointArray(value: &[Point]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePointArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePointArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSizeArray(value: &[Size]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSizeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSizeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateRectArray(value: &[Rect]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/core/src/imp/factory_cache.rs b/crates/libs/core/src/imp/factory_cache.rs index 42ba806af1..f7bb536e8d 100644 --- a/crates/libs/core/src/imp/factory_cache.rs +++ b/crates/libs/core/src/imp/factory_cache.rs @@ -71,8 +71,8 @@ pub fn factory() -> crate::Result { }; // If this succeeded then return the resulting factory interface. - if code.is_ok() { - return code.and_some(factory); + if let Some(factory) = factory { + return Ok(factory); } // If not, first capture the error information from the failure above so that we @@ -116,7 +116,7 @@ where unsafe fn get_activation_factory(library: crate::PCSTR, name: &crate::HSTRING) -> crate::Result { let function = delay_load::(library, crate::s!("DllGetActivationFactory")).ok_or_else(crate::Error::from_win32)?; let mut abi = std::ptr::null_mut(); - function(std::mem::transmute_copy(name), &mut abi).from_abi(abi) + function(std::mem::transmute_copy(name), &mut abi).and_then(|| crate::Type::from_abi(abi)) } type DllGetActivationFactory = extern "system" fn(name: *mut std::ffi::c_void, factory: *mut *mut std::ffi::c_void) -> crate::HRESULT; diff --git a/crates/libs/core/src/imp/generic_factory.rs b/crates/libs/core/src/imp/generic_factory.rs index 7601a6a81f..5572bc1d88 100644 --- a/crates/libs/core/src/imp/generic_factory.rs +++ b/crates/libs/core/src/imp/generic_factory.rs @@ -9,7 +9,7 @@ impl IGenericFactory { pub fn ActivateInstance(&self) -> crate::Result { unsafe { let mut result__ = std::mem::zeroed(); - (crate::Interface::vtable(self).ActivateInstance)(std::mem::transmute_copy(self), &mut result__ as *mut _ as *mut _).from_abi::(result__)?.cast() + (crate::Interface::vtable(self).ActivateInstance)(std::mem::transmute_copy(self), &mut result__ as *mut _ as *mut _).and_then(|| crate::Type::from_abi(result__)).and_then(|interface: crate::IInspectable| interface.cast()) } } } diff --git a/crates/libs/core/src/type.rs b/crates/libs/core/src/type.rs index 3f4cd06ac5..edf42e283e 100644 --- a/crates/libs/core/src/type.rs +++ b/crates/libs/core/src/type.rs @@ -98,9 +98,3 @@ primitives!(bool, i8, u8, i16, u16, i32, u32, i64, u64, f32, f64, usize, isize); #[doc(hidden)] pub type AbiType = >::Abi; - -/// # Safety -#[doc(hidden)] -pub unsafe fn from_abi>(abi: T::Abi) -> Result { - T::from_abi(abi) -} diff --git a/crates/libs/core/src/variant.rs b/crates/libs/core/src/variant.rs index 64db50203b..084c1766e8 100644 --- a/crates/libs/core/src/variant.rs +++ b/crates/libs/core/src/variant.rs @@ -164,7 +164,7 @@ impl TryFrom<&VARIANT> for PROPVARIANT { fn try_from(from: &VARIANT) -> Result { unsafe { let mut value = Self::new(); - HRESULT(imp::VariantToPropVariant(&from.0, &mut value.0)).and_then(|| value) + HRESULT(imp::VariantToPropVariant(&from.0, &mut value.0)).map(|| value) } } } @@ -174,7 +174,7 @@ impl TryFrom<&PROPVARIANT> for VARIANT { fn try_from(from: &PROPVARIANT) -> Result { unsafe { let mut value = Self::new(); - HRESULT(imp::PropVariantToVariant(&from.0, &mut value.0)).and_then(|| value) + HRESULT(imp::PropVariantToVariant(&from.0, &mut value.0)).map(|| value) } } } @@ -275,7 +275,7 @@ impl TryFrom<&PROPVARIANT> for BSTR { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = Self::new(); - HRESULT(unsafe { imp::PropVariantToBSTR(&from.0, &mut value as *mut _ as *mut _) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToBSTR(&from.0, &mut value as *mut _ as *mut _) }).map(|| value) } } @@ -305,7 +305,7 @@ impl TryFrom<&VARIANT> for bool { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToBoolean(&from.0, &mut value) }).and_then(|| value != 0) + HRESULT(unsafe { imp::VariantToBoolean(&from.0, &mut value) }).map(|| value != 0) } } @@ -313,7 +313,7 @@ impl TryFrom<&PROPVARIANT> for bool { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToBoolean(&from.0, &mut value) }).and_then(|| value != 0) + HRESULT(unsafe { imp::PropVariantToBoolean(&from.0, &mut value) }).map(|| value != 0) } } @@ -381,7 +381,7 @@ impl TryFrom<&VARIANT> for u16 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToUInt16(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToUInt16(&from.0, &mut value) }).map(|| value) } } @@ -389,7 +389,7 @@ impl TryFrom<&PROPVARIANT> for u16 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToUInt16(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToUInt16(&from.0, &mut value) }).map(|| value) } } @@ -417,7 +417,7 @@ impl TryFrom<&VARIANT> for i16 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToInt16(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToInt16(&from.0, &mut value) }).map(|| value) } } @@ -425,7 +425,7 @@ impl TryFrom<&PROPVARIANT> for i16 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToInt16(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToInt16(&from.0, &mut value) }).map(|| value) } } @@ -453,7 +453,7 @@ impl TryFrom<&VARIANT> for u32 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToUInt32(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToUInt32(&from.0, &mut value) }).map(|| value) } } @@ -461,7 +461,7 @@ impl TryFrom<&PROPVARIANT> for u32 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToUInt32(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToUInt32(&from.0, &mut value) }).map(|| value) } } @@ -489,7 +489,7 @@ impl TryFrom<&VARIANT> for i32 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToInt32(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToInt32(&from.0, &mut value) }).map(|| value) } } @@ -497,7 +497,7 @@ impl TryFrom<&PROPVARIANT> for i32 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToInt32(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToInt32(&from.0, &mut value) }).map(|| value) } } @@ -525,7 +525,7 @@ impl TryFrom<&VARIANT> for u64 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToUInt64(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToUInt64(&from.0, &mut value) }).map(|| value) } } @@ -533,7 +533,7 @@ impl TryFrom<&PROPVARIANT> for u64 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToUInt64(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToUInt64(&from.0, &mut value) }).map(|| value) } } @@ -561,7 +561,7 @@ impl TryFrom<&VARIANT> for i64 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::VariantToInt64(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToInt64(&from.0, &mut value) }).map(|| value) } } @@ -569,7 +569,7 @@ impl TryFrom<&PROPVARIANT> for i64 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0; - HRESULT(unsafe { imp::PropVariantToInt64(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToInt64(&from.0, &mut value) }).map(|| value) } } @@ -617,7 +617,7 @@ impl TryFrom<&VARIANT> for f64 { type Error = Error; fn try_from(from: &VARIANT) -> Result { let mut value = 0.0; - HRESULT(unsafe { imp::VariantToDouble(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::VariantToDouble(&from.0, &mut value) }).map(|| value) } } @@ -625,6 +625,6 @@ impl TryFrom<&PROPVARIANT> for f64 { type Error = Error; fn try_from(from: &PROPVARIANT) -> Result { let mut value = 0.0; - HRESULT(unsafe { imp::PropVariantToDouble(&from.0, &mut value) }).and_then(|| value) + HRESULT(unsafe { imp::PropVariantToDouble(&from.0, &mut value) }).map(|| value) } } diff --git a/crates/libs/implement/src/lib.rs b/crates/libs/implement/src/lib.rs index f1cbeec544..67dbd741c7 100644 --- a/crates/libs/implement/src/lib.rs +++ b/crates/libs/implement/src/lib.rs @@ -187,8 +187,9 @@ pub fn implement(attributes: proc_macro::TokenStream, original_type: proc_macro: /// the mechanisms provided by `implement` macro. unsafe fn cast(&self) -> ::windows::core::Result { let boxed = (self as *const _ as *const *mut ::core::ffi::c_void).sub(1 + #interfaces_len) as *mut #impl_ident::#generics; - let mut result = None; - <#impl_ident::#generics as ::windows::core::IUnknownImpl>::QueryInterface(&*boxed, &I::IID, &mut result as *mut _ as _).and_some(result) + let mut result = ::std::ptr::null_mut(); + _ = <#impl_ident::#generics as ::windows::core::IUnknownImpl>::QueryInterface(&*boxed, &I::IID, &mut result); + ::windows::core::Type::from_abi(result) } } impl #generics ::core::convert::From<#original_ident::#generics> for ::windows::core::IUnknown where #constraints { diff --git a/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs b/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs index 1407710c8d..39851aa9bf 100644 --- a/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs +++ b/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs @@ -134,28 +134,28 @@ impl ILearningModelFeatureDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -178,7 +178,7 @@ impl ILearningModelFeatureValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -317,7 +317,7 @@ impl ITensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -325,14 +325,14 @@ impl ITensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -887,7 +887,7 @@ impl ImageFeatureDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -895,56 +895,56 @@ impl ImageFeatureDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelRange(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -971,7 +971,7 @@ impl ImageFeatureValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media")] @@ -981,14 +981,14 @@ impl ImageFeatureValue { { Self::IImageFeatureValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromVideoFrame)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromVideoFrame)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -1023,35 +1023,35 @@ impl LearningModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Domain(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Version(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1059,7 +1059,7 @@ impl LearningModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1067,7 +1067,7 @@ impl LearningModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputFeatures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputFeatures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1075,7 +1075,7 @@ impl LearningModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputFeatures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputFeatures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1085,7 +1085,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStorageFileAsync)(::windows_core::Interface::as_raw(this), modelfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStorageFileAsync)(::windows_core::Interface::as_raw(this), modelfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1095,13 +1095,13 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStreamAsync)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStreamAsync)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LoadFromFilePath(filepath: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFilePath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFilePath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1111,7 +1111,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStream)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStream)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -1122,7 +1122,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStorageFileWithOperatorProviderAsync)(::windows_core::Interface::as_raw(this), modelfile.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStorageFileWithOperatorProviderAsync)(::windows_core::Interface::as_raw(this), modelfile.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1133,7 +1133,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStreamWithOperatorProviderAsync)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStreamWithOperatorProviderAsync)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LoadFromFilePathWithOperatorProvider(filepath: &::windows_core::HSTRING, operatorprovider: P0) -> ::windows_core::Result @@ -1142,7 +1142,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFilePathWithOperatorProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), operatorprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFilePathWithOperatorProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), operatorprovider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1153,7 +1153,7 @@ impl LearningModel { { Self::ILearningModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStreamWithOperatorProvider)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStreamWithOperatorProvider)(::windows_core::Interface::as_raw(this), modelstream.into_param().abi(), operatorprovider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1186,7 +1186,7 @@ impl LearningModelBinding { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bind(&self, name: &::windows_core::HSTRING, value: P0) -> ::windows_core::Result<()> @@ -1215,7 +1215,7 @@ impl LearningModelBinding { { Self::ILearningModelBindingFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSession)(::windows_core::Interface::as_raw(this), session.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSession)(::windows_core::Interface::as_raw(this), session.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1223,7 +1223,7 @@ impl LearningModelBinding { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1231,7 +1231,7 @@ impl LearningModelBinding { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1239,7 +1239,7 @@ impl LearningModelBinding { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1291,7 +1291,7 @@ impl LearningModelDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1299,13 +1299,13 @@ impl LearningModelDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(devicekind: LearningModelDeviceKind) -> ::windows_core::Result { Self::ILearningModelDeviceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), devicekind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), devicekind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1315,7 +1315,7 @@ impl LearningModelDevice { { Self::ILearningModelDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDirect3D11Device)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDirect3D11Device)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1350,21 +1350,21 @@ impl LearningModelEvaluationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ErrorStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1372,7 +1372,7 @@ impl LearningModelEvaluationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Outputs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Outputs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1402,14 +1402,14 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Device(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1417,7 +1417,7 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluationProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluationProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EvaluateAsync(&self, bindings: P0, correlationid: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1427,7 +1427,7 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluateAsync)(::windows_core::Interface::as_raw(this), bindings.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluateAsync)(::windows_core::Interface::as_raw(this), bindings.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1438,7 +1438,7 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluateFeaturesAsync)(::windows_core::Interface::as_raw(this), features.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluateFeaturesAsync)(::windows_core::Interface::as_raw(this), features.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Evaluate(&self, bindings: P0, correlationid: &::windows_core::HSTRING) -> ::windows_core::Result @@ -1448,7 +1448,7 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Evaluate)(::windows_core::Interface::as_raw(this), bindings.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Evaluate)(::windows_core::Interface::as_raw(this), bindings.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1459,7 +1459,7 @@ impl LearningModelSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluateFeatures)(::windows_core::Interface::as_raw(this), features.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluateFeatures)(::windows_core::Interface::as_raw(this), features.into_param().abi(), ::core::mem::transmute_copy(correlationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromModel(model: P0) -> ::windows_core::Result @@ -1468,7 +1468,7 @@ impl LearningModelSession { { Self::ILearningModelSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromModel)(::windows_core::Interface::as_raw(this), model.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromModel)(::windows_core::Interface::as_raw(this), model.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromModelOnDevice(model: P0, devicetorunon: P1) -> ::windows_core::Result @@ -1478,7 +1478,7 @@ impl LearningModelSession { { Self::ILearningModelSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromModelOnDevice)(::windows_core::Interface::as_raw(this), model.into_param().abi(), devicetorunon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromModelOnDevice)(::windows_core::Interface::as_raw(this), model.into_param().abi(), devicetorunon.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromModelOnDeviceWithSessionOptions(model: P0, devicetorunon: P1, learningmodelsessionoptions: P2) -> ::windows_core::Result @@ -1489,7 +1489,7 @@ impl LearningModelSession { { Self::ILearningModelSessionFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromModelOnDeviceWithSessionOptions)(::windows_core::Interface::as_raw(this), model.into_param().abi(), devicetorunon.into_param().abi(), learningmodelsessionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromModelOnDeviceWithSessionOptions)(::windows_core::Interface::as_raw(this), model.into_param().abi(), devicetorunon.into_param().abi(), learningmodelsessionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1531,7 +1531,7 @@ impl LearningModelSessionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatchSizeOverride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatchSizeOverride)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBatchSizeOverride(&self, value: u32) -> ::windows_core::Result<()> { @@ -1542,7 +1542,7 @@ impl LearningModelSessionOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseModelOnSessionCreation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseModelOnSessionCreation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCloseModelOnSessionCreation(&self, value: bool) -> ::windows_core::Result<()> { @@ -1576,42 +1576,42 @@ impl MapFeatureDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValueDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1637,35 +1637,35 @@ impl SequenceFeatureDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ElementDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1695,21 +1695,21 @@ impl TensorBoolean { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1717,7 +1717,7 @@ impl TensorBoolean { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1725,13 +1725,13 @@ impl TensorBoolean { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorBooleanStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1741,7 +1741,7 @@ impl TensorBoolean { { Self::ITensorBooleanStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1751,7 +1751,7 @@ impl TensorBoolean { { Self::ITensorBooleanStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1762,13 +1762,13 @@ impl TensorBoolean { { Self::ITensorBooleanStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[bool]) -> ::windows_core::Result { Self::ITensorBooleanStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1778,7 +1778,7 @@ impl TensorBoolean { { Self::ITensorBooleanStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1818,21 +1818,21 @@ impl TensorDouble { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1840,7 +1840,7 @@ impl TensorDouble { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1848,13 +1848,13 @@ impl TensorDouble { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorDoubleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1864,7 +1864,7 @@ impl TensorDouble { { Self::ITensorDoubleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1874,7 +1874,7 @@ impl TensorDouble { { Self::ITensorDoubleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1885,13 +1885,13 @@ impl TensorDouble { { Self::ITensorDoubleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f64]) -> ::windows_core::Result { Self::ITensorDoubleStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1901,7 +1901,7 @@ impl TensorDouble { { Self::ITensorDoubleStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1937,35 +1937,35 @@ impl TensorFeatureDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1973,7 +1973,7 @@ impl TensorFeatureDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2003,21 +2003,21 @@ impl TensorFloat { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2025,7 +2025,7 @@ impl TensorFloat { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2033,13 +2033,13 @@ impl TensorFloat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorFloatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2049,7 +2049,7 @@ impl TensorFloat { { Self::ITensorFloatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2059,7 +2059,7 @@ impl TensorFloat { { Self::ITensorFloatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2070,13 +2070,13 @@ impl TensorFloat { { Self::ITensorFloatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f32]) -> ::windows_core::Result { Self::ITensorFloatStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2086,7 +2086,7 @@ impl TensorFloat { { Self::ITensorFloatStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2126,21 +2126,21 @@ impl TensorFloat16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2148,7 +2148,7 @@ impl TensorFloat16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2156,13 +2156,13 @@ impl TensorFloat16Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorFloat16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2172,7 +2172,7 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2182,7 +2182,7 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2193,13 +2193,13 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f32]) -> ::windows_core::Result { Self::ITensorFloat16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2209,7 +2209,7 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2249,21 +2249,21 @@ impl TensorInt16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2271,7 +2271,7 @@ impl TensorInt16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2279,13 +2279,13 @@ impl TensorInt16Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2295,7 +2295,7 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2305,7 +2305,7 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2316,13 +2316,13 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i16]) -> ::windows_core::Result { Self::ITensorInt16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2332,7 +2332,7 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2372,21 +2372,21 @@ impl TensorInt32Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2394,7 +2394,7 @@ impl TensorInt32Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2402,13 +2402,13 @@ impl TensorInt32Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2418,7 +2418,7 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2428,7 +2428,7 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2439,13 +2439,13 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i32]) -> ::windows_core::Result { Self::ITensorInt32BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2455,7 +2455,7 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2495,21 +2495,21 @@ impl TensorInt64Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2517,7 +2517,7 @@ impl TensorInt64Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2525,13 +2525,13 @@ impl TensorInt64Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2541,7 +2541,7 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2551,7 +2551,7 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2562,13 +2562,13 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i64]) -> ::windows_core::Result { Self::ITensorInt64BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2578,7 +2578,7 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2618,21 +2618,21 @@ impl TensorInt8Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2640,7 +2640,7 @@ impl TensorInt8Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2648,13 +2648,13 @@ impl TensorInt8Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2664,7 +2664,7 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2674,7 +2674,7 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2685,13 +2685,13 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u8]) -> ::windows_core::Result { Self::ITensorInt8BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2701,7 +2701,7 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2741,21 +2741,21 @@ impl TensorString { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2763,7 +2763,7 @@ impl TensorString { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2771,13 +2771,13 @@ impl TensorString { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorStringStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2787,7 +2787,7 @@ impl TensorString { { Self::ITensorStringStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2797,7 +2797,7 @@ impl TensorString { { Self::ITensorStringStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2808,13 +2808,13 @@ impl TensorString { { Self::ITensorStringStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[::windows_core::HSTRING]) -> ::windows_core::Result { Self::ITensorStringStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2854,21 +2854,21 @@ impl TensorUInt16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2876,7 +2876,7 @@ impl TensorUInt16Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2884,13 +2884,13 @@ impl TensorUInt16Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorUInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2900,7 +2900,7 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2910,7 +2910,7 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2921,13 +2921,13 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u16]) -> ::windows_core::Result { Self::ITensorUInt16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2937,7 +2937,7 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2977,21 +2977,21 @@ impl TensorUInt32Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2999,7 +2999,7 @@ impl TensorUInt32Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3007,13 +3007,13 @@ impl TensorUInt32Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorUInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3023,7 +3023,7 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3033,7 +3033,7 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3044,13 +3044,13 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u32]) -> ::windows_core::Result { Self::ITensorUInt32BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3060,7 +3060,7 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3100,21 +3100,21 @@ impl TensorUInt64Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3122,7 +3122,7 @@ impl TensorUInt64Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3130,13 +3130,13 @@ impl TensorUInt64Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorUInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3146,7 +3146,7 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3156,7 +3156,7 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3167,13 +3167,13 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u64]) -> ::windows_core::Result { Self::ITensorUInt64BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3183,7 +3183,7 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3223,21 +3223,21 @@ impl TensorUInt8Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateReference(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TensorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TensorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3245,7 +3245,7 @@ impl TensorUInt8Bit { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3253,13 +3253,13 @@ impl TensorUInt8Bit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsVectorView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create() -> ::windows_core::Result { Self::ITensorUInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3269,7 +3269,7 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create2)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3279,7 +3279,7 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromArray)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -3290,13 +3290,13 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIterable)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u8]) -> ::windows_core::Result { Self::ITensorUInt8BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), data.len().try_into().unwrap(), data.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3306,7 +3306,7 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), shape.len().try_into().unwrap(), shape.as_ptr(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs index 60a1974f3f..39e6df92b1 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs @@ -5,21 +5,21 @@ impl IActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -43,28 +43,28 @@ impl IActivatedEventArgsWithUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -88,28 +88,28 @@ impl IApplicationViewActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -130,28 +130,28 @@ impl IAppointmentsProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -173,35 +173,35 @@ impl IAppointmentsProviderAddAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -226,35 +226,35 @@ impl IAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -279,35 +279,35 @@ impl IAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -331,49 +331,49 @@ impl IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -396,42 +396,42 @@ impl IAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -453,7 +453,7 @@ impl IBackgroundActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -477,28 +477,28 @@ impl IBarcodeScannerPreviewActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -520,28 +520,28 @@ impl ICachedFileUpdaterActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -565,35 +565,35 @@ impl ICameraSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceExtension(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -615,28 +615,28 @@ impl ICommandLineActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -668,28 +668,28 @@ impl IContactActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -710,14 +710,14 @@ impl IContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -725,35 +725,35 @@ impl IContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -780,7 +780,7 @@ impl IContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -788,35 +788,35 @@ impl IContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -844,14 +844,14 @@ impl IContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -859,35 +859,35 @@ impl IContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -913,7 +913,7 @@ impl IContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -921,7 +921,7 @@ impl IContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -950,28 +950,28 @@ impl IContactPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -995,14 +995,14 @@ impl IContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -1010,35 +1010,35 @@ impl IContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1064,14 +1064,14 @@ impl IContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -1079,35 +1079,35 @@ impl IContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1133,28 +1133,28 @@ impl IContactsProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1176,28 +1176,28 @@ impl IContinuationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1221,35 +1221,35 @@ impl IDeviceActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1272,28 +1272,28 @@ impl IDevicePairingActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1317,42 +1317,42 @@ impl IDialReceiverActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1374,35 +1374,35 @@ impl IFileActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1427,28 +1427,28 @@ impl IFileActivatedEventArgsWithCallerPackageFamilyName { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1470,28 +1470,28 @@ impl IFileActivatedEventArgsWithNeighboringFiles { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1499,14 +1499,14 @@ impl IFileActivatedEventArgsWithNeighboringFiles { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1531,28 +1531,28 @@ impl IFileOpenPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1575,7 +1575,7 @@ impl IFileOpenPickerActivatedEventArgs2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1601,28 +1601,28 @@ impl IFileOpenPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1630,7 +1630,7 @@ impl IFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1657,28 +1657,28 @@ impl IFileSavePickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1701,14 +1701,14 @@ impl IFileSavePickerActivatedEventArgs2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnterpriseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1735,28 +1735,28 @@ impl IFileSavePickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1764,7 +1764,7 @@ impl IFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1795,28 +1795,28 @@ impl IFolderPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1824,7 +1824,7 @@ impl IFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1850,35 +1850,35 @@ impl ILaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1900,42 +1900,42 @@ impl ILaunchActivatedEventArgs2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1956,28 +1956,28 @@ impl ILockScreenActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1999,42 +1999,42 @@ impl ILockScreenCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2058,28 +2058,28 @@ impl IPhoneCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2100,28 +2100,28 @@ impl IPickerReturnedActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickerOperationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickerOperationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2142,28 +2142,28 @@ impl IPrelaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2185,28 +2185,28 @@ impl IPrint3DWorkflowActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2231,28 +2231,28 @@ impl IPrintTaskSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2276,28 +2276,28 @@ impl IProtocolActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2318,7 +2318,7 @@ impl IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2326,28 +2326,28 @@ impl IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2373,28 +2373,28 @@ impl IProtocolForResultsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2418,28 +2418,28 @@ impl IRestrictedLaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2460,35 +2460,35 @@ impl ISearchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2510,7 +2510,7 @@ impl ISearchActivatedEventArgsWithLinguisticDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2535,28 +2535,28 @@ impl IShareTargetActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2589,28 +2589,28 @@ impl IStartupTaskActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2641,7 +2641,7 @@ impl IToastNotificationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2649,28 +2649,28 @@ impl IToastNotificationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2696,28 +2696,28 @@ impl IUserDataAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2742,28 +2742,28 @@ impl IViewSwitcherProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2788,28 +2788,28 @@ impl IVoiceCommandActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2838,7 +2838,7 @@ impl IWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Wallet", feature = "deprecated"))] @@ -2846,7 +2846,7 @@ impl IWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2854,28 +2854,28 @@ impl IWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2910,28 +2910,28 @@ impl IWebAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2956,28 +2956,28 @@ impl IWebAuthenticationBrokerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2985,7 +2985,7 @@ impl IWebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3011,21 +3011,21 @@ impl AppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3033,14 +3033,14 @@ impl AppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Appointments_AppointmentsProvider")] @@ -3048,7 +3048,7 @@ impl AppointmentsProviderAddAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3074,21 +3074,21 @@ impl AppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3096,14 +3096,14 @@ impl AppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Appointments_AppointmentsProvider")] @@ -3111,7 +3111,7 @@ impl AppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3137,21 +3137,21 @@ impl AppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3159,14 +3159,14 @@ impl AppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Appointments_AppointmentsProvider")] @@ -3174,7 +3174,7 @@ impl AppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3200,21 +3200,21 @@ impl AppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3222,35 +3222,35 @@ impl AppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstanceStartDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3276,21 +3276,21 @@ impl AppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3298,28 +3298,28 @@ impl AppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeToShow(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3346,7 +3346,7 @@ impl BackgroundActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3372,21 +3372,21 @@ impl BarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3394,14 +3394,14 @@ impl BarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3427,21 +3427,21 @@ impl CachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3449,7 +3449,7 @@ impl CachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Provider")] @@ -3457,7 +3457,7 @@ impl CachedFileUpdaterActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3483,35 +3483,35 @@ impl CameraSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceController(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceExtension(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3537,21 +3537,21 @@ impl CommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3559,14 +3559,14 @@ impl CommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Operation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3591,14 +3591,14 @@ impl CommandLineActivationOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentDirectoryPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentDirectoryPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentDirectoryPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExitCode(&self, value: i32) -> ::windows_core::Result<()> { @@ -3609,14 +3609,14 @@ impl CommandLineActivationOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3642,42 +3642,42 @@ impl ContactCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3685,7 +3685,7 @@ impl ContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3711,28 +3711,28 @@ impl ContactMapActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3740,7 +3740,7 @@ impl ContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3748,7 +3748,7 @@ impl ContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3774,42 +3774,42 @@ impl ContactMessageActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3817,7 +3817,7 @@ impl ContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3843,21 +3843,21 @@ impl ContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3865,7 +3865,7 @@ impl ContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3873,7 +3873,7 @@ impl ContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3881,7 +3881,7 @@ impl ContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3907,21 +3907,21 @@ impl ContactPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts_Provider")] @@ -3929,7 +3929,7 @@ impl ContactPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3955,42 +3955,42 @@ impl ContactPostActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -3998,7 +3998,7 @@ impl ContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4024,42 +4024,42 @@ impl ContactVideoCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceUserId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -4067,7 +4067,7 @@ impl ContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4093,21 +4093,21 @@ impl DeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4115,28 +4115,28 @@ impl DeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceInformationId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -4144,7 +4144,7 @@ impl DeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4170,21 +4170,21 @@ impl DevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4192,7 +4192,7 @@ impl DevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -4200,7 +4200,7 @@ impl DevicePairingActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4226,21 +4226,21 @@ impl DialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4248,35 +4248,35 @@ impl DialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -4284,7 +4284,7 @@ impl DialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4310,21 +4310,21 @@ impl FileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4332,14 +4332,14 @@ impl FileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -4347,21 +4347,21 @@ impl FileActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Verb(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -4369,7 +4369,7 @@ impl FileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -4377,7 +4377,7 @@ impl FileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4403,21 +4403,21 @@ impl FileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4425,7 +4425,7 @@ impl FileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Pickers_Provider")] @@ -4433,14 +4433,14 @@ impl FileOpenPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4470,21 +4470,21 @@ impl FileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4492,7 +4492,7 @@ impl FileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4500,7 +4500,7 @@ impl FileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage", feature = "deprecated"))] @@ -4508,7 +4508,7 @@ impl FileOpenPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4539,21 +4539,21 @@ impl FileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4561,7 +4561,7 @@ impl FileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Pickers_Provider")] @@ -4569,21 +4569,21 @@ impl FileSavePickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnterpriseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4613,21 +4613,21 @@ impl FileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4635,7 +4635,7 @@ impl FileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4643,7 +4643,7 @@ impl FileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -4651,7 +4651,7 @@ impl FileSavePickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4686,21 +4686,21 @@ impl FolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4708,7 +4708,7 @@ impl FolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4716,7 +4716,7 @@ impl FolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -4724,7 +4724,7 @@ impl FolderPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4755,21 +4755,21 @@ impl LaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4777,42 +4777,42 @@ impl LaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileActivatedInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrelaunchActivated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -4820,7 +4820,7 @@ impl LaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4846,21 +4846,21 @@ impl LockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4868,14 +4868,14 @@ impl LockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Info(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4901,42 +4901,42 @@ impl LockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Calls")] @@ -4944,7 +4944,7 @@ impl LockScreenCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -4952,7 +4952,7 @@ impl LockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4978,21 +4978,21 @@ impl LockScreenComponentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5018,21 +5018,21 @@ impl PhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5040,14 +5040,14 @@ impl PhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LineId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5073,28 +5073,28 @@ impl PickerReturnedActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PickerOperationId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickerOperationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickerOperationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5120,21 +5120,21 @@ impl Print3DWorkflowActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Printers_Extensions")] @@ -5142,7 +5142,7 @@ impl Print3DWorkflowActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5168,21 +5168,21 @@ impl PrintTaskSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Printers_Extensions")] @@ -5190,7 +5190,7 @@ impl PrintTaskSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5216,21 +5216,21 @@ impl ProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5238,28 +5238,28 @@ impl ProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5267,7 +5267,7 @@ impl ProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -5275,7 +5275,7 @@ impl ProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5301,21 +5301,21 @@ impl ProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5323,28 +5323,28 @@ impl ProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5352,7 +5352,7 @@ impl ProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5360,7 +5360,7 @@ impl ProtocolForResultsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -5368,7 +5368,7 @@ impl ProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5394,21 +5394,21 @@ impl RestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5416,14 +5416,14 @@ impl RestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SharedContext(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5449,21 +5449,21 @@ impl SearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5471,28 +5471,28 @@ impl SearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn QueryText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Search")] @@ -5500,7 +5500,7 @@ impl SearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -5508,7 +5508,7 @@ impl SearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSwitcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5534,21 +5534,21 @@ impl ShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5556,7 +5556,7 @@ impl ShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_DataTransfer_ShareTarget")] @@ -5564,7 +5564,7 @@ impl ShareTargetActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5589,7 +5589,7 @@ impl SplashScreen { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Dismissed(&self, handler: P0) -> ::windows_core::Result @@ -5599,7 +5599,7 @@ impl SplashScreen { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDismissed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5627,21 +5627,21 @@ impl StartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5649,14 +5649,14 @@ impl StartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5682,7 +5682,7 @@ impl TileActivatedInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentlyShownNotifications)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentlyShownNotifications)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5708,21 +5708,21 @@ impl ToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5730,21 +5730,21 @@ impl ToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentlyShownApplicationViewId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Argument(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5752,7 +5752,7 @@ impl ToastNotificationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5778,21 +5778,21 @@ impl UserDataAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_UserDataAccounts_Provider")] @@ -5800,7 +5800,7 @@ impl UserDataAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5826,21 +5826,21 @@ impl VoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5848,7 +5848,7 @@ impl VoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_SpeechRecognition")] @@ -5856,7 +5856,7 @@ impl VoiceCommandActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5886,21 +5886,21 @@ impl WalletActionActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -5908,7 +5908,7 @@ impl WalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Wallet", feature = "deprecated"))] @@ -5916,7 +5916,7 @@ impl WalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -5924,7 +5924,7 @@ impl WalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5955,21 +5955,21 @@ impl WebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -5977,7 +5977,7 @@ impl WebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web_Provider")] @@ -5985,7 +5985,7 @@ impl WebAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6011,21 +6011,21 @@ impl WebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreviousExecutionState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SplashScreen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6033,7 +6033,7 @@ impl WebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web")] @@ -6041,7 +6041,7 @@ impl WebAuthenticationBrokerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs index d24806240f..d4a7a27a06 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs @@ -109,35 +109,35 @@ impl AppExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -145,7 +145,7 @@ impl AppExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetExtensionPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetExtensionPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -153,14 +153,14 @@ impl AppExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPublicFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPublicFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppUserModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -186,14 +186,14 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestRemovePackageAsync(&self, packagefullname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageInstalled(&self, handler: P0) -> ::windows_core::Result @@ -203,7 +203,7 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageInstalled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageInstalled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageInstalled(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -217,7 +217,7 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageUpdating(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -231,7 +231,7 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -245,7 +245,7 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageUninstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageUninstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageUninstalling(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -259,7 +259,7 @@ impl AppExtensionCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -269,7 +269,7 @@ impl AppExtensionCatalog { pub fn Open(appextensionname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppExtensionCatalogStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Open)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appextensionname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Open)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appextensionname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -297,14 +297,14 @@ impl AppExtensionPackageInstalledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -312,7 +312,7 @@ impl AppExtensionPackageInstalledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -337,14 +337,14 @@ impl AppExtensionPackageStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -369,14 +369,14 @@ impl AppExtensionPackageUninstallingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -401,14 +401,14 @@ impl AppExtensionPackageUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -416,7 +416,7 @@ impl AppExtensionPackageUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -441,14 +441,14 @@ impl AppExtensionPackageUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppExtensionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs index f46ee3ef44..84b24e3f46 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs @@ -149,7 +149,7 @@ impl AppServiceCatalog { pub fn FindAppServiceProvidersAsync(appservicename: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IAppServiceCatalogStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppServiceProvidersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppServiceProvidersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -170,7 +170,7 @@ impl AppServiceClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -203,7 +203,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppServiceName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -214,7 +214,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -225,7 +225,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -236,7 +236,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestReceived(&self, handler: P0) -> ::windows_core::Result @@ -246,7 +246,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRequestReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -260,7 +260,7 @@ impl AppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServiceClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -275,7 +275,7 @@ impl AppServiceConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenRemoteAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenRemoteAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -283,7 +283,7 @@ impl AppServiceConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -303,7 +303,7 @@ impl AppServiceConnection { { Self::IAppServiceConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendStatelessMessageAsync)(::windows_core::Interface::as_raw(this), connection.into_param().abi(), connectionrequest.into_param().abi(), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendStatelessMessageAsync)(::windows_core::Interface::as_raw(this), connection.into_param().abi(), connectionrequest.into_param().abi(), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -360,7 +360,7 @@ impl AppServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -371,7 +371,7 @@ impl AppServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendResponseAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendResponseAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -396,14 +396,14 @@ impl AppServiceRequestReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -429,14 +429,14 @@ impl AppServiceResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -461,42 +461,42 @@ impl AppServiceTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppServiceConnection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppServiceConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppServiceConnection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRemoteSystemConnection(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRemoteSystemConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRemoteSystemConnection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CheckCallerForCapabilityAsync(&self, capabilityname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckCallerForCapabilityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckCallerForCapabilityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallerRemoteConnectionToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerRemoteConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerRemoteConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -522,14 +522,14 @@ impl StatelessAppServiceResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/AppointmentsProvider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/AppointmentsProvider/mod.rs index 2e56482984..42ccaf7b0f 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/AppointmentsProvider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/AppointmentsProvider/mod.rs @@ -63,14 +63,14 @@ impl AddAppointmentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourcePackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self, itemid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -107,31 +107,31 @@ impl AppointmentsProviderLaunchActionVerbs { pub fn AddAppointment() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAppointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAppointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReplaceAppointment() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceAppointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceAppointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemoveAppointment() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAppointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAppointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowTimeFrame() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowTimeFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowTimeFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAppointmentDetails() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentsProviderLaunchActionVerbsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -157,21 +157,21 @@ impl RemoveAppointmentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstanceStartDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourcePackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self) -> ::windows_core::Result<()> { @@ -212,28 +212,28 @@ impl ReplaceAppointmentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstanceStartDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourcePackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self, itemid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs index cb6cae9006..75e2ac8796 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs @@ -167,56 +167,56 @@ impl AppointmentCalendarCancelMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentLocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentOriginalStartTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotifyInvitees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -241,14 +241,14 @@ impl AppointmentCalendarCancelMeetingRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -273,21 +273,21 @@ impl AppointmentCalendarCreateOrUpdateAppointmentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Appointment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotifyInvitees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -295,7 +295,7 @@ impl AppointmentCalendarCreateOrUpdateAppointmentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self, createdorupdatedappointment: P0) -> ::windows_core::Result @@ -305,14 +305,14 @@ impl AppointmentCalendarCreateOrUpdateAppointmentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdatedappointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdatedappointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -337,14 +337,14 @@ impl AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -369,21 +369,21 @@ impl AppointmentCalendarForwardMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentLocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentOriginalStartTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -391,42 +391,42 @@ impl AppointmentCalendarForwardMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ForwardHeader(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -451,14 +451,14 @@ impl AppointmentCalendarForwardMeetingRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -483,63 +483,63 @@ impl AppointmentCalendarProposeNewTimeForMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentLocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentOriginalStartTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewStartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -564,14 +564,14 @@ impl AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -596,21 +596,21 @@ impl AppointmentCalendarSyncManagerSyncRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -635,14 +635,14 @@ impl AppointmentCalendarSyncManagerSyncRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -667,63 +667,63 @@ impl AppointmentCalendarUpdateMeetingResponseRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendarLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentLocalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentLocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppointmentOriginalStartTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Response(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendUpdate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendUpdate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -748,14 +748,14 @@ impl AppointmentCalendarUpdateMeetingResponseRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -783,7 +783,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -797,7 +797,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOrUpdateAppointmentRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOrUpdateAppointmentRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCreateOrUpdateAppointmentRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -811,7 +811,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCancelMeetingRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -825,7 +825,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveForwardMeetingRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -839,7 +839,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProposeNewTimeForMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProposeNewTimeForMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProposeNewTimeForMeetingRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -853,7 +853,7 @@ impl AppointmentDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateMeetingResponseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateMeetingResponseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdateMeetingResponseRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -886,7 +886,7 @@ impl AppointmentDataProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs index 90535c08ae..8223965ec5 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs @@ -319,7 +319,7 @@ impl IAppointmentParticipant { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -330,7 +330,7 @@ impl IAppointmentParticipant { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -590,7 +590,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -601,7 +601,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -612,7 +612,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocation(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -623,7 +623,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubject(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -634,7 +634,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDetails(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -645,7 +645,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReminder(&self, value: P0) -> ::windows_core::Result<()> @@ -659,7 +659,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Organizer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Organizer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOrganizer(&self, value: P0) -> ::windows_core::Result<()> @@ -674,14 +674,14 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Recurrence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecurrence(&self, value: P0) -> ::windows_core::Result<()> @@ -695,7 +695,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BusyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BusyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBusyStatus(&self, value: AppointmentBusyStatus) -> ::windows_core::Result<()> { @@ -706,7 +706,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllDay(&self, value: bool) -> ::windows_core::Result<()> { @@ -717,7 +717,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSensitivity(&self, value: AppointmentSensitivity) -> ::windows_core::Result<()> { @@ -728,7 +728,7 @@ impl Appointment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -742,21 +742,21 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CalendarId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalendarId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalendarId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRoamingId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -767,14 +767,14 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsResponseRequested(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsResponseRequested(&self, value: bool) -> ::windows_core::Result<()> { @@ -785,7 +785,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowNewTimeProposal(&self, value: bool) -> ::windows_core::Result<()> { @@ -796,7 +796,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OnlineMeetingLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OnlineMeetingLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOnlineMeetingLink(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -807,7 +807,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplyTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplyTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReplyTime(&self, value: P0) -> ::windows_core::Result<()> @@ -821,7 +821,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUserResponse(&self, value: AppointmentParticipantResponse) -> ::windows_core::Result<()> { @@ -832,14 +832,14 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasInvitees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCanceledMeeting(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceledMeeting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceledMeeting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCanceledMeeting(&self, value: bool) -> ::windows_core::Result<()> { @@ -850,7 +850,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOrganizedByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOrganizedByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOrganizedByUser(&self, value: bool) -> ::windows_core::Result<()> { @@ -861,14 +861,14 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemoteChangeNumber(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRemoteChangeNumber(&self, value: u64) -> ::windows_core::Result<()> { @@ -879,7 +879,7 @@ impl Appointment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDetailsKind(&self, value: AppointmentDetailsKind) -> ::windows_core::Result<()> { @@ -909,14 +909,14 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -927,21 +927,21 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsHidden(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHidden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHidden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OtherAppReadAccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: AppointmentCalendarOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -952,7 +952,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppWriteAccess(&self, value: AppointmentCalendarOtherAppWriteAccess) -> ::windows_core::Result<()> { @@ -963,14 +963,14 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SummaryCardView(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SummaryCardView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SummaryCardView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSummaryCardView(&self, value: AppointmentSummaryCardView) -> ::windows_core::Result<()> { @@ -982,7 +982,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentsAsync)(::windows_core::Interface::as_raw(this), rangestart, rangelength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentsAsync)(::windows_core::Interface::as_raw(this), rangestart, rangelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -993,7 +993,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), rangestart, rangelength, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), rangestart, rangelength, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1001,7 +1001,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindExceptionsFromMasterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindExceptionsFromMasterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1009,7 +1009,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllInstancesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), rangestart, rangelength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllInstancesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), rangestart, rangelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1020,21 +1020,21 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllInstancesAsyncWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), rangestart, rangelength, poptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllInstancesAsyncWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(masterlocalid), rangestart, rangelength, poptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppointmentAsync(&self, localid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppointmentInstanceAsync(&self, localid: &::windows_core::HSTRING, instancestarttime: super::super::Foundation::DateTime) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1042,7 +1042,7 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUnexpandedAppointmentsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUnexpandedAppointmentsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1053,35 +1053,35 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUnexpandedAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUnexpandedAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAppointmentAsync(&self, localid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAppointmentInstanceAsync(&self, localid: &::windows_core::HSTRING, instancestarttime: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAppointmentAsync(&self, pappointment: P0) -> ::windows_core::Result @@ -1091,21 +1091,21 @@ impl AppointmentCalendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAppointmentAsync)(::windows_core::Interface::as_raw(this), pappointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAppointmentAsync)(::windows_core::Interface::as_raw(this), pappointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1125,14 +1125,14 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanCreateOrUpdateAppointments(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCreateOrUpdateAppointments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCreateOrUpdateAppointments)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanCreateOrUpdateAppointments(&self, value: bool) -> ::windows_core::Result<()> { @@ -1143,7 +1143,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCancelMeetings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCancelMeetings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanCancelMeetings(&self, value: bool) -> ::windows_core::Result<()> { @@ -1154,7 +1154,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanForwardMeetings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanForwardMeetings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanForwardMeetings(&self, value: bool) -> ::windows_core::Result<()> { @@ -1165,7 +1165,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanProposeNewTimeForMeetings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanProposeNewTimeForMeetings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanProposeNewTimeForMeetings(&self, value: bool) -> ::windows_core::Result<()> { @@ -1176,7 +1176,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanUpdateMeetingResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanUpdateMeetingResponses)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanUpdateMeetingResponses(&self, value: bool) -> ::windows_core::Result<()> { @@ -1187,7 +1187,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanNotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanNotifyInvitees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanNotifyInvitees(&self, value: bool) -> ::windows_core::Result<()> { @@ -1198,7 +1198,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MustNofityInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MustNofityInvitees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMustNofityInvitees(&self, value: bool) -> ::windows_core::Result<()> { @@ -1212,7 +1212,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateOrUpdateAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), notifyinvitees, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateOrUpdateAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), notifyinvitees, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCancelMeetingAsync(&self, meeting: P0, subject: &::windows_core::HSTRING, comment: &::windows_core::HSTRING, notifyinvitees: bool) -> ::windows_core::Result> @@ -1222,7 +1222,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCancelMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), notifyinvitees, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCancelMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), notifyinvitees, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1234,7 +1234,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryForwardMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), invitees.into_param().abi(), ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(forwardheader), ::core::mem::transmute_copy(comment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryForwardMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), invitees.into_param().abi(), ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(forwardheader), ::core::mem::transmute_copy(comment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryProposeNewTimeForMeetingAsync(&self, meeting: P0, newstarttime: super::super::Foundation::DateTime, newduration: super::super::Foundation::TimeSpan, subject: &::windows_core::HSTRING, comment: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1244,7 +1244,7 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryProposeNewTimeForMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), newstarttime, newduration, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryProposeNewTimeForMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), newstarttime, newduration, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUpdateMeetingResponseAsync(&self, meeting: P0, response: AppointmentParticipantResponse, subject: &::windows_core::HSTRING, comment: &::windows_core::HSTRING, sendupdate: bool) -> ::windows_core::Result> @@ -1254,14 +1254,14 @@ impl AppointmentCalendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateMeetingResponseAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), response, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), sendupdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateMeetingResponseAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), response, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), sendupdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterSyncManagerAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1286,28 +1286,28 @@ impl AppointmentCalendarSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSuccessfulSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastAttemptedSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SyncAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -1317,7 +1317,7 @@ impl AppointmentCalendarSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1358,14 +1358,14 @@ impl AppointmentConflictResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Date(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1390,7 +1390,7 @@ impl AppointmentException { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1398,14 +1398,14 @@ impl AppointmentException { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExceptionProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExceptionProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDeleted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDeleted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDeleted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1438,7 +1438,7 @@ impl AppointmentInvitee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRole(&self, value: AppointmentParticipantRole) -> ::windows_core::Result<()> { @@ -1449,7 +1449,7 @@ impl AppointmentInvitee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResponse(&self, value: AppointmentParticipantResponse) -> ::windows_core::Result<()> { @@ -1460,7 +1460,7 @@ impl AppointmentInvitee { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1471,7 +1471,7 @@ impl AppointmentInvitee { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1499,7 +1499,7 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] @@ -1509,7 +1509,7 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowReplaceAppointmentAsync(appointmentid: &::windows_core::HSTRING, appointment: P0, selection: super::super::Foundation::Rect) -> ::windows_core::Result> @@ -1518,7 +1518,7 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] @@ -1528,7 +1528,7 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] @@ -1538,45 +1538,45 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowRemoveAppointmentAsync(appointmentid: &::windows_core::HSTRING, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] pub fn ShowRemoveAppointmentWithPlacementAsync(appointmentid: &::windows_core::HSTRING, selection: super::super::Foundation::Rect, preferredplacement: super::super::UI::Popups::Placement) -> ::windows_core::Result> { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] pub fn ShowRemoveAppointmentWithPlacementAndDateAsync(appointmentid: &::windows_core::HSTRING, selection: super::super::Foundation::Rect, preferredplacement: super::super::UI::Popups::Placement, instancestartdate: super::super::Foundation::DateTime) -> ::windows_core::Result> { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowTimeFrameAsync(timetoshow: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IAppointmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowTimeFrameAsync)(::windows_core::Interface::as_raw(this), timetoshow, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowTimeFrameAsync)(::windows_core::Interface::as_raw(this), timetoshow, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAppointmentDetailsAsync(appointmentid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppointmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAppointmentDetailsWithDateAsync(appointmentid: &::windows_core::HSTRING, instancestartdate: super::super::Foundation::DateTime) -> ::windows_core::Result { Self::IAppointmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowEditNewAppointmentAsync(appointment: P0) -> ::windows_core::Result> @@ -1585,13 +1585,13 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStoreAsync(options: AppointmentStoreAccessType) -> ::windows_core::Result> { Self::IAppointmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1601,7 +1601,7 @@ impl AppointmentManager { { Self::IAppointmentManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1635,7 +1635,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1646,7 +1646,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowReplaceAppointmentAsync(&self, appointmentid: &::windows_core::HSTRING, appointment: P0, selection: super::super::Foundation::Rect) -> ::windows_core::Result> @@ -1656,7 +1656,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1667,7 +1667,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1678,14 +1678,14 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowRemoveAppointmentAsync(&self, appointmentid: &::windows_core::HSTRING, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1693,7 +1693,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1701,28 +1701,28 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowTimeFrameAsync(&self, timetoshow: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowTimeFrameAsync)(::windows_core::Interface::as_raw(this), timetoshow, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowTimeFrameAsync)(::windows_core::Interface::as_raw(this), timetoshow, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAppointmentDetailsAsync(&self, appointmentid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAppointmentDetailsWithDateAsync(&self, appointmentid: &::windows_core::HSTRING, instancestartdate: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appointmentid), instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowEditNewAppointmentAsync(&self, appointment: P0) -> ::windows_core::Result> @@ -1732,14 +1732,14 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestStoreAsync(&self, options: AppointmentStoreAccessType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -1747,7 +1747,7 @@ impl AppointmentManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1780,7 +1780,7 @@ impl AppointmentOrganizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1791,7 +1791,7 @@ impl AppointmentOrganizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1816,158 +1816,158 @@ impl AppointmentProperties { pub fn Subject() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Location() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StartTime() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Duration() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Reminder() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BusyStatus() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BusyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BusyStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sensitivity() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OriginalStartTime() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsResponseRequested() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AllowNewTimeProposal() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AllDay() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllDay)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Details() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OnlineMeetingLink() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OnlineMeetingLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OnlineMeetingLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReplyTime() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplyTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplyTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Organizer() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Organizer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Organizer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UserResponse() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserResponse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HasInvitees() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasInvitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasInvitees)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsCanceledMeeting() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceledMeeting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceledMeeting)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsOrganizedByUser() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOrganizedByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOrganizedByUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Recurrence() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Uri() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Invitees() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invitees)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn DefaultProperties() -> ::windows_core::Result> { Self::IAppointmentPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ChangeNumber() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemoteChangeNumber() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DetailsKind() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAppointmentPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2000,7 +2000,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnit(&self, value: AppointmentRecurrenceUnit) -> ::windows_core::Result<()> { @@ -2011,7 +2011,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOccurrences(&self, value: P0) -> ::windows_core::Result<()> @@ -2025,7 +2025,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUntil(&self, value: P0) -> ::windows_core::Result<()> @@ -2039,7 +2039,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -2050,7 +2050,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DaysOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DaysOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDaysOfWeek(&self, value: AppointmentDaysOfWeek) -> ::windows_core::Result<()> { @@ -2061,7 +2061,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WeekOfMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WeekOfMonth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWeekOfMonth(&self, value: AppointmentWeekOfMonth) -> ::windows_core::Result<()> { @@ -2072,7 +2072,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMonth(&self, value: u32) -> ::windows_core::Result<()> { @@ -2083,7 +2083,7 @@ impl AppointmentRecurrence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDay(&self, value: u32) -> ::windows_core::Result<()> { @@ -2094,14 +2094,14 @@ impl AppointmentRecurrence { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecurrenceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecurrenceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TimeZone(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeZone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeZone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTimeZone(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2112,7 +2112,7 @@ impl AppointmentRecurrence { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalendarIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalendarIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2137,35 +2137,35 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAppointmentCalendarAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAppointmentCalendarAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAppointmentCalendarAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppointmentCalendarAsync(&self, calendarid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppointmentCalendarAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(calendarid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppointmentCalendarAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(calendarid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppointmentAsync(&self, localid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppointmentInstanceAsync(&self, localid: &::windows_core::HSTRING, instancestarttime: super::super::Foundation::DateTime) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppointmentInstanceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestarttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2173,7 +2173,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2181,7 +2181,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsyncWithOptions)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsyncWithOptions)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2189,7 +2189,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentsAsync)(::windows_core::Interface::as_raw(this), rangestart, rangelength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentsAsync)(::windows_core::Interface::as_raw(this), rangestart, rangelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2200,7 +2200,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), rangestart, rangelength, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentsAsyncWithOptions)(::windows_core::Interface::as_raw(this), rangestart, rangelength, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindConflictAsync(&self, appointment: P0) -> ::windows_core::Result> @@ -2210,7 +2210,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindConflictAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindConflictAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindConflictAsyncWithInstanceStart(&self, appointment: P0, instancestarttime: super::super::Foundation::DateTime) -> ::windows_core::Result> @@ -2220,7 +2220,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindConflictAsyncWithInstanceStart)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), instancestarttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindConflictAsyncWithInstanceStart)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), instancestarttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveAppointmentAsync(&self, appointment: P0, destinationcalendar: P1) -> ::windows_core::Result @@ -2231,7 +2231,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), destinationcalendar.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), destinationcalendar.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAddAppointmentAsync(&self, appointment: P0, selection: super::super::Foundation::Rect) -> ::windows_core::Result> @@ -2241,7 +2241,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowReplaceAppointmentAsync(&self, localid: &::windows_core::HSTRING, appointment: P0, selection: super::super::Foundation::Rect) -> ::windows_core::Result> @@ -2251,7 +2251,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), appointment.into_param().abi(), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), appointment.into_param().abi(), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -2262,14 +2262,14 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowReplaceAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), appointment.into_param().abi(), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowRemoveAppointmentAsync(&self, localid: &::windows_core::HSTRING, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -2277,21 +2277,21 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), selection, preferredplacement, instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowRemoveAppointmentWithPlacementAndDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), selection, preferredplacement, instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAppointmentDetailsAsync(&self, localid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAppointmentDetailsWithDateAsync(&self, localid: &::windows_core::HSTRING, instancestartdate: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestartdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAppointmentDetailsWithDateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localid), instancestartdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowEditNewAppointmentAsync(&self, appointment: P0) -> ::windows_core::Result> @@ -2301,7 +2301,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowEditNewAppointmentAsync)(::windows_core::Interface::as_raw(this), appointment.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2309,7 +2309,7 @@ impl AppointmentStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocalIdsFromRoamingIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(roamingid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocalIdsFromRoamingIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(roamingid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StoreChanged(&self, phandler: P0) -> ::windows_core::Result @@ -2319,7 +2319,7 @@ impl AppointmentStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), phandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), phandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStoreChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2330,14 +2330,14 @@ impl AppointmentStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAppointmentCalendarInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAppointmentCalendarInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetChangeTracker(&self, identity: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2362,21 +2362,21 @@ impl AppointmentStoreChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppointmentCalendar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentCalendar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentCalendar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2402,7 +2402,7 @@ impl AppointmentStoreChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptChanges(&self) -> ::windows_core::Result<()> { @@ -2438,7 +2438,7 @@ impl AppointmentStoreChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Enable(&self) -> ::windows_core::Result<()> { @@ -2453,7 +2453,7 @@ impl AppointmentStoreChangeTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2500,7 +2500,7 @@ impl AppointmentStoreChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2550,7 +2550,7 @@ impl FindAppointmentsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalendarIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalendarIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2558,14 +2558,14 @@ impl FindAppointmentsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FetchProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FetchProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IncludeHidden(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeHidden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeHidden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeHidden(&self, value: bool) -> ::windows_core::Result<()> { @@ -2576,7 +2576,7 @@ impl FindAppointmentsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxCount(&self, value: u32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs index f9310ff276..2b6c2a9f95 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs @@ -214,21 +214,21 @@ impl IBackgroundTaskInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Task(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProgress(&self, value: u32) -> ::windows_core::Result<()> { @@ -239,7 +239,7 @@ impl IBackgroundTaskInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Canceled(&self, cancelhandler: P0) -> ::windows_core::Result @@ -249,7 +249,7 @@ impl IBackgroundTaskInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanceled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -260,14 +260,14 @@ impl IBackgroundTaskInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -296,28 +296,28 @@ impl IBackgroundTaskInstance2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThrottleCount)(::windows_core::Interface::as_raw(this), counter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThrottleCount)(::windows_core::Interface::as_raw(this), counter, &mut result__).map(|| result__) } } pub fn InstanceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Task(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProgress(&self, value: u32) -> ::windows_core::Result<()> { @@ -328,7 +328,7 @@ impl IBackgroundTaskInstance2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Canceled(&self, cancelhandler: P0) -> ::windows_core::Result @@ -338,7 +338,7 @@ impl IBackgroundTaskInstance2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanceled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -349,14 +349,14 @@ impl IBackgroundTaskInstance2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -378,28 +378,28 @@ impl IBackgroundTaskInstance4 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstanceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Task(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProgress(&self, value: u32) -> ::windows_core::Result<()> { @@ -410,7 +410,7 @@ impl IBackgroundTaskInstance4 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Canceled(&self, cancelhandler: P0) -> ::windows_core::Result @@ -420,7 +420,7 @@ impl IBackgroundTaskInstance4 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanceled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -431,14 +431,14 @@ impl IBackgroundTaskInstance4 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -469,14 +469,14 @@ impl IBackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self, handler: P0) -> ::windows_core::Result @@ -486,7 +486,7 @@ impl IBackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgress(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -500,7 +500,7 @@ impl IBackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -535,21 +535,21 @@ impl IBackgroundTaskRegistration2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self, handler: P0) -> ::windows_core::Result @@ -559,7 +559,7 @@ impl IBackgroundTaskRegistration2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgress(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -573,7 +573,7 @@ impl IBackgroundTaskRegistration2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -602,21 +602,21 @@ impl IBackgroundTaskRegistration3 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self, handler: P0) -> ::windows_core::Result @@ -626,7 +626,7 @@ impl IBackgroundTaskRegistration3 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgress(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -640,7 +640,7 @@ impl IBackgroundTaskRegistration3 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1317,14 +1317,14 @@ impl ActivitySensorTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribedActivities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribedActivities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Sensors", feature = "Foundation_Collections"))] @@ -1332,20 +1332,20 @@ impl ActivitySensorTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedActivities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedActivities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(reportintervalinmilliseconds: u32) -> ::windows_core::Result { Self::IActivitySensorTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), reportintervalinmilliseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), reportintervalinmilliseconds, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1371,13 +1371,13 @@ impl AlarmApplicationManager { pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IAlarmApplicationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAccessStatus() -> ::windows_core::Result { Self::IAlarmApplicationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1406,13 +1406,13 @@ impl AppBroadcastTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAppBroadcastTrigger(providerkey: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppBroadcastTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAppBroadcastTrigger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(providerkey), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAppBroadcastTrigger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(providerkey), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1446,7 +1446,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLogoResource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1457,7 +1457,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideoKeyFrameInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1468,7 +1468,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoKeyFrameInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoKeyFrameInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxVideoBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -1479,7 +1479,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxVideoBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxVideoBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxVideoWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -1490,7 +1490,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxVideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxVideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxVideoHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -1501,7 +1501,7 @@ impl AppBroadcastTriggerProviderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxVideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxVideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1534,7 +1534,7 @@ impl ApplicationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1545,7 +1545,7 @@ impl ApplicationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), arguments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), arguments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1571,7 +1571,7 @@ impl ApplicationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1618,13 +1618,13 @@ impl BackgroundExecutionManager { pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IBackgroundExecutionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessForApplicationAsync(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBackgroundExecutionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForApplicationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForApplicationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemoveAccess() -> ::windows_core::Result<()> { @@ -1636,37 +1636,37 @@ impl BackgroundExecutionManager { pub fn GetAccessStatus() -> ::windows_core::Result { Self::IBackgroundExecutionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetAccessStatusForApplication(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundExecutionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatusForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatusForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).map(|| result__) }) } pub fn RequestAccessKindAsync(requestedaccess: BackgroundAccessRequestKind, reason: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBackgroundExecutionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessKindAsync)(::windows_core::Interface::as_raw(this), requestedaccess, ::core::mem::transmute_copy(reason), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessKindAsync)(::windows_core::Interface::as_raw(this), requestedaccess, ::core::mem::transmute_copy(reason), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessKindForModernStandbyAsync(requestedaccess: BackgroundAccessRequestKind, reason: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBackgroundExecutionManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessKindForModernStandbyAsync)(::windows_core::Interface::as_raw(this), requestedaccess, ::core::mem::transmute_copy(reason), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessKindForModernStandbyAsync)(::windows_core::Interface::as_raw(this), requestedaccess, ::core::mem::transmute_copy(reason), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAccessStatusForModernStandby() -> ::windows_core::Result { Self::IBackgroundExecutionManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatusForModernStandby)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatusForModernStandby)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetAccessStatusForModernStandbyForApplication(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundExecutionManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatusForModernStandbyForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatusForModernStandbyForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1708,7 +1708,7 @@ impl BackgroundTaskBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskEntryPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskEntryPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTrigger(&self, trigger: P0) -> ::windows_core::Result<()> @@ -1733,14 +1733,14 @@ impl BackgroundTaskBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Register(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCancelOnConditionLoss(&self, value: bool) -> ::windows_core::Result<()> { @@ -1751,7 +1751,7 @@ impl BackgroundTaskBuilder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelOnConditionLoss)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelOnConditionLoss)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsNetworkRequested(&self, value: bool) -> ::windows_core::Result<()> { @@ -1762,14 +1762,14 @@ impl BackgroundTaskBuilder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNetworkRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNetworkRequested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TaskGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTaskGroup(&self, value: P0) -> ::windows_core::Result<()> @@ -1803,7 +1803,7 @@ impl BackgroundTaskCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CheckResult(&self) -> ::windows_core::Result<()> { @@ -1854,14 +1854,14 @@ impl BackgroundTaskProgressEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1887,14 +1887,14 @@ impl BackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self, handler: P0) -> ::windows_core::Result @@ -1904,7 +1904,7 @@ impl BackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgress(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1918,7 +1918,7 @@ impl BackgroundTaskRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1933,34 +1933,34 @@ impl BackgroundTaskRegistration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn AllTasks() -> ::windows_core::Result> { Self::IBackgroundTaskRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllTasks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllTasks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn AllTaskGroups() -> ::windows_core::Result> { Self::IBackgroundTaskRegistrationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllTaskGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllTaskGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTaskGroup(groupid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTaskRegistrationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTaskGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(groupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTaskGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(groupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1995,14 +1995,14 @@ impl BackgroundTaskRegistrationGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2013,7 +2013,7 @@ impl BackgroundTaskRegistrationGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBackgroundActivated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2025,19 +2025,19 @@ impl BackgroundTaskRegistrationGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllTasks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllTasks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTaskRegistrationGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithName(id: &::windows_core::HSTRING, name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTaskRegistrationGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2063,7 +2063,7 @@ impl BackgroundWorkCost { pub fn CurrentBackgroundWorkCost() -> ::windows_core::Result { Self::IBackgroundWorkCostStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentBackgroundWorkCost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentBackgroundWorkCost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2093,14 +2093,14 @@ impl BluetoothLEAdvertisementPublisherTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreferredTransmitPowerLevelInDBm(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreferredTransmitPowerLevelInDBm(&self, value: P0) -> ::windows_core::Result<()> @@ -2114,7 +2114,7 @@ impl BluetoothLEAdvertisementPublisherTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseExtendedFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseExtendedFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseExtendedFormat(&self, value: bool) -> ::windows_core::Result<()> { @@ -2125,7 +2125,7 @@ impl BluetoothLEAdvertisementPublisherTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAnonymous(&self, value: bool) -> ::windows_core::Result<()> { @@ -2136,7 +2136,7 @@ impl BluetoothLEAdvertisementPublisherTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeTransmitPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeTransmitPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeTransmitPowerLevel(&self, value: bool) -> ::windows_core::Result<()> { @@ -2173,28 +2173,28 @@ impl BluetoothLEAdvertisementWatcherTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxSamplingInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinOutOfRangeTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxOutOfRangeTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Bluetooth")] @@ -2202,7 +2202,7 @@ impl BluetoothLEAdvertisementWatcherTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth")] @@ -2218,7 +2218,7 @@ impl BluetoothLEAdvertisementWatcherTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Advertisement")] @@ -2233,7 +2233,7 @@ impl BluetoothLEAdvertisementWatcherTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowExtendedAdvertisements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowExtendedAdvertisements)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowExtendedAdvertisements(&self, value: bool) -> ::windows_core::Result<()> { @@ -2289,7 +2289,7 @@ impl CachedFileUpdaterTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTarget)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTarget)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Provider")] @@ -2297,14 +2297,14 @@ impl CachedFileUpdaterTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRequestUserInput(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRequestUserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRequestUserInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2441,13 +2441,13 @@ impl ContentPrefetchTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(waitinterval: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IContentPrefetchTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), waitinterval, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), waitinterval, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2500,20 +2500,20 @@ impl CustomSystemEventTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Recurrence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(triggerid: &::windows_core::HSTRING, recurrence: CustomSystemEventTriggerRecurrence) -> ::windows_core::Result { Self::ICustomSystemEventTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerid), recurrence, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerid), recurrence, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2542,21 +2542,21 @@ impl DeviceConnectionChangeTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanMaintainConnection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaintainConnection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaintainConnection(&self, value: bool) -> ::windows_core::Result<()> { @@ -2566,7 +2566,7 @@ impl DeviceConnectionChangeTrigger { pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDeviceConnectionChangeTriggerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2602,7 +2602,7 @@ impl DeviceManufacturerNotificationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerQualifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerQualifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2610,14 +2610,14 @@ impl DeviceManufacturerNotificationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] pub fn Create(triggerqualifier: &::windows_core::HSTRING, oneshot: bool) -> ::windows_core::Result { Self::IDeviceManufacturerNotificationTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerqualifier), oneshot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerqualifier), oneshot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2657,14 +2657,14 @@ impl DeviceServicingTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncSimple)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), expectedduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncSimple)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), expectedduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAsyncWithArguments(&self, deviceid: &::windows_core::HSTRING, expectedduration: super::super::Foundation::TimeSpan, arguments: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), expectedduration, ::core::mem::transmute_copy(arguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), expectedduration, ::core::mem::transmute_copy(arguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2697,14 +2697,14 @@ impl DeviceUseTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncSimple)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncSimple)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAsyncWithArguments(&self, deviceid: &::windows_core::HSTRING, arguments: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), ::core::mem::transmute_copy(arguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), ::core::mem::transmute_copy(arguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2773,7 +2773,7 @@ impl GattCharacteristicNotificationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Background")] @@ -2781,7 +2781,7 @@ impl GattCharacteristicNotificationTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventTriggeringMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventTriggeringMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -2791,7 +2791,7 @@ impl GattCharacteristicNotificationTrigger { { Self::IGattCharacteristicNotificationTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), characteristic.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), characteristic.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Bluetooth_Background", feature = "Devices_Bluetooth_GenericAttributeProfile"))] @@ -2801,7 +2801,7 @@ impl GattCharacteristicNotificationTrigger { { Self::IGattCharacteristicNotificationTriggerFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithEventTriggeringMode)(::windows_core::Interface::as_raw(this), characteristic.into_param().abi(), eventtriggeringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithEventTriggeringMode)(::windows_core::Interface::as_raw(this), characteristic.into_param().abi(), eventtriggeringmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2837,7 +2837,7 @@ impl GattServiceProviderTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -2845,7 +2845,7 @@ impl GattServiceProviderTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -2861,13 +2861,13 @@ impl GattServiceProviderTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisingParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisingParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAsync(triggerid: &::windows_core::HSTRING, serviceuuid: ::windows_core::GUID) -> ::windows_core::Result> { Self::IGattServiceProviderTriggerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerid), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(triggerid), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2897,7 +2897,7 @@ impl GattServiceProviderTriggerResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth")] @@ -2905,7 +2905,7 @@ impl GattServiceProviderTriggerResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2939,7 +2939,7 @@ impl GeovisitTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonitoringScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonitoringScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Geolocation")] @@ -2970,13 +2970,13 @@ impl LocationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(triggertype: LocationTriggerType) -> ::windows_core::Result { Self::ILocationTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3007,20 +3007,20 @@ impl MaintenanceTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FreshnessTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FreshnessTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OneShot(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(freshnesstime: u32, oneshot: bool) -> ::windows_core::Result { Self::IMaintenanceTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), freshnesstime, oneshot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), freshnesstime, oneshot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3056,7 +3056,7 @@ impl MediaProcessingTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3067,7 +3067,7 @@ impl MediaProcessingTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), arguments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsyncWithArguments)(::windows_core::Interface::as_raw(this), arguments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3271,13 +3271,13 @@ impl NetworkOperatorNotificationTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::INetworkOperatorNotificationTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3332,7 +3332,7 @@ impl PhoneTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Calls_Background")] @@ -3340,14 +3340,14 @@ impl PhoneTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Calls_Background")] pub fn Create(r#type: super::Calls::Background::PhoneTriggerType, oneshot: bool) -> ::windows_core::Result { Self::IPhoneTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), r#type, oneshot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), r#type, oneshot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3384,7 +3384,7 @@ impl PushNotificationTrigger { pub fn Create(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPushNotificationTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3449,7 +3449,7 @@ impl RfcommConnectionTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundConnection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Background")] @@ -3457,14 +3457,14 @@ impl RfcommConnectionTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundConnection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowMultipleConnections(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowMultipleConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowMultipleConnections)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowMultipleConnections(&self, value: bool) -> ::windows_core::Result<()> { @@ -3476,7 +3476,7 @@ impl RfcommConnectionTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Networking_Sockets")] @@ -3489,7 +3489,7 @@ impl RfcommConnectionTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking")] @@ -3557,7 +3557,7 @@ impl SensorDataThresholdTrigger { { Self::ISensorDataThresholdTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), threshold.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), threshold.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3589,14 +3589,14 @@ impl SmartCardTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_SmartCards")] pub fn Create(triggertype: super::super::Devices::SmartCards::SmartCardTriggerType) -> ::windows_core::Result { Self::ISmartCardTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3628,7 +3628,7 @@ impl SmsMessageReceivedTrigger { { Self::ISmsMessageReceivedTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), filterrules.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), filterrules.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3666,7 +3666,7 @@ impl SocketActivityTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWakeFromLowPowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWakeFromLowPowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3695,7 +3695,7 @@ impl StorageLibraryChangeTrackerTrigger { { Self::IStorageLibraryChangeTrackerTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), tracker.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), tracker.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3729,7 +3729,7 @@ impl StorageLibraryContentChangedTrigger { { Self::IStorageLibraryContentChangedTriggerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), storagelibrary.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), storagelibrary.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -3739,7 +3739,7 @@ impl StorageLibraryContentChangedTrigger { { Self::IStorageLibraryContentChangedTriggerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLibraries)(::windows_core::Interface::as_raw(this), storagelibraries.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLibraries)(::windows_core::Interface::as_raw(this), storagelibraries.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3768,13 +3768,13 @@ impl SystemCondition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConditionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConditionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(conditiontype: SystemConditionType) -> ::windows_core::Result { Self::ISystemConditionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), conditiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), conditiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3803,20 +3803,20 @@ impl SystemTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TriggerType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(triggertype: SystemTriggerType, oneshot: bool) -> ::windows_core::Result { Self::ISystemTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, oneshot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), triggertype, oneshot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3871,20 +3871,20 @@ impl TimeTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FreshnessTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FreshnessTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OneShot(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OneShot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(freshnesstime: u32, oneshot: bool) -> ::windows_core::Result { Self::ITimeTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), freshnesstime, oneshot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), freshnesstime, oneshot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3919,7 +3919,7 @@ impl ToastNotificationActionTrigger { pub fn Create(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IToastNotificationActionTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3956,7 +3956,7 @@ impl ToastNotificationHistoryChangedTrigger { pub fn Create(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IToastNotificationHistoryChangedTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3987,7 +3987,7 @@ impl UserNotificationChangedTrigger { pub fn Create(notificationkinds: super::super::UI::Notifications::NotificationKinds) -> ::windows_core::Result { Self::IUserNotificationChangedTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), notificationkinds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), notificationkinds, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs index 246ae9b3a6..55bf74346d 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs @@ -90,21 +90,21 @@ impl PhoneCallBlockedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LineId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallBlockedReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallBlockedReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallBlockedReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -133,7 +133,7 @@ impl PhoneCallOriginDataRequestTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -141,7 +141,7 @@ impl PhoneCallOriginDataRequestTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -175,7 +175,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -183,7 +183,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -191,7 +191,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -199,7 +199,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DismissalTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DismissalTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -207,7 +207,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextReplyMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextReplyMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -215,7 +215,7 @@ impl PhoneIncomingCallDismissedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -245,14 +245,14 @@ impl PhoneIncomingCallNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,21 +277,21 @@ impl PhoneLineChangedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChangeType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasLinePropertyChanged(&self, lineproperty: PhoneLineProperties) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasLinePropertyChanged)(::windows_core::Interface::as_raw(this), lineproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasLinePropertyChanged)(::windows_core::Interface::as_raw(this), lineproperty, &mut result__).map(|| result__) } } } @@ -316,21 +316,21 @@ impl PhoneNewVoicemailMessageTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VoicemailCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VoicemailCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VoicemailCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OperatorMessage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperatorMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperatorMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs index 4ffdc4680e..3fe3c8fa23 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs @@ -126,7 +126,7 @@ impl PhoneCallOrigin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -139,7 +139,7 @@ impl PhoneCallOrigin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CategoryDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CategoryDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -152,7 +152,7 @@ impl PhoneCallOrigin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -165,7 +165,7 @@ impl PhoneCallOrigin { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -178,7 +178,7 @@ impl PhoneCallOrigin { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -215,7 +215,7 @@ impl PhoneCallOriginManager { pub fn IsCurrentAppActiveCallOriginApp() -> ::windows_core::Result { Self::IPhoneCallOriginManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentAppActiveCallOriginApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentAppActiveCallOriginApp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -233,14 +233,14 @@ impl PhoneCallOriginManager { pub fn RequestSetAsActiveCallOriginAppAsync() -> ::windows_core::Result> { Self::IPhoneCallOriginManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetAsActiveCallOriginAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetAsActiveCallOriginAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn IsSupported() -> ::windows_core::Result { Self::IPhoneCallOriginManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs index 230ab968fe..f451a05f66 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs @@ -612,7 +612,7 @@ impl CallAnswerEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptedMedia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptedMedia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -637,7 +637,7 @@ impl CallRejectEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RejectReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RejectReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -662,7 +662,7 @@ impl CallStateChangeEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -709,14 +709,14 @@ impl LockScreenCallEndRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -748,7 +748,7 @@ impl LockScreenCallUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEndRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -762,7 +762,7 @@ impl LockScreenCallUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -773,7 +773,7 @@ impl LockScreenCallUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCallTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -802,7 +802,7 @@ impl MuteChangeEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Muted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Muted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -830,7 +830,7 @@ impl PhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -844,7 +844,7 @@ impl PhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioDeviceChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -858,7 +858,7 @@ impl PhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMutedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMutedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsMutedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -869,174 +869,174 @@ impl PhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsMuted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioDevice(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPhoneCallInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPhoneCallInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPhoneCallInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPhoneCallInfoAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPhoneCallInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPhoneCallInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn End(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendDtmfKey(&self, key: DtmfKey, dtmftoneaudioplayback: DtmfToneAudioPlayback) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendDtmfKey)(::windows_core::Interface::as_raw(this), key, dtmftoneaudioplayback, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendDtmfKey)(::windows_core::Interface::as_raw(this), key, dtmftoneaudioplayback, &mut result__).map(|| result__) } } pub fn SendDtmfKeyAsync(&self, key: DtmfKey, dtmftoneaudioplayback: DtmfToneAudioPlayback) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendDtmfKeyAsync)(::windows_core::Interface::as_raw(this), key, dtmftoneaudioplayback, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendDtmfKeyAsync)(::windows_core::Interface::as_raw(this), key, dtmftoneaudioplayback, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptIncoming(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptIncoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptIncoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AcceptIncomingAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptIncomingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptIncomingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Hold(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HoldAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResumeFromHold(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeFromHold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeFromHold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResumeFromHoldAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeFromHoldAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeFromHoldAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MuteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Unmute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unmute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unmute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnmuteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnmuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnmuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RejectIncoming(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RejectIncoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RejectIncoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RejectIncomingAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RejectIncomingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RejectIncomingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeAudioDevice(&self, endpoint: PhoneCallAudioDevice) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeAudioDevice)(::windows_core::Interface::as_raw(this), endpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeAudioDevice)(::windows_core::Interface::as_raw(this), endpoint, &mut result__).map(|| result__) } } pub fn ChangeAudioDeviceAsync(&self, endpoint: PhoneCallAudioDevice) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeAudioDeviceAsync)(::windows_core::Interface::as_raw(this), endpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeAudioDeviceAsync)(::windows_core::Interface::as_raw(this), endpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFromId(callid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPhoneCallStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(callid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(callid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1062,7 +1062,7 @@ impl PhoneCallBlocking { pub fn BlockUnknownNumbers() -> ::windows_core::Result { Self::IPhoneCallBlockingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlockUnknownNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlockUnknownNumbers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetBlockUnknownNumbers(value: bool) -> ::windows_core::Result<()> { @@ -1071,7 +1071,7 @@ impl PhoneCallBlocking { pub fn BlockPrivateNumbers() -> ::windows_core::Result { Self::IPhoneCallBlockingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlockPrivateNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlockPrivateNumbers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetBlockPrivateNumbers(value: bool) -> ::windows_core::Result<()> { @@ -1084,7 +1084,7 @@ impl PhoneCallBlocking { { Self::IPhoneCallBlockingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCallBlockingListAsync)(::windows_core::Interface::as_raw(this), phonenumberlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCallBlockingListAsync)(::windows_core::Interface::as_raw(this), phonenumberlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1112,14 +1112,14 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Address(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: P0) -> ::windows_core::Result<()> @@ -1133,7 +1133,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -1147,7 +1147,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCallerIdBlocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCallerIdBlocked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCallerIdBlocked(&self, value: bool) -> ::windows_core::Result<()> { @@ -1158,7 +1158,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEmergency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEmergency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEmergency(&self, value: bool) -> ::windows_core::Result<()> { @@ -1169,7 +1169,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIncoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIncoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsIncoming(&self, value: bool) -> ::windows_core::Result<()> { @@ -1180,7 +1180,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMissed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMissed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMissed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1191,7 +1191,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRinging)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRinging)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRinging(&self, value: bool) -> ::windows_core::Result<()> { @@ -1202,7 +1202,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSeen(&self, value: bool) -> ::windows_core::Result<()> { @@ -1213,7 +1213,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSuppressed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1224,7 +1224,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVoicemail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVoicemail)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVoicemail(&self, value: bool) -> ::windows_core::Result<()> { @@ -1235,7 +1235,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMedia(&self, value: PhoneCallHistoryEntryMedia) -> ::windows_core::Result<()> { @@ -1246,7 +1246,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: PhoneCallHistoryEntryOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -1257,7 +1257,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1268,14 +1268,14 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSourceId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1286,7 +1286,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceIdKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceIdKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSourceIdKind(&self, value: PhoneCallHistorySourceIdKind) -> ::windows_core::Result<()> { @@ -1297,7 +1297,7 @@ impl PhoneCallHistoryEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1333,7 +1333,7 @@ impl PhoneCallHistoryEntryAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContactId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1344,7 +1344,7 @@ impl PhoneCallHistoryEntryAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1355,7 +1355,7 @@ impl PhoneCallHistoryEntryAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRawAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1366,7 +1366,7 @@ impl PhoneCallHistoryEntryAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawAddressKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawAddressKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRawAddressKind(&self, value: PhoneCallHistoryEntryRawAddressKind) -> ::windows_core::Result<()> { @@ -1376,7 +1376,7 @@ impl PhoneCallHistoryEntryAddress { pub fn Create(rawaddress: &::windows_core::HSTRING, rawaddresskind: PhoneCallHistoryEntryRawAddressKind) -> ::windows_core::Result { Self::IPhoneCallHistoryEntryAddressFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(rawaddress), rawaddresskind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(rawaddress), rawaddresskind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1413,7 +1413,7 @@ impl PhoneCallHistoryEntryQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredMedia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredMedia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredMedia(&self, value: PhoneCallHistoryEntryQueryDesiredMedia) -> ::windows_core::Result<()> { @@ -1425,7 +1425,7 @@ impl PhoneCallHistoryEntryQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1451,7 +1451,7 @@ impl PhoneCallHistoryEntryReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1472,7 +1472,7 @@ impl PhoneCallHistoryManager { pub fn RequestStoreAsync(accesstype: PhoneCallHistoryStoreAccessType) -> ::windows_core::Result> { Self::IPhoneCallHistoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1482,7 +1482,7 @@ impl PhoneCallHistoryManager { { Self::IPhoneCallHistoryManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1508,7 +1508,7 @@ impl PhoneCallHistoryManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -1516,7 +1516,7 @@ impl PhoneCallHistoryManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1541,14 +1541,14 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEntryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(callhistoryentryid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEntryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(callhistoryentryid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetEntryReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEntryReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEntryReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetEntryReaderWithOptions(&self, queryoptions: P0) -> ::windows_core::Result @@ -1558,7 +1558,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEntryReaderWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEntryReaderWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveEntryAsync(&self, callhistoryentry: P0) -> ::windows_core::Result @@ -1568,7 +1568,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveEntryAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveEntryAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteEntryAsync(&self, callhistoryentry: P0) -> ::windows_core::Result @@ -1578,7 +1578,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteEntryAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteEntryAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1589,7 +1589,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteEntriesAsync)(::windows_core::Interface::as_raw(this), callhistoryentries.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteEntriesAsync)(::windows_core::Interface::as_raw(this), callhistoryentries.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkEntryAsSeenAsync(&self, callhistoryentry: P0) -> ::windows_core::Result @@ -1599,7 +1599,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkEntryAsSeenAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkEntryAsSeenAsync)(::windows_core::Interface::as_raw(this), callhistoryentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1610,21 +1610,21 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkEntriesAsSeenAsync)(::windows_core::Interface::as_raw(this), callhistoryentries.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkEntriesAsSeenAsync)(::windows_core::Interface::as_raw(this), callhistoryentries.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetUnseenCountAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnseenCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnseenCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkAllAsSeenAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkAllAsSeenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkAllAsSeenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1635,7 +1635,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSourcesUnseenCountAsync)(::windows_core::Interface::as_raw(this), sourceids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSourcesUnseenCountAsync)(::windows_core::Interface::as_raw(this), sourceids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1646,7 +1646,7 @@ impl PhoneCallHistoryStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkSourcesAsSeenAsync)(::windows_core::Interface::as_raw(this), sourceids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkSourcesAsSeenAsync)(::windows_core::Interface::as_raw(this), sourceids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1671,42 +1671,42 @@ impl PhoneCallInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHoldSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CallDirection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1733,7 +1733,7 @@ impl PhoneCallManager { { Self::IPhoneCallManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCallStateChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1742,13 +1742,13 @@ impl PhoneCallManager { pub fn IsCallActive() -> ::windows_core::Result { Self::IPhoneCallManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCallActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCallActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsCallIncoming() -> ::windows_core::Result { Self::IPhoneCallManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCallIncoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCallIncoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ShowPhoneCallSettingsUI() -> ::windows_core::Result<()> { @@ -1757,7 +1757,7 @@ impl PhoneCallManager { pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::IPhoneCallManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1783,21 +1783,21 @@ impl PhoneCallStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEmergencyPhoneNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEmergencyPhoneNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultLineAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultLineAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultLineAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestLineWatcher(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestLineWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestLineWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1822,7 +1822,7 @@ impl PhoneCallVideoCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoCallingCapable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoCallingCapable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1843,7 +1843,7 @@ impl PhoneCallVideoCapabilitiesManager { pub fn GetCapabilitiesAsync(phonenumber: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPhoneCallVideoCapabilitiesManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilitiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phonenumber), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilitiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phonenumber), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1864,7 +1864,7 @@ impl PhoneCallsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1872,7 +1872,7 @@ impl PhoneCallsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllActivePhoneCalls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllActivePhoneCalls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1904,7 +1904,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1915,7 +1915,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1927,7 +1927,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -1943,7 +1943,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPhone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPhone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Contacts")] @@ -1958,7 +1958,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMedia(&self, value: PhoneCallMedia) -> ::windows_core::Result<()> { @@ -1969,7 +1969,7 @@ impl PhoneDialOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioEndpoint(&self, value: PhoneAudioRoutingEndpoint) -> ::windows_core::Result<()> { @@ -2001,7 +2001,7 @@ impl PhoneLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLineChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2012,7 +2012,7 @@ impl PhoneLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -2020,84 +2020,84 @@ impl PhoneLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Voicemail(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Voicemail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Voicemail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularDetails(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Transport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanDial(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportsTile(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsTile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsTile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoCallingCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoCallingCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoCallingCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LineConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsImmediateDialNumberAsync(&self, number: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsImmediateDialNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsImmediateDialNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Dial(&self, number: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2120,41 +2120,41 @@ impl PhoneLine { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DialWithResult(&self, number: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DialWithResultAsync(&self, number: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllActivePhoneCalls(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllActivePhoneCalls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllActivePhoneCalls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllActivePhoneCallsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllActivePhoneCallsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllActivePhoneCallsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(lineid: ::windows_core::GUID) -> ::windows_core::Result> { Self::IPhoneLineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), lineid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), lineid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2184,35 +2184,35 @@ impl PhoneLineCellularDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimSlotIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsModemOn(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsModemOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsModemOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RegistrationRejectCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegistrationRejectCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegistrationRejectCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetNetworkOperatorDisplayText(&self, location: PhoneLineNetworkOperatorDisplayTextLocation) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkOperatorDisplayText)(::windows_core::Interface::as_raw(this), location, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkOperatorDisplayText)(::windows_core::Interface::as_raw(this), location, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2237,7 +2237,7 @@ impl PhoneLineConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoCallingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoCallingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2245,7 +2245,7 @@ impl PhoneLineConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2270,14 +2270,14 @@ impl PhoneLineDialResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialCallStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialCallStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DialedCall(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialedCall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialedCall)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2302,14 +2302,14 @@ impl PhoneLineTransportDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Transport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -2317,7 +2317,7 @@ impl PhoneLineTransportDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterApp(&self) -> ::windows_core::Result<()> { @@ -2348,28 +2348,28 @@ impl PhoneLineTransportDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRegistered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRegistered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Connect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioRoutingStatus(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioRoutingStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioRoutingStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioRoutingStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -2379,7 +2379,7 @@ impl PhoneLineTransportDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioRoutingStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioRoutingStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioRoutingStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2390,7 +2390,7 @@ impl PhoneLineTransportDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InBandRingingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InBandRingingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InBandRingingEnabledChanged(&self, handler: P0) -> ::windows_core::Result @@ -2400,7 +2400,7 @@ impl PhoneLineTransportDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InBandRingingEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InBandRingingEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInBandRingingEnabledChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2410,19 +2410,19 @@ impl PhoneLineTransportDevice { pub fn FromId(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPhoneLineTransportDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPhoneLineTransportDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForPhoneLineTransport(transport: PhoneLineTransport) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPhoneLineTransportDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForPhoneLineTransport)(::windows_core::Interface::as_raw(this), transport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForPhoneLineTransport)(::windows_core::Interface::as_raw(this), transport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2463,7 +2463,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLineAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2477,7 +2477,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLineRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2491,7 +2491,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLineUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2505,7 +2505,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2519,7 +2519,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2530,7 +2530,7 @@ impl PhoneLineWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2555,7 +2555,7 @@ impl PhoneLineWatcherEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2580,28 +2580,28 @@ impl PhoneVoicemail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DialVoicemailAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialVoicemailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialVoicemailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2626,7 +2626,7 @@ impl VoipCallCoordinator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReserveCallResourcesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(taskentrypoint), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReserveCallResourcesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(taskentrypoint), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MuteStateChanged(&self, mutechangehandler: P0) -> ::windows_core::Result @@ -2636,7 +2636,7 @@ impl VoipCallCoordinator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MuteStateChanged)(::windows_core::Interface::as_raw(this), mutechangehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MuteStateChanged)(::windows_core::Interface::as_raw(this), mutechangehandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMuteStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2652,14 +2652,14 @@ impl VoipCallCoordinator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNewIncomingCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), media, ringtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNewIncomingCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), media, ringtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestNewOutgoingCall(&self, context: &::windows_core::HSTRING, contactname: &::windows_core::HSTRING, servicename: &::windows_core::HSTRING, media: VoipPhoneCallMedia) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNewOutgoingCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(servicename), media, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNewOutgoingCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(servicename), media, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotifyMuted(&self) -> ::windows_core::Result<()> { @@ -2674,7 +2674,7 @@ impl VoipCallCoordinator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestOutgoingUpgradeToVideoCall)(::windows_core::Interface::as_raw(this), callupgradeguid, ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(servicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestOutgoingUpgradeToVideoCall)(::windows_core::Interface::as_raw(this), callupgradeguid, ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(servicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestIncomingUpgradeToVideoCall(&self, context: &::windows_core::HSTRING, contactname: &::windows_core::HSTRING, contactnumber: &::windows_core::HSTRING, contactimage: P0, servicename: &::windows_core::HSTRING, brandingimage: P1, calldetails: &::windows_core::HSTRING, ringtone: P2, ringtimeout: super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -2686,7 +2686,7 @@ impl VoipCallCoordinator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestIncomingUpgradeToVideoCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), ringtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestIncomingUpgradeToVideoCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), ringtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TerminateCellularCall(&self, callupgradeguid: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2701,14 +2701,14 @@ impl VoipCallCoordinator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetupNewAcceptedCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), ::core::mem::transmute_copy(servicename), media, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetupNewAcceptedCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), ::core::mem::transmute_copy(servicename), media, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestNewAppInitiatedCall(&self, context: &::windows_core::HSTRING, contactname: &::windows_core::HSTRING, contactnumber: &::windows_core::HSTRING, servicename: &::windows_core::HSTRING, media: VoipPhoneCallMedia) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNewAppInitiatedCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), ::core::mem::transmute_copy(servicename), media, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNewAppInitiatedCall)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), ::core::mem::transmute_copy(servicename), media, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestNewIncomingCallWithContactRemoteId(&self, context: &::windows_core::HSTRING, contactname: &::windows_core::HSTRING, contactnumber: &::windows_core::HSTRING, contactimage: P0, servicename: &::windows_core::HSTRING, brandingimage: P1, calldetails: &::windows_core::HSTRING, ringtone: P2, media: VoipPhoneCallMedia, ringtimeout: super::super::Foundation::TimeSpan, contactremoteid: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2720,20 +2720,20 @@ impl VoipCallCoordinator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNewIncomingCallWithContactRemoteId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), media, ringtimeout, ::core::mem::transmute_copy(contactremoteid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNewIncomingCallWithContactRemoteId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), ::core::mem::transmute_copy(contactname), ::core::mem::transmute_copy(contactnumber), contactimage.into_param().abi(), ::core::mem::transmute_copy(servicename), brandingimage.into_param().abi(), ::core::mem::transmute_copy(calldetails), ringtone.into_param().abi(), media, ringtimeout, ::core::mem::transmute_copy(contactremoteid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReserveOneProcessCallResourcesAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReserveOneProcessCallResourcesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReserveOneProcessCallResourcesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IVoipCallCoordinatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2766,7 +2766,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEndRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2780,7 +2780,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHoldRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2794,7 +2794,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResumeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2808,7 +2808,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnswerRequested)(::windows_core::Interface::as_raw(this), accepthandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnswerRequested)(::windows_core::Interface::as_raw(this), accepthandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAnswerRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2822,7 +2822,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RejectRequested)(::windows_core::Interface::as_raw(this), rejecthandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RejectRequested)(::windows_core::Interface::as_raw(this), rejecthandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRejectRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2845,7 +2845,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContactName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2856,7 +2856,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -2867,7 +2867,7 @@ impl VoipPhoneCall { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallMedia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallMedia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCallMedia(&self, value: VoipPhoneCallMedia) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs index cce75a0cc0..877d2cd3e7 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs @@ -99,7 +99,7 @@ impl IChatItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -666,35 +666,35 @@ impl ChatCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsChatCapable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChatCapable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChatCapable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFileTransferCapable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFileTransferCapable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFileTransferCapable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGeoLocationPushCapable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGeoLocationPushCapable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGeoLocationPushCapable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIntegratedMessagingCapable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIntegratedMessagingCapable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIntegratedMessagingCapable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -715,25 +715,25 @@ impl ChatCapabilitiesManager { pub fn GetCachedCapabilitiesAsync(address: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IChatCapabilitiesManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCachedCapabilitiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCachedCapabilitiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCapabilitiesFromNetworkAsync(address: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IChatCapabilitiesManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilitiesFromNetworkAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilitiesFromNetworkAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCachedCapabilitiesForTransportAsync(address: &::windows_core::HSTRING, transportid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IChatCapabilitiesManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCachedCapabilitiesForTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(transportid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCachedCapabilitiesForTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(transportid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCapabilitiesFromNetworkForTransportAsync(address: &::windows_core::HSTRING, transportid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IChatCapabilitiesManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilitiesFromNetworkForTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(transportid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilitiesFromNetworkForTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(transportid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -760,21 +760,21 @@ impl ChatConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasUnreadMessages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasUnreadMessages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubject(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -785,7 +785,7 @@ impl ChatConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConversationMuted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConversationMuted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsConversationMuted(&self, value: bool) -> ::windows_core::Result<()> { @@ -796,7 +796,7 @@ impl ChatConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MostRecentMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MostRecentMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -804,49 +804,49 @@ impl ChatConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Participants)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Participants)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThreadingInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThreadingInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThreadingInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkAllMessagesAsReadAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkAllMessagesAsReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkAllMessagesAsReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkMessagesAsReadAsync(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkMessagesAsReadAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkMessagesAsReadAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotifyLocalParticipantComposing(&self, transportid: &::windows_core::HSTRING, participantaddress: &::windows_core::HSTRING, iscomposing: bool) -> ::windows_core::Result<()> { @@ -864,7 +864,7 @@ impl ChatConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteParticipantComposingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteParticipantComposingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoteParticipantComposingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -875,7 +875,7 @@ impl ChatConversation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanModifyParticipants)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanModifyParticipants)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanModifyParticipants(&self, value: bool) -> ::windows_core::Result<()> { @@ -886,7 +886,7 @@ impl ChatConversation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -912,7 +912,7 @@ impl ChatConversationReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -920,7 +920,7 @@ impl ChatConversationReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -952,7 +952,7 @@ impl ChatConversationThreadingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContactId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -963,7 +963,7 @@ impl ChatConversationThreadingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Custom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Custom)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCustom(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -974,7 +974,7 @@ impl ChatConversationThreadingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConversationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConversationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetConversationId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -986,14 +986,14 @@ impl ChatConversationThreadingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Participants)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Participants)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: ChatConversationThreadingKind) -> ::windows_core::Result<()> { @@ -1030,7 +1030,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1038,14 +1038,14 @@ impl ChatMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attachments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attachments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBody(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1056,49 +1056,49 @@ impl ChatMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsForwardingDisabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsForwardingDisabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsForwardingDisabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIncoming(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIncoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIncoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LocalTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1106,7 +1106,7 @@ impl ChatMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1114,35 +1114,35 @@ impl ChatMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecipientSendStatuses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecipientSendStatuses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransportFriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransportId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransportId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1153,7 +1153,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedDownloadSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedDownloadSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEstimatedDownloadSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -1168,7 +1168,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoReply)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoReply)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAutoReply(&self, value: bool) -> ::windows_core::Result<()> { @@ -1183,7 +1183,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReplyDisabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReplyDisabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsIncoming(&self, value: bool) -> ::windows_core::Result<()> { @@ -1198,7 +1198,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSeen(&self, value: bool) -> ::windows_core::Result<()> { @@ -1209,7 +1209,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSimMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSimMessage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLocalTimestamp(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1220,7 +1220,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMessageKind(&self, value: ChatMessageKind) -> ::windows_core::Result<()> { @@ -1231,7 +1231,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageOperatorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageOperatorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMessageOperatorKind(&self, value: ChatMessageOperatorKind) -> ::windows_core::Result<()> { @@ -1246,7 +1246,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReceivedDuringQuietHours)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReceivedDuringQuietHours)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsReceivedDuringQuietHours(&self, value: bool) -> ::windows_core::Result<()> { @@ -1269,7 +1269,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldSuppressNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldSuppressNotification)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldSuppressNotification(&self, value: bool) -> ::windows_core::Result<()> { @@ -1280,7 +1280,7 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThreadingInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThreadingInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetThreadingInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -1295,21 +1295,21 @@ impl ChatMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecipientsDeliveryInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecipientsDeliveryInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSyncId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1339,7 +1339,7 @@ impl ChatMessageAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataStreamReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataStreamReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1354,7 +1354,7 @@ impl ChatMessageAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGroupId(&self, value: u32) -> ::windows_core::Result<()> { @@ -1365,7 +1365,7 @@ impl ChatMessageAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MimeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MimeType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMimeType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1376,7 +1376,7 @@ impl ChatMessageAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1388,7 +1388,7 @@ impl ChatMessageAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1403,7 +1403,7 @@ impl ChatMessageAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransferProgress(&self, value: f64) -> ::windows_core::Result<()> { @@ -1414,7 +1414,7 @@ impl ChatMessageAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalFileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalFileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOriginalFileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1428,7 +1428,7 @@ impl ChatMessageAttachment { { Self::IChatMessageAttachmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateChatMessageAttachment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mimetype), datastreamreference.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateChatMessageAttachment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mimetype), datastreamreference.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1454,7 +1454,7 @@ impl ChatMessageBlocking { pub fn MarkMessageAsBlockedAsync(localchatmessageid: &::windows_core::HSTRING, blocked: bool) -> ::windows_core::Result { Self::IChatMessageBlockingStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkMessageAsBlockedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), blocked, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkMessageAsBlockedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), blocked, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1475,14 +1475,14 @@ impl ChatMessageChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1519,7 +1519,7 @@ impl ChatMessageChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1548,7 +1548,7 @@ impl ChatMessageChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reset(&self) -> ::windows_core::Result<()> { @@ -1599,7 +1599,7 @@ impl ChatMessageChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1620,26 +1620,26 @@ impl ChatMessageManager { pub fn RegisterTransportAsync() -> ::windows_core::Result> { Self::IChatMessageManager2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterTransportAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterTransportAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTransportAsync(transportid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IChatMessageManager2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetTransportsAsync() -> ::windows_core::Result>> { Self::IChatMessageManagerStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTransportsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTransportsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::IChatMessageManagerStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowComposeSmsMessageAsync(message: P0) -> ::windows_core::Result @@ -1648,7 +1648,7 @@ impl ChatMessageManager { { Self::IChatMessageManagerStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowComposeSmsMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowComposeSmsMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowSmsSettings() -> ::windows_core::Result<()> { @@ -1657,7 +1657,7 @@ impl ChatMessageManager { pub fn RequestSyncManagerAsync() -> ::windows_core::Result> { Self::IChatMessageManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1688,35 +1688,35 @@ impl ChatMessageNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChatMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChatMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShouldDisplayToast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldDisplayToast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldDisplayToast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldUpdateDetailText(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldUpdateDetailText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldUpdateDetailText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldUpdateBadge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldUpdateBadge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldUpdateBadge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldUpdateActionCenter(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldUpdateActionCenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldUpdateActionCenter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1742,7 +1742,7 @@ impl ChatMessageReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1750,7 +1750,7 @@ impl ChatMessageReader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1775,56 +1775,56 @@ impl ChatMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteMessageAsync(&self, localmessageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DownloadMessageAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader2(&self, recenttimelimit: super::super::Foundation::TimeSpan) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader2)(::windows_core::Interface::as_raw(this), recenttimelimit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader2)(::windows_core::Interface::as_raw(this), recenttimelimit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkMessageReadAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkMessageReadAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkMessageReadAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetrySendMessageAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrySendMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrySendMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendMessageAsync(&self, chatmessage: P0) -> ::windows_core::Result @@ -1834,7 +1834,7 @@ impl ChatMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValidateMessage(&self, chatmessage: P0) -> ::windows_core::Result @@ -1844,7 +1844,7 @@ impl ChatMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateMessage)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateMessage)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageChanged(&self, value: P0) -> ::windows_core::Result @@ -1854,7 +1854,7 @@ impl ChatMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageChanged(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1869,14 +1869,14 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), addresses.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), addresses.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationAsync(&self, conversationid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(conversationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(conversationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1887,7 +1887,7 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationForTransportsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(conversationid), transportids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationForTransportsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(conversationid), transportids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationFromThreadingInfoAsync(&self, threadinginfo: P0) -> ::windows_core::Result> @@ -1897,14 +1897,14 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationFromThreadingInfoAsync)(::windows_core::Interface::as_raw(this), threadinginfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationFromThreadingInfoAsync)(::windows_core::Interface::as_raw(this), threadinginfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReader(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1915,21 +1915,21 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationForTransportsReader)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationForTransportsReader)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageByRemoteIdAsync(&self, transportid: &::windows_core::HSTRING, remoteid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), ::core::mem::transmute_copy(remoteid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), ::core::mem::transmute_copy(remoteid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetUnseenCountAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnseenCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnseenCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1940,14 +1940,14 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnseenCountForTransportsReaderAsync)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnseenCountForTransportsReaderAsync)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkAsSeenAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkAsSeenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkAsSeenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1958,7 +1958,7 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkAsSeenForTransportsAsync)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkAsSeenForTransportsAsync)(::windows_core::Interface::as_raw(this), transportids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSearchReader(&self, value: P0) -> ::windows_core::Result @@ -1968,7 +1968,7 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSearchReader)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSearchReader)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveMessageAsync(&self, chatmessage: P0) -> ::windows_core::Result @@ -1978,21 +1978,21 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), chatmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCancelDownloadMessageAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCancelDownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCancelDownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCancelSendMessageAsync(&self, localchatmessageid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCancelSendMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCancelSendMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localchatmessageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StoreChanged(&self, handler: P0) -> ::windows_core::Result @@ -2002,7 +2002,7 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStoreChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2013,7 +2013,7 @@ impl ChatMessageStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageBySyncIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageBySyncIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2038,14 +2038,14 @@ impl ChatMessageStoreChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2070,49 +2070,49 @@ impl ChatMessageTransport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppSetAsNotificationProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppSetAsNotificationProvider)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportFriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransportId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestSetAsNotificationProviderAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetAsNotificationProviderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetAsNotificationProviderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransportKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2137,21 +2137,21 @@ impl ChatMessageTransportConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAttachmentCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAttachmentCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxMessageSizeInKilobytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxRecipientCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxRecipientCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxRecipientCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2159,7 +2159,7 @@ impl ChatMessageTransportConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedVideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedVideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2167,7 +2167,7 @@ impl ChatMessageTransportConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2192,28 +2192,28 @@ impl ChatMessageValidationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPartCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPartCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PartCount(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemainingCharacterCountInPart(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingCharacterCountInPart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingCharacterCountInPart)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2245,7 +2245,7 @@ impl ChatQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSearchString(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2281,7 +2281,7 @@ impl ChatRecipientDeliveryInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransportAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2292,7 +2292,7 @@ impl ChatRecipientDeliveryInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDeliveryTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2306,7 +2306,7 @@ impl ChatRecipientDeliveryInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReadTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2320,35 +2320,35 @@ impl ChatRecipientDeliveryInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportErrorCodeCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportErrorCodeCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportInterpretedErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportInterpretedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportInterpretedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsErrorPermanent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsErrorPermanent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsErrorPermanent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2374,7 +2374,7 @@ impl ChatSearchReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2382,7 +2382,7 @@ impl ChatSearchReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2407,7 +2407,7 @@ impl ChatSyncConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSyncEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2418,7 +2418,7 @@ impl ChatSyncConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RestoreHistorySpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RestoreHistorySpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRestoreHistorySpan(&self, value: ChatRestoreHistorySpan) -> ::windows_core::Result<()> { @@ -2447,7 +2447,7 @@ impl ChatSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -2458,14 +2458,14 @@ impl ChatSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AssociateAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AssociateAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnassociateAccountAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnassociateAccountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnassociateAccountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -2476,7 +2476,7 @@ impl ChatSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAccountAssociated)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAccountAssociated)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).map(|| result__) } } pub fn StartSync(&self) -> ::windows_core::Result<()> { @@ -2490,7 +2490,7 @@ impl ChatSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetConfigurationAsync)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetConfigurationAsync)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2515,28 +2515,28 @@ impl RcsEndUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPinRequired(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2544,7 +2544,7 @@ impl RcsEndUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendResponseAsync(&self, action: P0) -> ::windows_core::Result @@ -2554,7 +2554,7 @@ impl RcsEndUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendResponseAsync)(::windows_core::Interface::as_raw(this), action.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendResponseAsync)(::windows_core::Interface::as_raw(this), action.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendResponseWithPinAsync(&self, action: P0, pin: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2564,7 +2564,7 @@ impl RcsEndUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendResponseWithPinAsync)(::windows_core::Interface::as_raw(this), action.into_param().abi(), ::core::mem::transmute_copy(pin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendResponseWithPinAsync)(::windows_core::Interface::as_raw(this), action.into_param().abi(), ::core::mem::transmute_copy(pin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2589,7 +2589,7 @@ impl RcsEndUserMessageAction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2614,14 +2614,14 @@ impl RcsEndUserMessageAvailableEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMessageAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMessageAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2646,14 +2646,14 @@ impl RcsEndUserMessageAvailableTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2681,7 +2681,7 @@ impl RcsEndUserMessageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageAvailableChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2706,20 +2706,20 @@ impl RcsManager { pub fn GetEndUserMessageManager() -> ::windows_core::Result { Self::IRcsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEndUserMessageManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEndUserMessageManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetTransportsAsync() -> ::windows_core::Result>> { Self::IRcsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTransportsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTransportsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTransportAsync(transportid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IRcsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTransportAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(transportid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LeaveConversationAsync(conversation: P0) -> ::windows_core::Result @@ -2728,7 +2728,7 @@ impl RcsManager { { Self::IRcsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeaveConversationAsync)(::windows_core::Interface::as_raw(this), conversation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeaveConversationAsync)(::windows_core::Interface::as_raw(this), conversation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TransportListChanged(handler: P0) -> ::windows_core::Result @@ -2737,7 +2737,7 @@ impl RcsManager { { Self::IRcsManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportListChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportListChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveTransportListChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2766,7 +2766,7 @@ impl RcsServiceKindSupportedChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2792,49 +2792,49 @@ impl RcsTransport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportFriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransportId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsStoreAndForwardEnabled(&self, servicekind: RcsServiceKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStoreAndForwardEnabled)(::windows_core::Interface::as_raw(this), servicekind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStoreAndForwardEnabled)(::windows_core::Interface::as_raw(this), servicekind, &mut result__).map(|| result__) } } pub fn IsServiceKindSupported(&self, servicekind: RcsServiceKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsServiceKindSupported)(::windows_core::Interface::as_raw(this), servicekind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsServiceKindSupported)(::windows_core::Interface::as_raw(this), servicekind, &mut result__).map(|| result__) } } pub fn ServiceKindSupportedChanged(&self, handler: P0) -> ::windows_core::Result @@ -2844,7 +2844,7 @@ impl RcsTransport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceKindSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceKindSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServiceKindSupportedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2873,42 +2873,42 @@ impl RcsTransportConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAttachmentCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAttachmentCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxMessageSizeInKilobytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxGroupMessageSizeInKilobytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxGroupMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxGroupMessageSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxRecipientCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxRecipientCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxRecipientCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxFileSizeInKilobytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxFileSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxFileSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WarningFileSizeInKilobytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningFileSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningFileSizeInKilobytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2933,21 +2933,21 @@ impl RemoteParticipantComposingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParticipantAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParticipantAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParticipantAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsComposing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComposing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComposing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/CommunicationBlocking/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/CommunicationBlocking/mod.rs index a48d3e2c48..c013846a5c 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/CommunicationBlocking/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/CommunicationBlocking/mod.rs @@ -36,13 +36,13 @@ impl CommunicationBlockingAccessManager { pub fn IsBlockingActive() -> ::windows_core::Result { Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlockingActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlockingActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsBlockedNumberAsync(number: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlockedNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlockedNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -52,7 +52,7 @@ impl CommunicationBlockingAccessManager { { Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowBlockNumbersUI)(::windows_core::Interface::as_raw(this), phonenumbers.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowBlockNumbersUI)(::windows_core::Interface::as_raw(this), phonenumbers.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] @@ -62,7 +62,7 @@ impl CommunicationBlockingAccessManager { { Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowUnblockNumbersUI)(::windows_core::Interface::as_raw(this), phonenumbers.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowUnblockNumbersUI)(::windows_core::Interface::as_raw(this), phonenumbers.into_param().abi(), &mut result__).map(|| result__) }) } pub fn ShowBlockedCallsUI() -> ::windows_core::Result<()> { @@ -85,7 +85,7 @@ impl CommunicationBlockingAppManager { pub fn IsCurrentAppActiveBlockingApp() -> ::windows_core::Result { Self::ICommunicationBlockingAppManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentAppActiveBlockingApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentAppActiveBlockingApp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ShowCommunicationBlockingSettingsUI() -> ::windows_core::Result<()> { @@ -94,7 +94,7 @@ impl CommunicationBlockingAppManager { pub fn RequestSetAsActiveBlockingAppAsync() -> ::windows_core::Result> { Self::ICommunicationBlockingAppManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetAsActiveBlockingAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetAsActiveBlockingAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs index bd2597436b..17a6519417 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs @@ -112,7 +112,7 @@ impl ContactDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -126,7 +126,7 @@ impl ContactDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerSearchReadBatchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerSearchReadBatchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServerSearchReadBatchRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -144,7 +144,7 @@ impl ContactDataProviderConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOrUpdateContactRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOrUpdateContactRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCreateOrUpdateContactRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -158,7 +158,7 @@ impl ContactDataProviderConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteContactRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteContactRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeleteContactRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -187,7 +187,7 @@ impl ContactDataProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -212,14 +212,14 @@ impl ContactListCreateOrUpdateContactRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Contact(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self, createdorupdatedcontact: P0) -> ::windows_core::Result @@ -229,14 +229,14 @@ impl ContactListCreateOrUpdateContactRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdatedcontact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdatedcontact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -261,14 +261,14 @@ impl ContactListCreateOrUpdateContactRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -293,28 +293,28 @@ impl ContactListDeleteContactRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -339,14 +339,14 @@ impl ContactListDeleteContactRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -371,28 +371,28 @@ impl ContactListServerSearchReadBatchRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactListId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SuggestedBatchSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SaveContactAsync(&self, contact: P0) -> ::windows_core::Result @@ -402,21 +402,21 @@ impl ContactListServerSearchReadBatchRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self, batchstatus: super::ContactBatchStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), batchstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), batchstatus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -441,14 +441,14 @@ impl ContactListServerSearchReadBatchRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -473,21 +473,21 @@ impl ContactListSyncManagerSyncRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -512,14 +512,14 @@ impl ContactListSyncManagerSyncRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs index 59d2f7bd68..b3e384a1e6 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs @@ -48,7 +48,7 @@ impl ContactPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddContact)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddContact)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), contact.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContact(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -59,7 +59,7 @@ impl ContactPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsContact)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsContact)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -67,14 +67,14 @@ impl ContactPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectionMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactRemoved(&self, handler: P0) -> ::windows_core::Result @@ -84,7 +84,7 @@ impl ContactPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContactRemoved(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl ContactPickerUI { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddContact)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddContact)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -106,7 +106,7 @@ impl ContactPickerUI { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFieldsWithContactFieldType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFieldsWithContactFieldType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -129,7 +129,7 @@ impl ContactRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs index df90085f7a..5174d3a0d8 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs @@ -370,28 +370,28 @@ impl IContactField { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -414,21 +414,21 @@ impl IContactFieldFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateField_Category(&self, value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateField_Custom(&self, name: &::windows_core::HSTRING, value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -501,14 +501,14 @@ impl IContactInstantMessageFieldFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_Category(&self, username: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_All(&self, username: &::windows_core::HSTRING, category: ContactFieldCategory, service: &::windows_core::HSTRING, displaytext: &::windows_core::HSTRING, verb: P0) -> ::windows_core::Result @@ -518,7 +518,7 @@ impl IContactInstantMessageFieldFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -724,21 +724,21 @@ impl IContactLocationFieldFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_Category(&self, unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_All(&self, unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory, street: &::windows_core::HSTRING, city: &::windows_core::HSTRING, region: &::windows_core::HSTRING, country: &::windows_core::HSTRING, postalcode: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1236,7 +1236,7 @@ impl AggregateContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindRawContactsAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindRawContactsAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryLinkContactsAsync(&self, primarycontact: P0, secondarycontact: P1) -> ::windows_core::Result> @@ -1247,7 +1247,7 @@ impl AggregateContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryLinkContactsAsync)(::windows_core::Interface::as_raw(this), primarycontact.into_param().abi(), secondarycontact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryLinkContactsAsync)(::windows_core::Interface::as_raw(this), primarycontact.into_param().abi(), secondarycontact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnlinkRawContactAsync(&self, contact: P0) -> ::windows_core::Result @@ -1257,7 +1257,7 @@ impl AggregateContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnlinkRawContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnlinkRawContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetPreferredSourceForPictureAsync(&self, aggregatecontact: P0, rawcontact: P1) -> ::windows_core::Result> @@ -1268,14 +1268,14 @@ impl AggregateContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetPreferredSourceForPictureAsync)(::windows_core::Interface::as_raw(this), aggregatecontact.into_param().abi(), rawcontact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetPreferredSourceForPictureAsync)(::windows_core::Interface::as_raw(this), aggregatecontact.into_param().abi(), rawcontact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteIdentificationInformationAsync(&self, contactlistid: &::windows_core::HSTRING, remotesourceid: &::windows_core::HSTRING, accountid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetRemoteIdentificationInformationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), ::core::mem::transmute_copy(remotesourceid), ::core::mem::transmute_copy(accountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetRemoteIdentificationInformationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), ::core::mem::transmute_copy(remotesourceid), ::core::mem::transmute_copy(accountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1307,7 +1307,7 @@ impl Contact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1319,7 +1319,7 @@ impl Contact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1335,14 +1335,14 @@ impl Contact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1353,7 +1353,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNotes(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1365,7 +1365,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Phones)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Phones)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1373,7 +1373,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1381,7 +1381,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Addresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Addresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1389,7 +1389,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectedServiceAccounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectedServiceAccounts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1397,7 +1397,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportantDates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportantDates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1405,7 +1405,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataSuppliers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataSuppliers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1413,7 +1413,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1421,7 +1421,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantOthers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantOthers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1429,7 +1429,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Websites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Websites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1437,21 +1437,21 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactListId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayPictureUserUpdateTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPictureUserUpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPictureUserUpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayPictureUserUpdateTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1462,21 +1462,21 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMe)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AggregateId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AggregateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AggregateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1487,7 +1487,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RingToneToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RingToneToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRingToneToken(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1498,7 +1498,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisplayPictureManuallySet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisplayPictureManuallySet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1506,7 +1506,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LargeDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LargeDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1514,7 +1514,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmallDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmallDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1522,7 +1522,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1537,7 +1537,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextToneToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextToneToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTextToneToken(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1548,21 +1548,21 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAggregate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAggregate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FullName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayNameOverride(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayNameOverride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayNameOverride)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayNameOverride(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1573,7 +1573,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNickname(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1584,14 +1584,14 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFirstName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1602,7 +1602,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLastName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1613,7 +1613,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MiddleName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MiddleName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMiddleName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1624,7 +1624,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiGivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiGivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetYomiGivenName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1635,7 +1635,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetYomiFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1646,7 +1646,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificNameSuffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificNameSuffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificNameSuffix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1657,7 +1657,7 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificNamePrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1668,14 +1668,14 @@ impl Contact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YomiDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1707,7 +1707,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreetAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreetAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1718,7 +1718,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocality(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1729,7 +1729,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRegion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1740,7 +1740,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCountry(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1751,7 +1751,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPostalCode(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1762,7 +1762,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: ContactAddressKind) -> ::windows_core::Result<()> { @@ -1773,7 +1773,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1809,21 +1809,21 @@ impl ContactAnnotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AnnotationListId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnnotationListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnnotationListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContactId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1834,7 +1834,7 @@ impl ContactAnnotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1845,7 +1845,7 @@ impl ContactAnnotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedOperations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportedOperations(&self, value: ContactAnnotationOperations) -> ::windows_core::Result<()> { @@ -1856,7 +1856,7 @@ impl ContactAnnotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1864,14 +1864,14 @@ impl ContactAnnotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactListId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContactListId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1900,28 +1900,28 @@ impl ContactAnnotationList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySaveAnnotationAsync(&self, annotation: P0) -> ::windows_core::Result> @@ -1931,14 +1931,14 @@ impl ContactAnnotationList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySaveAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySaveAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAnnotationAsync(&self, annotationid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAnnotationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(annotationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAnnotationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(annotationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1946,7 +1946,7 @@ impl ContactAnnotationList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAnnotationsByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remoteid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAnnotationsByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remoteid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1954,7 +1954,7 @@ impl ContactAnnotationList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAnnotationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAnnotationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAnnotationAsync(&self, annotation: P0) -> ::windows_core::Result @@ -1964,7 +1964,7 @@ impl ContactAnnotationList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1990,7 +1990,7 @@ impl ContactAnnotationStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactIdsByEmailAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(emailaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactIdsByEmailAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(emailaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1998,7 +1998,7 @@ impl ContactAnnotationStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactIdsByPhoneNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phonenumber), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactIdsByPhoneNumberAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phonenumber), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2009,7 +2009,7 @@ impl ContactAnnotationStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAnnotationsForContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAnnotationsForContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAnnotationAsync(&self, annotation: P0) -> ::windows_core::Result @@ -2019,28 +2019,28 @@ impl ContactAnnotationStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAnnotationAsync)(::windows_core::Interface::as_raw(this), annotation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAnnotationListAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnnotationListAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnnotationListAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAnnotationListInAccountAsync(&self, userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnnotationListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnnotationListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAnnotationListAsync(&self, annotationlistid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAnnotationListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(annotationlistid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAnnotationListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(annotationlistid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2048,7 +2048,7 @@ impl ContactAnnotationStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAnnotationListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAnnotationListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2056,7 +2056,7 @@ impl ContactAnnotationStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAnnotationsForContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAnnotationsForContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2082,14 +2082,14 @@ impl ContactBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2151,7 +2151,7 @@ impl ContactCardOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHeaderKind(&self, value: ContactCardHeaderKind) -> ::windows_core::Result<()> { @@ -2162,7 +2162,7 @@ impl ContactCardOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialTabKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialTabKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialTabKind(&self, value: ContactCardTabKind) -> ::windows_core::Result<()> { @@ -2174,7 +2174,7 @@ impl ContactCardOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerSearchContactListIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerSearchContactListIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2199,14 +2199,14 @@ impl ContactChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contact(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2243,7 +2243,7 @@ impl ContactChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2272,7 +2272,7 @@ impl ContactChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reset(&self) -> ::windows_core::Result<()> { @@ -2283,7 +2283,7 @@ impl ContactChangeTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2330,7 +2330,7 @@ impl ContactChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2362,7 +2362,7 @@ impl ContactConnectedServiceAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2373,7 +2373,7 @@ impl ContactConnectedServiceAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetServiceName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2409,7 +2409,7 @@ impl ContactDate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDay(&self, value: P0) -> ::windows_core::Result<()> @@ -2423,7 +2423,7 @@ impl ContactDate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMonth(&self, value: P0) -> ::windows_core::Result<()> @@ -2437,7 +2437,7 @@ impl ContactDate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetYear(&self, value: P0) -> ::windows_core::Result<()> @@ -2451,7 +2451,7 @@ impl ContactDate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: ContactDateKind) -> ::windows_core::Result<()> { @@ -2462,7 +2462,7 @@ impl ContactDate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2498,7 +2498,7 @@ impl ContactEmail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2509,7 +2509,7 @@ impl ContactEmail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: ContactEmailKind) -> ::windows_core::Result<()> { @@ -2520,7 +2520,7 @@ impl ContactEmail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2550,46 +2550,46 @@ impl ContactField { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateField_Default(value: &::windows_core::HSTRING, r#type: ContactFieldType) -> ::windows_core::Result { Self::IContactFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateField_Category(value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { Self::IContactFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateField_Custom(name: &::windows_core::HSTRING, value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { Self::IContactFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2627,35 +2627,35 @@ impl ContactFieldFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateField_Category(&self, value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateField_Custom(&self, name: &::windows_core::HSTRING, value: &::windows_core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateField_Custom)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), r#type, category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_Default(&self, username: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_Category(&self, username: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_All(&self, username: &::windows_core::HSTRING, category: ContactFieldCategory, service: &::windows_core::HSTRING, displaytext: &::windows_core::HSTRING, verb: P0) -> ::windows_core::Result @@ -2665,28 +2665,28 @@ impl ContactFieldFactory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_Default(&self, unstructuredaddress: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_Category(&self, unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_All(&self, unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory, street: &::windows_core::HSTRING, city: &::windows_core::HSTRING, region: &::windows_core::HSTRING, country: &::windows_core::HSTRING, postalcode: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2728,7 +2728,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2736,7 +2736,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2744,7 +2744,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2752,7 +2752,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2760,7 +2760,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2768,7 +2768,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstantMessages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstantMessages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2776,7 +2776,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomFields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomFields)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2784,7 +2784,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryCustomFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(customname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryCustomFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(customname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2808,68 +2808,68 @@ impl ContactInstantMessageField { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Service(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstantMessage_Default(username: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IContactInstantMessageFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstantMessage_Category(username: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { Self::IContactInstantMessageFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstantMessage_All(username: &::windows_core::HSTRING, category: ContactFieldCategory, service: &::windows_core::HSTRING, displaytext: &::windows_core::HSTRING, verb: P0) -> ::windows_core::Result @@ -2878,7 +2878,7 @@ impl ContactInstantMessageField { { Self::IContactInstantMessageFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstantMessage_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), category, ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(displaytext), verb.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2915,7 +2915,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompanyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2926,7 +2926,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyYomiName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyYomiName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompanyYomiName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2937,7 +2937,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Department)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Department)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDepartment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2948,7 +2948,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2959,7 +2959,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Manager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Manager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetManager(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2970,7 +2970,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Office)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Office)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOffice(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2981,7 +2981,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompanyAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2992,7 +2992,7 @@ impl ContactJobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3017,31 +3017,31 @@ impl ContactLaunchActionVerbs { pub fn Call() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IContactLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Call)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Call)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Message() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IContactLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Map() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IContactLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Map)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Map)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Post() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IContactLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Post)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Post)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoCall() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IContactLaunchActionVerbsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoCall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoCall)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3062,14 +3062,14 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3080,14 +3080,14 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsHidden(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHidden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHidden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHidden(&self, value: bool) -> ::windows_core::Result<()> { @@ -3098,7 +3098,7 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: ContactListOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -3109,7 +3109,7 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppWriteAccess(&self, value: ContactListOtherAppWriteAccess) -> ::windows_core::Result<()> { @@ -3120,28 +3120,28 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncManager(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportsServerSearch(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsServerSearch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsServerSearch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactChanged(&self, value: P0) -> ::windows_core::Result @@ -3151,7 +3151,7 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContactChanged(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3162,35 +3162,35 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactFromRemoteIdAsync(&self, remoteid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactFromRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remoteid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactFromRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remoteid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMeContactAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMeContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMeContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -3200,7 +3200,7 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveContactAsync(&self, contact: P0) -> ::windows_core::Result @@ -3210,7 +3210,7 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteContactAsync(&self, contact: P0) -> ::windows_core::Result @@ -3220,21 +3220,21 @@ impl ContactList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactAsync(&self, contactid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterSyncManagerAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSupportsServerSearch(&self, value: bool) -> ::windows_core::Result<()> { @@ -3245,21 +3245,21 @@ impl ContactList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncConstraints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncConstraints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LimitedWriteOperations(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LimitedWriteOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LimitedWriteOperations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetChangeTracker(&self, identity: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3287,14 +3287,14 @@ impl ContactListLimitedWriteOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateOrUpdateContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateOrUpdateContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDeleteContactAsync(&self, contactid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3319,7 +3319,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSyncDescriptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSyncDescriptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanSyncDescriptions(&self, value: bool) -> ::windows_core::Result<()> { @@ -3330,7 +3330,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxHomePhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxHomePhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxHomePhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3344,7 +3344,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMobilePhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMobilePhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxMobilePhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3358,7 +3358,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxWorkPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxWorkPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxWorkPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3372,7 +3372,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOtherPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOtherPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxOtherPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3386,7 +3386,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPagerPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPagerPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxPagerPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3400,7 +3400,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBusinessFaxPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBusinessFaxPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxBusinessFaxPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3414,7 +3414,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxHomeFaxPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxHomeFaxPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxHomeFaxPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3428,7 +3428,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCompanyPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCompanyPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxCompanyPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3442,7 +3442,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAssistantPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAssistantPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxAssistantPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3456,7 +3456,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxRadioPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxRadioPhoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxRadioPhoneNumbers(&self, value: P0) -> ::windows_core::Result<()> @@ -3470,7 +3470,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPersonalEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPersonalEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxPersonalEmailAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3484,7 +3484,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxWorkEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxWorkEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxWorkEmailAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3498,7 +3498,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOtherEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOtherEmailAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxOtherEmailAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3512,7 +3512,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxHomeAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxHomeAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxHomeAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3526,7 +3526,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxWorkAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxWorkAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxWorkAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3540,7 +3540,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOtherAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOtherAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxOtherAddresses(&self, value: P0) -> ::windows_core::Result<()> @@ -3554,7 +3554,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBirthdayDates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBirthdayDates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxBirthdayDates(&self, value: P0) -> ::windows_core::Result<()> @@ -3568,7 +3568,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAnniversaryDates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAnniversaryDates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxAnniversaryDates(&self, value: P0) -> ::windows_core::Result<()> @@ -3582,7 +3582,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOtherDates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOtherDates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxOtherDates(&self, value: P0) -> ::windows_core::Result<()> @@ -3596,7 +3596,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOtherRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOtherRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxOtherRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3610,7 +3610,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSpouseRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSpouseRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxSpouseRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3624,7 +3624,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPartnerRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPartnerRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxPartnerRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3638,7 +3638,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSiblingRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSiblingRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxSiblingRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3652,7 +3652,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxParentRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxParentRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxParentRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3666,7 +3666,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxChildRelationships)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxChildRelationships)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxChildRelationships(&self, value: P0) -> ::windows_core::Result<()> @@ -3680,7 +3680,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxJobInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxJobInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxJobInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -3694,7 +3694,7 @@ impl ContactListSyncConstraints { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxWebsites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxWebsites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxWebsites(&self, value: P0) -> ::windows_core::Result<()> @@ -3726,28 +3726,28 @@ impl ContactListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSuccessfulSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastAttemptedSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SyncAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -3757,7 +3757,7 @@ impl ContactListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3799,88 +3799,88 @@ impl ContactLocationField { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnstructuredAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnstructuredAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnstructuredAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Street(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Street)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Street)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn City(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Region(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Country(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostalCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLocation_Default(unstructuredaddress: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IContactLocationFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Default)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateLocation_Category(unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory) -> ::windows_core::Result { Self::IContactLocationFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_Category)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateLocation_All(unstructuredaddress: &::windows_core::HSTRING, category: ContactFieldCategory, street: &::windows_core::HSTRING, city: &::windows_core::HSTRING, region: &::windows_core::HSTRING, country: &::windows_core::HSTRING, postalcode: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IContactLocationFieldFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocation_All)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(unstructuredaddress), category, ::core::mem::transmute_copy(street), ::core::mem::transmute_copy(city), ::core::mem::transmute_copy(region), ::core::mem::transmute_copy(country), ::core::mem::transmute_copy(postalcode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3923,13 +3923,13 @@ impl ContactManager { { Self::IContactManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowDelayLoadedContactCard)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowDelayLoadedContactCard)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::IContactManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3939,7 +3939,7 @@ impl ContactManager { { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertContactToVCardAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertContactToVCardAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3949,7 +3949,7 @@ impl ContactManager { { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertContactToVCardAsyncWithMaxBytes)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), maxbytes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertContactToVCardAsyncWithMaxBytes)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), maxbytes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3959,25 +3959,25 @@ impl ContactManager { { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertVCardToContactAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertVCardToContactAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStoreAsyncWithAccessType(accesstype: ContactStoreAccessType) -> ::windows_core::Result> { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsyncWithAccessType)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsyncWithAccessType)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAnnotationStoreAsync(accesstype: ContactAnnotationStoreAccessType) -> ::windows_core::Result> { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAnnotationStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAnnotationStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsShowContactCardSupported() -> ::windows_core::Result { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShowContactCardSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShowContactCardSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI_Popups")] @@ -3991,7 +3991,7 @@ impl ContactManager { pub fn IsShowDelayLoadedContactCardSupported() -> ::windows_core::Result { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShowDelayLoadedContactCardSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShowDelayLoadedContactCardSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI_Popups")] @@ -4002,7 +4002,7 @@ impl ContactManager { { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowDelayLoadedContactCardWithOptions)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), selection, preferredplacement, contactcardoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowDelayLoadedContactCardWithOptions)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), selection, preferredplacement, contactcardoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowFullContactCard(contact: P0, fullcontactcardoptions: P1) -> ::windows_core::Result<()> @@ -4015,7 +4015,7 @@ impl ContactManager { pub fn SystemDisplayNameOrder() -> ::windows_core::Result { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemDisplayNameOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemDisplayNameOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetSystemDisplayNameOrder(value: ContactNameOrder) -> ::windows_core::Result<()> { @@ -4024,7 +4024,7 @@ impl ContactManager { pub fn SystemSortOrder() -> ::windows_core::Result { Self::IContactManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemSortOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemSortOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetSystemSortOrder(value: ContactNameOrder) -> ::windows_core::Result<()> { @@ -4037,19 +4037,19 @@ impl ContactManager { { Self::IContactManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsShowFullContactCardSupportedAsync() -> ::windows_core::Result> { Self::IContactManagerStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShowFullContactCardSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShowFullContactCardSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IncludeMiddleNameInSystemDisplayAndSort() -> ::windows_core::Result { Self::IContactManagerStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeMiddleNameInSystemDisplayAndSort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeMiddleNameInSystemDisplayAndSort)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetIncludeMiddleNameInSystemDisplayAndSort(value: bool) -> ::windows_core::Result<()> { @@ -4097,7 +4097,7 @@ impl ContactManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertContactToVCardAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertContactToVCardAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4108,7 +4108,7 @@ impl ContactManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertContactToVCardAsyncWithMaxBytes)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), maxbytes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertContactToVCardAsyncWithMaxBytes)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), maxbytes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4119,28 +4119,28 @@ impl ContactManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertVCardToContactAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertVCardToContactAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestStoreAsync(&self, accesstype: ContactStoreAccessType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAnnotationStoreAsync(&self, accesstype: ContactAnnotationStoreAccessType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAnnotationStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAnnotationStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemDisplayNameOrder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemDisplayNameOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemDisplayNameOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSystemDisplayNameOrder(&self, value: ContactNameOrder) -> ::windows_core::Result<()> { @@ -4151,7 +4151,7 @@ impl ContactManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemSortOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemSortOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSystemSortOrder(&self, value: ContactNameOrder) -> ::windows_core::Result<()> { @@ -4163,7 +4163,7 @@ impl ContactManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowFullContactCard(&self, contact: P0, fullcontactcardoptions: P1) -> ::windows_core::Result<()> @@ -4196,7 +4196,7 @@ impl ContactMatchReason { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Field)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Field)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Data_Text", feature = "Foundation_Collections"))] @@ -4204,14 +4204,14 @@ impl ContactMatchReason { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Segments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Segments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4241,7 +4241,7 @@ impl ContactPanel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -4259,7 +4259,7 @@ impl ContactPanel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullAppRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullAppRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLaunchFullAppRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4273,7 +4273,7 @@ impl ContactPanel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosing(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4302,7 +4302,7 @@ impl ContactPanelClosingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4327,7 +4327,7 @@ impl ContactPanelLaunchFullAppRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4363,7 +4363,7 @@ impl ContactPhone { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4374,7 +4374,7 @@ impl ContactPhone { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: ContactPhoneKind) -> ::windows_core::Result<()> { @@ -4385,7 +4385,7 @@ impl ContactPhone { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4421,7 +4421,7 @@ impl ContactPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommitButtonText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4432,7 +4432,7 @@ impl ContactPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectionMode(&self, value: ContactSelectionMode) -> ::windows_core::Result<()> { @@ -4444,14 +4444,14 @@ impl ContactPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PickSingleContactAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4459,7 +4459,7 @@ impl ContactPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickMultipleContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickMultipleContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4467,14 +4467,14 @@ impl ContactPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFieldsWithContactFieldType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFieldsWithContactFieldType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PickContactAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4482,7 +4482,7 @@ impl ContactPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4490,7 +4490,7 @@ impl ContactPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4500,13 +4500,13 @@ impl ContactPicker { { Self::IContactPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupportedAsync() -> ::windows_core::Result> { Self::IContactPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4541,7 +4541,7 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextSearch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextSearch)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4549,14 +4549,14 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactListIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactListIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IncludeContactsFromHiddenLists(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeContactsFromHiddenLists)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeContactsFromHiddenLists)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeContactsFromHiddenLists(&self, value: bool) -> ::windows_core::Result<()> { @@ -4567,7 +4567,7 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredFields(&self, value: ContactQueryDesiredFields) -> ::windows_core::Result<()> { @@ -4578,7 +4578,7 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredOperations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredOperations(&self, value: ContactAnnotationOperations) -> ::windows_core::Result<()> { @@ -4590,19 +4590,19 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnnotationListIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnnotationListIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithText(text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IContactQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTextAndFields(text: &::windows_core::HSTRING, fields: ContactQuerySearchFields) -> ::windows_core::Result { Self::IContactQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTextAndFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), fields, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTextAndFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), fields, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4632,7 +4632,7 @@ impl ContactQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFields(&self, value: ContactQuerySearchFields) -> ::windows_core::Result<()> { @@ -4643,7 +4643,7 @@ impl ContactQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4654,7 +4654,7 @@ impl ContactQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSearchScope(&self, value: ContactQuerySearchScope) -> ::windows_core::Result<()> { @@ -4683,7 +4683,7 @@ impl ContactReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4694,7 +4694,7 @@ impl ContactReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMatchingPropertiesWithMatchReason)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMatchingPropertiesWithMatchReason)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4726,7 +4726,7 @@ impl ContactSignificantOther { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4737,7 +4737,7 @@ impl ContactSignificantOther { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4748,7 +4748,7 @@ impl ContactSignificantOther { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelationship(&self, value: ContactRelationship) -> ::windows_core::Result<()> { @@ -4778,7 +4778,7 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4786,21 +4786,21 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactsWithSearchTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactsWithSearchTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactAsync(&self, contactid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTracker(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactChanged(&self, value: P0) -> ::windows_core::Result @@ -4810,7 +4810,7 @@ impl ContactStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContactChanged(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4821,7 +4821,7 @@ impl ContactStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AggregateContactManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AggregateContactManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4829,35 +4829,35 @@ impl ContactStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactListAsync(&self, contactlistid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContactListAsync(&self, displayname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContactListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMeContactAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMeContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMeContactAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactReader(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContactReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -4867,21 +4867,21 @@ impl ContactStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContactListInAccountAsync(&self, displayname: &::windows_core::HSTRING, userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContactListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContactListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetChangeTracker(&self, identity: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4930,7 +4930,7 @@ impl ContactWebsite { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -4944,7 +4944,7 @@ impl ContactWebsite { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4955,7 +4955,7 @@ impl ContactWebsite { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRawValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4992,7 +4992,7 @@ impl FullContactCardOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -5021,42 +5021,42 @@ impl KnownContactField { pub fn Email() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn PhoneNumber() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn Location() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn InstantMessage() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstantMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstantMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn ConvertNameToType(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertNameToType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertNameToType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn ConvertTypeToName(r#type: ContactFieldType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactFieldStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertTypeToName)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertTypeToName)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5080,7 +5080,7 @@ impl PinnedContactIdsQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5106,14 +5106,14 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPinSurfaceSupported(&self, surface: PinnedContactSurface) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinSurfaceSupported)(::windows_core::Interface::as_raw(this), surface, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinSurfaceSupported)(::windows_core::Interface::as_raw(this), surface, &mut result__).map(|| result__) } } pub fn IsContactPinned(&self, contact: P0, surface: PinnedContactSurface) -> ::windows_core::Result @@ -5123,7 +5123,7 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContactPinned)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContactPinned)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).map(|| result__) } } pub fn RequestPinContactAsync(&self, contact: P0, surface: PinnedContactSurface) -> ::windows_core::Result> @@ -5133,7 +5133,7 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5144,7 +5144,7 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinContactsAsync)(::windows_core::Interface::as_raw(this), contacts.into_param().abi(), surface, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinContactsAsync)(::windows_core::Interface::as_raw(this), contacts.into_param().abi(), surface, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestUnpinContactAsync(&self, contact: P0, surface: PinnedContactSurface) -> ::windows_core::Result> @@ -5154,7 +5154,7 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnpinContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnpinContactAsync)(::windows_core::Interface::as_raw(this), contact.into_param().abi(), surface, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignalContactActivity(&self, contact: P0) -> ::windows_core::Result<()> @@ -5168,13 +5168,13 @@ impl PinnedContactManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPinnedContactIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPinnedContactIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IPinnedContactManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -5184,13 +5184,13 @@ impl PinnedContactManager { { Self::IPinnedContactManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IPinnedContactManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs index f295925383..441eb67597 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs @@ -330,28 +330,28 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -362,14 +362,14 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetEnabledAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetEnabledAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AvailabilityInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailabilityInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailabilityInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AvailabilityChanged(&self, handler: P0) -> ::windows_core::Result @@ -379,7 +379,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAvailabilityChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -402,21 +402,21 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetModelDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetModelDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetModelDataType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetModelDataType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetModelDataType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetModelDataTypeAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetModelDataTypeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetModelDataTypeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -424,7 +424,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetModelData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetModelData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -432,7 +432,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetModelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetModelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearModelData(&self) -> ::windows_core::Result<()> { @@ -443,28 +443,28 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearModelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearModelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrainingStepsCompleted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrainingStepsCompleted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrainingStepsCompleted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrainingStepsRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrainingStepsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrainingStepsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrainingDataFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrainingDataFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrainingDataFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -475,7 +475,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyTrainingData)(::windows_core::Interface::as_raw(this), trainingdataformat, trainingdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyTrainingData)(::windows_core::Interface::as_raw(this), trainingdataformat, trainingdata.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -486,7 +486,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyTrainingDataAsync)(::windows_core::Interface::as_raw(this), trainingdataformat, trainingdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyTrainingDataAsync)(::windows_core::Interface::as_raw(this), trainingdataformat, trainingdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearTrainingData(&self) -> ::windows_core::Result<()> { @@ -497,7 +497,7 @@ impl ActivationSignalDetectionConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearTrainingDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearTrainingDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -508,7 +508,7 @@ impl ActivationSignalDetectionConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetModelDataWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetModelDataWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -519,28 +519,28 @@ impl ActivationSignalDetectionConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetModelDataWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetModelDataWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(datatype), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEnabledWithResultAsync(&self, value: bool) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetEnabledWithResultAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetEnabledWithResultAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEnabledWithResult(&self, value: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetEnabledWithResult)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetEnabledWithResult)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn TrainingStepCompletionMaxAllowedTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrainingStepCompletionMaxAllowedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrainingStepCompletionMaxAllowedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -569,14 +569,14 @@ impl ActivationSignalDetectionConfigurationCreationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -601,21 +601,21 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanCreateConfigurations(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCreateConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCreateConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -623,7 +623,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModelDataTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModelDataTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -631,7 +631,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedTrainingDataFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedTrainingDataFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -639,7 +639,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPowerStates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPowerStates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -647,7 +647,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedModelIdsForSignalId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedModelIdsForSignalId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -655,7 +655,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedModelIdsForSignalIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedModelIdsForSignalIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateConfiguration(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -666,7 +666,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -674,7 +674,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -682,21 +682,21 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConfigurationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConfigurationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConfiguration(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConfiguration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConfiguration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConfigurationAsync(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveConfiguration(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -707,7 +707,7 @@ impl ActivationSignalDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -715,7 +715,7 @@ impl ActivationSignalDetector { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableModelIdsForSignalIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableModelIdsForSignalIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -723,42 +723,42 @@ impl ActivationSignalDetector { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableModelIdsForSignalId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableModelIdsForSignalId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateConfigurationWithResultAsync(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateConfigurationWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateConfigurationWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateConfigurationWithResult(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateConfigurationWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateConfigurationWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveConfigurationWithResultAsync(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveConfigurationWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveConfigurationWithResultAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveConfigurationWithResult(&self, signalid: &::windows_core::HSTRING, modelid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveConfigurationWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveConfigurationWithResult)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(signalid), ::core::mem::transmute_copy(modelid), &mut result__).map(|| result__) } } pub fn DetectorId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectorId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -784,7 +784,7 @@ impl ConversationalAgentDetectorManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllActivationSignalDetectors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllActivationSignalDetectors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -792,7 +792,7 @@ impl ConversationalAgentDetectorManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllActivationSignalDetectorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllActivationSignalDetectorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -800,7 +800,7 @@ impl ConversationalAgentDetectorManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivationSignalDetectors)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivationSignalDetectors)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -808,27 +808,27 @@ impl ConversationalAgentDetectorManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivationSignalDetectorsAsync)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivationSignalDetectorsAsync)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetActivationSignalDetectorFromId(&self, detectorid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivationSignalDetectorFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(detectorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivationSignalDetectorFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(detectorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetActivationSignalDetectorFromIdAsync(&self, detectorid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivationSignalDetectorFromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(detectorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivationSignalDetectorFromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(detectorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Default() -> ::windows_core::Result { Self::IConversationalAgentDetectorManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -866,7 +866,7 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInterrupted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInterrupted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionInterrupted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -880,7 +880,7 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSignalDetected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -894,7 +894,7 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -905,112 +905,112 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AgentState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AgentState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Signal(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Signal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Signal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsIndicatorLightAvailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIndicatorLightAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIndicatorLightAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScreenAvailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScreenAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScreenAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUserAuthenticated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserAuthenticated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserAuthenticated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVoiceActivationAvailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVoiceActivationAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVoiceActivationAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInterruptible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterruptible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterruptible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInterrupted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterrupted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterrupted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestInterruptibleAsync(&self, interruptible: bool) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInterruptibleAsync)(::windows_core::Interface::as_raw(this), interruptible, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInterruptibleAsync)(::windows_core::Interface::as_raw(this), interruptible, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestInterruptible(&self, interruptible: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInterruptible)(::windows_core::Interface::as_raw(this), interruptible, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInterruptible)(::windows_core::Interface::as_raw(this), interruptible, &mut result__).map(|| result__) } } pub fn RequestAgentStateChangeAsync(&self, state: ConversationalAgentState) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAgentStateChangeAsync)(::windows_core::Interface::as_raw(this), state, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAgentStateChangeAsync)(::windows_core::Interface::as_raw(this), state, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAgentStateChange(&self, state: ConversationalAgentState) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAgentStateChange)(::windows_core::Interface::as_raw(this), state, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAgentStateChange)(::windows_core::Interface::as_raw(this), state, &mut result__).map(|| result__) } } pub fn RequestForegroundActivationAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestForegroundActivationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestForegroundActivationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestForegroundActivation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestForegroundActivation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestForegroundActivation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetAudioClientAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioClientAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioClientAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioClient(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioClient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioClient)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Audio")] @@ -1021,7 +1021,7 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioDeviceInputNodeAsync)(::windows_core::Interface::as_raw(this), graph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioDeviceInputNodeAsync)(::windows_core::Interface::as_raw(this), graph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Audio")] @@ -1032,63 +1032,63 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioDeviceInputNode)(::windows_core::Interface::as_raw(this), graph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioDeviceInputNode)(::windows_core::Interface::as_raw(this), graph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioCaptureDeviceIdAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioCaptureDeviceIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioCaptureDeviceIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioCaptureDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioCaptureDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioCaptureDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioRenderDeviceIdAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioRenderDeviceIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioRenderDeviceIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioRenderDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioRenderDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioRenderDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSignalModelIdAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSignalModelIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSignalModelIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSignalModelId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSignalModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSignalModelId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignalModelIdAsync(&self, signalmodelid: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetSignalModelIdAsync)(::windows_core::Interface::as_raw(this), signalmodelid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetSignalModelIdAsync)(::windows_core::Interface::as_raw(this), signalmodelid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSignalModelId(&self, signalmodelid: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetSignalModelId)(::windows_core::Interface::as_raw(this), signalmodelid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetSignalModelId)(::windows_core::Interface::as_raw(this), signalmodelid, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1096,7 +1096,7 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedSignalModelIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedSignalModelIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1104,28 +1104,28 @@ impl ConversationalAgentSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedSignalModelIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedSignalModelIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestActivationAsync(&self, activationkind: ConversationalAgentActivationKind) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestActivationAsync)(::windows_core::Interface::as_raw(this), activationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestActivationAsync)(::windows_core::Interface::as_raw(this), activationkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestActivation(&self, activationkind: ConversationalAgentActivationKind) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestActivation)(::windows_core::Interface::as_raw(this), activationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestActivation)(::windows_core::Interface::as_raw(this), activationkind, &mut result__).map(|| result__) } } pub fn SetSupportLockScreenActivationAsync(&self, lockscreenactivationsupported: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetSupportLockScreenActivationAsync)(::windows_core::Interface::as_raw(this), lockscreenactivationsupported, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetSupportLockScreenActivationAsync)(::windows_core::Interface::as_raw(this), lockscreenactivationsupported, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSupportLockScreenActivation(&self, lockscreenactivationsupported: bool) -> ::windows_core::Result<()> { @@ -1137,7 +1137,7 @@ impl ConversationalAgentSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMissingPrerequisites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMissingPrerequisites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1145,19 +1145,19 @@ impl ConversationalAgentSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMissingPrerequisitesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMissingPrerequisitesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentSessionAsync() -> ::windows_core::Result> { Self::IConversationalAgentSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSessionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSessionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentSessionSync() -> ::windows_core::Result { Self::IConversationalAgentSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSessionSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSessionSync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1204,7 +1204,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSignalVerificationRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSignalVerificationRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSignalVerificationRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -1215,7 +1215,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSignalId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1226,7 +1226,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSignalName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1237,7 +1237,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSignalContext(&self, value: P0) -> ::windows_core::Result<()> @@ -1251,7 +1251,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignalStart(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1262,7 +1262,7 @@ impl ConversationalAgentSignal { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignalEnd(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1273,14 +1273,14 @@ impl ConversationalAgentSignal { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectorId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetectorKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1322,7 +1322,7 @@ impl ConversationalAgentSystemStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemStateChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemStateChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1347,7 +1347,7 @@ impl DetectionConfigurationAvailabilityChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1372,28 +1372,28 @@ impl DetectionConfigurationAvailabilityInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasSystemResourceAccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasSystemResourceAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasSystemResourceAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasPermission(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPermission)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPermission)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasLockScreenPermission(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasLockScreenPermission)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasLockScreenPermission)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1401,7 +1401,7 @@ impl DetectionConfigurationAvailabilityInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnavailableSystemResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnavailableSystemResources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs index d663858960..0c5195f85a 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs @@ -94,7 +94,7 @@ impl ICoreApplicationUnhandledError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnhandledErrorDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnhandledErrorDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnhandledErrorDetected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -273,7 +273,7 @@ impl IFrameworkViewSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -317,21 +317,21 @@ impl AppListEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppUserModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -342,14 +342,14 @@ impl AppListEntry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -370,7 +370,7 @@ impl CoreApplication { pub fn Id() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICoreApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Suspending(handler: P0) -> ::windows_core::Result @@ -379,7 +379,7 @@ impl CoreApplication { { Self::ICoreApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveSuspending(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -391,7 +391,7 @@ impl CoreApplication { { Self::ICoreApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Resuming)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Resuming)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveResuming(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -401,13 +401,13 @@ impl CoreApplication { pub fn Properties() -> ::windows_core::Result { Self::ICoreApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentView() -> ::windows_core::Result { Self::ICoreApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Run(viewsource: P0) -> ::windows_core::Result<()> @@ -429,7 +429,7 @@ impl CoreApplication { { Self::ICoreApplication2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveBackgroundActivated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -441,7 +441,7 @@ impl CoreApplication { { Self::ICoreApplication2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeavingBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeavingBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveLeavingBackground(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -453,7 +453,7 @@ impl CoreApplication { { Self::ICoreApplication2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnteredBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnteredBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveEnteredBackground(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -465,7 +465,7 @@ impl CoreApplication { pub fn RequestRestartAsync(launcharguments: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICoreApplication3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRestartAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(launcharguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRestartAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(launcharguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -475,7 +475,7 @@ impl CoreApplication { { Self::ICoreApplication3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRestartForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(launcharguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRestartForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(launcharguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Exit() -> ::windows_core::Result<()> { @@ -487,7 +487,7 @@ impl CoreApplication { { Self::ICoreApplicationExit(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exiting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exiting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveExiting(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -499,7 +499,7 @@ impl CoreApplication { { Self::ICoreApplicationUnhandledError(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnhandledErrorDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnhandledErrorDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveUnhandledErrorDetected(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -515,25 +515,25 @@ impl CoreApplication { pub fn Views() -> ::windows_core::Result> { Self::ICoreImmersiveApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Views)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Views)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNewView(runtimetype: &::windows_core::HSTRING, entrypoint: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICoreImmersiveApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNewView)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(runtimetype), ::core::mem::transmute_copy(entrypoint), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNewView)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(runtimetype), ::core::mem::transmute_copy(entrypoint), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MainView() -> ::windows_core::Result { Self::ICoreImmersiveApplication(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNewViewFromMainView() -> ::windows_core::Result { Self::ICoreImmersiveApplication2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNewViewFromMainView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNewViewFromMainView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNewViewWithViewSource(viewsource: P0) -> ::windows_core::Result @@ -542,7 +542,7 @@ impl CoreApplication { { Self::ICoreImmersiveApplication3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNewViewWithViewSource)(::windows_core::Interface::as_raw(this), viewsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNewViewWithViewSource)(::windows_core::Interface::as_raw(this), viewsource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -604,7 +604,7 @@ impl CoreApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoreWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoreWindow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -615,7 +615,7 @@ impl CoreApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -626,14 +626,14 @@ impl CoreApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHosted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHosted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHosted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Core")] @@ -641,21 +641,21 @@ impl CoreApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsComponent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComponent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComponent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TitleBar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HostedViewClosing(&self, handler: P0) -> ::windows_core::Result @@ -665,7 +665,7 @@ impl CoreApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostedViewClosing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostedViewClosing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHostedViewClosing(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -677,7 +677,7 @@ impl CoreApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -685,7 +685,7 @@ impl CoreApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -712,28 +712,28 @@ impl CoreApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendViewIntoTitleBar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendViewIntoTitleBar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemOverlayLeftInset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemOverlayLeftInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemOverlayLeftInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemOverlayRightInset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemOverlayRightInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemOverlayRightInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LayoutMetricsChanged(&self, handler: P0) -> ::windows_core::Result @@ -743,7 +743,7 @@ impl CoreApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LayoutMetricsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LayoutMetricsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLayoutMetricsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -754,7 +754,7 @@ impl CoreApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVisibleChanged(&self, handler: P0) -> ::windows_core::Result @@ -764,7 +764,7 @@ impl CoreApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisibleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisibleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsVisibleChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -791,7 +791,7 @@ impl HostedViewClosingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -816,7 +816,7 @@ impl UnhandledError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Propagate(&self) -> ::windows_core::Result<()> { @@ -845,7 +845,7 @@ impl UnhandledErrorDetectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnhandledError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnhandledError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs index 1829e059b2..87e11bc6c6 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs @@ -92,7 +92,7 @@ impl ICoreDropOperationTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), draguioverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), draguioverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OverAsync(&self, draginfo: P0, draguioverride: P1) -> ::windows_core::Result> @@ -103,7 +103,7 @@ impl ICoreDropOperationTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OverAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), draguioverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OverAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), draguioverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LeaveAsync(&self, draginfo: P0) -> ::windows_core::Result @@ -113,7 +113,7 @@ impl ICoreDropOperationTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeaveAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeaveAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DropAsync(&self, draginfo: P0) -> ::windows_core::Result> @@ -123,7 +123,7 @@ impl ICoreDropOperationTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DropAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DropAsync)(::windows_core::Interface::as_raw(this), draginfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -158,7 +158,7 @@ impl CoreDragDropManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetRequested)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetRequested)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTargetRequested(&self, value: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -169,7 +169,7 @@ impl CoreDragDropManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreConcurrentOperationsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreConcurrentOperationsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAreConcurrentOperationsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -179,7 +179,7 @@ impl CoreDragDropManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICoreDragDropManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -209,28 +209,28 @@ impl CoreDragInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Modifiers(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Modifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Modifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AllowedOperations(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedOperations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -262,7 +262,7 @@ impl CoreDragOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerId(&self, pointerid: u32) -> ::windows_core::Result<()> { @@ -289,7 +289,7 @@ impl CoreDragOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DragUIContentMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DragUIContentMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDragUIContentMode(&self, value: CoreDragUIContentMode) -> ::windows_core::Result<()> { @@ -300,14 +300,14 @@ impl CoreDragOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowedOperations(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedOperations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowedOperations(&self, value: super::super::DataPackageOperation) -> ::windows_core::Result<()> { @@ -352,7 +352,7 @@ impl CoreDragUIOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContentVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContentVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsContentVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -363,7 +363,7 @@ impl CoreDragUIOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCaption(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -374,7 +374,7 @@ impl CoreDragUIOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCaptionVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCaptionVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCaptionVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -385,7 +385,7 @@ impl CoreDragUIOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGlyphVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGlyphVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGlyphVisible(&self, value: bool) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs index af0a703657..007d8ef099 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs @@ -72,7 +72,7 @@ impl QuickLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -84,7 +84,7 @@ impl QuickLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -99,7 +99,7 @@ impl QuickLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -111,7 +111,7 @@ impl QuickLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDataFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDataFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -119,7 +119,7 @@ impl QuickLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -142,14 +142,14 @@ impl ShareOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QuickLinkId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuickLinkId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuickLinkId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveThisQuickLink(&self) -> ::windows_core::Result<()> { @@ -192,7 +192,7 @@ impl ShareOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs index d8da1688ab..46ddd63a09 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs @@ -568,7 +568,7 @@ impl Clipboard { pub fn GetContent() -> ::windows_core::Result { Self::IClipboardStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetContent(content: P0) -> ::windows_core::Result<()> @@ -589,7 +589,7 @@ impl Clipboard { { Self::IClipboardStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveContentChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -598,13 +598,13 @@ impl Clipboard { pub fn GetHistoryItemsAsync() -> ::windows_core::Result> { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHistoryItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHistoryItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ClearHistory() -> ::windows_core::Result { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearHistory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearHistory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DeleteItemFromHistory(item: P0) -> ::windows_core::Result @@ -613,7 +613,7 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteItemFromHistory)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteItemFromHistory)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) }) } pub fn SetHistoryItemAsContent(item: P0) -> ::windows_core::Result @@ -622,19 +622,19 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetHistoryItemAsContent)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetHistoryItemAsContent)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) }) } pub fn IsHistoryEnabled() -> ::windows_core::Result { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsRoamingEnabled() -> ::windows_core::Result { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoamingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoamingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetContentWithOptions(content: P0, options: P1) -> ::windows_core::Result @@ -644,7 +644,7 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetContentWithOptions)(::windows_core::Interface::as_raw(this), content.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetContentWithOptions)(::windows_core::Interface::as_raw(this), content.into_param().abi(), options.into_param().abi(), &mut result__).map(|| result__) }) } pub fn HistoryChanged(handler: P0) -> ::windows_core::Result @@ -653,7 +653,7 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoryChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoryChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveHistoryChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -665,7 +665,7 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRoamingEnabledChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -677,7 +677,7 @@ impl Clipboard { { Self::IClipboardStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoryEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoryEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveHistoryEnabledChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -713,7 +713,7 @@ impl ClipboardContentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRoamable(&self, value: bool) -> ::windows_core::Result<()> { @@ -724,7 +724,7 @@ impl ClipboardContentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAllowedInHistory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAllowedInHistory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAllowedInHistory(&self, value: bool) -> ::windows_core::Result<()> { @@ -736,7 +736,7 @@ impl ClipboardContentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -744,7 +744,7 @@ impl ClipboardContentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoryFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoryFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -786,21 +786,21 @@ impl ClipboardHistoryItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Content(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -825,7 +825,7 @@ impl ClipboardHistoryItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -833,7 +833,7 @@ impl ClipboardHistoryItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -865,21 +865,21 @@ impl DataPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestedOperation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedOperation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequestedOperation(&self, value: DataPackageOperation) -> ::windows_core::Result<()> { @@ -893,7 +893,7 @@ impl DataPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOperationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -907,7 +907,7 @@ impl DataPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Destroyed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Destroyed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDestroyed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -949,7 +949,7 @@ impl DataPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceMap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceMap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRtf(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1001,7 +1001,7 @@ impl DataPackage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShareCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1015,7 +1015,7 @@ impl DataPackage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShareCanceled(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1046,7 +1046,7 @@ impl DataPackagePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1057,7 +1057,7 @@ impl DataPackagePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1069,7 +1069,7 @@ impl DataPackagePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1085,14 +1085,14 @@ impl DataPackagePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetApplicationName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1103,7 +1103,7 @@ impl DataPackagePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationListingUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationListingUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetApplicationListingUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1117,7 +1117,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceWebLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceWebLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentSourceWebLink(&self, value: P0) -> ::windows_core::Result<()> @@ -1131,7 +1131,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentSourceApplicationLink(&self, value: P0) -> ::windows_core::Result<()> @@ -1145,7 +1145,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1157,7 +1157,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1173,7 +1173,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1185,7 +1185,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEnterpriseId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1196,7 +1196,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceUserActivityJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceUserActivityJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentSourceUserActivityJson(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1208,7 +1208,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1216,7 +1216,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1224,7 +1224,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1232,7 +1232,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1240,7 +1240,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1251,7 +1251,7 @@ impl DataPackagePropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1304,14 +1304,14 @@ impl DataPackagePropertySetView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1319,7 +1319,7 @@ impl DataPackagePropertySetView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1327,42 +1327,42 @@ impl DataPackagePropertySetView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationListingUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationListingUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationListingUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentSourceWebLink(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceWebLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceWebLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentSourceApplicationLink(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1370,7 +1370,7 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -1378,28 +1378,28 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnterpriseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentSourceUserActivityJson(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSourceUserActivityJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSourceUserActivityJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFromRoamingClipboard(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromRoamingClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromRoamingClipboard)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1407,7 +1407,7 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1415,7 +1415,7 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1423,7 +1423,7 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1431,7 +1431,7 @@ impl DataPackagePropertySetView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1477,14 +1477,14 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestedOperation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedOperation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportOperationCompleted(&self, value: DataPackageOperation) -> ::windows_core::Result<()> { @@ -1496,35 +1496,35 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Contains(&self, formatid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contains)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contains)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).map(|| result__) } } pub fn GetDataAsync(&self, formatid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTextAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTextAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTextAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCustomTextAsync(&self, formatid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCustomTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCustomTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formatid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1532,14 +1532,14 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUriAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUriAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetHtmlFormatAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHtmlFormatAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHtmlFormatAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1547,14 +1547,14 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResourceMapAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResourceMapAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRtfAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRtfAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRtfAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1562,7 +1562,7 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1570,21 +1570,21 @@ impl DataPackageView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStorageItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStorageItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetApplicationLinkAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApplicationLinkAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApplicationLinkAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetWebLinkAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWebLinkAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWebLinkAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_EnterpriseData")] @@ -1592,7 +1592,7 @@ impl DataPackageView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_EnterpriseData")] @@ -1600,7 +1600,7 @@ impl DataPackageView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessWithEnterpriseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enterpriseid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessWithEnterpriseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enterpriseid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_EnterpriseData")] @@ -1608,7 +1608,7 @@ impl DataPackageView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnlockAndAssumeEnterpriseIdentity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnlockAndAssumeEnterpriseIdentity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAcceptedFormatId(&self, formatid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1659,21 +1659,21 @@ impl DataProviderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: P0) -> ::windows_core::Result<()> @@ -1705,7 +1705,7 @@ impl DataRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: P0) -> ::windows_core::Result<()> @@ -1719,7 +1719,7 @@ impl DataRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FailWithDisplayText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1730,7 +1730,7 @@ impl DataRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1777,7 +1777,7 @@ impl DataRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1805,7 +1805,7 @@ impl DataTransferManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1819,7 +1819,7 @@ impl DataTransferManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetApplicationChosen)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetApplicationChosen)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTargetApplicationChosen(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1833,7 +1833,7 @@ impl DataTransferManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareProvidersRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareProvidersRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShareProvidersRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1846,13 +1846,13 @@ impl DataTransferManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IDataTransferManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IDataTransferManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ShowShareUIWithOptions(options: P0) -> ::windows_core::Result<()> @@ -1892,13 +1892,13 @@ impl HtmlFormatHelper { pub fn GetStaticFragment(htmlformat: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHtmlFormatHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStaticFragment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(htmlformat), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStaticFragment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(htmlformat), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateHtmlFormat(htmlfragment: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHtmlFormatHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHtmlFormat)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(htmlfragment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHtmlFormat)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(htmlfragment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1919,14 +1919,14 @@ impl OperationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AcceptedFormatId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptedFormatId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptedFormatId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1951,7 +1951,7 @@ impl ShareCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareTarget)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareTarget)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1976,7 +1976,7 @@ impl ShareProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1984,7 +1984,7 @@ impl ShareProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayIcon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayIcon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -1992,14 +1992,14 @@ impl ShareProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Tag(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: P0) -> ::windows_core::Result<()> @@ -2017,7 +2017,7 @@ impl ShareProvider { { Self::IShareProviderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), displayicon.into_param().abi(), backgroundcolor, handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), displayicon.into_param().abi(), backgroundcolor, handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2047,14 +2047,14 @@ impl ShareProviderOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self) -> ::windows_core::Result<()> { @@ -2084,21 +2084,21 @@ impl ShareProvidersRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Providers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Providers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Data(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2123,14 +2123,14 @@ impl ShareTargetInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareProvider(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2162,7 +2162,7 @@ impl ShareUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Theme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Theme)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTheme(&self, value: ShareUITheme) -> ::windows_core::Result<()> { @@ -2173,7 +2173,7 @@ impl ShareUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSelectionRect(&self, value: P0) -> ::windows_core::Result<()> @@ -2205,14 +2205,14 @@ impl SharedStorageAccessManager { { Self::ISharedStorageAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] pub fn RedeemTokenForFileAsync(token: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISharedStorageAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedeemTokenForFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedeemTokenForFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemoveFile(token: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2232,56 +2232,56 @@ impl StandardDataFormats { pub fn Text() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn Uri() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Html() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Html)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Html)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rtf() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rtf)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rtf)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Bitmap() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitmap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitmap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StorageItems() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WebLink() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ApplicationLink() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UserActivityJsonArray() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardDataFormatsStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActivityJsonArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActivityJsonArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2312,7 +2312,7 @@ impl TargetApplicationChosenEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs index 361439335e..c70176c2f7 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs @@ -359,7 +359,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxSyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxSyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMailboxSyncRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -373,7 +373,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadMessageRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadMessageRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadMessageRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -387,7 +387,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadAttachmentRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadAttachmentRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadAttachmentRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -401,7 +401,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCreateFolderRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -415,7 +415,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeleteFolderRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -429,7 +429,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmptyFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmptyFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEmptyFolderRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -443,7 +443,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveFolderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMoveFolderRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateMeetingResponseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateMeetingResponseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdateMeetingResponseRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -471,7 +471,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveForwardMeetingRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -485,7 +485,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProposeNewTimeForMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProposeNewTimeForMeetingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProposeNewTimeForMeetingRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -499,7 +499,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAutoReplySettingsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAutoReplySettingsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSetAutoReplySettingsRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -513,7 +513,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAutoReplySettingsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAutoReplySettingsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGetAutoReplySettingsRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -527,7 +527,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveRecipientsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveRecipientsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResolveRecipientsRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -541,7 +541,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateCertificatesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateCertificatesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveValidateCertificatesRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -555,7 +555,7 @@ impl EmailDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerSearchReadBatchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerSearchReadBatchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServerSearchReadBatchRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -588,7 +588,7 @@ impl EmailDataProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -613,21 +613,21 @@ impl EmailMailboxCreateFolderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self, folder: P0) -> ::windows_core::Result @@ -637,14 +637,14 @@ impl EmailMailboxCreateFolderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self, status: super::EmailMailboxCreateFolderStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -669,14 +669,14 @@ impl EmailMailboxCreateFolderRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -701,28 +701,28 @@ impl EmailMailboxDeleteFolderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self, status: super::EmailMailboxDeleteFolderStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -747,14 +747,14 @@ impl EmailMailboxDeleteFolderRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -779,35 +779,35 @@ impl EmailMailboxDownloadAttachmentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailAttachmentId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailAttachmentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailAttachmentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -832,14 +832,14 @@ impl EmailMailboxDownloadAttachmentRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -864,28 +864,28 @@ impl EmailMailboxDownloadMessageRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -910,14 +910,14 @@ impl EmailMailboxDownloadMessageRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -942,28 +942,28 @@ impl EmailMailboxEmptyFolderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self, status: super::EmailMailboxEmptyFolderStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -988,14 +988,14 @@ impl EmailMailboxEmptyFolderRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1020,14 +1020,14 @@ impl EmailMailboxForwardMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1035,49 +1035,49 @@ impl EmailMailboxForwardMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ForwardHeaderType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardHeaderType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardHeaderType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ForwardHeader(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1102,14 +1102,14 @@ impl EmailMailboxForwardMeetingRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1134,14 +1134,14 @@ impl EmailMailboxGetAutoReplySettingsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestedFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCompletedAsync(&self, autoreplysettings: P0) -> ::windows_core::Result @@ -1151,14 +1151,14 @@ impl EmailMailboxGetAutoReplySettingsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), autoreplysettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), autoreplysettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1183,14 +1183,14 @@ impl EmailMailboxGetAutoReplySettingsRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1215,42 +1215,42 @@ impl EmailMailboxMoveFolderRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewParentFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewFolderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewFolderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewFolderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1275,14 +1275,14 @@ impl EmailMailboxMoveFolderRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1307,56 +1307,56 @@ impl EmailMailboxProposeNewTimeForMeetingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewStartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1381,14 +1381,14 @@ impl EmailMailboxProposeNewTimeForMeetingRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1413,7 +1413,7 @@ impl EmailMailboxResolveRecipientsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1421,7 +1421,7 @@ impl EmailMailboxResolveRecipientsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recipients)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1432,14 +1432,14 @@ impl EmailMailboxResolveRecipientsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), resolutionresults.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), resolutionresults.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1464,14 +1464,14 @@ impl EmailMailboxResolveRecipientsRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1496,35 +1496,35 @@ impl EmailMailboxServerSearchReadBatchRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMailboxId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SuggestedBatchSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SaveMessageAsync(&self, message: P0) -> ::windows_core::Result @@ -1534,21 +1534,21 @@ impl EmailMailboxServerSearchReadBatchRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self, batchstatus: super::EmailBatchStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), batchstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), batchstatus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1573,14 +1573,14 @@ impl EmailMailboxServerSearchReadBatchRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1605,28 +1605,28 @@ impl EmailMailboxSetAutoReplySettingsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoReplySettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoReplySettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoReplySettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1651,14 +1651,14 @@ impl EmailMailboxSetAutoReplySettingsRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1683,21 +1683,21 @@ impl EmailMailboxSyncManagerSyncRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1722,14 +1722,14 @@ impl EmailMailboxSyncManagerSyncRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1754,56 +1754,56 @@ impl EmailMailboxUpdateMeetingResponseRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmailMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Response(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendUpdate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendUpdate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1828,14 +1828,14 @@ impl EmailMailboxUpdateMeetingResponseRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1860,7 +1860,7 @@ impl EmailMailboxValidateCertificatesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -1868,7 +1868,7 @@ impl EmailMailboxValidateCertificatesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1879,14 +1879,14 @@ impl EmailMailboxValidateCertificatesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), validationstatuses.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), validationstatuses.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1911,14 +1911,14 @@ impl EmailMailboxValidateCertificatesRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs index 384536218e..10ac03f461 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs @@ -821,7 +821,7 @@ impl EmailAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -833,7 +833,7 @@ impl EmailAttachment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -848,14 +848,14 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -866,7 +866,7 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentLocation(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -877,7 +877,7 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDownloadState(&self, value: EmailAttachmentDownloadState) -> ::windows_core::Result<()> { @@ -888,7 +888,7 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedDownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedDownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEstimatedDownloadSizeInBytes(&self, value: u64) -> ::windows_core::Result<()> { @@ -899,14 +899,14 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromBaseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromBaseMessage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInline(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInline(&self, value: bool) -> ::windows_core::Result<()> { @@ -917,7 +917,7 @@ impl EmailAttachment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MimeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MimeType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMimeType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -931,7 +931,7 @@ impl EmailAttachment { { Self::IEmailAttachmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -941,7 +941,7 @@ impl EmailAttachment { { Self::IEmailAttachmentFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), data.into_param().abi(), ::core::mem::transmute_copy(mimetype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), data.into_param().abi(), ::core::mem::transmute_copy(mimetype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -976,91 +976,91 @@ impl EmailConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MailboxId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlagState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlagState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlagState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasAttachment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasAttachment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasAttachment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Importance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Importance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Importance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastEmailResponseKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastEmailResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastEmailResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MostRecentMessageId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MostRecentMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MostRecentMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MostRecentMessageTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MostRecentMessageTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MostRecentMessageTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Preview(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LatestSender(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LatestSender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LatestSender)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnreadMessageCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnreadMessageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnreadMessageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1068,7 +1068,7 @@ impl EmailConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindMessagesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindMessagesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1076,7 +1076,7 @@ impl EmailConversation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindMessagesWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindMessagesWithCountAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1102,14 +1102,14 @@ impl EmailConversationBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Conversations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Conversations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1134,7 +1134,7 @@ impl EmailConversationReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1159,14 +1159,14 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1177,21 +1177,21 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentFolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentFolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1202,7 +1202,7 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSyncEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1213,7 +1213,7 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastSuccessfulSyncTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1224,21 +1224,21 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFolderAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1246,14 +1246,14 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindChildFoldersAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindChildFoldersAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -1263,21 +1263,21 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -1287,14 +1287,14 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageCountsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageCountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageCountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryMoveAsync(&self, newparentfolder: P0) -> ::windows_core::Result> @@ -1304,7 +1304,7 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryMoveAsync)(::windows_core::Interface::as_raw(this), newparentfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryMoveAsync)(::windows_core::Interface::as_raw(this), newparentfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryMoveWithNewNameAsync(&self, newparentfolder: P0, newfoldername: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1314,14 +1314,14 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryMoveWithNewNameAsync)(::windows_core::Interface::as_raw(this), newparentfolder.into_param().abi(), ::core::mem::transmute_copy(newfoldername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryMoveWithNewNameAsync)(::windows_core::Interface::as_raw(this), newparentfolder.into_param().abi(), ::core::mem::transmute_copy(newfoldername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySaveAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveMessageAsync(&self, message: P0) -> ::windows_core::Result @@ -1331,7 +1331,7 @@ impl EmailFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1363,7 +1363,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanEdit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanEdit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanEdit(&self, value: bool) -> ::windows_core::Result<()> { @@ -1374,7 +1374,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanExtractData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanExtractData)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanExtractData(&self, value: bool) -> ::windows_core::Result<()> { @@ -1385,7 +1385,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanForward)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanForward)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanForward(&self, value: bool) -> ::windows_core::Result<()> { @@ -1396,7 +1396,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanModifyRecipientsOnResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanModifyRecipientsOnResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanModifyRecipientsOnResponse(&self, value: bool) -> ::windows_core::Result<()> { @@ -1407,7 +1407,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPrintData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPrintData)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanPrintData(&self, value: bool) -> ::windows_core::Result<()> { @@ -1418,7 +1418,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRemoveIrmOnResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRemoveIrmOnResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanRemoveIrmOnResponse(&self, value: bool) -> ::windows_core::Result<()> { @@ -1429,7 +1429,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanReply)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanReply)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanReply(&self, value: bool) -> ::windows_core::Result<()> { @@ -1440,7 +1440,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanReplyAll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanReplyAll)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanReplyAll(&self, value: bool) -> ::windows_core::Result<()> { @@ -1451,7 +1451,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExpirationDate(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1462,7 +1462,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIrmOriginator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIrmOriginator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsIrmOriginator(&self, value: bool) -> ::windows_core::Result<()> { @@ -1473,7 +1473,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProgramaticAccessAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProgramaticAccessAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsProgramaticAccessAllowed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1484,7 +1484,7 @@ impl EmailIrmInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTemplate(&self, value: P0) -> ::windows_core::Result<()> @@ -1500,7 +1500,7 @@ impl EmailIrmInfo { { Self::IEmailIrmInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), expiration, irmtemplate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), expiration, irmtemplate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1537,7 +1537,7 @@ impl EmailIrmTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1548,7 +1548,7 @@ impl EmailIrmTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1559,7 +1559,7 @@ impl EmailIrmTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1569,7 +1569,7 @@ impl EmailIrmTemplate { pub fn Create(id: &::windows_core::HSTRING, name: &::windows_core::HSTRING, description: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IEmailIrmTemplateFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(description), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(description), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1599,28 +1599,28 @@ impl EmailItemCounts { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flagged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flagged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Important(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Important)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Important)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Total(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Unread(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unread)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unread)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1645,21 +1645,21 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTracker(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1670,28 +1670,28 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsOwnedByCurrentApp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOwnedByCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOwnedByCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDataEncryptedUnderLock(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDataEncryptedUnderLock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDataEncryptedUnderLock)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MailAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMailAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1703,14 +1703,14 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailAddressAliases)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailAddressAliases)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OtherAppReadAccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: EmailMailboxOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -1721,7 +1721,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppWriteAccess(&self, value: EmailMailboxOtherAppWriteAccess) -> ::windows_core::Result<()> { @@ -1732,35 +1732,35 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Policies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Policies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncManager(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -1770,14 +1770,14 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -1787,112 +1787,112 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSpecialFolderAsync(&self, foldertype: EmailSpecialFolderKind) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSpecialFolderAsync)(::windows_core::Interface::as_raw(this), foldertype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSpecialFolderAsync)(::windows_core::Interface::as_raw(this), foldertype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkMessageAsSeenAsync(&self, messageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkMessageAsSeenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkMessageAsSeenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkFolderAsSeenAsync(&self, folderid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkFolderAsSeenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkFolderAsSeenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkMessageReadAsync(&self, messageid: &::windows_core::HSTRING, isread: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkMessageReadAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), isread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkMessageReadAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), isread, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeMessageFlagStateAsync(&self, messageid: &::windows_core::HSTRING, flagstate: EmailFlagState) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeMessageFlagStateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), flagstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeMessageFlagStateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), flagstate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryMoveMessageAsync(&self, messageid: &::windows_core::HSTRING, newparentfolderid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryMoveMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), ::core::mem::transmute_copy(newparentfolderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryMoveMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), ::core::mem::transmute_copy(newparentfolderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryMoveFolderAsync(&self, folderid: &::windows_core::HSTRING, newparentfolderid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryMoveFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), ::core::mem::transmute_copy(newparentfolderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryMoveFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), ::core::mem::transmute_copy(newparentfolderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryMoveFolderWithNewNameAsync(&self, folderid: &::windows_core::HSTRING, newparentfolderid: &::windows_core::HSTRING, newfoldername: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryMoveFolderWithNewNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), ::core::mem::transmute_copy(newparentfolderid), ::core::mem::transmute_copy(newfoldername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryMoveFolderWithNewNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), ::core::mem::transmute_copy(newparentfolderid), ::core::mem::transmute_copy(newfoldername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteMessageAsync(&self, messageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MarkFolderSyncEnabledAsync(&self, folderid: &::windows_core::HSTRING, issyncenabled: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkFolderSyncEnabledAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), issyncenabled, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkFolderSyncEnabledAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), issyncenabled, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendMessageAsync(&self, message: P0) -> ::windows_core::Result @@ -1902,7 +1902,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveDraftAsync(&self, message: P0) -> ::windows_core::Result @@ -1912,28 +1912,28 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveDraftAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveDraftAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DownloadMessageAsync(&self, messageid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DownloadAttachmentAsync(&self, attachmentid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadAttachmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attachmentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadAttachmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attachmentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateResponseMessageAsync(&self, messageid: &::windows_core::HSTRING, responsetype: EmailMessageResponseKind, subject: &::windows_core::HSTRING, responseheadertype: EmailMessageBodyKind, responseheader: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResponseMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), responsetype, ::core::mem::transmute_copy(subject), responseheadertype, ::core::mem::transmute_copy(responseheader), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResponseMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messageid), responsetype, ::core::mem::transmute_copy(subject), responseheadertype, ::core::mem::transmute_copy(responseheader), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUpdateMeetingResponseAsync(&self, meeting: P0, response: EmailMeetingResponseType, subject: &::windows_core::HSTRING, comment: &::windows_core::HSTRING, sendupdate: bool) -> ::windows_core::Result> @@ -1943,7 +1943,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateMeetingResponseAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), response, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), sendupdate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateMeetingResponseAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), response, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), sendupdate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1955,7 +1955,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryForwardMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), recipients.into_param().abi(), ::core::mem::transmute_copy(subject), forwardheadertype, ::core::mem::transmute_copy(forwardheader), ::core::mem::transmute_copy(comment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryForwardMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), recipients.into_param().abi(), ::core::mem::transmute_copy(subject), forwardheadertype, ::core::mem::transmute_copy(forwardheader), ::core::mem::transmute_copy(comment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryProposeNewTimeForMeetingAsync(&self, meeting: P0, newstarttime: super::super::Foundation::DateTime, newduration: super::super::Foundation::TimeSpan, subject: &::windows_core::HSTRING, comment: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1965,7 +1965,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryProposeNewTimeForMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), newstarttime, newduration, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryProposeNewTimeForMeetingAsync)(::windows_core::Interface::as_raw(this), meeting.into_param().abi(), newstarttime, newduration, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(comment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MailboxChanged(&self, phandler: P0) -> ::windows_core::Result @@ -1975,7 +1975,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxChanged)(::windows_core::Interface::as_raw(this), phandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxChanged)(::windows_core::Interface::as_raw(this), phandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMailboxChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1989,7 +1989,7 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartSendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), smartsend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartSendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), smartsend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetAutoReplySettingsAsync(&self, autoreplysettings: P0) -> ::windows_core::Result> @@ -1999,35 +1999,35 @@ impl EmailMailbox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetAutoReplySettingsAsync)(::windows_core::Interface::as_raw(this), autoreplysettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetAutoReplySettingsAsync)(::windows_core::Interface::as_raw(this), autoreplysettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAutoReplySettingsAsync(&self, requestedformat: EmailMailboxAutoReplyMessageResponseKind) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAutoReplySettingsAsync)(::windows_core::Interface::as_raw(this), requestedformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAutoReplySettingsAsync)(::windows_core::Interface::as_raw(this), requestedformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LinkedMailboxId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkedMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkedMailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2038,7 +2038,7 @@ impl EmailMailbox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveRecipientsAsync)(::windows_core::Interface::as_raw(this), recipients.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveRecipientsAsync)(::windows_core::Interface::as_raw(this), recipients.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -2049,42 +2049,42 @@ impl EmailMailbox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateCertificatesAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateCertificatesAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryEmptyFolderAsync(&self, folderid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEmptyFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEmptyFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCreateFolderAsync(&self, parentfolderid: &::windows_core::HSTRING, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parentfolderid), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parentfolderid), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDeleteFolderAsync(&self, folderid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(folderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterSyncManagerAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetChangeTracker(&self, identity: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeTracker)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2109,14 +2109,14 @@ impl EmailMailboxAction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChangeNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2141,7 +2141,7 @@ impl EmailMailboxAutoReply { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2152,7 +2152,7 @@ impl EmailMailboxAutoReply { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResponse(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2188,7 +2188,7 @@ impl EmailMailboxAutoReplySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2199,7 +2199,7 @@ impl EmailMailboxAutoReplySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResponseKind(&self, value: EmailMailboxAutoReplyMessageResponseKind) -> ::windows_core::Result<()> { @@ -2210,7 +2210,7 @@ impl EmailMailboxAutoReplySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2224,7 +2224,7 @@ impl EmailMailboxAutoReplySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEndTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2238,21 +2238,21 @@ impl EmailMailboxAutoReplySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InternalReply)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InternalReply)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KnownExternalReply(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownExternalReply)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownExternalReply)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnknownExternalReply(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnknownExternalReply)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnknownExternalReply)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2277,98 +2277,98 @@ impl EmailMailboxCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanForwardMeetings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanForwardMeetings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanGetAndSetExternalAutoReplies(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGetAndSetExternalAutoReplies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGetAndSetExternalAutoReplies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanGetAndSetInternalAutoReplies(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGetAndSetInternalAutoReplies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGetAndSetInternalAutoReplies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanUpdateMeetingResponses(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanUpdateMeetingResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanUpdateMeetingResponses)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanServerSearchFolders(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanServerSearchFolders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanServerSearchFolders)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanServerSearchMailbox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanServerSearchMailbox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanServerSearchMailbox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanProposeNewTimeForMeetings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanProposeNewTimeForMeetings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanProposeNewTimeForMeetings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanSmartSend(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSmartSend)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSmartSend)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanResolveRecipients(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanResolveRecipients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanResolveRecipients)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanValidateCertificates(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanValidateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanValidateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanEmptyFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanEmptyFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanEmptyFolder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanCreateFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCreateFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCreateFolder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanDeleteFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDeleteFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDeleteFolder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanMoveFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMoveFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMoveFolder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanForwardMeetings(&self, value: bool) -> ::windows_core::Result<()> { @@ -2449,7 +2449,7 @@ impl EmailMailboxChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2457,21 +2457,21 @@ impl EmailMailboxChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxActions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxActions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Folder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2508,7 +2508,7 @@ impl EmailMailboxChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2533,7 +2533,7 @@ impl EmailMailboxChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTracking)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enable(&self) -> ::windows_core::Result<()> { @@ -2544,7 +2544,7 @@ impl EmailMailboxChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reset(&self) -> ::windows_core::Result<()> { @@ -2595,7 +2595,7 @@ impl EmailMailboxChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2620,14 +2620,14 @@ impl EmailMailboxCreateFolderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Folder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2652,42 +2652,42 @@ impl EmailMailboxPolicies { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedSmimeEncryptionAlgorithmNegotiation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedSmimeEncryptionAlgorithmNegotiation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AllowSmimeSoftCertificates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowSmimeSoftCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowSmimeSoftCertificates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequiredSmimeEncryptionAlgorithm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredSmimeEncryptionAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredSmimeEncryptionAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequiredSmimeSigningAlgorithm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredSmimeSigningAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredSmimeSigningAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MustEncryptSmimeMessages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MustEncryptSmimeMessages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MustEncryptSmimeMessages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MustSignSmimeMessages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MustSignSmimeMessages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MustSignSmimeMessages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowedSmimeEncryptionAlgorithmNegotiation(&self, value: EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation) -> ::windows_core::Result<()> { @@ -2742,28 +2742,28 @@ impl EmailMailboxSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSuccessfulSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastAttemptedSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SyncAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -2773,7 +2773,7 @@ impl EmailMailboxSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2813,13 +2813,13 @@ impl EmailManager { { Self::IEmailManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowComposeNewEmailAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowComposeNewEmailAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStoreAsync(accesstype: EmailStoreAccessType) -> ::windows_core::Result> { Self::IEmailManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2829,7 +2829,7 @@ impl EmailManager { { Self::IEmailManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2863,14 +2863,14 @@ impl EmailManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowComposeNewEmailAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowComposeNewEmailAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestStoreAsync(&self, accesstype: EmailStoreAccessType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -2878,7 +2878,7 @@ impl EmailManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2910,7 +2910,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowNewTimeProposal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowNewTimeProposal(&self, value: bool) -> ::windows_core::Result<()> { @@ -2921,7 +2921,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentRoamingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentRoamingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppointmentRoamingId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2932,7 +2932,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppointmentOriginalStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppointmentOriginalStartTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2946,7 +2946,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2957,7 +2957,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAllDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAllDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAllDay(&self, value: bool) -> ::windows_core::Result<()> { @@ -2968,7 +2968,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResponseRequested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsResponseRequested(&self, value: bool) -> ::windows_core::Result<()> { @@ -2979,7 +2979,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocation(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2990,7 +2990,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProposedStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProposedStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProposedStartTime(&self, proposedstarttime: P0) -> ::windows_core::Result<()> @@ -3004,7 +3004,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProposedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProposedDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProposedDuration(&self, duration: P0) -> ::windows_core::Result<()> @@ -3018,7 +3018,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecurrenceStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecurrenceStartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecurrenceStartTime(&self, value: P0) -> ::windows_core::Result<()> @@ -3033,7 +3033,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recurrence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Appointments")] @@ -3048,7 +3048,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRemoteChangeNumber(&self, value: u64) -> ::windows_core::Result<()> { @@ -3059,7 +3059,7 @@ impl EmailMeetingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -3070,7 +3070,7 @@ impl EmailMeetingInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReportedOutOfDateByServer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReportedOutOfDateByServer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3102,7 +3102,7 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubject(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3113,7 +3113,7 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBody(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3125,7 +3125,7 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3133,7 +3133,7 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CC)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CC)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3141,7 +3141,7 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bcc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bcc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3149,21 +3149,21 @@ impl EmailMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attachments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attachments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3174,28 +3174,28 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailboxId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConversationId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConversationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConversationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowInternetImages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowInternetImages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowInternetImages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowInternetImages(&self, value: bool) -> ::windows_core::Result<()> { @@ -3206,14 +3206,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DownloadState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDownloadState(&self, value: EmailMessageDownloadState) -> ::windows_core::Result<()> { @@ -3224,7 +3224,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedDownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedDownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEstimatedDownloadSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -3235,7 +3235,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlagState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlagState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFlagState(&self, value: EmailFlagState) -> ::windows_core::Result<()> { @@ -3246,14 +3246,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPartialBodies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPartialBodies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Importance(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Importance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Importance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetImportance(&self, value: EmailImportance) -> ::windows_core::Result<()> { @@ -3264,14 +3264,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InResponseToMessageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InResponseToMessageId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IrmInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IrmInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IrmInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIrmInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -3285,14 +3285,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDraftMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDraftMessage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRead(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRead(&self, value: bool) -> ::windows_core::Result<()> { @@ -3303,7 +3303,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSeen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSeen(&self, value: bool) -> ::windows_core::Result<()> { @@ -3314,21 +3314,21 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsServerSearchMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsServerSearchMessage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSmartSendable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSmartSendable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSmartSendable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMessageClass(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3339,14 +3339,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedSubject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedSubject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OriginalCodePage(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalCodePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalCodePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOriginalCodePage(&self, value: i32) -> ::windows_core::Result<()> { @@ -3357,7 +3357,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreview(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3368,7 +3368,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastResponseKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastResponseKind(&self, value: EmailMessageResponseKind) -> ::windows_core::Result<()> { @@ -3379,7 +3379,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSender(&self, value: P0) -> ::windows_core::Result<()> @@ -3393,7 +3393,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SentTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SentTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSentTime(&self, value: P0) -> ::windows_core::Result<()> @@ -3407,7 +3407,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeetingInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeetingInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMeetingInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -3422,7 +3422,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBodyStream)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBodyStream)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3438,7 +3438,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmimeData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmimeData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3453,7 +3453,7 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmimeKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmimeKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSmimeKind(&self, value: EmailMessageSmimeKind) -> ::windows_core::Result<()> { @@ -3465,14 +3465,14 @@ impl EmailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplyTo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplyTo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SentRepresenting(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SentRepresenting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SentRepresenting)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSentRepresenting(&self, value: P0) -> ::windows_core::Result<()> @@ -3505,14 +3505,14 @@ impl EmailMessageBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Messages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Messages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3537,7 +3537,7 @@ impl EmailMessageReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3569,14 +3569,14 @@ impl EmailQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextSearch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextSearch)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SortDirection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSortDirection(&self, value: EmailQuerySortDirection) -> ::windows_core::Result<()> { @@ -3587,7 +3587,7 @@ impl EmailQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortProperty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortProperty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSortProperty(&self, value: EmailQuerySortProperty) -> ::windows_core::Result<()> { @@ -3598,7 +3598,7 @@ impl EmailQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: EmailQueryKind) -> ::windows_core::Result<()> { @@ -3610,19 +3610,19 @@ impl EmailQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithText(text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IEmailQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTextAndFields(text: &::windows_core::HSTRING, fields: EmailQuerySearchFields) -> ::windows_core::Result { Self::IEmailQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTextAndFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), fields, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTextAndFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), fields, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3652,7 +3652,7 @@ impl EmailQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fields)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFields(&self, value: EmailQuerySearchFields) -> ::windows_core::Result<()> { @@ -3663,7 +3663,7 @@ impl EmailQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSearchScope(&self, value: EmailQuerySearchScope) -> ::windows_core::Result<()> { @@ -3674,7 +3674,7 @@ impl EmailQueryTextSearch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3710,7 +3710,7 @@ impl EmailRecipient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3721,7 +3721,7 @@ impl EmailRecipient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3731,13 +3731,13 @@ impl EmailRecipient { pub fn Create(address: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IEmailRecipientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithName(address: &::windows_core::HSTRING, name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IEmailRecipientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(address), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3774,7 +3774,7 @@ impl EmailRecipientResolutionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3782,7 +3782,7 @@ impl EmailRecipientResolutionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicKeys)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicKeys)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStatus(&self, value: EmailRecipientResolutionStatus) -> ::windows_core::Result<()> { @@ -3820,14 +3820,14 @@ impl EmailStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindMailboxesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindMailboxesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -3837,14 +3837,14 @@ impl EmailStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -3854,49 +3854,49 @@ impl EmailStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMailboxAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMailboxAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMailboxAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConversationAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConversationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMessageAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateMailboxAsync(&self, accountname: &::windows_core::HSTRING, accountaddress: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMailboxAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountname), ::core::mem::transmute_copy(accountaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMailboxAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountname), ::core::mem::transmute_copy(accountaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateMailboxInAccountAsync(&self, accountname: &::windows_core::HSTRING, accountaddress: &::windows_core::HSTRING, userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMailboxInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountname), ::core::mem::transmute_copy(accountaddress), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMailboxInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountname), ::core::mem::transmute_copy(accountaddress), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs index c1584b8cb1..9b2ad5c190 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs @@ -27,7 +27,7 @@ impl ExtendedExecutionForegroundRevokedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -64,7 +64,7 @@ impl ExtendedExecutionForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -78,7 +78,7 @@ impl ExtendedExecutionForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRevoked(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -89,14 +89,14 @@ impl ExtendedExecutionForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestExtensionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestExtensionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReason(&self, value: ExtendedExecutionForegroundReason) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs index c8b89c6920..ee73d5ca07 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs @@ -31,7 +31,7 @@ impl ExtendedExecutionRevokedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -68,7 +68,7 @@ impl ExtendedExecutionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReason(&self, value: ExtendedExecutionReason) -> ::windows_core::Result<()> { @@ -79,7 +79,7 @@ impl ExtendedExecutionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -90,7 +90,7 @@ impl ExtendedExecutionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPercentProgress(&self, value: u32) -> ::windows_core::Result<()> { @@ -104,7 +104,7 @@ impl ExtendedExecutionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRevoked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -115,7 +115,7 @@ impl ExtendedExecutionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestExtensionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestExtensionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Holographic/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Holographic/mod.rs index f550a0a0a4..6001804d83 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Holographic/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Holographic/mod.rs @@ -48,7 +48,7 @@ impl HolographicKeyboard { pub fn GetDefault() -> ::windows_core::Result { Self::IHolographicKeyboardStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs index 5926428576..e799fcef20 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs @@ -92,7 +92,7 @@ impl LockApplicationHost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unlocking)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unlocking)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnlocking(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -102,7 +102,7 @@ impl LockApplicationHost { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ILockApplicationHostStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -133,7 +133,7 @@ impl LockScreenBadge { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -141,21 +141,21 @@ impl LockScreenBadge { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Glyph)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Glyph)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Number(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutomationName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchApp(&self) -> ::windows_core::Result<()> { @@ -187,7 +187,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockScreenImageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockScreenImageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLockScreenImageChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -199,7 +199,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockScreenImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockScreenImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BadgesChanged(&self, handler: P0) -> ::windows_core::Result @@ -209,7 +209,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BadgesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BadgesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBadgesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -221,7 +221,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Badges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Badges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetailTextChanged(&self, handler: P0) -> ::windows_core::Result @@ -231,7 +231,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailTextChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailTextChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDetailTextChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -243,7 +243,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlarmIconChanged(&self, handler: P0) -> ::windows_core::Result @@ -253,7 +253,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlarmIconChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlarmIconChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAlarmIconChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -265,7 +265,7 @@ impl LockScreenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlarmIcon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlarmIcon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -312,14 +312,14 @@ impl LockScreenUnlockingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs index f295092d41..5f37ae770a 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs @@ -64,7 +64,7 @@ impl PaymentAppCanMakePaymentTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCanMakePaymentResult(&self, value: P0) -> ::windows_core::Result<()> @@ -100,20 +100,20 @@ impl PaymentAppManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterAsync)(::windows_core::Interface::as_raw(this), supportedpaymentmethodids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterAsync)(::windows_core::Interface::as_raw(this), supportedpaymentmethodids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnregisterAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnregisterAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnregisterAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IPaymentAppManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -143,14 +143,14 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaymentRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaymentRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PayerEmail(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPayerEmail(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -161,7 +161,7 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPayerName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -172,7 +172,7 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPayerPhoneNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -186,7 +186,7 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateShippingAddressAsync)(::windows_core::Interface::as_raw(this), shippingaddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateShippingAddressAsync)(::windows_core::Interface::as_raw(this), shippingaddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateSelectedShippingOptionAsync(&self, selectedshippingoption: P0) -> ::windows_core::Result> @@ -196,7 +196,7 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateSelectedShippingOptionAsync)(::windows_core::Interface::as_raw(this), selectedshippingoption.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateSelectedShippingOptionAsync)(::windows_core::Interface::as_raw(this), selectedshippingoption.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptAsync(&self, paymenttoken: P0) -> ::windows_core::Result> @@ -206,7 +206,7 @@ impl PaymentTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptAsync)(::windows_core::Interface::as_raw(this), paymenttoken.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptAsync)(::windows_core::Interface::as_raw(this), paymenttoken.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reject(&self) -> ::windows_core::Result<()> { @@ -216,7 +216,7 @@ impl PaymentTransaction { pub fn FromIdAsync(id: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPaymentTransactionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -246,7 +246,7 @@ impl PaymentTransactionAcceptResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs index 663c3ab562..90852a1ea8 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs @@ -397,7 +397,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCountry(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddressLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddressLines)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -424,7 +424,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRegion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -435,7 +435,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCity(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -446,7 +446,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependentLocality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependentLocality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDependentLocality(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPostalCode(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -468,7 +468,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortingCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortingCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSortingCode(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -479,7 +479,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguageCode(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -490,7 +490,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Organization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Organization)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOrganization(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -501,7 +501,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recipient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recipient)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecipient(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -512,7 +512,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPhoneNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -524,7 +524,7 @@ impl PaymentAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -549,13 +549,13 @@ impl PaymentCanMakePaymentResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(value: PaymentCanMakePaymentResultStatus) -> ::windows_core::Result { Self::IPaymentCanMakePaymentResultFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -585,7 +585,7 @@ impl PaymentCurrencyAmount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCurrency(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -596,7 +596,7 @@ impl PaymentCurrencyAmount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrencySystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrencySystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCurrencySystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -607,7 +607,7 @@ impl PaymentCurrencyAmount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -617,13 +617,13 @@ impl PaymentCurrencyAmount { pub fn Create(value: &::windows_core::HSTRING, currency: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPaymentCurrencyAmountFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), ::core::mem::transmute_copy(currency), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), ::core::mem::transmute_copy(currency), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithCurrencySystem(value: &::windows_core::HSTRING, currency: &::windows_core::HSTRING, currencysystem: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPaymentCurrencyAmountFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithCurrencySystem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), ::core::mem::transmute_copy(currency), ::core::mem::transmute_copy(currencysystem), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithCurrencySystem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), ::core::mem::transmute_copy(currency), ::core::mem::transmute_copy(currencysystem), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -660,7 +660,7 @@ impl PaymentDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTotal(&self, value: P0) -> ::windows_core::Result<()> @@ -675,7 +675,7 @@ impl PaymentDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -691,7 +691,7 @@ impl PaymentDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShippingOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShippingOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -707,7 +707,7 @@ impl PaymentDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Modifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Modifiers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -724,7 +724,7 @@ impl PaymentDetails { { Self::IPaymentDetailsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), total.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), total.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -735,7 +735,7 @@ impl PaymentDetails { { Self::IPaymentDetailsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithDisplayItems)(::windows_core::Interface::as_raw(this), total.into_param().abi(), displayitems.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithDisplayItems)(::windows_core::Interface::as_raw(this), total.into_param().abi(), displayitems.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -765,7 +765,7 @@ impl PaymentDetailsModifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -773,14 +773,14 @@ impl PaymentDetailsModifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedMethodIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedMethodIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Total(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Total)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -788,7 +788,7 @@ impl PaymentDetailsModifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalDisplayItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalDisplayItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -799,7 +799,7 @@ impl PaymentDetailsModifier { { Self::IPaymentDetailsModifierFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -811,7 +811,7 @@ impl PaymentDetailsModifier { { Self::IPaymentDetailsModifierFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAdditionalDisplayItems)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), additionaldisplayitems.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAdditionalDisplayItems)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), additionaldisplayitems.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -823,7 +823,7 @@ impl PaymentDetailsModifier { { Self::IPaymentDetailsModifierFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAdditionalDisplayItemsAndJsonData)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), additionaldisplayitems.into_param().abi(), ::core::mem::transmute_copy(jsondata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAdditionalDisplayItemsAndJsonData)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), total.into_param().abi(), additionaldisplayitems.into_param().abi(), ::core::mem::transmute_copy(jsondata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -853,7 +853,7 @@ impl PaymentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -864,7 +864,7 @@ impl PaymentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAmount(&self, value: P0) -> ::windows_core::Result<()> @@ -878,7 +878,7 @@ impl PaymentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pending)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pending)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPending(&self, value: bool) -> ::windows_core::Result<()> { @@ -891,7 +891,7 @@ impl PaymentItem { { Self::IPaymentItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -929,7 +929,7 @@ impl PaymentMediator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedMethodIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedMethodIdsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubmitPaymentRequestAsync(&self, paymentrequest: P0) -> ::windows_core::Result> @@ -939,7 +939,7 @@ impl PaymentMediator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubmitPaymentRequestAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubmitPaymentRequestAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubmitPaymentRequestWithChangeHandlerAsync(&self, paymentrequest: P0, changehandler: P1) -> ::windows_core::Result> @@ -950,7 +950,7 @@ impl PaymentMediator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubmitPaymentRequestWithChangeHandlerAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), changehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubmitPaymentRequestWithChangeHandlerAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), changehandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanMakePaymentAsync(&self, paymentrequest: P0) -> ::windows_core::Result> @@ -960,7 +960,7 @@ impl PaymentMediator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMakePaymentAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMakePaymentAsync)(::windows_core::Interface::as_raw(this), paymentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -992,14 +992,14 @@ impl PaymentMerchantInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFullName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFullName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(uri: P0) -> ::windows_core::Result @@ -1008,7 +1008,7 @@ impl PaymentMerchantInfo { { Self::IPaymentMerchantInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1039,14 +1039,14 @@ impl PaymentMethodData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedMethodIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedMethodIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1056,7 +1056,7 @@ impl PaymentMethodData { { Self::IPaymentMethodDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1066,7 +1066,7 @@ impl PaymentMethodData { { Self::IPaymentMethodDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithJsonData)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), ::core::mem::transmute_copy(jsondata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithJsonData)(::windows_core::Interface::as_raw(this), supportedmethodids.into_param().abi(), ::core::mem::transmute_copy(jsondata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1103,7 +1103,7 @@ impl PaymentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequestPayerEmail(&self, value: PaymentOptionPresence) -> ::windows_core::Result<()> { @@ -1114,7 +1114,7 @@ impl PaymentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPayerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPayerName)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequestPayerName(&self, value: PaymentOptionPresence) -> ::windows_core::Result<()> { @@ -1125,7 +1125,7 @@ impl PaymentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequestPayerPhoneNumber(&self, value: PaymentOptionPresence) -> ::windows_core::Result<()> { @@ -1136,7 +1136,7 @@ impl PaymentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestShipping)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestShipping)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequestShipping(&self, value: bool) -> ::windows_core::Result<()> { @@ -1147,7 +1147,7 @@ impl PaymentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShippingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShippingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShippingType(&self, value: PaymentShippingType) -> ::windows_core::Result<()> { @@ -1176,14 +1176,14 @@ impl PaymentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MerchantInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MerchantInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Details(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1191,21 +1191,21 @@ impl PaymentRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MethodData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MethodData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1216,7 +1216,7 @@ impl PaymentRequest { { Self::IPaymentRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1228,7 +1228,7 @@ impl PaymentRequest { { Self::IPaymentRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMerchantInfo)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMerchantInfo)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1241,7 +1241,7 @@ impl PaymentRequest { { Self::IPaymentRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMerchantInfoAndOptions)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMerchantInfoAndOptions)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1254,7 +1254,7 @@ impl PaymentRequest { { Self::IPaymentRequestFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMerchantInfoOptionsAndId)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), options.into_param().abi(), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMerchantInfoOptionsAndId)(::windows_core::Interface::as_raw(this), details.into_param().abi(), methoddata.into_param().abi(), merchantinfo.into_param().abi(), options.into_param().abi(), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1289,21 +1289,21 @@ impl PaymentRequestChangedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShippingAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShippingAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShippingAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectedShippingOption(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedShippingOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedShippingOption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Acknowledge(&self, changeresult: P0) -> ::windows_core::Result<()> @@ -1335,7 +1335,7 @@ impl PaymentRequestChangedResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeAcceptedByMerchant)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeAcceptedByMerchant)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChangeAcceptedByMerchant(&self, value: bool) -> ::windows_core::Result<()> { @@ -1346,7 +1346,7 @@ impl PaymentRequestChangedResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1357,7 +1357,7 @@ impl PaymentRequestChangedResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdatedPaymentDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdatedPaymentDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUpdatedPaymentDetails(&self, value: P0) -> ::windows_core::Result<()> @@ -1370,7 +1370,7 @@ impl PaymentRequestChangedResult { pub fn Create(changeacceptedbymerchant: bool) -> ::windows_core::Result { Self::IPaymentRequestChangedResultFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), changeacceptedbymerchant, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), changeacceptedbymerchant, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithPaymentDetails(changeacceptedbymerchant: bool, updatedpaymentdetails: P0) -> ::windows_core::Result @@ -1379,7 +1379,7 @@ impl PaymentRequestChangedResult { { Self::IPaymentRequestChangedResultFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPaymentDetails)(::windows_core::Interface::as_raw(this), changeacceptedbymerchant, updatedpaymentdetails.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPaymentDetails)(::windows_core::Interface::as_raw(this), changeacceptedbymerchant, updatedpaymentdetails.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1409,14 +1409,14 @@ impl PaymentRequestSubmitResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Response(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1441,49 +1441,49 @@ impl PaymentResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaymentToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaymentToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShippingOption(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShippingOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShippingOption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShippingAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShippingAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShippingAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PayerEmail(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerEmail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PayerName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PayerPhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayerPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CompleteAsync(&self, status: PaymentRequestCompletionStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteAsync)(::windows_core::Interface::as_raw(this), status, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1508,7 +1508,7 @@ impl PaymentShippingOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1519,7 +1519,7 @@ impl PaymentShippingOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAmount(&self, value: P0) -> ::windows_core::Result<()> @@ -1533,7 +1533,7 @@ impl PaymentShippingOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1544,7 +1544,7 @@ impl PaymentShippingOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSelected(&self, value: bool) -> ::windows_core::Result<()> { @@ -1557,7 +1557,7 @@ impl PaymentShippingOption { { Self::IPaymentShippingOptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithSelected(label: &::windows_core::HSTRING, amount: P0, selected: bool) -> ::windows_core::Result @@ -1566,7 +1566,7 @@ impl PaymentShippingOption { { Self::IPaymentShippingOptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSelected)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), selected, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSelected)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), selected, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithSelectedAndTag(label: &::windows_core::HSTRING, amount: P0, selected: bool, tag: &::windows_core::HSTRING) -> ::windows_core::Result @@ -1575,7 +1575,7 @@ impl PaymentShippingOption { { Self::IPaymentShippingOptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSelectedAndTag)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), selected, ::core::mem::transmute_copy(tag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSelectedAndTag)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), amount.into_param().abi(), selected, ::core::mem::transmute_copy(tag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1605,26 +1605,26 @@ impl PaymentToken { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaymentMethodId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaymentMethodId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JsonDetails(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JsonDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JsonDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(paymentmethodid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPaymentTokenFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(paymentmethodid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(paymentmethodid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithJsonDetails(paymentmethodid: &::windows_core::HSTRING, jsondetails: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPaymentTokenFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithJsonDetails)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(paymentmethodid), ::core::mem::transmute_copy(jsondetails), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithJsonDetails)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(paymentmethodid), ::core::mem::transmute_copy(jsondetails), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Preview/Holographic/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Preview/Holographic/mod.rs index a743863b12..dc20be5b03 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Preview/Holographic/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Preview/Holographic/mod.rs @@ -46,7 +46,7 @@ impl HolographicApplicationPreview { pub fn IsCurrentViewPresentedOnHolographicDisplay() -> ::windows_core::Result { Self::IHolographicApplicationPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentViewPresentedOnHolographicDisplay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentViewPresentedOnHolographicDisplay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "ApplicationModel_Activation")] @@ -56,7 +56,7 @@ impl HolographicApplicationPreview { { Self::IHolographicApplicationPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHolographicActivation)(::windows_core::Interface::as_raw(this), activatedeventargs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHolographicActivation)(::windows_core::Interface::as_raw(this), activatedeventargs.into_param().abi(), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -101,7 +101,7 @@ impl HolographicKeyboardPlacementOverridePreview { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IHolographicKeyboardPlacementOverridePreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Preview/InkWorkspace/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Preview/InkWorkspace/mod.rs index 134139e90b..e2af14f315 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Preview/InkWorkspace/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Preview/InkWorkspace/mod.rs @@ -28,13 +28,13 @@ impl InkWorkspaceHostedAppManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetThumbnailAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetThumbnailAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetForCurrentApp() -> ::windows_core::Result { Self::IInkWorkspaceHostedAppManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs index 936bd6d655..5bd3a54443 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs @@ -83,7 +83,7 @@ impl NotePlacementChangedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -108,14 +108,14 @@ impl NoteVisibilityChangedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -140,7 +140,7 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScreenLocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScreenLocked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShowNote(&self, noteviewid: i32) -> ::windows_core::Result<()> { @@ -168,14 +168,14 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNotePlacement)(::windows_core::Interface::as_raw(this), noteviewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNotePlacement)(::windows_core::Interface::as_raw(this), noteviewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetNoteSize(&self, noteviewid: i32, size: super::super::super::Foundation::Size) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetNoteSize)(::windows_core::Interface::as_raw(this), noteviewid, size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetNoteSize)(::windows_core::Interface::as_raw(this), noteviewid, size, &mut result__).map(|| result__) } } pub fn SetFocusToNextView(&self) -> ::windows_core::Result<()> { @@ -190,7 +190,7 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetNotesThumbnailAsync)(::windows_core::Interface::as_raw(this), thumbnail.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetNotesThumbnailAsync)(::windows_core::Interface::as_raw(this), thumbnail.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemLockStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -200,7 +200,7 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemLockStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemLockStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemLockStateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -214,7 +214,7 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotePlacementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotePlacementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNotePlacementChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -228,7 +228,7 @@ impl NotesWindowManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoteVisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoteVisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNoteVisibilityChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -263,13 +263,13 @@ impl NotesWindowManagerPreview { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetThumbnailImageForTaskSwitcherAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetThumbnailImageForTaskSwitcherAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetForCurrentApp() -> ::windows_core::Result { Self::INotesWindowManagerPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentApp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -306,7 +306,7 @@ impl NotesWindowManagerPreviewShowNoteOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowWithFocus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowWithFocus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowWithFocus(&self, value: bool) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs index a7dc7b2104..e4957d803a 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs @@ -196,7 +196,7 @@ impl NamedResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -204,14 +204,14 @@ impl NamedResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Candidates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Candidates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Resolve(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Resolve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Resolve)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolveForContext(&self, resourcecontext: P0) -> ::windows_core::Result @@ -221,7 +221,7 @@ impl NamedResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveForContext)(::windows_core::Interface::as_raw(this), resourcecontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveForContext)(::windows_core::Interface::as_raw(this), resourcecontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -229,7 +229,7 @@ impl NamedResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveAll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveAll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -240,7 +240,7 @@ impl NamedResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveAllForContext)(::windows_core::Interface::as_raw(this), resourcecontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveAllForContext)(::windows_core::Interface::as_raw(this), resourcecontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -266,35 +266,35 @@ impl ResourceCandidate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Qualifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Qualifiers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsMatch(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMatch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMatch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMatchAsDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMatchAsDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMatchAsDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValueAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -302,14 +302,14 @@ impl ResourceCandidate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueAsFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueAsFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetQualifierValue(&self, qualifiername: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetQualifierValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(qualifiername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetQualifierValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(qualifiername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -317,14 +317,14 @@ impl ResourceCandidate { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueAsStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueAsStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -355,7 +355,7 @@ impl ResourceCandidateVectorView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -363,7 +363,7 @@ impl ResourceCandidateVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -371,7 +371,7 @@ impl ResourceCandidateVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -382,7 +382,7 @@ impl ResourceCandidateVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -390,7 +390,7 @@ impl ResourceCandidateVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -444,7 +444,7 @@ impl ResourceContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualifierValues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualifierValues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reset(&self) -> ::windows_core::Result<()> { @@ -471,7 +471,7 @@ impl ResourceContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -479,7 +479,7 @@ impl ResourceContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -497,13 +497,13 @@ impl ResourceContext { { Self::IResourceContextStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMatchingContext)(::windows_core::Interface::as_raw(this), result.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMatchingContext)(::windows_core::Interface::as_raw(this), result.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IResourceContextStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetGlobalQualifierValue(key: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -522,7 +522,7 @@ impl ResourceContext { pub fn GetForViewIndependentUse() -> ::windows_core::Result { Self::IResourceContextStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForViewIndependentUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForViewIndependentUse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetGlobalQualifierValueWithPersistence(key: &::windows_core::HSTRING, value: &::windows_core::HSTRING, persistence: ResourceQualifierPersistence) -> ::windows_core::Result<()> { @@ -535,7 +535,7 @@ impl ResourceContext { { Self::IResourceContextStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -586,7 +586,7 @@ impl ResourceContextLanguagesVectorView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -594,7 +594,7 @@ impl ResourceContextLanguagesVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -602,7 +602,7 @@ impl ResourceContextLanguagesVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -610,7 +610,7 @@ impl ResourceContextLanguagesVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -618,7 +618,7 @@ impl ResourceContextLanguagesVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -664,7 +664,7 @@ impl ResourceManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainResourceMap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainResourceMap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -672,14 +672,14 @@ impl ResourceManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllResourceMaps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllResourceMaps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultContext(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -703,7 +703,7 @@ impl ResourceManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllNamedResourcesForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), resourcelayoutinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllNamedResourcesForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), resourcelayoutinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -711,19 +711,19 @@ impl ResourceManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllSubtreesForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), resourcelayoutinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllSubtreesForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), resourcelayoutinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IResourceManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsResourceReference(resourcereference: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IResourceManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResourceReference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resourcereference), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResourceReference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resourcereference), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -756,7 +756,7 @@ impl ResourceMap { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -764,7 +764,7 @@ impl ResourceMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -772,7 +772,7 @@ impl ResourceMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -780,7 +780,7 @@ impl ResourceMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -792,14 +792,14 @@ impl ResourceMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetValue(&self, resource: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetValueForContext(&self, resource: &::windows_core::HSTRING, context: P0) -> ::windows_core::Result @@ -809,14 +809,14 @@ impl ResourceMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueForContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueForContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSubtree(&self, reference: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSubtree)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(reference), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSubtree)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(reference), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -863,7 +863,7 @@ impl ResourceMapIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -871,7 +871,7 @@ impl ResourceMapIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -879,7 +879,7 @@ impl ResourceMapIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -887,7 +887,7 @@ impl ResourceMapIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -923,7 +923,7 @@ impl ResourceMapMapView { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -931,7 +931,7 @@ impl ResourceMapMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -939,7 +939,7 @@ impl ResourceMapMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -947,7 +947,7 @@ impl ResourceMapMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1004,7 +1004,7 @@ impl ResourceMapMapViewIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1012,7 +1012,7 @@ impl ResourceMapMapViewIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1020,7 +1020,7 @@ impl ResourceMapMapViewIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1028,7 +1028,7 @@ impl ResourceMapMapViewIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -1058,35 +1058,35 @@ impl ResourceQualifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualifierName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualifierName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QualifierValue(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualifierValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualifierValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMatch(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMatch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMatch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Score(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Score)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Score)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1117,7 +1117,7 @@ impl ResourceQualifierMapView { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1125,7 +1125,7 @@ impl ResourceQualifierMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1133,7 +1133,7 @@ impl ResourceQualifierMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1141,7 +1141,7 @@ impl ResourceQualifierMapView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1198,7 +1198,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1206,7 +1206,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1214,7 +1214,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1222,7 +1222,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1230,7 +1230,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1238,7 +1238,7 @@ impl ResourceQualifierObservableMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1259,7 +1259,7 @@ impl ResourceQualifierObservableMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1316,7 +1316,7 @@ impl ResourceQualifierVectorView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1324,7 +1324,7 @@ impl ResourceQualifierVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1332,7 +1332,7 @@ impl ResourceQualifierVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1343,7 +1343,7 @@ impl ResourceQualifierVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1351,7 +1351,7 @@ impl ResourceQualifierVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs index bf4940cdf4..fc47ce8b3b 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs @@ -73,14 +73,14 @@ impl IndexedResourceCandidate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -88,7 +88,7 @@ impl IndexedResourceCandidate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -96,21 +96,21 @@ impl IndexedResourceCandidate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Qualifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Qualifiers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValueAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetQualifierValue(&self, qualifiername: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetQualifierValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(qualifiername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetQualifierValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(qualifiername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -135,14 +135,14 @@ impl IndexedResourceQualifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualifierName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualifierName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QualifierValue(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualifierValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualifierValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -174,7 +174,7 @@ impl ResourceIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexFilePath)(::windows_core::Interface::as_raw(this), filepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexFilePath)(::windows_core::Interface::as_raw(this), filepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -185,7 +185,7 @@ impl ResourceIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexFileContentsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexFileContentsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -195,7 +195,7 @@ impl ResourceIndexer { { Self::IResourceIndexerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResourceIndexer)(::windows_core::Interface::as_raw(this), projectroot.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResourceIndexer)(::windows_core::Interface::as_raw(this), projectroot.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -206,7 +206,7 @@ impl ResourceIndexer { { Self::IResourceIndexerFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResourceIndexerWithExtension)(::windows_core::Interface::as_raw(this), projectroot.into_param().abi(), extensiondllpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResourceIndexerWithExtension)(::windows_core::Interface::as_raw(this), projectroot.into_param().abi(), extensiondllpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Resources/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Resources/mod.rs index 88927288b0..9c7e99ef42 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Resources/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Resources/mod.rs @@ -73,7 +73,7 @@ impl ResourceLoader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStringForUri(&self, uri: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -83,13 +83,13 @@ impl ResourceLoader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStringForUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStringForUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateResourceLoaderByName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IResourceLoaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResourceLoaderByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResourceLoaderByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetStringForReference(uri: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -98,31 +98,31 @@ impl ResourceLoader { { Self::IResourceLoaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStringForReference)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStringForReference)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IResourceLoaderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentViewWithName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IResourceLoaderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentViewWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentViewWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForViewIndependentUse() -> ::windows_core::Result { Self::IResourceLoaderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForViewIndependentUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForViewIndependentUse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForViewIndependentUseWithName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IResourceLoaderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForViewIndependentUseWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForViewIndependentUseWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI")] @@ -132,13 +132,13 @@ impl ResourceLoader { { Self::IResourceLoaderStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultPriPath(packagefullname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IResourceLoaderStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultPriPath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultPriPath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs index 61a1ece0ee..6d8a395f28 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs @@ -80,28 +80,28 @@ impl SearchSuggestion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Tag(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetailText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -109,14 +109,14 @@ impl SearchSuggestion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageAlternateText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageAlternateText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageAlternateText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -146,7 +146,7 @@ impl SearchSuggestionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSearchHistoryEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -157,7 +157,7 @@ impl SearchSuggestionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchHistoryContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchHistoryContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSearchHistoryContext(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -191,7 +191,7 @@ impl SearchSuggestionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suggestions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suggestions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddToHistory(&self, querytext: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -213,7 +213,7 @@ impl SearchSuggestionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestionsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestionsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSuggestionsRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -227,7 +227,7 @@ impl SearchSuggestionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestingFocusOnKeyboardInput)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestingFocusOnKeyboardInput)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRequestingFocusOnKeyboardInput(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -254,28 +254,28 @@ impl SearchSuggestionsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LinguisticDetails(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Request(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs index e40646089f..16e2d95535 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs @@ -137,7 +137,7 @@ impl ISearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -145,7 +145,7 @@ impl ISearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -153,7 +153,7 @@ impl ISearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -386,7 +386,7 @@ impl LocalContentSuggestionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -394,7 +394,7 @@ impl LocalContentSuggestionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAqsFilter(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -405,7 +405,7 @@ impl LocalContentSuggestionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AqsFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AqsFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -413,7 +413,7 @@ impl LocalContentSuggestionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertiesToMatch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertiesToMatch)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -445,7 +445,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchHistoryEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -458,7 +458,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchHistoryContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchHistoryContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -471,7 +471,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaceholderText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaceholderText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -479,7 +479,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -487,7 +487,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -495,7 +495,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -506,7 +506,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -522,7 +522,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -538,7 +538,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestionsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestionsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -554,7 +554,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuerySubmitted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuerySubmitted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -570,7 +570,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultSuggestionChosen)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultSuggestionChosen)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -606,7 +606,7 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowOnKeyboardInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowOnKeyboardInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -614,14 +614,14 @@ impl SearchPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetQueryText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(query), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetQueryText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(query), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISearchPaneStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -669,7 +669,7 @@ impl SearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -677,7 +677,7 @@ impl SearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -685,7 +685,7 @@ impl SearchPaneQueryChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -716,21 +716,21 @@ impl SearchPaneQueryLinguisticDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextAlternatives)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextAlternatives)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QueryTextCompositionStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextCompositionStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextCompositionStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn QueryTextCompositionLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextCompositionLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextCompositionLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -759,7 +759,7 @@ impl SearchPaneQuerySubmittedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -767,7 +767,7 @@ impl SearchPaneQuerySubmittedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -775,7 +775,7 @@ impl SearchPaneQuerySubmittedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -809,7 +809,7 @@ impl SearchPaneResultSuggestionChosenEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -843,7 +843,7 @@ impl SearchPaneSuggestionsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -851,7 +851,7 @@ impl SearchPaneSuggestionsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchSuggestionCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchSuggestionCollection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -859,7 +859,7 @@ impl SearchPaneSuggestionsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -926,7 +926,7 @@ impl SearchPaneSuggestionsRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -934,7 +934,7 @@ impl SearchPaneSuggestionsRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -942,7 +942,7 @@ impl SearchPaneSuggestionsRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -950,7 +950,7 @@ impl SearchPaneSuggestionsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -984,7 +984,7 @@ impl SearchPaneVisibilityChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1015,21 +1015,21 @@ impl SearchQueryLinguisticDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextAlternatives)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextAlternatives)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QueryTextCompositionStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextCompositionStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextCompositionStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn QueryTextCompositionLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryTextCompositionLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryTextCompositionLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1039,7 +1039,7 @@ impl SearchQueryLinguisticDetails { { Self::ISearchQueryLinguisticDetailsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), querytextalternatives.into_param().abi(), querytextcompositionstart, querytextcompositionlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), querytextalternatives.into_param().abi(), querytextcompositionstart, querytextcompositionlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1069,7 +1069,7 @@ impl SearchSuggestionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppendQuerySuggestion(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1118,21 +1118,21 @@ impl SearchSuggestionsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SearchSuggestionCollection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchSuggestionCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchSuggestionCollection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Store/LicenseManagement/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Store/LicenseManagement/mod.rs index cbfa8711eb..5c8037b3fd 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Store/LicenseManagement/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Store/LicenseManagement/mod.rs @@ -52,7 +52,7 @@ impl LicenseManager { { Self::ILicenseManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddLicenseAsync)(::windows_core::Interface::as_raw(this), license.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddLicenseAsync)(::windows_core::Interface::as_raw(this), license.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -63,13 +63,13 @@ impl LicenseManager { { Self::ILicenseManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSatisfactionInfosAsync)(::windows_core::Interface::as_raw(this), contentids.into_param().abi(), keyids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSatisfactionInfosAsync)(::windows_core::Interface::as_raw(this), contentids.into_param().abi(), keyids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RefreshLicensesAsync(refreshoption: LicenseRefreshOption) -> ::windows_core::Result { Self::ILicenseManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RefreshLicensesAsync)(::windows_core::Interface::as_raw(this), refreshoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RefreshLicensesAsync)(::windows_core::Interface::as_raw(this), refreshoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -95,49 +95,49 @@ impl LicenseSatisfactionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedByDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedByDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatisfiedByOpenLicense(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedByOpenLicense)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedByOpenLicense)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatisfiedByTrial(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedByTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedByTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatisfiedByPass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedByPass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedByPass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatisfiedByInstallMedia(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedByInstallMedia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedByInstallMedia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatisfiedBySignedInUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatisfiedBySignedInUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatisfiedBySignedInUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSatisfied(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSatisfied)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSatisfied)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -163,14 +163,14 @@ impl LicenseSatisfactionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseSatisfactionInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseSatisfactionInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/InstallControl/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/InstallControl/mod.rs index ae24325c02..9c8e150d74 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/InstallControl/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/InstallControl/mod.rs @@ -322,35 +322,35 @@ impl AppInstallItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstallType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUserInitiated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserInitiated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserInitiated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -372,7 +372,7 @@ impl AppInstallItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -386,7 +386,7 @@ impl AppInstallItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -410,21 +410,21 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ItemOperationsMightAffectOtherItems(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemOperationsMightAffectOtherItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemOperationsMightAffectOtherItems)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LaunchAfterInstall(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLaunchAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -435,7 +435,7 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToDesktopAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToDesktopAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -446,7 +446,7 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToStartAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToStartAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToStartAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToTaskbarAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToTaskbarAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -468,7 +468,7 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletedInstallToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletedInstallToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows_core::Result<()> { @@ -479,7 +479,7 @@ impl AppInstallItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallInProgressToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallInProgressToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows_core::Result<()> { @@ -516,7 +516,7 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInstallItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInstallItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cancel(&self, productid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -538,7 +538,7 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemCompleted(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -552,7 +552,7 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemStatusChanged(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -563,7 +563,7 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoUpdateSetting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoUpdateSetting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoUpdateSetting(&self, value: AutoUpdateSetting) -> ::windows_core::Result<()> { @@ -574,7 +574,7 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquisitionIdentity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquisitionIdentity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAcquisitionIdentity(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -585,28 +585,28 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsApplicableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsApplicableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAppInstallAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING, repair: bool, forceuseofnonremovablestorage: bool) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAppInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), repair, forceuseofnonremovablestorage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAppInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), repair, forceuseofnonremovablestorage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateAppByPackageFamilyNameAsync(&self, packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SearchForUpdatesAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForUpdatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForUpdatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -614,42 +614,42 @@ impl AppInstallManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForAllUpdatesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForAllUpdatesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsStoreBlockedByPolicyAsync(&self, storeclientname: &::windows_core::HSTRING, storeclientpublisher: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStoreBlockedByPolicyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeclientname), ::core::mem::transmute_copy(storeclientpublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStoreBlockedByPolicyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeclientname), ::core::mem::transmute_copy(storeclientpublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsAppAllowedToInstallAsync(&self, productid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAppInstallWithTelemetryAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING, repair: bool, forceuseofnonremovablestorage: bool, catalogid: &::windows_core::HSTRING, bundleid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAppInstallWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(bundleid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAppInstallWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(bundleid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateAppByPackageFamilyNameWithTelemetryAsync(&self, packagefamilyname: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SearchForUpdatesWithTelemetryAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING, catalogid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForUpdatesWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForUpdatesWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -657,14 +657,14 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsAppAllowedToInstallWithTelemetryAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING, catalogid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelWithTelemetry(&self, productid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -687,7 +687,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProductInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(correlationvector), targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProductInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(correlationvector), targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Management_Deployment", feature = "System"))] @@ -699,7 +699,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProductInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(correlationvector), targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProductInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), repair, forceuseofnonremovablestorage, ::core::mem::transmute_copy(correlationvector), targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -710,7 +710,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAppByPackageFamilyNameForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -721,7 +721,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForUpdatesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForUpdatesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "System"))] @@ -732,7 +732,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForAllUpdatesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForAllUpdatesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -743,7 +743,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsAppAllowedToInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(catalogid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -754,7 +754,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsApplicableForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsApplicableForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveToFrontOfDownloadQueue(&self, productid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -765,7 +765,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFreeUserEntitlementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFreeUserEntitlementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -776,14 +776,14 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFreeUserEntitlementForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFreeUserEntitlementForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFreeDeviceEntitlementAsync(&self, storeid: &::windows_core::HSTRING, campaignid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFreeDeviceEntitlementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFreeDeviceEntitlementAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), ::core::mem::transmute_copy(campaignid), ::core::mem::transmute_copy(correlationvector), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -791,7 +791,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInstallItemsWithGroupSupport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInstallItemsWithGroupSupport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -802,7 +802,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithUpdateOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithUpdateOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "System"))] @@ -814,7 +814,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithUpdateOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForAllUpdatesWithUpdateOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SearchForUpdatesWithUpdateOptionsAsync(&self, productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING, correlationvector: &::windows_core::HSTRING, clientid: &::windows_core::HSTRING, updateoptions: P0) -> ::windows_core::Result> @@ -824,7 +824,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForUpdatesWithUpdateOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForUpdatesWithUpdateOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -836,7 +836,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchForUpdatesWithUpdateOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchForUpdatesWithUpdateOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(clientid), updateoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -847,7 +847,7 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProductInstallWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), ::core::mem::transmute_copy(correlationvector), installoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProductInstallWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), ::core::mem::transmute_copy(correlationvector), installoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "System"))] @@ -859,14 +859,14 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProductInstallWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), ::core::mem::transmute_copy(correlationvector), installoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProductInstallWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(flightid), ::core::mem::transmute_copy(clientid), ::core::mem::transmute_copy(correlationvector), installoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsPackageIdentityAllowedToInstallAsync(&self, correlationvector: &::windows_core::HSTRING, packageidentityname: &::windows_core::HSTRING, publishercertificatename: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsPackageIdentityAllowedToInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(packageidentityname), ::core::mem::transmute_copy(publishercertificatename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsPackageIdentityAllowedToInstallAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(packageidentityname), ::core::mem::transmute_copy(publishercertificatename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -877,14 +877,14 @@ impl AppInstallManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsPackageIdentityAllowedToInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(packageidentityname), ::core::mem::transmute_copy(publishercertificatename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsPackageIdentityAllowedToInstallForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(correlationvector), ::core::mem::transmute_copy(packageidentityname), ::core::mem::transmute_copy(publishercertificatename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanInstallForAllUsers(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanInstallForAllUsers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanInstallForAllUsers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -909,7 +909,7 @@ impl AppInstallManagerItemEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -941,7 +941,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CatalogId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CatalogId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCatalogId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -952,7 +952,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUseOfNonRemovableStorage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUseOfNonRemovableStorage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceUseOfNonRemovableStorage(&self, value: bool) -> ::windows_core::Result<()> { @@ -963,7 +963,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowForcedAppRestart(&self, value: bool) -> ::windows_core::Result<()> { @@ -974,7 +974,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Repair)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Repair)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRepair(&self, value: bool) -> ::windows_core::Result<()> { @@ -986,7 +986,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Management_Deployment")] @@ -1001,7 +1001,7 @@ impl AppInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLaunchAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -1012,7 +1012,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToDesktopAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToDesktopAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -1023,7 +1023,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToStartAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToStartAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToStartAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -1034,7 +1034,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinToTaskbarAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinToTaskbarAfterInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -1045,7 +1045,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletedInstallToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletedInstallToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows_core::Result<()> { @@ -1056,7 +1056,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallInProgressToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallInProgressToastNotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows_core::Result<()> { @@ -1067,7 +1067,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallForAllUsers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallForAllUsers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallForAllUsers(&self, value: bool) -> ::windows_core::Result<()> { @@ -1078,7 +1078,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageButDoNotInstall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageButDoNotInstall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStageButDoNotInstall(&self, value: bool) -> ::windows_core::Result<()> { @@ -1089,7 +1089,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CampaignId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CampaignId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCampaignId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1100,7 +1100,7 @@ impl AppInstallOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedCampaignId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedCampaignId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExtendedCampaignId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1129,35 +1129,35 @@ impl AppInstallStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DownloadSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesDownloaded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesDownloaded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesDownloaded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PercentComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -1165,21 +1165,21 @@ impl AppInstallStatus { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadyForLaunch(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadyForLaunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadyForLaunch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStaged(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStaged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStaged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1211,7 +1211,7 @@ impl AppUpdateOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CatalogId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CatalogId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCatalogId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1222,7 +1222,7 @@ impl AppUpdateOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowForcedAppRestart(&self, value: bool) -> ::windows_core::Result<()> { @@ -1233,7 +1233,7 @@ impl AppUpdateOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticallyDownloadAndInstallUpdateIfFound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticallyDownloadAndInstallUpdateIfFound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutomaticallyDownloadAndInstallUpdateIfFound(&self, value: bool) -> ::windows_core::Result<()> { @@ -1262,7 +1262,7 @@ impl GetEntitlementResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/mod.rs index 64ce23ff8d..8ee53f257e 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Store/Preview/mod.rs @@ -189,20 +189,20 @@ impl DeliveryOptimizationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DownloadModeSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadModeSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadModeSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentSettings() -> ::windows_core::Result { Self::IDeliveryOptimizationSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -237,13 +237,13 @@ impl StoreConfiguration { pub fn IsStoreWebAccountId(webaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IStoreConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStoreWebAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStoreWebAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), &mut result__).map(|| result__) }) } pub fn HardwareManufacturerInfo() -> ::windows_core::Result { Self::IStoreConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareManufacturerInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareManufacturerInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -253,13 +253,13 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FilterUnsupportedSystemFeaturesAsync)(::windows_core::Interface::as_raw(this), systemfeatures.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FilterUnsupportedSystemFeaturesAsync)(::windows_core::Interface::as_raw(this), systemfeatures.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PurchasePromptingPolicy() -> ::windows_core::Result> { Self::IStoreConfigurationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PurchasePromptingPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PurchasePromptingPolicy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetPurchasePromptingPolicy(value: P0) -> ::windows_core::Result<()> @@ -271,7 +271,7 @@ impl StoreConfiguration { pub fn HasStoreWebAccount() -> ::windows_core::Result { Self::IStoreConfigurationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasStoreWebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasStoreWebAccount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "System")] @@ -281,14 +281,14 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasStoreWebAccountForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasStoreWebAccountForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] pub fn GetStoreLogDataAsync(options: StoreLogOptions) -> ::windows_core::Result> { Self::IStoreConfigurationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreLogDataAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreLogDataAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -305,7 +305,7 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), &mut result__).map(|| result__) }) } #[cfg(feature = "System")] @@ -315,7 +315,7 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPurchasePromptingPolicyForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPurchasePromptingPolicyForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -329,7 +329,7 @@ impl StoreConfiguration { pub fn GetStoreWebAccountId() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreWebAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreWebAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -339,7 +339,7 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetEnterpriseStoreWebAccountId(webaccountid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -355,7 +355,7 @@ impl StoreConfiguration { pub fn GetEnterpriseStoreWebAccountId() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEnterpriseStoreWebAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEnterpriseStoreWebAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -365,13 +365,13 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEnterpriseStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEnterpriseStoreWebAccountIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShouldRestrictToEnterpriseStoreOnly() -> ::windows_core::Result { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldRestrictToEnterpriseStoreOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldRestrictToEnterpriseStoreOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "System")] @@ -381,25 +381,25 @@ impl StoreConfiguration { { Self::IStoreConfigurationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldRestrictToEnterpriseStoreOnlyForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldRestrictToEnterpriseStoreOnlyForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).map(|| result__) }) } pub fn IsPinToDesktopSupported() -> ::windows_core::Result { Self::IStoreConfigurationStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinToDesktopSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinToDesktopSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsPinToTaskbarSupported() -> ::windows_core::Result { Self::IStoreConfigurationStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinToTaskbarSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinToTaskbarSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsPinToStartSupported() -> ::windows_core::Result { Self::IStoreConfigurationStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinToStartSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinToStartSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PinToDesktop(apppackagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -450,28 +450,28 @@ impl StoreHardwareManufacturerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareManufacturerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareManufacturerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StoreContentModifierId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreContentModifierId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreContentModifierId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ModelName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ManufacturerName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -492,14 +492,14 @@ impl StorePreview { pub fn RequestProductPurchaseByProductIdAndSkuIdAsync(productid: &::windows_core::HSTRING, skuid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IStorePreview(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseByProductIdAndSkuIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseByProductIdAndSkuIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(skuid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn LoadAddOnProductInfosAsync() -> ::windows_core::Result>> { Self::IStorePreview(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAddOnProductInfosAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAddOnProductInfosAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -520,28 +520,28 @@ impl StorePreviewProductInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProductType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -549,7 +549,7 @@ impl StorePreviewProductInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkuInfoList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkuInfoList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -574,7 +574,7 @@ impl StorePreviewPurchaseResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductPurchaseStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductPurchaseStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -599,63 +599,63 @@ impl StorePreviewSkuInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SkuId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkuId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkuId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SkuType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkuType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkuType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CustomDeveloperData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomDeveloperData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomDeveloperData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrencyCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedListPrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedListPrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedListPrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -681,7 +681,7 @@ impl WebAuthenticationCoreManagerHelper { { Self::IWebAuthenticationCoreManagerHelper(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestTokenWithUIElementHostingAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), uielement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestTokenWithUIElementHostingAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), uielement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Security_Authentication_Web_Core", feature = "Security_Credentials", feature = "UI_Xaml"))] @@ -693,7 +693,7 @@ impl WebAuthenticationCoreManagerHelper { { Self::IWebAuthenticationCoreManagerHelper(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestTokenWithUIElementHostingAndWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), uielement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestTokenWithUIElementHostingAndWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), uielement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Store/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Store/mod.rs index b153869e75..0d019bb719 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Store/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Store/mod.rs @@ -256,62 +256,62 @@ impl CurrentApp { pub fn LicenseInformation() -> ::windows_core::Result { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LinkUri() -> ::windows_core::Result { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AppId() -> ::windows_core::Result<::windows_core::GUID> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RequestAppPurchaseAsync(includereceipt: bool) -> ::windows_core::Result> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAppPurchaseAsync)(::windows_core::Interface::as_raw(this), includereceipt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAppPurchaseAsync)(::windows_core::Interface::as_raw(this), includereceipt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn RequestProductPurchaseAsync(productid: &::windows_core::HSTRING, includereceipt: bool) -> ::windows_core::Result> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), includereceipt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), includereceipt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LoadListingInformationAsync() -> ::windows_core::Result> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAppReceiptAsync() -> ::windows_core::Result> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppReceiptAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppReceiptAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetProductReceiptAsync(productid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentApp(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProductReceiptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProductReceiptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCustomerPurchaseIdAsync(serviceticket: &::windows_core::HSTRING, publisheruserid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentApp2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCustomerPurchaseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCustomerPurchaseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCustomerCollectionsIdAsync(serviceticket: &::windows_core::HSTRING, publisheruserid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentApp2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCustomerCollectionsIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCustomerCollectionsIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -321,7 +321,7 @@ impl CurrentApp { { Self::ICurrentAppStaticsWithFiltering(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationByProductIdsAsync)(::windows_core::Interface::as_raw(this), productids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationByProductIdsAsync)(::windows_core::Interface::as_raw(this), productids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -331,7 +331,7 @@ impl CurrentApp { { Self::ICurrentAppStaticsWithFiltering(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationByKeywordsAsync)(::windows_core::Interface::as_raw(this), keywords.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationByKeywordsAsync)(::windows_core::Interface::as_raw(this), keywords.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReportProductFulfillment(productid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -340,19 +340,19 @@ impl CurrentApp { pub fn GetAppPurchaseCampaignIdAsync() -> ::windows_core::Result> { Self::ICurrentAppWithCampaignId(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppPurchaseCampaignIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppPurchaseCampaignIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReportConsumableFulfillmentAsync(productid: &::windows_core::HSTRING, transactionid: ::windows_core::GUID) -> ::windows_core::Result> { Self::ICurrentAppWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), transactionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), transactionid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestProductPurchaseWithResultsAsync(productid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentAppWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseWithResultsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseWithResultsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestProductPurchaseWithDisplayPropertiesAsync(productid: &::windows_core::HSTRING, offerid: &::windows_core::HSTRING, displayproperties: P0) -> ::windows_core::Result> @@ -361,14 +361,14 @@ impl CurrentApp { { Self::ICurrentAppWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseWithDisplayPropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(offerid), displayproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseWithDisplayPropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(offerid), displayproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetUnfulfilledConsumablesAsync() -> ::windows_core::Result>> { Self::ICurrentAppWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnfulfilledConsumablesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnfulfilledConsumablesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -405,50 +405,50 @@ impl CurrentAppSimulator { pub fn LicenseInformation() -> ::windows_core::Result { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LinkUri() -> ::windows_core::Result { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AppId() -> ::windows_core::Result<::windows_core::GUID> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RequestAppPurchaseAsync(includereceipt: bool) -> ::windows_core::Result> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAppPurchaseAsync)(::windows_core::Interface::as_raw(this), includereceipt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAppPurchaseAsync)(::windows_core::Interface::as_raw(this), includereceipt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn RequestProductPurchaseAsync(productid: &::windows_core::HSTRING, includereceipt: bool) -> ::windows_core::Result> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), includereceipt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), includereceipt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LoadListingInformationAsync() -> ::windows_core::Result> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAppReceiptAsync() -> ::windows_core::Result> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppReceiptAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppReceiptAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetProductReceiptAsync(productid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProductReceiptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProductReceiptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -458,7 +458,7 @@ impl CurrentAppSimulator { { Self::ICurrentAppSimulator(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReloadSimulatorAsync)(::windows_core::Interface::as_raw(this), simulatorsettingsfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReloadSimulatorAsync)(::windows_core::Interface::as_raw(this), simulatorsettingsfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -468,7 +468,7 @@ impl CurrentAppSimulator { { Self::ICurrentAppSimulatorStaticsWithFiltering(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationByProductIdsAsync)(::windows_core::Interface::as_raw(this), productids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationByProductIdsAsync)(::windows_core::Interface::as_raw(this), productids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -478,25 +478,25 @@ impl CurrentAppSimulator { { Self::ICurrentAppSimulatorStaticsWithFiltering(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadListingInformationByKeywordsAsync)(::windows_core::Interface::as_raw(this), keywords.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadListingInformationByKeywordsAsync)(::windows_core::Interface::as_raw(this), keywords.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAppPurchaseCampaignIdAsync() -> ::windows_core::Result> { Self::ICurrentAppSimulatorWithCampaignId(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppPurchaseCampaignIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppPurchaseCampaignIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReportConsumableFulfillmentAsync(productid: &::windows_core::HSTRING, transactionid: ::windows_core::GUID) -> ::windows_core::Result> { Self::ICurrentAppSimulatorWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), transactionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), transactionid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestProductPurchaseWithResultsAsync(productid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICurrentAppSimulatorWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseWithResultsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseWithResultsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestProductPurchaseWithDisplayPropertiesAsync(productid: &::windows_core::HSTRING, offerid: &::windows_core::HSTRING, displayproperties: P0) -> ::windows_core::Result> @@ -505,14 +505,14 @@ impl CurrentAppSimulator { { Self::ICurrentAppSimulatorWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestProductPurchaseWithDisplayPropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(offerid), displayproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestProductPurchaseWithDisplayPropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productid), ::core::mem::transmute_copy(offerid), displayproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetUnfulfilledConsumablesAsync() -> ::windows_core::Result>> { Self::ICurrentAppSimulatorWithConsumables(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnfulfilledConsumablesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnfulfilledConsumablesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -549,28 +549,28 @@ impl LicenseInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductLicenses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductLicenses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTrial(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LicenseChanged(&self, handler: P0) -> ::windows_core::Result @@ -580,7 +580,7 @@ impl LicenseInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLicenseChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -609,14 +609,14 @@ impl ListingInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentMarket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentMarket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -624,56 +624,56 @@ impl ListingInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductListings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductListings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedPrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AgeRating(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AgeRating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AgeRating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FormattedBasePrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaleEndDate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOnSale(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrencyCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -698,28 +698,28 @@ impl ProductLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConsumable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConsumable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConsumable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -744,56 +744,56 @@ impl ProductListing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedPrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedBasePrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaleEndDate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOnSale(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrencyCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -801,28 +801,28 @@ impl ProductListing { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProductType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Tag(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageUri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -854,7 +854,7 @@ impl ProductPurchaseDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -865,7 +865,7 @@ impl ProductPurchaseDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -876,7 +876,7 @@ impl ProductPurchaseDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImage(&self, value: P0) -> ::windows_core::Result<()> @@ -889,7 +889,7 @@ impl ProductPurchaseDisplayProperties { pub fn CreateProductPurchaseDisplayProperties(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProductPurchaseDisplayPropertiesFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProductPurchaseDisplayProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProductPurchaseDisplayProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -919,28 +919,28 @@ impl PurchaseResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransactionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransactionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransactionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReceiptXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceiptXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceiptXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OfferId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OfferId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OfferId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -965,21 +965,21 @@ impl UnfulfilledConsumable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransactionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransactionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransactionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OfferId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OfferId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OfferId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/Core/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/Core/mod.rs index 619fa00243..97a06411a5 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/Core/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/Core/mod.rs @@ -14,7 +14,7 @@ impl CoreUserActivityManager { { Self::ICoreUserActivityManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUserActivitySessionInBackground)(::windows_core::Interface::as_raw(this), activity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUserActivitySessionInBackground)(::windows_core::Interface::as_raw(this), activity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeleteUserActivitySessionsInTimeRangeAsync(channel: P0, starttime: super::super::super::Foundation::DateTime, endtime: super::super::super::Foundation::DateTime) -> ::windows_core::Result @@ -23,7 +23,7 @@ impl CoreUserActivityManager { { Self::ICoreUserActivityManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteUserActivitySessionsInTimeRangeAsync)(::windows_core::Interface::as_raw(this), channel.into_param().abi(), starttime, endtime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteUserActivitySessionsInTimeRangeAsync)(::windows_core::Interface::as_raw(this), channel.into_param().abi(), starttime, endtime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs index 6d05aa4f89..f5ce6c971e 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs @@ -113,7 +113,7 @@ impl IUserActivityContentInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -246,28 +246,28 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActivityId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VisualElements(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentUri(&self, value: P0) -> ::windows_core::Result<()> @@ -281,7 +281,7 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -292,7 +292,7 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFallbackUri(&self, value: P0) -> ::windows_core::Result<()> @@ -306,7 +306,7 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetActivationUri(&self, value: P0) -> ::windows_core::Result<()> @@ -320,7 +320,7 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -334,28 +334,28 @@ impl UserActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToJson(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRoamable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRoamable(&self, value: bool) -> ::windows_core::Result<()> { @@ -365,20 +365,20 @@ impl UserActivity { pub fn CreateWithActivityId(activityid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserActivityFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithActivityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithActivityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParseFromJson(json: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserActivityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn TryParseFromJsonArray(json: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IUserActivityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseFromJsonArray)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseFromJsonArray)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -388,7 +388,7 @@ impl UserActivity { { Self::IUserActivityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToJsonArray)(::windows_core::Interface::as_raw(this), activities.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToJsonArray)(::windows_core::Interface::as_raw(this), activities.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -430,7 +430,7 @@ impl UserActivityAttribution { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIconUri(&self, value: P0) -> ::windows_core::Result<()> @@ -444,7 +444,7 @@ impl UserActivityAttribution { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlternateText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -455,7 +455,7 @@ impl UserActivityAttribution { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddImageQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddImageQuery)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAddImageQuery(&self, value: bool) -> ::windows_core::Result<()> { @@ -468,7 +468,7 @@ impl UserActivityAttribution { { Self::IUserActivityAttributionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithUri)(::windows_core::Interface::as_raw(this), iconuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithUri)(::windows_core::Interface::as_raw(this), iconuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -498,21 +498,21 @@ impl UserActivityChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOrCreateUserActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOrCreateUserActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteActivityAsync(&self, activityid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAllActivitiesAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAllActivitiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAllActivitiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -520,7 +520,7 @@ impl UserActivityChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecentUserActivitiesAsync)(::windows_core::Interface::as_raw(this), maxuniqueactivities, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecentUserActivitiesAsync)(::windows_core::Interface::as_raw(this), maxuniqueactivities, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -528,13 +528,13 @@ impl UserActivityChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionHistoryItemsForUserActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), starttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionHistoryItemsForUserActivityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityid), starttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IUserActivityChannelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DisableAutoSessionCreation() -> ::windows_core::Result<()> { @@ -547,7 +547,7 @@ impl UserActivityChannel { { Self::IUserActivityChannelStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetForWebAccount)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetForWebAccount)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -557,7 +557,7 @@ impl UserActivityChannel { { Self::IUserActivityChannelStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -598,13 +598,13 @@ impl UserActivityContentInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromJson(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserActivityContentInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -662,7 +662,7 @@ impl UserActivityRequestManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActivityRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActivityRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserActivityRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -672,7 +672,7 @@ impl UserActivityRequestManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IUserActivityRequestManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -700,14 +700,14 @@ impl UserActivityRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -737,7 +737,7 @@ impl UserActivitySession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -762,21 +762,21 @@ impl UserActivitySessionHistoryItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActivity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActivity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -801,7 +801,7 @@ impl UserActivityVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -812,7 +812,7 @@ impl UserActivityVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -824,7 +824,7 @@ impl UserActivityVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -836,7 +836,7 @@ impl UserActivityVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attribution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attribution)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttribution(&self, value: P0) -> ::windows_core::Result<()> @@ -859,14 +859,14 @@ impl UserActivityVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttributionDisplayText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributionDisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributionDisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttributionDisplayText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs index dd945c58ad..e92cc70629 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs @@ -26,7 +26,7 @@ impl IUserDataAccountProviderOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -64,21 +64,21 @@ impl UserDataAccountPartnerAccountInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Priority(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccountKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -104,7 +104,7 @@ impl UserDataAccountProviderAddAccountOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentKinds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentKinds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -112,7 +112,7 @@ impl UserDataAccountProviderAddAccountOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartnerAccountInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartnerAccountInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self, userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -123,7 +123,7 @@ impl UserDataAccountProviderAddAccountOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -149,14 +149,14 @@ impl UserDataAccountProviderResolveErrorsOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self) -> ::windows_core::Result<()> { @@ -186,14 +186,14 @@ impl UserDataAccountProviderSettingsOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs index 7824b9e60e..8b3431e7e9 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs @@ -146,7 +146,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAccountName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -157,7 +157,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccountTypeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccountTypeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDeviceAccountTypeId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -168,7 +168,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetServerType(&self, value: DeviceAccountServerType) -> ::windows_core::Result<()> { @@ -179,7 +179,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEmailAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -190,7 +190,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDomain(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -201,7 +201,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmailSyncEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -212,7 +212,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactsSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContactsSyncEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -223,7 +223,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalendarSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalendarSyncEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCalendarSyncEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -234,7 +234,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIncomingServerAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -245,7 +245,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerPort)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncomingServerPort(&self, value: i32) -> ::windows_core::Result<()> { @@ -256,7 +256,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncomingServerRequiresSsl(&self, value: bool) -> ::windows_core::Result<()> { @@ -267,7 +267,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerUsername)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerUsername)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIncomingServerUsername(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -278,7 +278,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingServerAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -289,7 +289,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerPort)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutgoingServerPort(&self, value: i32) -> ::windows_core::Result<()> { @@ -300,7 +300,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutgoingServerRequiresSsl(&self, value: bool) -> ::windows_core::Result<()> { @@ -311,7 +311,7 @@ impl DeviceAccountConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerUsername)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerUsername)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingServerUsername(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -323,7 +323,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -339,7 +339,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -354,7 +354,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OAuthRefreshToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OAuthRefreshToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOAuthRefreshToken(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -365,7 +365,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExternallyManaged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExternallyManaged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsExternallyManaged(&self, value: bool) -> ::windows_core::Result<()> { @@ -376,7 +376,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountIconId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountIconId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAccountIconId(&self, value: DeviceAccountIconId) -> ::windows_core::Result<()> { @@ -387,7 +387,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuthenticationType(&self, value: DeviceAccountAuthenticationType) -> ::windows_core::Result<()> { @@ -398,14 +398,14 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSsoAuthenticationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSsoAuthenticationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SsoAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SsoAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SsoAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSsoAccountId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -416,7 +416,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysDownloadFullMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysDownloadFullMessage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysDownloadFullMessage(&self, value: bool) -> ::windows_core::Result<()> { @@ -427,14 +427,14 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DoesPolicyAllowMailSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DoesPolicyAllowMailSync)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SyncScheduleKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSyncScheduleKind(&self, value: DeviceAccountSyncScheduleKind) -> ::windows_core::Result<()> { @@ -445,7 +445,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MailAgeFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MailAgeFilter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMailAgeFilter(&self, value: DeviceAccountMailAgeFilter) -> ::windows_core::Result<()> { @@ -456,7 +456,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsClientAuthenticationCertificateRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsClientAuthenticationCertificateRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsClientAuthenticationCertificateRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -467,7 +467,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoSelectAuthenticationCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoSelectAuthenticationCertificate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoSelectAuthenticationCertificate(&self, value: bool) -> ::windows_core::Result<()> { @@ -478,7 +478,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationCertificateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationCertificateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAuthenticationCertificateId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -489,7 +489,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardDavSyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardDavSyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCardDavSyncScheduleKind(&self, value: DeviceAccountSyncScheduleKind) -> ::windows_core::Result<()> { @@ -500,7 +500,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalDavSyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalDavSyncScheduleKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCalDavSyncScheduleKind(&self, value: DeviceAccountSyncScheduleKind) -> ::windows_core::Result<()> { @@ -511,7 +511,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardDavServerUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardDavServerUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCardDavServerUrl(&self, value: P0) -> ::windows_core::Result<()> @@ -525,7 +525,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardDavRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardDavRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCardDavRequiresSsl(&self, value: bool) -> ::windows_core::Result<()> { @@ -536,7 +536,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalDavServerUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalDavServerUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCalDavServerUrl(&self, value: P0) -> ::windows_core::Result<()> @@ -550,7 +550,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalDavRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalDavRequiresSsl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCalDavRequiresSsl(&self, value: bool) -> ::windows_core::Result<()> { @@ -561,7 +561,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasModifiedByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasModifiedByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWasModifiedByUser(&self, value: bool) -> ::windows_core::Result<()> { @@ -572,7 +572,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasIncomingServerCertificateHashConfirmed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasIncomingServerCertificateHashConfirmed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWasIncomingServerCertificateHashConfirmed(&self, value: bool) -> ::windows_core::Result<()> { @@ -583,7 +583,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncomingServerCertificateHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncomingServerCertificateHash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIncomingServerCertificateHash(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -594,7 +594,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOutgoingServerAuthenticationRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOutgoingServerAuthenticationRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOutgoingServerAuthenticationRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -605,7 +605,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOutgoingServerAuthenticationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOutgoingServerAuthenticationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOutgoingServerAuthenticationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -616,7 +616,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasOutgoingServerCertificateHashConfirmed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasOutgoingServerCertificateHashConfirmed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWasOutgoingServerCertificateHashConfirmed(&self, value: bool) -> ::windows_core::Result<()> { @@ -627,7 +627,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingServerCertificateHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingServerCertificateHash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingServerCertificateHash(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -638,7 +638,7 @@ impl DeviceAccountConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSyncScheduleManagedBySystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSyncScheduleManagedBySystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSyncScheduleManagedBySystem(&self, value: bool) -> ::windows_core::Result<()> { @@ -667,13 +667,13 @@ impl UserDataAccountSystemAccessManager { { Self::IUserDataAccountSystemAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAndShowDeviceAccountsAsync)(::windows_core::Interface::as_raw(this), accounts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAndShowDeviceAccountsAsync)(::windows_core::Interface::as_raw(this), accounts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SuppressLocalAccountWithAccountAsync(userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserDataAccountSystemAccessManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressLocalAccountWithAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressLocalAccountWithAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDeviceAccountAsync(account: P0) -> ::windows_core::Result> @@ -682,19 +682,19 @@ impl UserDataAccountSystemAccessManager { { Self::IUserDataAccountSystemAccessManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceAccountAsync)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceAccountAsync)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeleteDeviceAccountAsync(accountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserDataAccountSystemAccessManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteDeviceAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteDeviceAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceAccountConfigurationAsync(accountid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IUserDataAccountSystemAccessManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceAccountConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceAccountConfigurationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(accountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs index 044f9571ad..27c26dd659 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs @@ -158,14 +158,14 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -176,7 +176,7 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: UserDataAccountOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -188,35 +188,35 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceAccountTypeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccountTypeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccountTypeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Appointments", feature = "Foundation_Collections"))] @@ -224,7 +224,7 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppointmentCalendarsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Email", feature = "Foundation_Collections"))] @@ -232,7 +232,7 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindEmailMailboxesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindEmailMailboxesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections"))] @@ -240,7 +240,7 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections"))] @@ -248,21 +248,21 @@ impl UserDataAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactAnnotationListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactAnnotationListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnterpriseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsProtectedUnderLock(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtectedUnderLock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtectedUnderLock)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -270,14 +270,14 @@ impl UserDataAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExplictReadAccessPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExplictReadAccessPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -288,7 +288,7 @@ impl UserDataAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanShowCreateContactGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanShowCreateContactGroup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanShowCreateContactGroup(&self, value: bool) -> ::windows_core::Result<()> { @@ -300,7 +300,7 @@ impl UserDataAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_UserDataTasks", feature = "Foundation_Collections"))] @@ -308,7 +308,7 @@ impl UserDataAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUserDataTaskListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUserDataTaskListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections"))] @@ -316,14 +316,14 @@ impl UserDataAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactGroupsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactGroupsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryShowCreateContactGroupAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowCreateContactGroupAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowCreateContactGroupAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsProtectedUnderLock(&self, value: bool) -> ::windows_core::Result<()> { @@ -356,25 +356,25 @@ impl UserDataAccountManager { pub fn RequestStoreAsync(storeaccesstype: UserDataAccountStoreAccessType) -> ::windows_core::Result> { Self::IUserDataAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), storeaccesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), storeaccesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAddAccountAsync(contentkinds: UserDataAccountContentKinds) -> ::windows_core::Result> { Self::IUserDataAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAccountAsync)(::windows_core::Interface::as_raw(this), contentkinds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAccountAsync)(::windows_core::Interface::as_raw(this), contentkinds, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAccountSettingsAsync(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserDataAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAccountSettingsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAccountSettingsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAccountErrorResolverAsync(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserDataAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAccountErrorResolverAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAccountErrorResolverAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -384,7 +384,7 @@ impl UserDataAccountManager { { Self::IUserDataAccountManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -410,7 +410,7 @@ impl UserDataAccountManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), storeaccesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), storeaccesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -418,7 +418,7 @@ impl UserDataAccountManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -444,28 +444,28 @@ impl UserDataAccountStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAccountAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAccountAsync(&self, userdisplayname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAccountWithPackageRelativeAppIdAsync(&self, userdisplayname: &::windows_core::HSTRING, packagerelativeappid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAccountWithPackageRelativeAppIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), ::core::mem::transmute_copy(packagerelativeappid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAccountWithPackageRelativeAppIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), ::core::mem::transmute_copy(packagerelativeappid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StoreChanged(&self, handler: P0) -> ::windows_core::Result @@ -475,7 +475,7 @@ impl UserDataAccountStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStoreChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -486,7 +486,7 @@ impl UserDataAccountStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAccountWithPackageRelativeAppIdAndEnterpriseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), ::core::mem::transmute_copy(packagerelativeappid), ::core::mem::transmute_copy(enterpriseid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAccountWithPackageRelativeAppIdAndEnterpriseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdisplayname), ::core::mem::transmute_copy(packagerelativeappid), ::core::mem::transmute_copy(enterpriseid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -511,7 +511,7 @@ impl UserDataAccountStoreChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs index 5faa379217..4f66c44318 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs @@ -123,7 +123,7 @@ impl UserDataTaskDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOrUpdateTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOrUpdateTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCreateOrUpdateTaskRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -137,7 +137,7 @@ impl UserDataTaskDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -151,7 +151,7 @@ impl UserDataTaskDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkipOccurrenceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkipOccurrenceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSkipOccurrenceRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -165,7 +165,7 @@ impl UserDataTaskDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleteTaskRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -179,7 +179,7 @@ impl UserDataTaskDataProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteTaskRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeleteTaskRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -212,7 +212,7 @@ impl UserDataTaskDataProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -237,28 +237,28 @@ impl UserDataTaskListCompleteTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self, completedtaskid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(completedtaskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(completedtaskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -283,14 +283,14 @@ impl UserDataTaskListCompleteTaskRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -315,14 +315,14 @@ impl UserDataTaskListCreateOrUpdateTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Task(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self, createdorupdateduserdatatask: P0) -> ::windows_core::Result @@ -332,14 +332,14 @@ impl UserDataTaskListCreateOrUpdateTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdateduserdatatask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), createdorupdateduserdatatask.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -364,14 +364,14 @@ impl UserDataTaskListCreateOrUpdateTaskRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -396,28 +396,28 @@ impl UserDataTaskListDeleteTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -442,14 +442,14 @@ impl UserDataTaskListDeleteTaskRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -474,28 +474,28 @@ impl UserDataTaskListSkipOccurrenceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -520,14 +520,14 @@ impl UserDataTaskListSkipOccurrenceRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -552,21 +552,21 @@ impl UserDataTaskListSyncManagerSyncRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -591,14 +591,14 @@ impl UserDataTaskListSyncManagerSyncRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs index 5586ad858f..a191b2f62a 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs @@ -197,21 +197,21 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ListId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -222,7 +222,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletedDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletedDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompletedDate(&self, value: P0) -> ::windows_core::Result<()> @@ -236,7 +236,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDetails(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -247,7 +247,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailsKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDetailsKind(&self, value: UserDataTaskDetailsKind) -> ::windows_core::Result<()> { @@ -258,7 +258,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DueDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DueDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDueDate(&self, value: P0) -> ::windows_core::Result<()> @@ -272,14 +272,14 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Priority(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: UserDataTaskPriority) -> ::windows_core::Result<()> { @@ -290,7 +290,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecurrenceProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecurrenceProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecurrenceProperties(&self, value: P0) -> ::windows_core::Result<()> @@ -304,7 +304,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegenerationProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegenerationProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRegenerationProperties(&self, value: P0) -> ::windows_core::Result<()> @@ -318,7 +318,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reminder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReminder(&self, value: P0) -> ::windows_core::Result<()> @@ -332,7 +332,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sensitivity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSensitivity(&self, value: UserDataTaskSensitivity) -> ::windows_core::Result<()> { @@ -343,7 +343,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubject(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -354,7 +354,7 @@ impl UserDataTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartDate(&self, value: P0) -> ::windows_core::Result<()> @@ -387,7 +387,7 @@ impl UserDataTaskBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tasks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tasks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -412,21 +412,21 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserDataAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDataAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -437,14 +437,14 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OtherAppReadAccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppReadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppReadAccess(&self, value: UserDataTaskListOtherAppReadAccess) -> ::windows_core::Result<()> { @@ -455,7 +455,7 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAppWriteAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOtherAppWriteAccess(&self, value: UserDataTaskListOtherAppWriteAccess) -> ::windows_core::Result<()> { @@ -466,28 +466,28 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LimitedWriteOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LimitedWriteOperations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncManager(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterSyncManagerAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterSyncManagerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTaskReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTaskReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTaskReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTaskReaderWithOptions(&self, options: P0) -> ::windows_core::Result @@ -497,14 +497,14 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTaskReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTaskReaderWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTaskAsync(&self, userdatatask: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatatask), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatatask), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveTaskAsync(&self, userdatatask: P0) -> ::windows_core::Result @@ -514,28 +514,28 @@ impl UserDataTaskList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveTaskAsync)(::windows_core::Interface::as_raw(this), userdatatask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveTaskAsync)(::windows_core::Interface::as_raw(this), userdatatask.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteTaskAsync(&self, userdatataskid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -560,7 +560,7 @@ impl UserDataTaskListLimitedWriteOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCompleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCompleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCreateOrUpdateTaskAsync(&self, userdatatask: P0) -> ::windows_core::Result> @@ -570,21 +570,21 @@ impl UserDataTaskListLimitedWriteOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateOrUpdateTaskAsync)(::windows_core::Interface::as_raw(this), userdatatask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateOrUpdateTaskAsync)(::windows_core::Interface::as_raw(this), userdatatask.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDeleteTaskAsync(&self, userdatataskid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteTaskAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySkipOccurrenceAsync(&self, userdatataskid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySkipOccurrenceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySkipOccurrenceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(userdatataskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -609,7 +609,7 @@ impl UserDataTaskListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastAttemptedSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastAttemptedSyncTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -620,7 +620,7 @@ impl UserDataTaskListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastSuccessfulSyncTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -631,7 +631,7 @@ impl UserDataTaskListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatus(&self, value: UserDataTaskListSyncStatus) -> ::windows_core::Result<()> { @@ -642,7 +642,7 @@ impl UserDataTaskListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -652,7 +652,7 @@ impl UserDataTaskListSyncManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSyncStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -681,7 +681,7 @@ impl UserDataTaskManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), accesstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -689,13 +689,13 @@ impl UserDataTaskManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IUserDataTaskManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -705,7 +705,7 @@ impl UserDataTaskManager { { Self::IUserDataTaskManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -742,7 +742,7 @@ impl UserDataTaskQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortProperty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortProperty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSortProperty(&self, value: UserDataTaskQuerySortProperty) -> ::windows_core::Result<()> { @@ -753,7 +753,7 @@ impl UserDataTaskQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKind(&self, value: UserDataTaskQueryKind) -> ::windows_core::Result<()> { @@ -782,7 +782,7 @@ impl UserDataTaskReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -814,7 +814,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnit(&self, value: UserDataTaskRecurrenceUnit) -> ::windows_core::Result<()> { @@ -825,7 +825,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOccurrences(&self, value: P0) -> ::windows_core::Result<()> @@ -839,7 +839,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUntil(&self, value: P0) -> ::windows_core::Result<()> @@ -853,7 +853,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterval(&self, value: i32) -> ::windows_core::Result<()> { @@ -864,7 +864,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DaysOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DaysOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDaysOfWeek(&self, value: P0) -> ::windows_core::Result<()> @@ -878,7 +878,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WeekOfMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WeekOfMonth)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWeekOfMonth(&self, value: P0) -> ::windows_core::Result<()> @@ -892,7 +892,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMonth(&self, value: P0) -> ::windows_core::Result<()> @@ -906,7 +906,7 @@ impl UserDataTaskRecurrenceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDay(&self, value: P0) -> ::windows_core::Result<()> @@ -945,7 +945,7 @@ impl UserDataTaskRegenerationProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnit(&self, value: UserDataTaskRegenerationUnit) -> ::windows_core::Result<()> { @@ -956,7 +956,7 @@ impl UserDataTaskRegenerationProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOccurrences(&self, value: P0) -> ::windows_core::Result<()> @@ -970,7 +970,7 @@ impl UserDataTaskRegenerationProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Until)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUntil(&self, value: P0) -> ::windows_core::Result<()> @@ -984,7 +984,7 @@ impl UserDataTaskRegenerationProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterval(&self, value: i32) -> ::windows_core::Result<()> { @@ -1013,14 +1013,14 @@ impl UserDataTaskStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateListInAccountAsync(&self, name: &::windows_core::HSTRING, userdataaccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(userdataaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateListInAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(userdataaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1028,14 +1028,14 @@ impl UserDataTaskStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindListsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetListAsync(&self, tasklistid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tasklistid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tasklistid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs index 3cbc3c55b5..a2d3c37aa3 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs @@ -169,7 +169,7 @@ impl VoiceCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -177,7 +177,7 @@ impl VoiceCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_SpeechRecognition")] @@ -185,7 +185,7 @@ impl VoiceCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeechRecognitionResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeechRecognitionResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -210,7 +210,7 @@ impl VoiceCommandCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -235,7 +235,7 @@ impl VoiceCommandConfirmationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Confirmed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Confirmed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -267,7 +267,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -278,7 +278,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextLine1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextLine1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTextLine1(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -289,7 +289,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextLine2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextLine2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTextLine2(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -300,7 +300,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextLine3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextLine3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTextLine3(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -312,7 +312,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -327,7 +327,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppContext(&self, value: P0) -> ::windows_core::Result<()> @@ -341,7 +341,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppLaunchArgument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppLaunchArgument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppLaunchArgument(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -352,7 +352,7 @@ impl VoiceCommandContentTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentTileType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentTileType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContentTileType(&self, value: VoiceCommandContentTileType) -> ::windows_core::Result<()> { @@ -381,14 +381,14 @@ impl VoiceCommandDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -399,7 +399,7 @@ impl VoiceCommandDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPhraseListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phraselistname), phraselist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPhraseListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phraselistname), phraselist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -424,14 +424,14 @@ impl VoiceCommandDefinitionManager { { Self::IVoiceCommandDefinitionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallCommandDefinitionsFromStorageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallCommandDefinitionsFromStorageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn InstalledCommandDefinitions() -> ::windows_core::Result> { Self::IVoiceCommandDefinitionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstalledCommandDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstalledCommandDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -452,7 +452,7 @@ impl VoiceCommandDisambiguationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -477,7 +477,7 @@ impl VoiceCommandResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMessage(&self, value: P0) -> ::windows_core::Result<()> @@ -491,7 +491,7 @@ impl VoiceCommandResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepeatMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepeatMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRepeatMessage(&self, value: P0) -> ::windows_core::Result<()> @@ -505,7 +505,7 @@ impl VoiceCommandResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppLaunchArgument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppLaunchArgument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppLaunchArgument(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -517,13 +517,13 @@ impl VoiceCommandResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VoiceCommandContentTiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VoiceCommandContentTiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxSupportedVoiceCommandContentTiles() -> ::windows_core::Result { Self::IVoiceCommandResponseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSupportedVoiceCommandContentTiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSupportedVoiceCommandContentTiles)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CreateResponse(usermessage: P0) -> ::windows_core::Result @@ -532,7 +532,7 @@ impl VoiceCommandResponse { { Self::IVoiceCommandResponseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResponse)(::windows_core::Interface::as_raw(this), usermessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResponse)(::windows_core::Interface::as_raw(this), usermessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -543,7 +543,7 @@ impl VoiceCommandResponse { { Self::IVoiceCommandResponseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResponseWithTiles)(::windows_core::Interface::as_raw(this), message.into_param().abi(), contenttiles.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResponseWithTiles)(::windows_core::Interface::as_raw(this), message.into_param().abi(), contenttiles.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateResponseForPrompt(message: P0, repeatmessage: P1) -> ::windows_core::Result @@ -553,7 +553,7 @@ impl VoiceCommandResponse { { Self::IVoiceCommandResponseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResponseForPrompt)(::windows_core::Interface::as_raw(this), message.into_param().abi(), repeatmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResponseForPrompt)(::windows_core::Interface::as_raw(this), message.into_param().abi(), repeatmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -565,7 +565,7 @@ impl VoiceCommandResponse { { Self::IVoiceCommandResponseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResponseForPromptWithTiles)(::windows_core::Interface::as_raw(this), message.into_param().abi(), repeatmessage.into_param().abi(), contenttiles.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResponseForPromptWithTiles)(::windows_core::Interface::as_raw(this), message.into_param().abi(), repeatmessage.into_param().abi(), contenttiles.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -595,7 +595,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVoiceCommandAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVoiceCommandAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestConfirmationAsync(&self, response: P0) -> ::windows_core::Result> @@ -605,7 +605,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestConfirmationAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestConfirmationAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestDisambiguationAsync(&self, response: P0) -> ::windows_core::Result> @@ -615,7 +615,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDisambiguationAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDisambiguationAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportProgressAsync(&self, response: P0) -> ::windows_core::Result @@ -625,7 +625,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportProgressAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportProgressAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportSuccessAsync(&self, response: P0) -> ::windows_core::Result @@ -635,7 +635,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportSuccessAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportSuccessAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailureAsync(&self, response: P0) -> ::windows_core::Result @@ -645,7 +645,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailureAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailureAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAppLaunchAsync(&self, response: P0) -> ::windows_core::Result @@ -655,7 +655,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAppLaunchAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAppLaunchAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Globalization")] @@ -663,7 +663,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VoiceCommandCompleted(&self, handler: P0) -> ::windows_core::Result @@ -673,7 +673,7 @@ impl VoiceCommandServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VoiceCommandCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VoiceCommandCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVoiceCommandCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -687,7 +687,7 @@ impl VoiceCommandServiceConnection { { Self::IVoiceCommandServiceConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromAppServiceTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromAppServiceTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -724,7 +724,7 @@ impl VoiceCommandUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -735,7 +735,7 @@ impl VoiceCommandUserMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpokenMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpokenMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSpokenMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs index 4e8a146a69..da089a7e8c 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs @@ -67,7 +67,7 @@ impl WalletItemSystemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -78,7 +78,7 @@ impl WalletItemSystemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -89,7 +89,7 @@ impl WalletItemSystemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportItemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportItemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -100,7 +100,7 @@ impl WalletItemSystemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppStatusForItem)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppStatusForItem)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -111,7 +111,7 @@ impl WalletItemSystemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAppForItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAppForItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -122,7 +122,7 @@ impl WalletItemSystemStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -156,7 +156,7 @@ impl WalletManagerSystem { pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::IWalletManagerSystemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs index a96f01a728..c8663a9807 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs @@ -521,7 +521,7 @@ impl WalletBarcode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -529,7 +529,7 @@ impl WalletBarcode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -537,14 +537,14 @@ impl WalletBarcode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetImageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetImageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn CreateWalletBarcode(symbology: WalletBarcodeSymbology, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWalletBarcodeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWalletBarcode)(::windows_core::Interface::as_raw(this), symbology, ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWalletBarcode)(::windows_core::Interface::as_raw(this), symbology, ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -554,7 +554,7 @@ impl WalletBarcode { { Self::IWalletBarcodeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCustomWalletBarcode)(::windows_core::Interface::as_raw(this), streamtobarcodeimage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCustomWalletBarcode)(::windows_core::Interface::as_raw(this), streamtobarcodeimage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -594,7 +594,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -607,7 +607,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -615,7 +615,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAcknowledged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAcknowledged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -628,7 +628,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IssuerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IssuerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -641,7 +641,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdated)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -657,7 +657,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -665,7 +665,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Barcode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Barcode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -681,7 +681,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -697,7 +697,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo159x159)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo159x159)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -713,7 +713,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo336x336)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo336x336)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -729,7 +729,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo99x99)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo99x99)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -745,7 +745,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -758,7 +758,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisplayMessageLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisplayMessageLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -771,7 +771,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -784,7 +784,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "UI", feature = "deprecated"))] @@ -797,7 +797,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BodyColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BodyColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "UI", feature = "deprecated"))] @@ -810,7 +810,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderFontColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderFontColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "UI", feature = "deprecated"))] @@ -823,7 +823,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BodyFontColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BodyFontColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "UI", feature = "deprecated"))] @@ -836,7 +836,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderBackgroundImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderBackgroundImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -852,7 +852,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BodyBackgroundImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BodyBackgroundImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -868,7 +868,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -884,7 +884,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PromotionalImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PromotionalImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -900,7 +900,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelevantDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelevantDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -916,7 +916,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelevantDateDisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelevantDateDisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -929,7 +929,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransactionHistory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransactionHistory)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -937,7 +937,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelevantLocations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelevantLocations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -945,7 +945,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMoreTransactionHistoryLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMoreTransactionHistoryLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -958,7 +958,7 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -966,14 +966,14 @@ impl WalletItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verbs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verbs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn CreateWalletItem(kind: WalletItemKind, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWalletItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWalletItem)(::windows_core::Interface::as_raw(this), kind, ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWalletItem)(::windows_core::Interface::as_raw(this), kind, ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1013,7 +1013,7 @@ impl WalletItemCustomProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1026,7 +1026,7 @@ impl WalletItemCustomProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1039,7 +1039,7 @@ impl WalletItemCustomProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoDetectLinks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoDetectLinks)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1052,7 +1052,7 @@ impl WalletItemCustomProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetailViewPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetailViewPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1065,7 +1065,7 @@ impl WalletItemCustomProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SummaryViewPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SummaryViewPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1077,7 +1077,7 @@ impl WalletItemCustomProperty { pub fn CreateWalletItemCustomProperty(name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWalletItemCustomPropertyFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWalletItemCustomProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWalletItemCustomProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1120,7 +1120,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1128,7 +1128,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1136,7 +1136,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWalletItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWalletItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1144,7 +1144,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1152,7 +1152,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsWithKindAsync)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsWithKindAsync)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -1163,7 +1163,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportItemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportItemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1171,7 +1171,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1179,7 +1179,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1187,7 +1187,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1198,7 +1198,7 @@ impl WalletItemStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1227,7 +1227,7 @@ impl WalletManager { pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::IWalletManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1261,7 +1261,7 @@ impl WalletRelevantLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Geolocation", feature = "deprecated"))] @@ -1274,7 +1274,7 @@ impl WalletRelevantLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1320,7 +1320,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1333,7 +1333,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAmount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAmount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1346,7 +1346,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnoreTimeOfDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnoreTimeOfDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1359,7 +1359,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1372,7 +1372,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransactionDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransactionDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1388,7 +1388,7 @@ impl WalletTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLaunchable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1427,7 +1427,7 @@ impl WalletVerb { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1439,7 +1439,7 @@ impl WalletVerb { pub fn CreateWalletVerb(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWalletVerbFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWalletVerb)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWalletVerb)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/ApplicationModel/mod.rs b/crates/libs/windows/src/Windows/ApplicationModel/mod.rs index 52286042cf..eea446f734 100644 --- a/crates/libs/windows/src/Windows/ApplicationModel/mod.rs +++ b/crates/libs/windows/src/Windows/ApplicationModel/mod.rs @@ -199,7 +199,7 @@ impl IEnteredBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -268,7 +268,7 @@ impl ILeavingBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -536,7 +536,7 @@ impl IPackageCatalogStatics2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForPackage)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForPackage)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -753,7 +753,7 @@ impl ISuspendingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -773,14 +773,14 @@ impl ISuspendingOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -803,14 +803,14 @@ impl AppDisplayInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -818,7 +818,7 @@ impl AppDisplayInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLogo)(::windows_core::Interface::as_raw(this), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLogo)(::windows_core::Interface::as_raw(this), size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -843,61 +843,61 @@ impl AppInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppUserModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Package(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExecutionContext(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutionContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutionContext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedFileExtensions(&self) -> ::windows_core::Result<::windows_core::Array<::windows_core::HSTRING>> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFileExtensions)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::HSTRING>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).SupportedFileExtensions)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::HSTRING>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn Current() -> ::windows_core::Result { Self::IAppInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetFromAppUserModelId(appusermodelid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromAppUserModelId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appusermodelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromAppUserModelId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appusermodelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -907,7 +907,7 @@ impl AppInfo { { Self::IAppInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromAppUserModelIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(appusermodelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromAppUserModelIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(appusermodelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -937,77 +937,77 @@ impl AppInstallerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OnLaunch(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OnLaunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OnLaunch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HoursBetweenUpdateChecks(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoursBetweenUpdateChecks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoursBetweenUpdateChecks)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShowPrompt(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowPrompt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowPrompt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateBlocksActivation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateBlocksActivation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateBlocksActivation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutomaticBackgroundTask(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticBackgroundTask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticBackgroundTask)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ForceUpdateFromAnyVersion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAutoRepairEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoRepairEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoRepairEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Version(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastChecked(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChecked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChecked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PausedUntil(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PausedUntil)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PausedUntil)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1015,7 +1015,7 @@ impl AppInstallerInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1023,7 +1023,7 @@ impl AppInstallerInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepairUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepairUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1031,7 +1031,7 @@ impl AppInstallerInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1039,14 +1039,14 @@ impl AppInstallerInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PolicySource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PolicySource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PolicySource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1071,14 +1071,14 @@ impl AppInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Key)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Key)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsCurrentInstance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentInstance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentInstance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedirectActivationTo(&self) -> ::windows_core::Result<()> { @@ -1088,20 +1088,20 @@ impl AppInstance { pub fn RecommendedInstance() -> ::windows_core::Result { Self::IAppInstanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecommendedInstance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecommendedInstance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "ApplicationModel_Activation")] pub fn GetActivatedEventArgs() -> ::windows_core::Result { Self::IAppInstanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivatedEventArgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivatedEventArgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FindOrRegisterInstanceForKey(key: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppInstanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindOrRegisterInstanceForKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindOrRegisterInstanceForKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Unregister() -> ::windows_core::Result<()> { @@ -1111,7 +1111,7 @@ impl AppInstance { pub fn GetInstances() -> ::windows_core::Result> { Self::IAppInstanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInstances)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInstances)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1151,13 +1151,13 @@ impl DesignMode { pub fn DesignModeEnabled() -> ::windows_core::Result { Self::IDesignModeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesignModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesignModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DesignMode2Enabled() -> ::windows_core::Result { Self::IDesignModeStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesignMode2Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesignMode2Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1184,7 +1184,7 @@ impl EnteredBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1209,7 +1209,7 @@ impl FindRelatedPackagesOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelationship(&self, value: PackageRelationship) -> ::windows_core::Result<()> { @@ -1220,7 +1220,7 @@ impl FindRelatedPackagesOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeFrameworks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeFrameworks)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeFrameworks(&self, value: bool) -> ::windows_core::Result<()> { @@ -1231,7 +1231,7 @@ impl FindRelatedPackagesOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeHostRuntimes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeHostRuntimes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeHostRuntimes(&self, value: bool) -> ::windows_core::Result<()> { @@ -1242,7 +1242,7 @@ impl FindRelatedPackagesOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeOptionals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeOptionals)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeOptionals(&self, value: bool) -> ::windows_core::Result<()> { @@ -1253,7 +1253,7 @@ impl FindRelatedPackagesOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeResources)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeResources(&self, value: bool) -> ::windows_core::Result<()> { @@ -1263,7 +1263,7 @@ impl FindRelatedPackagesOptions { pub fn CreateInstance(relationship: PackageRelationship) -> ::windows_core::Result { Self::IFindRelatedPackagesOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), relationship, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), relationship, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1293,14 +1293,14 @@ impl FullTrustProcessLaunchResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1321,37 +1321,37 @@ impl FullTrustProcessLauncher { pub fn LaunchFullTrustProcessForCurrentAppAsync() -> ::windows_core::Result { Self::IFullTrustProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFullTrustProcessForCurrentAppWithParametersAsync(parametergroupid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IFullTrustProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parametergroupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parametergroupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFullTrustProcessForAppAsync(fulltrustpackagerelativeappid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IFullTrustProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFullTrustProcessForAppWithParametersAsync(fulltrustpackagerelativeappid: &::windows_core::HSTRING, parametergroupid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IFullTrustProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), ::core::mem::transmute_copy(parametergroupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), ::core::mem::transmute_copy(parametergroupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFullTrustProcessForCurrentAppWithArgumentsAsync(commandline: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IFullTrustProcessLauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppWithArgumentsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(commandline), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForCurrentAppWithArgumentsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(commandline), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFullTrustProcessForAppWithArgumentsAsync(fulltrustpackagerelativeappid: &::windows_core::HSTRING, commandline: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IFullTrustProcessLauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppWithArgumentsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), ::core::mem::transmute_copy(commandline), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFullTrustProcessForAppWithArgumentsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fulltrustpackagerelativeappid), ::core::mem::transmute_copy(commandline), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1378,7 +1378,7 @@ impl LeavingBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1403,21 +1403,21 @@ impl LimitedAccessFeatureRequestResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FeatureId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FeatureId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EstimatedRemovalDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedRemovalDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedRemovalDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1438,7 +1438,7 @@ impl LimitedAccessFeatures { pub fn TryUnlockFeature(featureid: &::windows_core::HSTRING, token: &::windows_core::HSTRING, attestation: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILimitedAccessFeaturesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUnlockFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(featureid), ::core::mem::transmute_copy(token), ::core::mem::transmute_copy(attestation), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUnlockFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(featureid), ::core::mem::transmute_copy(token), ::core::mem::transmute_copy(attestation), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1459,7 +1459,7 @@ impl Package { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1467,14 +1467,14 @@ impl Package { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstalledLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstalledLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFramework(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFramework)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFramework)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1482,70 +1482,70 @@ impl Package { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dependencies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dependencies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublisherDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublisherDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublisherDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Logo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsResourcePackage(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResourcePackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResourcePackage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBundle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBundle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBundle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDevelopmentMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDevelopmentMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDevelopmentMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstalledDate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstalledDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstalledDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation_Collections"))] @@ -1553,28 +1553,28 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppListEntriesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppListEntriesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignatureKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignatureKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignatureKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOptional(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOptional)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOptional)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VerifyContentIntegrityAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifyContentIntegrityAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifyContentIntegrityAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1582,14 +1582,14 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContentGroupsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContentGroupsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContentGroupAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContentGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContentGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1600,7 +1600,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageContentGroupsAsync)(::windows_core::Interface::as_raw(this), names.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageContentGroupsAsync)(::windows_core::Interface::as_raw(this), names.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1611,28 +1611,28 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageContentGroupsWithPriorityAsync)(::windows_core::Interface::as_raw(this), names.into_param().abi(), movetoheadofqueue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageContentGroupsWithPriorityAsync)(::windows_core::Interface::as_raw(this), names.into_param().abi(), movetoheadofqueue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInUseAsync(&self, inuse: bool) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetInUseAsync)(::windows_core::Interface::as_raw(this), inuse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetInUseAsync)(::windows_core::Interface::as_raw(this), inuse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppInstallerInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppInstallerInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppInstallerInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckUpdateAvailabilityAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckUpdateAvailabilityAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckUpdateAvailabilityAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1640,7 +1640,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MutableLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MutableLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1648,7 +1648,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectiveLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectiveLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1656,7 +1656,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectiveExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectiveExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1664,7 +1664,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MachineExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MachineExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1672,49 +1672,49 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserExternalLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstalledPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstalledPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstalledPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MutablePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MutablePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MutablePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EffectivePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectivePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectivePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EffectiveExternalPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectiveExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectiveExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MachineExternalPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MachineExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MachineExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserExternalPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserExternalPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1722,7 +1722,7 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLogoAsRandomAccessStreamReference)(::windows_core::Interface::as_raw(this), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLogoAsRandomAccessStreamReference)(::windows_core::Interface::as_raw(this), size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation_Collections"))] @@ -1730,14 +1730,14 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppListEntries)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppListEntries)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsStub(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStub)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStub)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1748,34 +1748,34 @@ impl Package { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindRelatedPackages)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindRelatedPackages)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceUriSchemeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceUriSchemeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceUriSchemeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IPackageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn InstallDate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetThumbnailToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1813,7 +1813,7 @@ impl PackageCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageStaging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageStaging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageStaging(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1827,7 +1827,7 @@ impl PackageCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageInstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageInstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageInstalling(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1841,7 +1841,7 @@ impl PackageCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageUpdating(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1855,7 +1855,7 @@ impl PackageCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageUninstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageUninstalling)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageUninstalling(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1869,7 +1869,7 @@ impl PackageCatalog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageStatusChanged(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1883,7 +1883,7 @@ impl PackageCatalog { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageContentGroupStaging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageContentGroupStaging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePackageContentGroupStaging(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1894,7 +1894,7 @@ impl PackageCatalog { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddOptionalPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionalpackagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddOptionalPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionalpackagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1905,14 +1905,14 @@ impl PackageCatalog { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), optionalpackagefamilynames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), optionalpackagefamilynames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddResourcePackageAsync(&self, resourcepackagefamilyname: &::windows_core::HSTRING, resourceid: &::windows_core::HSTRING, options: AddResourcePackageOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddResourcePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resourcepackagefamilyname), ::core::mem::transmute_copy(resourceid), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddResourcePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resourcepackagefamilyname), ::core::mem::transmute_copy(resourceid), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1923,19 +1923,19 @@ impl PackageCatalog { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveResourcePackagesAsync)(::windows_core::Interface::as_raw(this), resourcepackages.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveResourcePackagesAsync)(::windows_core::Interface::as_raw(this), resourcepackages.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenForCurrentPackage() -> ::windows_core::Result { Self::IPackageCatalogStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForCurrentPackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForCurrentPackage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenForCurrentUser() -> ::windows_core::Result { Self::IPackageCatalogStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForCurrentUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForCurrentUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenForPackage(package: P0) -> ::windows_core::Result @@ -1944,7 +1944,7 @@ impl PackageCatalog { { Self::IPackageCatalogStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForPackage)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForPackage)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1977,14 +1977,14 @@ impl PackageCatalogAddOptionalPackageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2007,21 +2007,21 @@ impl PackageCatalogAddResourcePackageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2047,14 +2047,14 @@ impl PackageCatalogRemoveOptionalPackagesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackagesRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackagesRemoved)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2078,14 +2078,14 @@ impl PackageCatalogRemoveResourcePackagesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackagesRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackagesRemoved)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2110,34 +2110,34 @@ impl PackageContentGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRequired(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequiredGroupName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPackageContentGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredGroupName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredGroupName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2167,49 +2167,49 @@ impl PackageContentGroupStagingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContentGroupName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentGroupName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentGroupName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsContentGroupRequired(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContentGroupRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContentGroupRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2234,14 +2234,14 @@ impl PackageId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Version(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -2249,56 +2249,56 @@ impl PackageId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Architecture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Architecture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResourceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Publisher(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublisherId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublisherId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublisherId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FullName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProductId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Author(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2323,35 +2323,35 @@ impl PackageInstallingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2376,35 +2376,35 @@ impl PackageStagingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2429,91 +2429,91 @@ impl PackageStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifyIsOK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifyIsOK)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotAvailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PackageOffline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageOffline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageOffline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DataOffline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataOffline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataOffline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Disabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NeedsRemediation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeedsRemediation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeedsRemediation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LicenseIssue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseIssue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseIssue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Modified(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Modified)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Modified)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Tampered(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tampered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tampered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DependencyIssue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyIssue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyIssue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Servicing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Servicing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Servicing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeploymentInProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeploymentInProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeploymentInProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPartiallyStaged(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPartiallyStaged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPartiallyStaged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2538,7 +2538,7 @@ impl PackageStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2563,35 +2563,35 @@ impl PackageUninstallingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Package(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2616,14 +2616,14 @@ impl PackageUpdateAvailabilityResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2648,42 +2648,42 @@ impl PackageUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourcePackage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePackage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TargetPackage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetPackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetPackage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2708,7 +2708,7 @@ impl StartupTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestEnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestEnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Disable(&self) -> ::windows_core::Result<()> { @@ -2719,27 +2719,27 @@ impl StartupTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TaskId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn GetForCurrentPackageAsync() -> ::windows_core::Result>> { Self::IStartupTaskStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAsync(taskid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IStartupTaskStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(taskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(taskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2793,7 +2793,7 @@ impl SuspendingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2819,14 +2819,14 @@ impl SuspendingOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Data/Html/mod.rs b/crates/libs/windows/src/Windows/Data/Html/mod.rs index fb4b8d807f..3647e75b42 100644 --- a/crates/libs/windows/src/Windows/Data/Html/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Html/mod.rs @@ -10,7 +10,7 @@ impl HtmlUtilities { pub fn ConvertToText(html: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHtmlUtilities(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertToText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(html), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertToText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(html), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Data/Json/mod.rs b/crates/libs/windows/src/Windows/Data/Json/mod.rs index bc250646e1..1b7060cb02 100644 --- a/crates/libs/windows/src/Windows/Data/Json/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Json/mod.rs @@ -64,49 +64,49 @@ impl IJsonValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stringify(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetArray(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetObject(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -162,110 +162,110 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetObjectAt(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObjectAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObjectAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetArrayAt(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetArrayAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetArrayAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStringAt(&self, index: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStringAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStringAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumberAt(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumberAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumberAt)(::windows_core::Interface::as_raw(this), index, &mut result__).map(|| result__) } } pub fn GetBooleanAt(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanAt)(::windows_core::Interface::as_raw(this), index, &mut result__).map(|| result__) } } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IJsonArrayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, result: &mut ::core::option::Option) -> ::windows_core::Result { Self::IJsonArrayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ValueType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stringify(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumber(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetArray(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetObject(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -273,7 +273,7 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -281,7 +281,7 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -289,7 +289,7 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -300,7 +300,7 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -347,7 +347,7 @@ impl JsonArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -394,7 +394,7 @@ impl JsonError { pub fn GetJsonStatus(hresult: i32) -> ::windows_core::Result { Self::IJsonErrorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJsonStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJsonStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -425,14 +425,14 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedValue(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNamedValue(&self, name: &::windows_core::HSTRING, value: P0) -> ::windows_core::Result<()> @@ -446,47 +446,47 @@ impl JsonObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedObject)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedObject)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedArray(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedArray)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedArray)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedString(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedNumber(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedNumber)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedNumber)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).map(|| result__) } } pub fn GetNamedBoolean(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedBoolean)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedBoolean)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).map(|| result__) } } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IJsonObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, result: &mut ::core::option::Option) -> ::windows_core::Result { Self::IJsonObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).map(|| result__) }) } pub fn GetNamedValueOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: P0) -> ::windows_core::Result @@ -496,7 +496,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedValueOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedValueOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedObjectOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: P0) -> ::windows_core::Result @@ -506,14 +506,14 @@ impl JsonObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedObjectOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedObjectOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedStringOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedStringOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(defaultvalue), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedStringOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(defaultvalue), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedArrayOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: P0) -> ::windows_core::Result @@ -523,70 +523,70 @@ impl JsonObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedArrayOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedArrayOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedNumberOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: f64) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedNumberOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedNumberOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue, &mut result__).map(|| result__) } } pub fn GetNamedBooleanOrDefault(&self, name: &::windows_core::HSTRING, defaultvalue: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedBooleanOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedBooleanOrDefault)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), defaultvalue, &mut result__).map(|| result__) } } pub fn ValueType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stringify(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumber(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetArray(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetObject(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -594,7 +594,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -602,7 +602,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -610,7 +610,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -618,7 +618,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -629,7 +629,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -646,7 +646,7 @@ impl JsonObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -693,92 +693,92 @@ impl JsonValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stringify(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stringify)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetArray(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetObject(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IJsonValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, result: &mut ::core::option::Option) -> ::windows_core::Result { Self::IJsonValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), result as *mut _ as _, &mut result__).map(|| result__) }) } pub fn CreateBooleanValue(input: bool) -> ::windows_core::Result { Self::IJsonValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBooleanValue)(::windows_core::Interface::as_raw(this), input, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBooleanValue)(::windows_core::Interface::as_raw(this), input, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNumberValue(input: f64) -> ::windows_core::Result { Self::IJsonValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNumberValue)(::windows_core::Interface::as_raw(this), input, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNumberValue)(::windows_core::Interface::as_raw(this), input, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStringValue(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IJsonValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStringValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStringValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNullValue() -> ::windows_core::Result { Self::IJsonValueStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNullValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNullValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Data/Pdf/mod.rs b/crates/libs/windows/src/Windows/Data/Pdf/mod.rs index a603a135de..7b436f5fd9 100644 --- a/crates/libs/windows/src/Windows/Data/Pdf/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Pdf/mod.rs @@ -93,21 +93,21 @@ impl PdfDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPage)(::windows_core::Interface::as_raw(this), pageindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPage)(::windows_core::Interface::as_raw(this), pageindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPasswordProtected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPasswordProtected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPasswordProtected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -117,7 +117,7 @@ impl PdfDocument { { Self::IPdfDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -127,7 +127,7 @@ impl PdfDocument { { Self::IPdfDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFileWithPasswordAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(password), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFileWithPasswordAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(password), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -137,7 +137,7 @@ impl PdfDocument { { Self::IPdfDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStreamAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStreamAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -147,7 +147,7 @@ impl PdfDocument { { Self::IPdfDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromStreamWithPasswordAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), ::core::mem::transmute_copy(password), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromStreamWithPasswordAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), ::core::mem::transmute_copy(password), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -186,7 +186,7 @@ impl PdfPage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -198,49 +198,49 @@ impl PdfPage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderWithOptionsToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderWithOptionsToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreparePageAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreparePageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreparePageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Index(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Dimensions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dimensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dimensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Rotation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PreferredZoom(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredZoom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredZoom)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -265,35 +265,35 @@ impl PdfPageDimensions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CropBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CropBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CropBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BleedBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BleedBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BleedBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrimBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ArtBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArtBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArtBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -325,7 +325,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSourceRect(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -336,7 +336,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DestinationWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DestinationWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDestinationWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -347,7 +347,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DestinationHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DestinationHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDestinationHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -359,7 +359,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -371,7 +371,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIgnoringHighContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIgnoringHighContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsIgnoringHighContrast(&self, value: bool) -> ::windows_core::Result<()> { @@ -382,7 +382,7 @@ impl PdfPageRenderOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBitmapEncoderId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Data/Text/mod.rs b/crates/libs/windows/src/Windows/Data/Text/mod.rs index 3a2f283943..61e5f8f9e6 100644 --- a/crates/libs/windows/src/Windows/Data/Text/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Text/mod.rs @@ -229,21 +229,21 @@ impl AlternateWordForm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AlternateText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NormalizationFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizationFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizationFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -268,14 +268,14 @@ impl SelectableWordSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceTextSegment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -300,14 +300,14 @@ impl SelectableWordsSegmenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTokenAt(&self, text: &::windows_core::HSTRING, startindex: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokenAt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), startindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokenAt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), startindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -315,7 +315,7 @@ impl SelectableWordsSegmenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokens)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokens)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -329,7 +329,7 @@ impl SelectableWordsSegmenter { pub fn CreateWithLanguage(language: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISelectableWordsSegmenterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -360,7 +360,7 @@ impl SemanticTextQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Find)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Find)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -368,19 +368,19 @@ impl SemanticTextQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindInProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycontent), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindInProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycontent), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(aqsfilter: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISemanticTextQueryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithLanguage(aqsfilter: &::windows_core::HSTRING, filterlanguage: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISemanticTextQueryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), ::core::mem::transmute_copy(filterlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), ::core::mem::transmute_copy(filterlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -410,14 +410,14 @@ impl TextConversionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LanguageAvailableButNotInstalled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -425,7 +425,7 @@ impl TextConversionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCandidatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCandidatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -433,13 +433,13 @@ impl TextConversionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCandidatesWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCandidatesWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITextConversionGeneratorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -469,14 +469,14 @@ impl TextPhoneme { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadingText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -501,14 +501,14 @@ impl TextPredictionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LanguageAvailableButNotInstalled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -516,7 +516,7 @@ impl TextPredictionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCandidatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCandidatesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -524,7 +524,7 @@ impl TextPredictionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCandidatesWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCandidatesWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -535,7 +535,7 @@ impl TextPredictionGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCandidatesWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, predictionoptions, previousstrings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCandidatesWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), maxcandidates, predictionoptions, previousstrings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -546,7 +546,7 @@ impl TextPredictionGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNextWordCandidatesAsync)(::windows_core::Interface::as_raw(this), maxcandidates, previousstrings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNextWordCandidatesAsync)(::windows_core::Interface::as_raw(this), maxcandidates, previousstrings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Text_Core")] @@ -554,7 +554,7 @@ impl TextPredictionGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Text_Core")] @@ -565,7 +565,7 @@ impl TextPredictionGenerator { pub fn Create(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITextPredictionGeneratorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -595,21 +595,21 @@ impl TextReverseConversionGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LanguageAvailableButNotInstalled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageAvailableButNotInstalled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConvertBackAsync(&self, input: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertBackAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertBackAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -617,13 +617,13 @@ impl TextReverseConversionGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPhonemesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPhonemesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITextReverseConversionGeneratorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -649,7 +649,7 @@ impl UnicodeCharacters { pub fn GetCodepointFromSurrogatePair(highsurrogate: u32, lowsurrogate: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCodepointFromSurrogatePair)(::windows_core::Interface::as_raw(this), highsurrogate, lowsurrogate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCodepointFromSurrogatePair)(::windows_core::Interface::as_raw(this), highsurrogate, lowsurrogate, &mut result__).map(|| result__) }) } pub fn GetSurrogatePairFromCodepoint(codepoint: u32, highsurrogate: &mut u16, lowsurrogate: &mut u16) -> ::windows_core::Result<()> { @@ -658,91 +658,91 @@ impl UnicodeCharacters { pub fn IsHighSurrogate(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHighSurrogate)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHighSurrogate)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsLowSurrogate(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLowSurrogate)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLowSurrogate)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsSupplementary(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupplementary)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupplementary)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsNoncharacter(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNoncharacter)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNoncharacter)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsWhitespace(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWhitespace)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWhitespace)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsAlphabetic(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAlphabetic)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAlphabetic)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsCased(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCased)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCased)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsUppercase(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUppercase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUppercase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsLowercase(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLowercase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLowercase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsIdStart(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIdStart)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIdStart)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsIdContinue(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIdContinue)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIdContinue)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsGraphemeBase(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGraphemeBase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGraphemeBase)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn IsGraphemeExtend(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGraphemeExtend)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGraphemeExtend)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn GetNumericType(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericType)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericType)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } pub fn GetGeneralCategory(codepoint: u32) -> ::windows_core::Result { Self::IUnicodeCharactersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeneralCategory)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeneralCategory)(::windows_core::Interface::as_raw(this), codepoint, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -763,14 +763,14 @@ impl WordSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceTextSegment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceTextSegment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -778,7 +778,7 @@ impl WordSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateForms)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateForms)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -803,14 +803,14 @@ impl WordsSegmenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTokenAt(&self, text: &::windows_core::HSTRING, startindex: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokenAt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), startindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokenAt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), startindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -818,7 +818,7 @@ impl WordsSegmenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokens)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokens)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -832,7 +832,7 @@ impl WordsSegmenter { pub fn CreateWithLanguage(language: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWordsSegmenterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs b/crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs index 30ec269039..a22e9d1088 100644 --- a/crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs @@ -39,7 +39,7 @@ impl IXmlCharacterData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -50,14 +50,14 @@ impl IXmlCharacterData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubstringData(&self, offset: u32, count: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -80,7 +80,7 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -94,77 +94,77 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -175,7 +175,7 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -186,7 +186,7 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -196,7 +196,7 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -206,35 +206,35 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -252,14 +252,14 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -269,7 +269,7 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -279,21 +279,21 @@ impl IXmlCharacterData { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -473,7 +473,7 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -487,77 +487,77 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -568,7 +568,7 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -579,7 +579,7 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -589,7 +589,7 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -599,35 +599,35 @@ impl IXmlNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -645,14 +645,14 @@ impl IXmlNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -662,7 +662,7 @@ impl IXmlNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -672,21 +672,21 @@ impl IXmlNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -740,14 +740,14 @@ impl IXmlNodeSelector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -757,7 +757,7 @@ impl IXmlNodeSelector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -767,7 +767,7 @@ impl IXmlNodeSelector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -790,14 +790,14 @@ impl IXmlNodeSerializer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -833,14 +833,14 @@ impl IXmlText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Data(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -851,14 +851,14 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubstringData(&self, offset: u32, count: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -881,7 +881,7 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -895,77 +895,77 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -976,7 +976,7 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -987,7 +987,7 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -997,7 +997,7 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -1007,35 +1007,35 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -1053,14 +1053,14 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1070,7 +1070,7 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1080,21 +1080,21 @@ impl IXmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1121,28 +1121,28 @@ impl DtdEntity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemId(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotationName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NodeValue(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -1156,77 +1156,77 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1237,7 +1237,7 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1248,7 +1248,7 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -1258,7 +1258,7 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -1268,35 +1268,35 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -1314,14 +1314,14 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1331,7 +1331,7 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1341,21 +1341,21 @@ impl DtdEntity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1385,21 +1385,21 @@ impl DtdNotation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemId(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NodeValue(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -1413,77 +1413,77 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1494,7 +1494,7 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1505,7 +1505,7 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -1515,7 +1515,7 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -1525,35 +1525,35 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -1571,14 +1571,14 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1588,7 +1588,7 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1598,21 +1598,21 @@ impl DtdNotation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1642,21 +1642,21 @@ impl XmlAttribute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Specified(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Specified)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Specified)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1667,7 +1667,7 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -1681,77 +1681,77 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1762,7 +1762,7 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -1773,7 +1773,7 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -1783,7 +1783,7 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -1793,35 +1793,35 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -1839,14 +1839,14 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1856,7 +1856,7 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -1866,21 +1866,21 @@ impl XmlAttribute { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1910,7 +1910,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1921,14 +1921,14 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubstringData(&self, offset: u32, count: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1951,7 +1951,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -1965,77 +1965,77 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2046,7 +2046,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2057,7 +2057,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -2067,7 +2067,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -2077,35 +2077,35 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -2123,14 +2123,14 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2140,7 +2140,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2150,21 +2150,21 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2175,7 +2175,7 @@ impl XmlCDataSection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2201,7 +2201,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2212,14 +2212,14 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubstringData(&self, offset: u32, count: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2242,7 +2242,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -2256,77 +2256,77 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2337,7 +2337,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2348,7 +2348,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -2358,7 +2358,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -2368,35 +2368,35 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -2414,14 +2414,14 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2431,7 +2431,7 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2441,21 +2441,21 @@ impl XmlComment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2492,91 +2492,91 @@ impl XmlDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Doctype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Doctype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Implementation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Implementation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Implementation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentElement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentElement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentElement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateElement(&self, tagname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateElement)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateElement)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDocumentFragment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDocumentFragment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDocumentFragment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTextNode(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateComment(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateComment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateComment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateProcessingInstruction(&self, target: &::windows_core::HSTRING, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProcessingInstruction)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(target), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProcessingInstruction)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(target), ::core::mem::transmute_copy(data), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAttribute(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEntityReference(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEntityReference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEntityReference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetElementsByTagName(&self, tagname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetElementsByTagName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetElementsByTagName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateCDataSection(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCDataSection)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCDataSection)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAttributeNS(&self, namespaceuri: P0, qualifiedname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2586,7 +2586,7 @@ impl XmlDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttributeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(qualifiedname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttributeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(qualifiedname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateElementNS(&self, namespaceuri: P0, qualifiedname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2596,14 +2596,14 @@ impl XmlDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateElementNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(qualifiedname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateElementNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(qualifiedname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetElementById(&self, elementid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetElementById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(elementid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetElementById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(elementid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImportNode(&self, node: P0, deep: bool) -> ::windows_core::Result @@ -2613,7 +2613,7 @@ impl XmlDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportNode)(::windows_core::Interface::as_raw(this), node.into_param().abi(), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportNode)(::windows_core::Interface::as_raw(this), node.into_param().abi(), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LoadXml(&self, xml: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2635,7 +2635,7 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2661,7 +2661,7 @@ impl XmlDocument { { Self::IXmlDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LoadFromUriWithSettingsAsync(uri: P0, loadsettings: P1) -> ::windows_core::Result> @@ -2671,7 +2671,7 @@ impl XmlDocument { { Self::IXmlDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromUriWithSettingsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), loadsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromUriWithSettingsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), loadsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2681,7 +2681,7 @@ impl XmlDocument { { Self::IXmlDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2692,14 +2692,14 @@ impl XmlDocument { { Self::IXmlDocumentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFromFileWithSettingsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), loadsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFromFileWithSettingsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), loadsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeValue(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -2713,77 +2713,77 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2794,7 +2794,7 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -2805,7 +2805,7 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -2815,7 +2815,7 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -2825,35 +2825,35 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -2871,14 +2871,14 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2888,7 +2888,7 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -2898,21 +2898,21 @@ impl XmlDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2947,7 +2947,7 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -2961,77 +2961,77 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3042,7 +3042,7 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3053,7 +3053,7 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -3063,7 +3063,7 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3073,35 +3073,35 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -3119,14 +3119,14 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3136,7 +3136,7 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3146,21 +3146,21 @@ impl XmlDocumentFragment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3190,28 +3190,28 @@ impl XmlDocumentType { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Entities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Notations(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NodeValue(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -3225,77 +3225,77 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3306,7 +3306,7 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3317,7 +3317,7 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -3327,7 +3327,7 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3337,35 +3337,35 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -3383,14 +3383,14 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3400,7 +3400,7 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3410,21 +3410,21 @@ impl XmlDocumentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3456,7 +3456,7 @@ impl XmlDomImplementation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(feature), version.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(feature), version.into_param().abi(), &mut result__).map(|| result__) } } } @@ -3482,14 +3482,14 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TagName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TagName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAttribute(&self, attributename: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttribute(&self, attributename: &::windows_core::HSTRING, attributevalue: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3504,7 +3504,7 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributeNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributeNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttributeNode(&self, newattribute: P0) -> ::windows_core::Result @@ -3514,7 +3514,7 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAttributeNode)(::windows_core::Interface::as_raw(this), newattribute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAttributeNode)(::windows_core::Interface::as_raw(this), newattribute.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveAttributeNode(&self, attributenode: P0) -> ::windows_core::Result @@ -3524,14 +3524,14 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAttributeNode)(::windows_core::Interface::as_raw(this), attributenode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAttributeNode)(::windows_core::Interface::as_raw(this), attributenode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetElementsByTagName(&self, tagname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetElementsByTagName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetElementsByTagName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tagname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttributeNS(&self, namespaceuri: P0, qualifiedname: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> @@ -3548,7 +3548,7 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(localname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(localname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveAttributeNS(&self, namespaceuri: P0, localname: &::windows_core::HSTRING) -> ::windows_core::Result<()> @@ -3565,7 +3565,7 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAttributeNodeNS)(::windows_core::Interface::as_raw(this), newattribute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAttributeNodeNS)(::windows_core::Interface::as_raw(this), newattribute.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAttributeNodeNS(&self, namespaceuri: P0, localname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -3575,14 +3575,14 @@ impl XmlElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributeNodeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(localname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributeNodeNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(localname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NodeValue(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -3596,77 +3596,77 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3677,7 +3677,7 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3688,7 +3688,7 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -3698,7 +3698,7 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3708,35 +3708,35 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -3754,14 +3754,14 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3771,7 +3771,7 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -3781,21 +3781,21 @@ impl XmlElement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3825,7 +3825,7 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -3839,77 +3839,77 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3920,7 +3920,7 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -3931,7 +3931,7 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -3941,7 +3941,7 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3951,35 +3951,35 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -3997,14 +3997,14 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4014,7 +4014,7 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4024,21 +4024,21 @@ impl XmlEntityReference { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4074,7 +4074,7 @@ impl XmlLoadSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxElementDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxElementDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxElementDepth(&self, value: u32) -> ::windows_core::Result<()> { @@ -4085,7 +4085,7 @@ impl XmlLoadSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProhibitDtd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProhibitDtd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProhibitDtd(&self, value: bool) -> ::windows_core::Result<()> { @@ -4096,7 +4096,7 @@ impl XmlLoadSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolveExternals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolveExternals)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResolveExternals(&self, value: bool) -> ::windows_core::Result<()> { @@ -4107,7 +4107,7 @@ impl XmlLoadSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateOnParse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateOnParse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValidateOnParse(&self, value: bool) -> ::windows_core::Result<()> { @@ -4118,7 +4118,7 @@ impl XmlLoadSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementContentWhiteSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementContentWhiteSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetElementContentWhiteSpace(&self, value: bool) -> ::windows_core::Result<()> { @@ -4150,7 +4150,7 @@ impl XmlNamedNodeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4158,7 +4158,7 @@ impl XmlNamedNodeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4166,7 +4166,7 @@ impl XmlNamedNodeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4177,7 +4177,7 @@ impl XmlNamedNodeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4185,28 +4185,28 @@ impl XmlNamedNodeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Item(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedItem(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNamedItem(&self, node: P0) -> ::windows_core::Result @@ -4216,14 +4216,14 @@ impl XmlNamedNodeMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetNamedItem)(::windows_core::Interface::as_raw(this), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetNamedItem)(::windows_core::Interface::as_raw(this), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveNamedItem(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveNamedItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveNamedItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNamedItemNS(&self, namespaceuri: P0, name: &::windows_core::HSTRING) -> ::windows_core::Result @@ -4233,7 +4233,7 @@ impl XmlNamedNodeMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNamedItemNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNamedItemNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveNamedItemNS(&self, namespaceuri: P0, name: &::windows_core::HSTRING) -> ::windows_core::Result @@ -4243,7 +4243,7 @@ impl XmlNamedNodeMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveNamedItemNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveNamedItemNS)(::windows_core::Interface::as_raw(this), namespaceuri.into_param().abi(), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNamedItemNS(&self, node: P0) -> ::windows_core::Result @@ -4253,7 +4253,7 @@ impl XmlNamedNodeMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetNamedItemNS)(::windows_core::Interface::as_raw(this), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetNamedItemNS)(::windows_core::Interface::as_raw(this), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4297,7 +4297,7 @@ impl XmlNodeList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4305,7 +4305,7 @@ impl XmlNodeList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4313,7 +4313,7 @@ impl XmlNodeList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4324,7 +4324,7 @@ impl XmlNodeList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4332,21 +4332,21 @@ impl XmlNodeList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Item(&self, index: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4388,7 +4388,7 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -4402,77 +4402,77 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -4483,7 +4483,7 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -4494,7 +4494,7 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -4504,7 +4504,7 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -4514,35 +4514,35 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -4560,14 +4560,14 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4577,7 +4577,7 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4587,21 +4587,21 @@ impl XmlProcessingInstruction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4612,14 +4612,14 @@ impl XmlProcessingInstruction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Data(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4649,7 +4649,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4660,14 +4660,14 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubstringData(&self, offset: u32, count: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubstringData)(::windows_core::Interface::as_raw(this), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4690,7 +4690,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: P0) -> ::windows_core::Result<()> @@ -4704,77 +4704,77 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentNode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastChild(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastChild)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextSibling(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextSibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasChildNodes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasChildNodes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OwnerDocument(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OwnerDocument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -4785,7 +4785,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertBefore)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceChild(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result @@ -4796,7 +4796,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveChild(&self, childnode: P0) -> ::windows_core::Result @@ -4806,7 +4806,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveChild)(::windows_core::Interface::as_raw(this), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendChild(&self, newchild: P0) -> ::windows_core::Result @@ -4816,35 +4816,35 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendChild)(::windows_core::Interface::as_raw(this), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloneNode(&self, deep: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneNode)(::windows_core::Interface::as_raw(this), deep, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalName(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Prefix(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Prefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Normalize(&self) -> ::windows_core::Result<()> { @@ -4862,14 +4862,14 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodes(&self, xpath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleNodeNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4879,7 +4879,7 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleNodeNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectNodesNS(&self, xpath: &::windows_core::HSTRING, namespaces: P0) -> ::windows_core::Result @@ -4889,21 +4889,21 @@ impl XmlText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNodesNS)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xpath), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InnerText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInnerText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4914,7 +4914,7 @@ impl XmlText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplitText)(::windows_core::Interface::as_raw(this), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Data/Xml/Xsl/mod.rs b/crates/libs/windows/src/Windows/Data/Xml/Xsl/mod.rs index b25e2672fc..6220dd4aca 100644 --- a/crates/libs/windows/src/Windows/Data/Xml/Xsl/mod.rs +++ b/crates/libs/windows/src/Windows/Data/Xml/Xsl/mod.rs @@ -41,7 +41,7 @@ impl XsltProcessor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformToString)(::windows_core::Interface::as_raw(this), inputnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformToString)(::windows_core::Interface::as_raw(this), inputnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -52,7 +52,7 @@ impl XsltProcessor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformToDocument)(::windows_core::Interface::as_raw(this), inputnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformToDocument)(::windows_core::Interface::as_raw(this), inputnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -62,7 +62,7 @@ impl XsltProcessor { { Self::IXsltProcessorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), document.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), document.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs index 0cc7aa1a3d..83493c3bd6 100644 --- a/crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs @@ -5,35 +5,35 @@ impl IAdcControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResolutionInBits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionInBits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionInBits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChannelMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChannelMode(&self, value: ProviderAdcChannelMode) -> ::windows_core::Result<()> { @@ -44,7 +44,7 @@ impl IAdcControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelModeSupported)(::windows_core::Interface::as_raw(this), channelmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelModeSupported)(::windows_core::Interface::as_raw(this), channelmode, &mut result__).map(|| result__) } } pub fn AcquireChannel(&self, channel: i32) -> ::windows_core::Result<()> { @@ -59,7 +59,7 @@ impl IAdcControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValue)(::windows_core::Interface::as_raw(this), channelnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValue)(::windows_core::Interface::as_raw(this), channelnumber, &mut result__).map(|| result__) } } } @@ -89,7 +89,7 @@ impl IAdcProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Adc/mod.rs b/crates/libs/windows/src/Windows/Devices/Adc/mod.rs index efaa2e62e7..e91626b6fb 100644 --- a/crates/libs/windows/src/Windows/Devices/Adc/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Adc/mod.rs @@ -50,21 +50,21 @@ impl AdcChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadRatio(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -93,35 +93,35 @@ impl AdcController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResolutionInBits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionInBits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionInBits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChannelMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChannelMode(&self, value: AdcChannelMode) -> ::windows_core::Result<()> { @@ -132,14 +132,14 @@ impl AdcController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelModeSupported)(::windows_core::Interface::as_raw(this), channelmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelModeSupported)(::windows_core::Interface::as_raw(this), channelmode, &mut result__).map(|| result__) } } pub fn OpenChannel(&self, channelnumber: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenChannel)(::windows_core::Interface::as_raw(this), channelnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenChannel)(::windows_core::Interface::as_raw(this), channelnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Adc_Provider", feature = "Foundation_Collections"))] @@ -149,13 +149,13 @@ impl AdcController { { Self::IAdcControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IAdcControllerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Background/mod.rs b/crates/libs/windows/src/Windows/Devices/Background/mod.rs index 8eb965e164..fe63289b00 100644 --- a/crates/libs/windows/src/Windows/Devices/Background/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Background/mod.rs @@ -24,21 +24,21 @@ impl DeviceServicingDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpectedDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -63,14 +63,14 @@ impl DeviceUseDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs b/crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs index bb5ca5dc19..bc8b18afd3 100644 --- a/crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs @@ -281,7 +281,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flags)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flags)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFlags(&self, value: P0) -> ::windows_core::Result<()> @@ -295,7 +295,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocalName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -307,7 +307,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUuids)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -315,7 +315,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -323,7 +323,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataSections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataSections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -331,7 +331,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetManufacturerDataByCompanyId)(::windows_core::Interface::as_raw(this), companyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetManufacturerDataByCompanyId)(::windows_core::Interface::as_raw(this), companyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -339,7 +339,7 @@ impl BluetoothLEAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSectionsByType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSectionsByType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -371,7 +371,7 @@ impl BluetoothLEAdvertisementBytePattern { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataType(&self, value: u8) -> ::windows_core::Result<()> { @@ -382,7 +382,7 @@ impl BluetoothLEAdvertisementBytePattern { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOffset(&self, value: i16) -> ::windows_core::Result<()> { @@ -394,7 +394,7 @@ impl BluetoothLEAdvertisementBytePattern { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -412,7 +412,7 @@ impl BluetoothLEAdvertisementBytePattern { { Self::IBluetoothLEAdvertisementBytePatternFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), datatype, offset, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), datatype, offset, data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -449,7 +449,7 @@ impl BluetoothLEAdvertisementDataSection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataType(&self, value: u8) -> ::windows_core::Result<()> { @@ -461,7 +461,7 @@ impl BluetoothLEAdvertisementDataSection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -479,7 +479,7 @@ impl BluetoothLEAdvertisementDataSection { { Self::IBluetoothLEAdvertisementDataSectionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), datatype, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), datatype, data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -505,133 +505,133 @@ impl BluetoothLEAdvertisementDataTypes { pub fn Flags() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flags)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flags)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IncompleteService16BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncompleteService16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncompleteService16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CompleteService16BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteService16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteService16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IncompleteService32BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncompleteService32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncompleteService32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CompleteService32BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteService32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteService32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IncompleteService128BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncompleteService128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncompleteService128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CompleteService128BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteService128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteService128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ShortenedLocalName() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShortenedLocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShortenedLocalName)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CompleteLocalName() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteLocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteLocalName)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TxPowerLevel() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TxPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TxPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PeripheralConnectionIntervalRange() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeripheralConnectionIntervalRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeripheralConnectionIntervalRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceSolicitation16BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceSolicitation16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceSolicitation16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceSolicitation32BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceSolicitation32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceSolicitation32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceSolicitation128BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceSolicitation128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceSolicitation128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceData16BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceData16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceData16BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceData32BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceData32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceData32BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServiceData128BitUuids() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceData128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceData128BitUuids)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PublicTargetAddress() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicTargetAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicTargetAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RandomTargetAddress() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RandomTargetAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RandomTargetAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Appearance() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AdvertisingInterval() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisingInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ManufacturerSpecificData() -> ::windows_core::Result { Self::IBluetoothLEAdvertisementDataTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerSpecificData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerSpecificData)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -659,7 +659,7 @@ impl BluetoothLEAdvertisementFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAdvertisement(&self, value: P0) -> ::windows_core::Result<()> @@ -674,7 +674,7 @@ impl BluetoothLEAdvertisementFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytePatterns)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytePatterns)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -706,14 +706,14 @@ impl BluetoothLEAdvertisementPublisher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Advertisement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -731,7 +731,7 @@ impl BluetoothLEAdvertisementPublisher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -742,7 +742,7 @@ impl BluetoothLEAdvertisementPublisher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreferredTransmitPowerLevelInDBm(&self, value: P0) -> ::windows_core::Result<()> @@ -756,7 +756,7 @@ impl BluetoothLEAdvertisementPublisher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseExtendedAdvertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseExtendedAdvertisement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseExtendedAdvertisement(&self, value: bool) -> ::windows_core::Result<()> { @@ -767,7 +767,7 @@ impl BluetoothLEAdvertisementPublisher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAnonymous(&self, value: bool) -> ::windows_core::Result<()> { @@ -778,7 +778,7 @@ impl BluetoothLEAdvertisementPublisher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeTransmitPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeTransmitPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeTransmitPowerLevel(&self, value: bool) -> ::windows_core::Result<()> { @@ -791,7 +791,7 @@ impl BluetoothLEAdvertisementPublisher { { Self::IBluetoothLEAdvertisementPublisherFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), advertisement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), advertisement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -821,21 +821,21 @@ impl BluetoothLEAdvertisementPublisherStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedTransmitPowerLevelInDBm(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -860,84 +860,84 @@ impl BluetoothLEAdvertisementReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawSignalStrengthInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawSignalStrengthInDBm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluetoothAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdvertisementType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Advertisement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BluetoothAddressType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddressType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddressType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransmitPowerLevelInDBm(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAnonymous(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnonymous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnectable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnectable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnectable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScannable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScannable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScannable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDirected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDirected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDirected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScanResponse(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScanResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScanResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -969,42 +969,42 @@ impl BluetoothLEAdvertisementWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxSamplingInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinOutOfRangeTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxOutOfRangeTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxOutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScanningMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanningMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanningMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScanningMode(&self, value: BluetoothLEScanningMode) -> ::windows_core::Result<()> { @@ -1015,7 +1015,7 @@ impl BluetoothLEAdvertisementWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSignalStrengthFilter(&self, value: P0) -> ::windows_core::Result<()> @@ -1029,7 +1029,7 @@ impl BluetoothLEAdvertisementWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAdvertisementFilter(&self, value: P0) -> ::windows_core::Result<()> @@ -1054,7 +1054,7 @@ impl BluetoothLEAdvertisementWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Received)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Received)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReceived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1068,7 +1068,7 @@ impl BluetoothLEAdvertisementWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1079,7 +1079,7 @@ impl BluetoothLEAdvertisementWatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowExtendedAdvertisements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowExtendedAdvertisements)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowExtendedAdvertisements(&self, value: bool) -> ::windows_core::Result<()> { @@ -1092,7 +1092,7 @@ impl BluetoothLEAdvertisementWatcher { { Self::IBluetoothLEAdvertisementWatcherFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), advertisementfilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), advertisementfilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1122,7 +1122,7 @@ impl BluetoothLEAdvertisementWatcherStoppedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1154,7 +1154,7 @@ impl BluetoothLEManufacturerData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompanyId(&self, value: u16) -> ::windows_core::Result<()> { @@ -1166,7 +1166,7 @@ impl BluetoothLEManufacturerData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1184,7 +1184,7 @@ impl BluetoothLEManufacturerData { { Self::IBluetoothLEManufacturerDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), companyid, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), companyid, data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs b/crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs index 7304bee642..4cd474a177 100644 --- a/crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs @@ -143,21 +143,21 @@ impl BluetoothLEAdvertisementPublisherTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedTransmitPowerLevelInDBm(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedTransmitPowerLevelInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -182,7 +182,7 @@ impl BluetoothLEAdvertisementWatcherTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Bluetooth_Advertisement", feature = "Foundation_Collections"))] @@ -190,14 +190,14 @@ impl BluetoothLEAdvertisementWatcherTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignalStrengthFilter(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalStrengthFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -223,7 +223,7 @@ impl GattCharacteristicNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -231,21 +231,21 @@ impl GattCharacteristicNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Error(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EventTriggeringMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventTriggeringMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventTriggeringMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation_Collections"))] @@ -253,7 +253,7 @@ impl GattCharacteristicNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueChangedEvents)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueChangedEvents)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -278,7 +278,7 @@ impl GattServiceProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -286,7 +286,7 @@ impl GattServiceProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -297,7 +297,7 @@ impl GattServiceProviderConnection { pub fn AllServices() -> ::windows_core::Result> { Self::IGattServiceProviderConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -327,7 +327,7 @@ impl GattServiceProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -353,21 +353,21 @@ impl RfcommConnectionTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Incoming(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Incoming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Incoming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemoteDevice(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -393,7 +393,7 @@ impl RfcommInboundConnectionInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SdpRecord)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SdpRecord)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -409,7 +409,7 @@ impl RfcommInboundConnectionInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] @@ -424,7 +424,7 @@ impl RfcommInboundConnectionInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetServiceCapabilities(&self, value: super::BluetoothServiceCapabilities) -> ::windows_core::Result<()> { @@ -454,7 +454,7 @@ impl RfcommOutboundConnectionInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] diff --git a/crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs b/crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs index b25661872b..90ea61b532 100644 --- a/crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs @@ -842,21 +842,21 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptors)(::windows_core::Interface::as_raw(this), descriptoruuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDescriptors)(::windows_core::Interface::as_raw(this), descriptoruuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CharacteristicProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -867,21 +867,21 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttributeHandle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -889,21 +889,21 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadValueAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValueAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValueAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadValueWithCacheModeAsync(&self, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValueWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValueWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -914,7 +914,7 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -925,21 +925,21 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueWithOptionAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), writeoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueWithOptionAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), writeoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadClientCharacteristicConfigurationDescriptorAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadClientCharacteristicConfigurationDescriptorAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadClientCharacteristicConfigurationDescriptorAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteClientCharacteristicConfigurationDescriptorAsync(&self, clientcharacteristicconfigurationdescriptorvalue: GattClientCharacteristicConfigurationDescriptorValue) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteClientCharacteristicConfigurationDescriptorAsync)(::windows_core::Interface::as_raw(this), clientcharacteristicconfigurationdescriptorvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteClientCharacteristicConfigurationDescriptorAsync)(::windows_core::Interface::as_raw(this), clientcharacteristicconfigurationdescriptorvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValueChanged(&self, valuechangedhandler: P0) -> ::windows_core::Result @@ -949,7 +949,7 @@ impl GattCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), valuechangedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), valuechangedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveValueChanged(&self, valuechangedeventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -960,7 +960,7 @@ impl GattCharacteristic { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -968,35 +968,35 @@ impl GattCharacteristic { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllDescriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllDescriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDescriptorsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDescriptorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDescriptorsWithCacheModeAsync(&self, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptorsWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDescriptorsWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDescriptorsForUuidAsync(&self, descriptoruuid: ::windows_core::GUID) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptorsForUuidAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDescriptorsForUuidAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDescriptorsForUuidWithCacheModeAsync(&self, descriptoruuid: ::windows_core::GUID, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptorsForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDescriptorsForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1007,7 +1007,7 @@ impl GattCharacteristic { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueWithResultAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueWithResultAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1018,21 +1018,21 @@ impl GattCharacteristic { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueWithResultAndOptionAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), writeoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueWithResultAndOptionAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), writeoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteClientCharacteristicConfigurationDescriptorWithResultAsync(&self, clientcharacteristicconfigurationdescriptorvalue: GattClientCharacteristicConfigurationDescriptorValue) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteClientCharacteristicConfigurationDescriptorWithResultAsync)(::windows_core::Interface::as_raw(this), clientcharacteristicconfigurationdescriptorvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteClientCharacteristicConfigurationDescriptorWithResultAsync)(::windows_core::Interface::as_raw(this), clientcharacteristicconfigurationdescriptorvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn ConvertShortIdToUuid(shortid: u16) -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1058,487 +1058,487 @@ impl GattCharacteristicUuids { pub fn BatteryLevel() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatteryLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatteryLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressureFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressureFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressureFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressureMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressureMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressureMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BodySensorLocation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BodySensorLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BodySensorLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CscFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CscFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CscFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CscMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CscMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CscMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GlucoseFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GlucoseFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GlucoseFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GlucoseMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GlucoseMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GlucoseMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GlucoseMeasurementContext() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GlucoseMeasurementContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GlucoseMeasurementContext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HeartRateControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartRateControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartRateControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HeartRateMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartRateMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartRateMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IntermediateCuffPressure() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntermediateCuffPressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntermediateCuffPressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IntermediateTemperature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntermediateTemperature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntermediateTemperature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MeasurementInterval() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeasurementInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeasurementInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RecordAccessControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordAccessControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordAccessControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RscFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RscFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RscFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RscMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RscMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RscMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SCControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SCControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SCControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SensorLocation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SensorLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SensorLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TemperatureMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TemperatureMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TemperatureMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TemperatureType() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TemperatureType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TemperatureType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertCategoryId() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertCategoryId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertCategoryId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertCategoryIdBitMask() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertCategoryIdBitMask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertCategoryIdBitMask)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertLevel() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertNotificationControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertNotificationControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertNotificationControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertStatus() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GapAppearance() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GapAppearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GapAppearance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BootKeyboardInputReport() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BootKeyboardInputReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BootKeyboardInputReport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BootKeyboardOutputReport() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BootKeyboardOutputReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BootKeyboardOutputReport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BootMouseInputReport() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BootMouseInputReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BootMouseInputReport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CurrentTime() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPowerControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPowerControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPowerControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPowerFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPowerFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPowerFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPowerMeasurement() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPowerMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPowerMeasurement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPowerVector() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPowerVector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPowerVector)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DateTime() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DayDateTime() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DayOfWeek() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GapDeviceName() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GapDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GapDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DstOffset() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DstOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DstOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExactTime256() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExactTime256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExactTime256)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FirmwareRevisionString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HardwareRevisionString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HidControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HidControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HidControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HidInformation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HidInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HidInformation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ieee1107320601RegulatoryCertificationDataList() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ieee1107320601RegulatoryCertificationDataList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ieee1107320601RegulatoryCertificationDataList)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LnControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LnControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LnControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LnFeature() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LnFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LnFeature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocalTimeInformation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalTimeInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalTimeInformation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationAndSpeed() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationAndSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationAndSpeed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ManufacturerNameString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerNameString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerNameString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ModelNumberString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelNumberString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelNumberString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Navigation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Navigation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Navigation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn NewAlert() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewAlert)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewAlert)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GapPeripheralPreferredConnectionParameters() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GapPeripheralPreferredConnectionParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GapPeripheralPreferredConnectionParameters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GapPeripheralPrivacyFlag() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GapPeripheralPrivacyFlag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GapPeripheralPrivacyFlag)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PnpId() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PnpId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PnpId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PositionQuality() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProtocolMode() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GapReconnectionAddress() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GapReconnectionAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GapReconnectionAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ReferenceTimeInformation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceTimeInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceTimeInformation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Report() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ReportMap() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportMap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportMap)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RingerControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RingerControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RingerControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RingerSetting() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RingerSetting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RingerSetting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ScanIntervalWindow() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanIntervalWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanIntervalWindow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ScanRefresh() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanRefresh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanRefresh)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SerialNumberString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumberString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialNumberString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GattServiceChanged() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GattServiceChanged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GattServiceChanged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SoftwareRevisionString() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareRevisionString)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SupportedNewAlertCategory() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedNewAlertCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedNewAlertCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SupportUnreadAlertCategory() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportUnreadAlertCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportUnreadAlertCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SystemId() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeAccuracy() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeSource() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeUpdateControlPoint() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeUpdateControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeUpdateControlPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeUpdateState() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeUpdateState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeUpdateState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeWithDst() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeWithDst)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeWithDst)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TimeZone() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeZone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeZone)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TxPowerLevel() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TxPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TxPowerLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UnreadAlertStatus() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattCharacteristicUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnreadAlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnreadAlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1564,14 +1564,14 @@ impl GattCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1579,7 +1579,7 @@ impl GattCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1604,28 +1604,28 @@ impl GattClientNotificationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribedClient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribedClient)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BytesSent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1650,7 +1650,7 @@ impl GattDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -1661,28 +1661,28 @@ impl GattDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttributeHandle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadValueAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValueAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValueAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadValueWithCacheModeAsync(&self, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadValueWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadValueWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1693,7 +1693,7 @@ impl GattDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1704,14 +1704,14 @@ impl GattDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteValueWithResultAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteValueWithResultAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn ConvertShortIdToUuid(shortid: u16) -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1737,37 +1737,37 @@ impl GattDescriptorUuids { pub fn CharacteristicAggregateFormat() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicAggregateFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicAggregateFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CharacteristicExtendedProperties() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CharacteristicPresentationFormat() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicPresentationFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicPresentationFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CharacteristicUserDescription() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicUserDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicUserDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ClientCharacteristicConfiguration() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCharacteristicConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCharacteristicConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ServerCharacteristicConfiguration() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDescriptorUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCharacteristicConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCharacteristicConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1788,14 +1788,14 @@ impl GattDescriptorsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1803,7 +1803,7 @@ impl GattDescriptorsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1834,7 +1834,7 @@ impl GattDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharacteristics)(::windows_core::Interface::as_raw(this), characteristicuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharacteristics)(::windows_core::Interface::as_raw(this), characteristicuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1842,28 +1842,28 @@ impl GattDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIncludedServices)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIncludedServices)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttributeHandle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeHandle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1871,7 +1871,7 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1879,7 +1879,7 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1887,7 +1887,7 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllCharacteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllCharacteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1895,7 +1895,7 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllIncludedServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllIncludedServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -1903,21 +1903,21 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Session(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SharingMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -1925,102 +1925,102 @@ impl GattDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAsync(&self, sharingmode: GattSharingMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), sharingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), sharingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCharacteristicsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCharacteristicsWithCacheModeAsync(&self, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharacteristicsWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharacteristicsWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCharacteristicsForUuidAsync(&self, characteristicuuid: ::windows_core::GUID) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharacteristicsForUuidAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharacteristicsForUuidAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCharacteristicsForUuidWithCacheModeAsync(&self, characteristicuuid: ::windows_core::GUID, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharacteristicsForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharacteristicsForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIncludedServicesAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIncludedServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIncludedServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIncludedServicesWithCacheModeAsync(&self, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIncludedServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIncludedServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIncludedServicesForUuidAsync(&self, serviceuuid: ::windows_core::GUID) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIncludedServicesForUuidAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIncludedServicesForUuidAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIncludedServicesForUuidWithCacheModeAsync(&self, serviceuuid: ::windows_core::GUID, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIncludedServicesForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceuuid, cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIncludedServicesForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceuuid, cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IGattDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromUuid(serviceuuid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IGattDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromUuid)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromUuid)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetDeviceSelectorFromShortId(serviceshortid: u16) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IGattDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromShortId)(::windows_core::Interface::as_raw(this), serviceshortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromShortId)(::windows_core::Interface::as_raw(this), serviceshortid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn ConvertShortIdToUuid(shortid: u16) -> ::windows_core::Result<::windows_core::GUID> { Self::IGattDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertShortIdToUuid)(::windows_core::Interface::as_raw(this), shortid, &mut result__).map(|| result__) }) } pub fn FromIdWithSharingModeAsync(deviceid: &::windows_core::HSTRING, sharingmode: GattSharingMode) -> ::windows_core::Result> { Self::IGattDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdWithSharingModeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), sharingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdWithSharingModeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), sharingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceId(bluetoothdeviceid: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -2029,7 +2029,7 @@ impl GattDeviceService { { Self::IGattDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceId)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceId)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(bluetoothdeviceid: P0, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result<::windows_core::HSTRING> @@ -2038,7 +2038,7 @@ impl GattDeviceService { { Self::IGattDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceIdAndUuid(bluetoothdeviceid: P0, serviceuuid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> @@ -2047,7 +2047,7 @@ impl GattDeviceService { { Self::IGattDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdAndUuid)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdAndUuid)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(bluetoothdeviceid: P0, serviceuuid: ::windows_core::GUID, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result<::windows_core::HSTRING> @@ -2056,7 +2056,7 @@ impl GattDeviceService { { Self::IGattDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), serviceuuid, cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdeviceid.into_param().abi(), serviceuuid, cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2091,14 +2091,14 @@ impl GattDeviceServicesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2106,7 +2106,7 @@ impl GattDeviceServicesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Services)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Services)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2131,7 +2131,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2139,28 +2139,28 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CharacteristicProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WriteProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateDescriptorAsync(&self, descriptoruuid: ::windows_core::GUID, parameters: P0) -> ::windows_core::Result> @@ -2170,7 +2170,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDescriptorAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, parameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDescriptorAsync)(::windows_core::Interface::as_raw(this), descriptoruuid, parameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2178,14 +2178,14 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2193,7 +2193,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2201,7 +2201,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribedClients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribedClients)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubscribedClientsChanged(&self, handler: P0) -> ::windows_core::Result @@ -2211,7 +2211,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribedClientsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribedClientsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSubscribedClientsChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2225,7 +2225,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2239,7 +2239,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWriteRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2254,7 +2254,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyValueAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2266,7 +2266,7 @@ impl GattLocalCharacteristic { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyValueForSubscribedClientAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), subscribedclient.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyValueForSubscribedClientAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), subscribedclient.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2307,7 +2307,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharacteristicProperties(&self, value: GattCharacteristicProperties) -> ::windows_core::Result<()> { @@ -2318,7 +2318,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicProperties)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReadProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -2329,7 +2329,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWriteProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -2340,7 +2340,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUserDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2351,7 +2351,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2359,7 +2359,7 @@ impl GattLocalCharacteristicParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2384,14 +2384,14 @@ impl GattLocalCharacteristicResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2416,7 +2416,7 @@ impl GattLocalDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2424,21 +2424,21 @@ impl GattLocalDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WriteProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadRequested(&self, handler: P0) -> ::windows_core::Result @@ -2448,7 +2448,7 @@ impl GattLocalDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2462,7 +2462,7 @@ impl GattLocalDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWriteRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2507,7 +2507,7 @@ impl GattLocalDescriptorParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaticValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReadProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -2518,7 +2518,7 @@ impl GattLocalDescriptorParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWriteProtectionLevel(&self, value: GattProtectionLevel) -> ::windows_core::Result<()> { @@ -2529,7 +2529,7 @@ impl GattLocalDescriptorParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2554,14 +2554,14 @@ impl GattLocalDescriptorResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2586,7 +2586,7 @@ impl GattLocalService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateCharacteristicAsync(&self, characteristicuuid: ::windows_core::GUID, parameters: P0) -> ::windows_core::Result> @@ -2596,7 +2596,7 @@ impl GattLocalService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCharacteristicAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, parameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCharacteristicAsync)(::windows_core::Interface::as_raw(this), characteristicuuid, parameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2604,7 +2604,7 @@ impl GattLocalService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2629,47 +2629,47 @@ impl GattPresentationFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Exponent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exponent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exponent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Unit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Namespace(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Description(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluetoothSigAssignedNumbers() -> ::windows_core::Result { Self::IGattPresentationFormatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothSigAssignedNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothSigAssignedNumbers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FromParts(formattype: u8, exponent: i32, unit: u16, namespaceid: u8, description: u16) -> ::windows_core::Result { Self::IGattPresentationFormatStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), formattype, exponent, unit, namespaceid, description, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), formattype, exponent, unit, namespaceid, description, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2700,163 +2700,163 @@ impl GattPresentationFormatTypes { pub fn Boolean() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Boolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Boolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Bit2() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bit2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bit2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Nibble() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nibble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nibble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt8() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt12() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt16() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt24() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt24)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt24)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt32() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt48() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt48)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt48)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt64() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UInt128() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UInt128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UInt128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt8() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt12() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt16() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt24() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt24)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt24)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt32() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt48() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt48)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt48)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt64() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SInt128() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SInt128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SInt128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Float32() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Float32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Float32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Float64() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Float64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Float64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SFloat() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SFloat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SFloat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Float() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Float)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Float)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DUInt16() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Utf8() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Utf8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Utf8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Utf16() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Utf16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Utf16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Struct() -> ::windows_core::Result { Self::IGattPresentationFormatTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Struct)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Struct)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2873,103 +2873,103 @@ impl GattProtocolError { pub fn InvalidHandle() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidHandle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidHandle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ReadNotPermitted() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadNotPermitted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadNotPermitted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn WriteNotPermitted() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteNotPermitted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteNotPermitted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InvalidPdu() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidPdu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidPdu)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InsufficientAuthentication() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsufficientAuthentication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsufficientAuthentication)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RequestNotSupported() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNotSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNotSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InvalidOffset() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InsufficientAuthorization() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsufficientAuthorization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsufficientAuthorization)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PrepareQueueFull() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareQueueFull)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareQueueFull)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AttributeNotFound() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeNotFound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeNotFound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AttributeNotLong() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeNotLong)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeNotLong)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InsufficientEncryptionKeySize() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsufficientEncryptionKeySize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsufficientEncryptionKeySize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InvalidAttributeValueLength() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidAttributeValueLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidAttributeValueLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UnlikelyError() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnlikelyError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnlikelyError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InsufficientEncryption() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsufficientEncryption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsufficientEncryption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UnsupportedGroupType() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsupportedGroupType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsupportedGroupType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InsufficientResources() -> ::windows_core::Result { Self::IGattProtocolErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsufficientResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsufficientResources)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2990,21 +2990,21 @@ impl GattReadClientCharacteristicConfigurationDescriptorResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ClientCharacteristicConfigurationDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCharacteristicConfigurationDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCharacteristicConfigurationDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3029,21 +3029,21 @@ impl GattReadRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -3053,7 +3053,7 @@ impl GattReadRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3094,21 +3094,21 @@ impl GattReadRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRequestAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3133,7 +3133,7 @@ impl GattReadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -3141,14 +3141,14 @@ impl GattReadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3189,14 +3189,14 @@ impl GattReliableWriteTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CommitWithResultAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3221,14 +3221,14 @@ impl GattRequestStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3253,14 +3253,14 @@ impl GattServiceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdvertisementStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdvertisementStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -3270,7 +3270,7 @@ impl GattServiceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdvertisementStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3295,7 +3295,7 @@ impl GattServiceProvider { pub fn CreateAsync(serviceuuid: ::windows_core::GUID) -> ::windows_core::Result> { Self::IGattServiceProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3325,14 +3325,14 @@ impl GattServiceProviderAdvertisementStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3368,7 +3368,7 @@ impl GattServiceProviderAdvertisingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnectable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnectable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDiscoverable(&self, value: bool) -> ::windows_core::Result<()> { @@ -3379,7 +3379,7 @@ impl GattServiceProviderAdvertisingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscoverable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscoverable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -3395,7 +3395,7 @@ impl GattServiceProviderAdvertisingParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3420,14 +3420,14 @@ impl GattServiceProviderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceProvider(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3448,133 +3448,133 @@ impl GattServiceUuids { pub fn Battery() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Battery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Battery)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressure() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingSpeedAndCadence() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingSpeedAndCadence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingSpeedAndCadence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GenericAccess() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenericAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenericAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GenericAttribute() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenericAttribute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenericAttribute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Glucose() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Glucose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Glucose)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HealthThermometer() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HealthThermometer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HealthThermometer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HeartRate() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RunningSpeedAndCadence() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunningSpeedAndCadence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunningSpeedAndCadence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AlertNotification() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlertNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlertNotification)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CurrentTime() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPower() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DeviceInformation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HumanInterfaceDevice() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HumanInterfaceDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HumanInterfaceDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ImmediateAlert() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImmediateAlert)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImmediateAlert)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LinkLoss() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkLoss)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkLoss)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationAndNavigation() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationAndNavigation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationAndNavigation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn NextDstChange() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextDstChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextDstChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PhoneAlertStatus() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneAlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneAlertStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ReferenceTimeUpdate() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceTimeUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceTimeUpdate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ScanParameters() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanParameters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TxPower() -> ::windows_core::Result<::windows_core::GUID> { Self::IGattServiceUuidsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TxPower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TxPower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -3605,14 +3605,14 @@ impl GattSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanMaintainConnection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaintainConnection(&self, value: bool) -> ::windows_core::Result<()> { @@ -3623,21 +3623,21 @@ impl GattSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaintainConnection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPduSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPduSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPduSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SessionStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPduSizeChanged(&self, handler: P0) -> ::windows_core::Result @@ -3647,7 +3647,7 @@ impl GattSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPduSizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPduSizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMaxPduSizeChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3661,7 +3661,7 @@ impl GattSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3674,7 +3674,7 @@ impl GattSession { { Self::IGattSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromDeviceIdAsync)(::windows_core::Interface::as_raw(this), deviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromDeviceIdAsync)(::windows_core::Interface::as_raw(this), deviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3704,14 +3704,14 @@ impl GattSessionStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3736,14 +3736,14 @@ impl GattSubscribedClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxNotificationSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxNotificationSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxNotificationSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxNotificationSizeChanged(&self, handler: P0) -> ::windows_core::Result @@ -3753,7 +3753,7 @@ impl GattSubscribedClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxNotificationSizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxNotificationSizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMaxNotificationSizeChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3783,14 +3783,14 @@ impl GattValueChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacteristicValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacteristicValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3816,28 +3816,28 @@ impl GattWriteRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Offset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Option(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Option)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Option)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -3847,7 +3847,7 @@ impl GattWriteRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3884,21 +3884,21 @@ impl GattWriteRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRequestAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3923,14 +3923,14 @@ impl GattWriteResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolError(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs b/crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs index 9dfae861f9..e7ad643150 100644 --- a/crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs @@ -147,21 +147,21 @@ impl RfcommDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionServiceName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -169,7 +169,7 @@ impl RfcommDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Networking_Sockets")] @@ -177,7 +177,7 @@ impl RfcommDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -185,7 +185,7 @@ impl RfcommDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSdpRawAttributesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSdpRawAttributesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -193,14 +193,14 @@ impl RfcommDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSdpRawAttributesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSdpRawAttributesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Device(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -208,7 +208,7 @@ impl RfcommDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -216,13 +216,13 @@ impl RfcommDeviceService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IRfcommDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector(serviceid: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -231,7 +231,7 @@ impl RfcommDeviceService { { Self::IRfcommDeviceServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDevice(bluetoothdevice: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -240,7 +240,7 @@ impl RfcommDeviceService { { Self::IRfcommDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDevice)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDevice)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceWithCacheMode(bluetoothdevice: P0, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result<::windows_core::HSTRING> @@ -249,7 +249,7 @@ impl RfcommDeviceService { { Self::IRfcommDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceAndServiceId(bluetoothdevice: P0, serviceid: P1) -> ::windows_core::Result<::windows_core::HSTRING> @@ -259,7 +259,7 @@ impl RfcommDeviceService { { Self::IRfcommDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceAndServiceId)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), serviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceAndServiceId)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), serviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorForBluetoothDeviceAndServiceIdWithCacheMode(bluetoothdevice: P0, serviceid: P1, cachemode: super::BluetoothCacheMode) -> ::windows_core::Result<::windows_core::HSTRING> @@ -269,7 +269,7 @@ impl RfcommDeviceService { { Self::IRfcommDeviceServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceAndServiceIdWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), serviceid.into_param().abi(), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorForBluetoothDeviceAndServiceIdWithCacheMode)(::windows_core::Interface::as_raw(this), bluetoothdevice.into_param().abi(), serviceid.into_param().abi(), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -304,7 +304,7 @@ impl RfcommDeviceServicesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -312,7 +312,7 @@ impl RfcommDeviceServicesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Services)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Services)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -337,69 +337,69 @@ impl RfcommServiceId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AsShortId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsShortId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsShortId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromUuid(uuid: ::windows_core::GUID) -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromUuid)(::windows_core::Interface::as_raw(this), uuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromUuid)(::windows_core::Interface::as_raw(this), uuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromShortId(shortid: u32) -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromShortId)(::windows_core::Interface::as_raw(this), shortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromShortId)(::windows_core::Interface::as_raw(this), shortid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SerialPort() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialPort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ObexObjectPush() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ObexObjectPush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ObexObjectPush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ObexFileTransfer() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ObexFileTransfer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ObexFileTransfer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PhoneBookAccessPce() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneBookAccessPce)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneBookAccessPce)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PhoneBookAccessPse() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneBookAccessPse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneBookAccessPse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GenericFileTransfer() -> ::windows_core::Result { Self::IRfcommServiceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenericFileTransfer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenericFileTransfer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -429,7 +429,7 @@ impl RfcommServiceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -437,7 +437,7 @@ impl RfcommServiceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SdpRawAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SdpRawAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -466,7 +466,7 @@ impl RfcommServiceProvider { { Self::IRfcommServiceProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs b/crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs index 564d7f624b..59722dbcc1 100644 --- a/crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs @@ -466,49 +466,49 @@ impl BluetoothAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BluetoothAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsClassicSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsClassicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsClassicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLowEnergySupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLowEnergySupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLowEnergySupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPeripheralRoleSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPeripheralRoleSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPeripheralRoleSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCentralRoleSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCentralRoleSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCentralRoleSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAdvertisementOffloadSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAdvertisementOffloadSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAdvertisementOffloadSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Radios")] @@ -516,53 +516,53 @@ impl BluetoothAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRadioAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRadioAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AreClassicSecureConnectionsSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreClassicSecureConnectionsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreClassicSecureConnectionsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AreLowEnergySecureConnectionsSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreLowEnergySecureConnectionsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreLowEnergySecureConnectionsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsExtendedAdvertisingSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExtendedAdvertisingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExtendedAdvertisingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxAdvertisementDataLength(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAdvertisementDataLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAdvertisementDataLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBluetoothAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IBluetoothAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -592,40 +592,40 @@ impl BluetoothClassOfDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MajorClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MajorClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MajorClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinorClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinorClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinorClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FromRawValue(rawvalue: u32) -> ::windows_core::Result { Self::IBluetoothClassOfDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromRawValue)(::windows_core::Interface::as_raw(this), rawvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromRawValue)(::windows_core::Interface::as_raw(this), rawvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromParts(majorclass: BluetoothMajorClass, minorclass: BluetoothMinorClass, servicecapabilities: BluetoothServiceCapabilities) -> ::windows_core::Result { Self::IBluetoothClassOfDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), majorclass, minorclass, servicecapabilities, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), majorclass, minorclass, servicecapabilities, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -656,7 +656,7 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking")] @@ -664,21 +664,21 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClassOfDevice(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClassOfDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClassOfDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -686,7 +686,7 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SdpRecords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SdpRecords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation_Collections", feature = "deprecated"))] @@ -694,21 +694,21 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RfcommServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RfcommServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluetoothAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NameChanged(&self, handler: P0) -> ::windows_core::Result @@ -718,7 +718,7 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNameChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -732,7 +732,7 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SdpRecordsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SdpRecordsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSdpRecordsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -746,7 +746,7 @@ impl BluetoothDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -758,7 +758,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -766,7 +766,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -774,7 +774,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] @@ -782,7 +782,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRfcommServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRfcommServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] @@ -790,7 +790,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRfcommServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRfcommServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] @@ -801,7 +801,7 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRfcommServicesForIdAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRfcommServicesForIdAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_Rfcomm")] @@ -812,27 +812,27 @@ impl BluetoothDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRfcommServicesForIdWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRfcommServicesForIdWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceid.into_param().abi(), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BluetoothDeviceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WasSecureConnectionUsedForPairing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasSecureConnectionUsedForPairing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasSecureConnectionUsedForPairing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBluetoothDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking")] @@ -842,43 +842,43 @@ impl BluetoothDevice { { Self::IBluetoothDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromHostNameAsync)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromHostNameAsync)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromBluetoothAddressAsync(address: u64) -> ::windows_core::Result> { Self::IBluetoothDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBluetoothAddressAsync)(::windows_core::Interface::as_raw(this), address, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBluetoothAddressAsync)(::windows_core::Interface::as_raw(this), address, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromPairingState(pairingstate: bool) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPairingState)(::windows_core::Interface::as_raw(this), pairingstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPairingState)(::windows_core::Interface::as_raw(this), pairingstate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromConnectionStatus(connectionstatus: BluetoothConnectionStatus) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromConnectionStatus)(::windows_core::Interface::as_raw(this), connectionstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromConnectionStatus)(::windows_core::Interface::as_raw(this), connectionstatus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromDeviceName(devicename: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromDeviceName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(devicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromDeviceName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(devicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromBluetoothAddress(bluetoothaddress: u64) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddress)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddress)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromClassOfDevice(classofdevice: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -887,7 +887,7 @@ impl BluetoothDevice { { Self::IBluetoothDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromClassOfDevice)(::windows_core::Interface::as_raw(this), classofdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromClassOfDevice)(::windows_core::Interface::as_raw(this), classofdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -926,27 +926,27 @@ impl BluetoothDeviceId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsClassicDevice(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsClassicDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsClassicDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLowEnergyDevice(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLowEnergyDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLowEnergyDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBluetoothDeviceIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -976,33 +976,33 @@ impl BluetoothLEAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubCategory(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FromRawValue(rawvalue: u16) -> ::windows_core::Result { Self::IBluetoothLEAppearanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromRawValue)(::windows_core::Interface::as_raw(this), rawvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromRawValue)(::windows_core::Interface::as_raw(this), rawvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromParts(appearancecategory: u16, appearancesubcategory: u16) -> ::windows_core::Result { Self::IBluetoothLEAppearanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), appearancecategory, appearancesubcategory, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromParts)(::windows_core::Interface::as_raw(this), appearancecategory, appearancesubcategory, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1028,133 +1028,133 @@ impl BluetoothLEAppearanceCategories { pub fn Uncategorized() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uncategorized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uncategorized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Phone() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Phone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Phone)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Computer() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Computer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Computer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Watch() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Watch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Watch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Clock() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clock)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Display() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RemoteControl() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteControl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EyeGlasses() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EyeGlasses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EyeGlasses)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Tag() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Keyring() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keyring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keyring)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediaPlayer() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BarcodeScanner() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BarcodeScanner)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BarcodeScanner)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Thermometer() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thermometer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thermometer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HeartRate() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressure() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HumanInterfaceDevice() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HumanInterfaceDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HumanInterfaceDevice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GlucoseMeter() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GlucoseMeter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GlucoseMeter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RunningWalking() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunningWalking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunningWalking)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Cycling() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cycling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cycling)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PulseOximeter() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PulseOximeter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PulseOximeter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn WeightScale() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WeightScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WeightScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OutdoorSportActivity() -> ::windows_core::Result { Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutdoorSportActivity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutdoorSportActivity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1171,169 +1171,169 @@ impl BluetoothLEAppearanceSubcategories { pub fn Generic() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Generic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Generic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SportsWatch() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SportsWatch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SportsWatch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ThermometerEar() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThermometerEar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThermometerEar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HeartRateBelt() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartRateBelt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartRateBelt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressureArm() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressureArm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressureArm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BloodPressureWrist() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BloodPressureWrist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BloodPressureWrist)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Keyboard() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keyboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keyboard)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Mouse() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mouse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mouse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Joystick() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Joystick)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Joystick)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gamepad() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gamepad)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gamepad)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DigitizerTablet() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DigitizerTablet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DigitizerTablet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CardReader() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardReader)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DigitalPen() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DigitalPen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DigitalPen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BarcodeScanner() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BarcodeScanner)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BarcodeScanner)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RunningWalkingInShoe() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunningWalkingInShoe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunningWalkingInShoe)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RunningWalkingOnShoe() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunningWalkingOnShoe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunningWalkingOnShoe)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RunningWalkingOnHip() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunningWalkingOnHip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunningWalkingOnHip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingComputer() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingComputer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingComputer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingSpeedSensor() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingSpeedSensor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingSpeedSensor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingCadenceSensor() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingCadenceSensor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingCadenceSensor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingPowerSensor() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingPowerSensor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingPowerSensor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CyclingSpeedCadenceSensor() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CyclingSpeedCadenceSensor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CyclingSpeedCadenceSensor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OximeterFingertip() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OximeterFingertip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OximeterFingertip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OximeterWristWorn() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OximeterWristWorn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OximeterWristWorn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationDisplay() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationDisplay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationDisplay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationNavigationDisplay() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationNavigationDisplay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationNavigationDisplay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationPod() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationPod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationPod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LocationNavigationPod() -> ::windows_core::Result { Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationNavigationPod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationNavigationPod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1354,21 +1354,21 @@ impl BluetoothLEConnectionParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionLatency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1393,14 +1393,14 @@ impl BluetoothLEConnectionPhy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReceiveInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceiveInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceiveInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1425,21 +1425,21 @@ impl BluetoothLEConnectionPhyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUncoded1MPhy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUncoded1MPhy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUncoded2MPhy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUncoded2MPhy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUncoded2MPhy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCodedPhy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCodedPhy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCodedPhy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1465,14 +1465,14 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation_Collections", feature = "deprecated"))] @@ -1480,21 +1480,21 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GattServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GattServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluetoothAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "deprecated"))] @@ -1502,7 +1502,7 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGattService)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGattService)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NameChanged(&self, handler: P0) -> ::windows_core::Result @@ -1512,7 +1512,7 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNameChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1526,7 +1526,7 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GattServicesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GattServicesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGattServicesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1540,7 +1540,7 @@ impl BluetoothLEDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1552,21 +1552,21 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Appearance(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BluetoothAddressType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothAddressType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothAddressType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -1574,7 +1574,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAccessInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -1582,7 +1582,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -1590,7 +1590,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGattServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGattServicesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -1598,7 +1598,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGattServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGattServicesWithCacheModeAsync)(::windows_core::Interface::as_raw(this), cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -1606,7 +1606,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGattServicesForUuidAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGattServicesForUuidAsync)(::windows_core::Interface::as_raw(this), serviceuuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] @@ -1614,35 +1614,35 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGattServicesForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceuuid, cachemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGattServicesForUuidWithCacheModeAsync)(::windows_core::Interface::as_raw(this), serviceuuid, cachemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BluetoothDeviceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluetoothDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluetoothDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WasSecureConnectionUsedForPairing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasSecureConnectionUsedForPairing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasSecureConnectionUsedForPairing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetConnectionParameters(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConnectionPhy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionPhy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionPhy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPreferredConnectionParameters(&self, preferredconnectionparameters: P0) -> ::windows_core::Result @@ -1652,7 +1652,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPreferredConnectionParameters)(::windows_core::Interface::as_raw(this), preferredconnectionparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPreferredConnectionParameters)(::windows_core::Interface::as_raw(this), preferredconnectionparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionParametersChanged(&self, handler: P0) -> ::windows_core::Result @@ -1662,7 +1662,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionParametersChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionParametersChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionParametersChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1676,7 +1676,7 @@ impl BluetoothLEDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionPhyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionPhyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionPhyChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1686,49 +1686,49 @@ impl BluetoothLEDevice { pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBluetoothLEDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromBluetoothAddressAsync(bluetoothaddress: u64) -> ::windows_core::Result> { Self::IBluetoothLEDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBluetoothAddressAsync)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBluetoothAddressAsync)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromPairingState(pairingstate: bool) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPairingState)(::windows_core::Interface::as_raw(this), pairingstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPairingState)(::windows_core::Interface::as_raw(this), pairingstate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromConnectionStatus(connectionstatus: BluetoothConnectionStatus) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromConnectionStatus)(::windows_core::Interface::as_raw(this), connectionstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromConnectionStatus)(::windows_core::Interface::as_raw(this), connectionstatus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromDeviceName(devicename: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromDeviceName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(devicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromDeviceName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(devicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromBluetoothAddress(bluetoothaddress: u64) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddress)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddress)(::windows_core::Interface::as_raw(this), bluetoothaddress, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType(bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType)(::windows_core::Interface::as_raw(this), bluetoothaddress, bluetoothaddresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType)(::windows_core::Interface::as_raw(this), bluetoothaddress, bluetoothaddresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromAppearance(appearance: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -1737,13 +1737,13 @@ impl BluetoothLEDevice { { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromAppearance)(::windows_core::Interface::as_raw(this), appearance.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromAppearance)(::windows_core::Interface::as_raw(this), appearance.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromBluetoothAddressWithBluetoothAddressTypeAsync(bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType) -> ::windows_core::Result> { Self::IBluetoothLEDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBluetoothAddressWithBluetoothAddressTypeAsync)(::windows_core::Interface::as_raw(this), bluetoothaddress, bluetoothaddresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBluetoothAddressWithBluetoothAddressTypeAsync)(::windows_core::Interface::as_raw(this), bluetoothaddress, bluetoothaddresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -1782,46 +1782,46 @@ impl BluetoothLEPreferredConnectionParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionLatency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinConnectionInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxConnectionInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxConnectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Balanced() -> ::windows_core::Result { Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Balanced)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Balanced)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ThroughputOptimized() -> ::windows_core::Result { Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThroughputOptimized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThroughputOptimized)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PowerOptimized() -> ::windows_core::Result { Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerOptimized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerOptimized)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1852,7 +1852,7 @@ impl BluetoothLEPreferredConnectionParametersRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -1888,7 +1888,7 @@ impl BluetoothSignalStrengthFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InRangeThresholdInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InRangeThresholdInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInRangeThresholdInDBm(&self, value: P0) -> ::windows_core::Result<()> @@ -1902,7 +1902,7 @@ impl BluetoothSignalStrengthFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutOfRangeThresholdInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutOfRangeThresholdInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutOfRangeThresholdInDBm(&self, value: P0) -> ::windows_core::Result<()> @@ -1916,7 +1916,7 @@ impl BluetoothSignalStrengthFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutOfRangeTimeout)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutOfRangeTimeout(&self, value: P0) -> ::windows_core::Result<()> @@ -1930,7 +1930,7 @@ impl BluetoothSignalStrengthFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SamplingInterval)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSamplingInterval(&self, value: P0) -> ::windows_core::Result<()> @@ -1958,13 +1958,13 @@ impl BluetoothUuidHelper { pub fn FromShortId(shortid: u32) -> ::windows_core::Result<::windows_core::GUID> { Self::IBluetoothUuidHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromShortId)(::windows_core::Interface::as_raw(this), shortid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromShortId)(::windows_core::Interface::as_raw(this), shortid, &mut result__).map(|| result__) }) } pub fn TryGetShortId(uuid: ::windows_core::GUID) -> ::windows_core::Result> { Self::IBluetoothUuidHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetShortId)(::windows_core::Interface::as_raw(this), uuid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetShortId)(::windows_core::Interface::as_raw(this), uuid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Custom/mod.rs b/crates/libs/windows/src/Windows/Devices/Custom/mod.rs index 7e9e88f8c6..ee4aa459c6 100644 --- a/crates/libs/windows/src/Windows/Devices/Custom/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Custom/mod.rs @@ -35,35 +35,35 @@ impl IIOControlCode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BufferingMethod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Function(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Function)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Function)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ControlCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -104,7 +104,7 @@ impl CustomDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -112,7 +112,7 @@ impl CustomDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -125,7 +125,7 @@ impl CustomDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendIOControlAsync)(::windows_core::Interface::as_raw(this), iocontrolcode.into_param().abi(), inputbuffer.into_param().abi(), outputbuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendIOControlAsync)(::windows_core::Interface::as_raw(this), iocontrolcode.into_param().abi(), inputbuffer.into_param().abi(), outputbuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -138,19 +138,19 @@ impl CustomDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySendIOControlAsync)(::windows_core::Interface::as_raw(this), iocontrolcode.into_param().abi(), inputbuffer.into_param().abi(), outputbuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySendIOControlAsync)(::windows_core::Interface::as_raw(this), iocontrolcode.into_param().abi(), inputbuffer.into_param().abi(), outputbuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector(classguid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICustomDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), classguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), classguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING, desiredaccess: DeviceAccessMode, sharingmode: DeviceSharingMode) -> ::windows_core::Result> { Self::ICustomDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), desiredaccess, sharingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), desiredaccess, sharingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -181,41 +181,41 @@ impl IOControlCode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BufferingMethod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Function(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Function)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Function)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ControlCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateIOControlCode(devicetype: u16, function: u16, accessmode: IOControlAccessMode, bufferingmethod: IOControlBufferingMethod) -> ::windows_core::Result { Self::IIOControlCodeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateIOControlCode)(::windows_core::Interface::as_raw(this), devicetype, function, accessmode, bufferingmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateIOControlCode)(::windows_core::Interface::as_raw(this), devicetype, function, accessmode, bufferingmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -241,7 +241,7 @@ impl KnownDeviceTypes { pub fn Unknown() -> ::windows_core::Result { Self::IKnownDeviceTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs b/crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs index a6f47c1daa..ed16e86553 100644 --- a/crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs @@ -511,49 +511,49 @@ impl DisplayAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceInterfacePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PciVendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PciVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PciVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PciDeviceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PciDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PciDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PciSubSystemId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PciSubSystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PciSubSystemId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PciRevision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PciRevision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PciRevision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -561,14 +561,14 @@ impl DisplayAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] pub fn FromId(id: super::super::super::Graphics::DisplayAdapterId) -> ::windows_core::Result { Self::IDisplayAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -601,7 +601,7 @@ impl DisplayDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScanoutSource)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScanoutSource)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePrimary(&self, target: P0, desc: P1) -> ::windows_core::Result @@ -612,14 +612,14 @@ impl DisplayDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePrimary)(::windows_core::Interface::as_raw(this), target.into_param().abi(), desc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePrimary)(::windows_core::Interface::as_raw(this), target.into_param().abi(), desc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTaskPool(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTaskPool)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTaskPool)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePeriodicFence(&self, target: P0, offsetfromvblank: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -629,7 +629,7 @@ impl DisplayDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePeriodicFence)(::windows_core::Interface::as_raw(this), target.into_param().abi(), offsetfromvblank, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePeriodicFence)(::windows_core::Interface::as_raw(this), target.into_param().abi(), offsetfromvblank, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WaitForVBlank(&self, source: P0) -> ::windows_core::Result<()> @@ -647,14 +647,14 @@ impl DisplayDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSimpleScanout)(::windows_core::Interface::as_raw(this), psource.into_param().abi(), psurface.into_param().abi(), subresourceindex, syncinterval, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSimpleScanout)(::windows_core::Interface::as_raw(this), psource.into_param().abi(), psurface.into_param().abi(), subresourceindex, syncinterval, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsCapabilitySupported(&self, capability: DisplayDeviceCapability) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCapabilitySupported)(::windows_core::Interface::as_raw(this), capability, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCapabilitySupported)(::windows_core::Interface::as_raw(this), capability, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics"))] @@ -667,7 +667,7 @@ impl DisplayDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSimpleScanoutWithDirtyRectsAndOptions)(::windows_core::Interface::as_raw(this), source.into_param().abi(), surface.into_param().abi(), subresourceindex, syncinterval, dirtyrects.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSimpleScanoutWithDirtyRectsAndOptions)(::windows_core::Interface::as_raw(this), source.into_param().abi(), surface.into_param().abi(), subresourceindex, syncinterval, dirtyrects.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -715,7 +715,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -723,7 +723,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentAdapters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentAdapters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryAcquireTarget(&self, target: P0) -> ::windows_core::Result @@ -733,7 +733,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).map(|| result__) } } pub fn ReleaseTarget(&self, target: P0) -> ::windows_core::Result<()> @@ -747,7 +747,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryReadCurrentStateForAllTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryReadCurrentStateForAllTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -758,7 +758,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireTargetsAndReadCurrentState)(::windows_core::Interface::as_raw(this), targets.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireTargetsAndReadCurrentState)(::windows_core::Interface::as_raw(this), targets.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -769,7 +769,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateEmptyState)(::windows_core::Interface::as_raw(this), targets.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateEmptyState)(::windows_core::Interface::as_raw(this), targets.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -781,7 +781,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateSubstate)(::windows_core::Interface::as_raw(this), existingstate.into_param().abi(), targets.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateSubstate)(::windows_core::Interface::as_raw(this), existingstate.into_param().abi(), targets.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDisplayDevice(&self, adapter: P0) -> ::windows_core::Result @@ -791,7 +791,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDisplayDevice)(::windows_core::Interface::as_raw(this), adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDisplayDevice)(::windows_core::Interface::as_raw(this), adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Enabled(&self, handler: P0) -> ::windows_core::Result @@ -801,7 +801,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnabled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -815,7 +815,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisabled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -829,7 +829,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -843,7 +843,7 @@ impl DisplayManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PathsFailedOrInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PathsFailedOrInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePathsFailedOrInvalidated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -861,7 +861,7 @@ impl DisplayManager { pub fn Create(options: DisplayManagerOptions) -> ::windows_core::Result { Self::IDisplayManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -891,7 +891,7 @@ impl DisplayManagerChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -902,7 +902,7 @@ impl DisplayManagerChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -927,7 +927,7 @@ impl DisplayManagerDisabledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -938,7 +938,7 @@ impl DisplayManagerDisabledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -963,7 +963,7 @@ impl DisplayManagerEnabledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -974,7 +974,7 @@ impl DisplayManagerEnabledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -999,7 +999,7 @@ impl DisplayManagerPathsFailedOrInvalidatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1010,7 +1010,7 @@ impl DisplayManagerPathsFailedOrInvalidatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1035,21 +1035,21 @@ impl DisplayManagerResultWithState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1075,14 +1075,14 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStereo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1090,7 +1090,7 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -1098,7 +1098,7 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1106,21 +1106,21 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInterlaced(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetWireFormatSupportedBitsPerChannel(&self, encoding: DisplayWireFormatPixelEncoding) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWireFormatSupportedBitsPerChannel)(::windows_core::Interface::as_raw(this), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWireFormatSupportedBitsPerChannel)(::windows_core::Interface::as_raw(this), encoding, &mut result__).map(|| result__) } } pub fn IsWireFormatSupported(&self, wireformat: P0) -> ::windows_core::Result @@ -1130,7 +1130,7 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireFormatSupported)(::windows_core::Interface::as_raw(this), wireformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireFormatSupported)(::windows_core::Interface::as_raw(this), wireformat.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1138,7 +1138,7 @@ impl DisplayModeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1146,7 +1146,7 @@ impl DisplayModeInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1171,21 +1171,21 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).View)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).View)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Target(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -1193,7 +1193,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] @@ -1209,7 +1209,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1221,7 +1221,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsStereo(&self, value: bool) -> ::windows_core::Result<()> { @@ -1233,7 +1233,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] @@ -1249,7 +1249,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1264,7 +1264,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsInterlaced(&self, value: P0) -> ::windows_core::Result<()> @@ -1278,7 +1278,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WireFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WireFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWireFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -1292,7 +1292,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotation(&self, value: DisplayRotation) -> ::windows_core::Result<()> { @@ -1303,7 +1303,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scaling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scaling)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaling(&self, value: DisplayPathScaling) -> ::windows_core::Result<()> { @@ -1315,7 +1315,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindModes)(::windows_core::Interface::as_raw(this), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindModes)(::windows_core::Interface::as_raw(this), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyPropertiesFromMode(&self, moderesult: P0) -> ::windows_core::Result<()> @@ -1330,7 +1330,7 @@ impl DisplayPath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1338,7 +1338,7 @@ impl DisplayPath { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1371,14 +1371,14 @@ impl DisplayPrimaryDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1386,7 +1386,7 @@ impl DisplayPrimaryDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1394,14 +1394,14 @@ impl DisplayPrimaryDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStereo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1409,7 +1409,7 @@ impl DisplayPrimaryDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MultisampleDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MultisampleDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1417,14 +1417,14 @@ impl DisplayPrimaryDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub fn CreateInstance(width: u32, height: u32, pixelformat: super::super::super::Graphics::DirectX::DirectXPixelFormat, colorspace: super::super::super::Graphics::DirectX::DirectXColorSpace, isstereo: bool, multisampledescription: super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription) -> ::windows_core::Result { Self::IDisplayPrimaryDescriptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11"))] @@ -1434,7 +1434,7 @@ impl DisplayPrimaryDescription { { Self::IDisplayPrimaryDescriptionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.into_param().abi(), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.into_param().abi(), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1487,14 +1487,14 @@ impl DisplaySource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1502,14 +1502,14 @@ impl DisplaySource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMetadata)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMetadata)(::windows_core::Interface::as_raw(this), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -1519,7 +1519,7 @@ impl DisplaySource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1548,14 +1548,14 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1563,7 +1563,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1571,7 +1571,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Views)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Views)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1579,7 +1579,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectTarget(&self, target: P0) -> ::windows_core::Result @@ -1589,7 +1589,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectTargetToView(&self, target: P0, view: P1) -> ::windows_core::Result @@ -1600,7 +1600,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanConnectTargetToView(&self, target: P0, view: P1) -> ::windows_core::Result @@ -1611,7 +1611,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).map(|| result__) } } pub fn GetViewForTarget(&self, target: P0) -> ::windows_core::Result @@ -1621,7 +1621,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetViewForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetViewForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPathForTarget(&self, target: P0) -> ::windows_core::Result @@ -1631,7 +1631,7 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPathForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPathForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisconnectTarget(&self, target: P0) -> ::windows_core::Result<()> @@ -1645,21 +1645,21 @@ impl DisplayState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryFunctionalize)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryFunctionalize)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryApply(&self, options: DisplayStateApplyOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryApply)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryApply)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1684,14 +1684,14 @@ impl DisplayStateOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1733,70 +1733,70 @@ impl DisplayTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Adapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Adapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceInterfacePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdapterRelativeId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdapterRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdapterRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVirtualModeEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVirtualModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVirtualModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVirtualTopologyEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVirtualTopologyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVirtualTopologyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MonitorPersistence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonitorPersistence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonitorPersistence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StableMonitorId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StableMonitorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StableMonitorId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetMonitor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetMonitor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetMonitor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1804,14 +1804,14 @@ impl DisplayTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsStale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSame(&self, othertarget: P0) -> ::windows_core::Result @@ -1821,7 +1821,7 @@ impl DisplayTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSame)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSame)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsEqual(&self, othertarget: P0) -> ::windows_core::Result @@ -1831,7 +1831,7 @@ impl DisplayTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1895,7 +1895,7 @@ impl DisplayTaskPool { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTask)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1913,7 +1913,7 @@ impl DisplayTaskPool { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryExecuteTask)(::windows_core::Interface::as_raw(this), task.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryExecuteTask)(::windows_core::Interface::as_raw(this), task.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1938,21 +1938,21 @@ impl DisplayTaskResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PresentId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourceStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1978,7 +1978,7 @@ impl DisplayView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Paths)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Paths)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] @@ -1986,7 +1986,7 @@ impl DisplayView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentResolution)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] @@ -2009,7 +2009,7 @@ impl DisplayView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2034,35 +2034,35 @@ impl DisplayWireFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitsPerChannel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitsPerChannel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitsPerChannel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorSpace(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Eotf(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Eotf)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Eotf)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HdrMetadata(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HdrMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HdrMetadata)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2070,13 +2070,13 @@ impl DisplayWireFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(pixelencoding: DisplayWireFormatPixelEncoding, bitsperchannel: i32, colorspace: DisplayWireFormatColorSpace, eotf: DisplayWireFormatEotf, hdrmetadata: DisplayWireFormatHdrMetadata) -> ::windows_core::Result { Self::IDisplayWireFormatFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2086,7 +2086,7 @@ impl DisplayWireFormat { { Self::IDisplayWireFormatStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.into_param().abi(), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.into_param().abi(), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Display/mod.rs b/crates/libs/windows/src/Windows/Devices/Display/mod.rs index bce12d50e1..5c6aa7dd31 100644 --- a/crates/libs/windows/src/Windows/Devices/Display/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Display/mod.rs @@ -57,35 +57,35 @@ impl DisplayMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhysicalConnector(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalConnector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalConnector)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayAdapterDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAdapterDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAdapterDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics")] @@ -93,21 +93,21 @@ impl DisplayMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayAdapterTargetId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAdapterTargetId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAdapterTargetId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -115,109 +115,109 @@ impl DisplayMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeResolutionInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeResolutionInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhysicalSizeInInches(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalSizeInInches)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalSizeInInches)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawDpiX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawDpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawDpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RawDpiY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawDpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawDpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedPrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedPrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedPrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GreenPrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GreenPrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GreenPrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluePrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluePrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluePrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WhitePoint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhitePoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhitePoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxAverageFullFrameLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAverageFullFrameLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAverageFullFrameLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDescriptor(&self, descriptorkind: DisplayMonitorDescriptorKind) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetDescriptor)(::windows_core::Interface::as_raw(this), descriptorkind, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetDescriptor)(::windows_core::Interface::as_raw(this), descriptorkind, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn IsDolbyVisionSupportedInHdrMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDolbyVisionSupportedInHdrMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDolbyVisionSupportedInHdrMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IDisplayMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDisplayMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromInterfaceIdAsync(deviceinterfaceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDisplayMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromInterfaceIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceinterfaceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromInterfaceIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceinterfaceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs b/crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs index 10d07587bf..1e5d64095f 100644 --- a/crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs @@ -77,14 +77,14 @@ impl PnpObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -92,7 +92,7 @@ impl PnpObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Update(&self, updateinfo: P0) -> ::windows_core::Result<()> @@ -109,7 +109,7 @@ impl PnpObject { { Self::IPnpObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdAsync)(::windows_core::Interface::as_raw(this), r#type, ::core::mem::transmute_copy(id), requestedproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdAsync)(::windows_core::Interface::as_raw(this), r#type, ::core::mem::transmute_copy(id), requestedproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -119,7 +119,7 @@ impl PnpObject { { Self::IPnpObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -129,7 +129,7 @@ impl PnpObject { { Self::IPnpObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilter)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), ::core::mem::transmute_copy(aqsfilter), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilter)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), ::core::mem::transmute_copy(aqsfilter), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -139,7 +139,7 @@ impl PnpObject { { Self::IPnpObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -149,7 +149,7 @@ impl PnpObject { { Self::IPnpObjectStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherAqsFilter)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), ::core::mem::transmute_copy(aqsfilter), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherAqsFilter)(::windows_core::Interface::as_raw(this), r#type, requestedproperties.into_param().abi(), ::core::mem::transmute_copy(aqsfilter), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -185,7 +185,7 @@ impl PnpObjectCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -193,7 +193,7 @@ impl PnpObjectCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -201,7 +201,7 @@ impl PnpObjectCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -212,7 +212,7 @@ impl PnpObjectCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -220,7 +220,7 @@ impl PnpObjectCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -266,14 +266,14 @@ impl PnpObjectUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -281,7 +281,7 @@ impl PnpObjectUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -309,7 +309,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -323,7 +323,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -337,7 +337,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -351,7 +351,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -365,7 +365,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -376,7 +376,7 @@ impl PnpObjectWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs b/crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs index b44f605348..85cd7dc146 100644 --- a/crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs @@ -422,14 +422,14 @@ impl DeviceAccessChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -457,7 +457,7 @@ impl DeviceAccessInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccessChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -468,25 +468,25 @@ impl DeviceAccessInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IDeviceAccessInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromDeviceClassId(deviceclassid: ::windows_core::GUID) -> ::windows_core::Result { Self::IDeviceAccessInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDeviceClassId)(::windows_core::Interface::as_raw(this), deviceclassid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDeviceClassId)(::windows_core::Interface::as_raw(this), deviceclassid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromDeviceClass(deviceclass: DeviceClass) -> ::windows_core::Result { Self::IDeviceAccessInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -516,7 +516,7 @@ impl DeviceConnectionChangeTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -541,7 +541,7 @@ impl DeviceDisconnectButtonClickedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -566,35 +566,35 @@ impl DeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnclosureLocation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnclosureLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnclosureLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -602,7 +602,7 @@ impl DeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Update(&self, updateinfo: P0) -> ::windows_core::Result<()> @@ -617,7 +617,7 @@ impl DeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -625,27 +625,27 @@ impl DeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGlyphThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGlyphThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pairing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pairing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pairing)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -655,28 +655,28 @@ impl DeviceInformation { { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdAsyncAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), additionalproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdAsyncAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), additionalproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsync() -> ::windows_core::Result> { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsyncDeviceClass(deviceclass: DeviceClass) -> ::windows_core::Result> { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsyncAqsFilter(aqsfilter: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -686,25 +686,25 @@ impl DeviceInformation { { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcher() -> ::windows_core::Result { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcherDeviceClass(deviceclass: DeviceClass) -> ::windows_core::Result { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcherAqsFilter(aqsfilter: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherAqsFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherAqsFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -714,13 +714,13 @@ impl DeviceInformation { { Self::IDeviceInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAqsFilterFromDeviceClass(deviceclass: DeviceClass) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IDeviceInformationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAqsFilterFromDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAqsFilterFromDeviceClass)(::windows_core::Interface::as_raw(this), deviceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -730,7 +730,7 @@ impl DeviceInformation { { Self::IDeviceInformationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdAsyncWithKindAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), additionalproperties.into_param().abi(), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdAsyncWithKindAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), additionalproperties.into_param().abi(), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -740,7 +740,7 @@ impl DeviceInformation { { Self::IDeviceInformationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncWithKindAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncWithKindAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -750,7 +750,7 @@ impl DeviceInformation { { Self::IDeviceInformationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherWithKindAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherWithKindAqsFilterAndAdditionalProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(aqsfilter), additionalproperties.into_param().abi(), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -791,7 +791,7 @@ impl DeviceInformationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -799,7 +799,7 @@ impl DeviceInformationCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -807,7 +807,7 @@ impl DeviceInformationCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -818,7 +818,7 @@ impl DeviceInformationCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -826,7 +826,7 @@ impl DeviceInformationCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -872,14 +872,14 @@ impl DeviceInformationCustomPairing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairWithProtectionLevelAsync(&self, pairingkindssupported: DevicePairingKinds, minprotectionlevel: DevicePairingProtectionLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairWithProtectionLevelAndSettingsAsync(&self, pairingkindssupported: DevicePairingKinds, minprotectionlevel: DevicePairingProtectionLevel, devicepairingsettings: P0) -> ::windows_core::Result> @@ -889,7 +889,7 @@ impl DeviceInformationCustomPairing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairWithProtectionLevelAndSettingsAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, devicepairingsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairWithProtectionLevelAndSettingsAsync)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, devicepairingsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairingRequested(&self, handler: P0) -> ::windows_core::Result @@ -899,7 +899,7 @@ impl DeviceInformationCustomPairing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairingRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePairingRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -928,42 +928,42 @@ impl DeviceInformationPairing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanPair(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPair)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPair)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PairAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairWithProtectionLevelAsync(&self, minprotectionlevel: DevicePairingProtectionLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), minprotectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), minprotectionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProtectionLevel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Custom(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Custom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Custom)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairWithProtectionLevelAndSettingsAsync(&self, minprotectionlevel: DevicePairingProtectionLevel, devicepairingsettings: P0) -> ::windows_core::Result> @@ -973,26 +973,26 @@ impl DeviceInformationPairing { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairWithProtectionLevelAndSettingsAsync)(::windows_core::Interface::as_raw(this), minprotectionlevel, devicepairingsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairWithProtectionLevelAndSettingsAsync)(::windows_core::Interface::as_raw(this), minprotectionlevel, devicepairingsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnpairAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnpairAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnpairAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRegisterForAllInboundPairingRequests(pairingkindssupported: DevicePairingKinds) -> ::windows_core::Result { Self::IDeviceInformationPairingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRegisterForAllInboundPairingRequests)(::windows_core::Interface::as_raw(this), pairingkindssupported, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRegisterForAllInboundPairingRequests)(::windows_core::Interface::as_raw(this), pairingkindssupported, &mut result__).map(|| result__) }) } pub fn TryRegisterForAllInboundPairingRequestsWithProtectionLevel(pairingkindssupported: DevicePairingKinds, minprotectionlevel: DevicePairingProtectionLevel) -> ::windows_core::Result { Self::IDeviceInformationPairingStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRegisterForAllInboundPairingRequestsWithProtectionLevel)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRegisterForAllInboundPairingRequestsWithProtectionLevel)(::windows_core::Interface::as_raw(this), pairingkindssupported, minprotectionlevel, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1027,7 +1027,7 @@ impl DeviceInformationUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1035,14 +1035,14 @@ impl DeviceInformationUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1067,21 +1067,21 @@ impl DevicePairingRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PairingKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PairingKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PairingKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pin(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Accept(&self) -> ::windows_core::Result<()> { @@ -1096,7 +1096,7 @@ impl DevicePairingRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1129,14 +1129,14 @@ impl DevicePairingResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtectionLevelUsed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevelUsed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevelUsed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1168,14 +1168,14 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Appearance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1183,7 +1183,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceSelected(&self, handler: P0) -> ::windows_core::Result @@ -1193,7 +1193,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeviceSelected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1207,7 +1207,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisconnectButtonClicked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1221,7 +1221,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDevicePickerDismissed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1241,7 +1241,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleDeviceAsync)(::windows_core::Interface::as_raw(this), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleDeviceAsync)(::windows_core::Interface::as_raw(this), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -1249,7 +1249,7 @@ impl DevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleDeviceAsyncWithPlacement)(::windows_core::Interface::as_raw(this), selection, placement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleDeviceAsyncWithPlacement)(::windows_core::Interface::as_raw(this), selection, placement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Hide(&self) -> ::windows_core::Result<()> { @@ -1285,7 +1285,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1297,7 +1297,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1310,7 +1310,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1323,7 +1323,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccentColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccentColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1336,7 +1336,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1349,7 +1349,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1362,7 +1362,7 @@ impl DevicePickerAppearance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedAccentColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedAccentColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1393,7 +1393,7 @@ impl DevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDeviceClasses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDeviceClasses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1401,7 +1401,7 @@ impl DevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDeviceSelectors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDeviceSelectors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1426,7 +1426,7 @@ impl DeviceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1461,7 +1461,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1472,7 +1472,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1483,7 +1483,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1491,7 +1491,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1499,7 +1499,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1512,7 +1512,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1520,7 +1520,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1528,7 +1528,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1541,7 +1541,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1549,7 +1549,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1557,7 +1557,7 @@ impl DeviceThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1587,7 +1587,7 @@ impl DeviceUnpairingResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1615,7 +1615,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1629,7 +1629,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1643,7 +1643,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1657,7 +1657,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1671,7 +1671,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1682,7 +1682,7 @@ impl DeviceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -1701,7 +1701,7 @@ impl DeviceWatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBackgroundTrigger)(::windows_core::Interface::as_raw(this), requestedeventkinds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBackgroundTrigger)(::windows_core::Interface::as_raw(this), requestedeventkinds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1726,21 +1726,21 @@ impl DeviceWatcherEvent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceInformationUpdate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformationUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformationUpdate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1766,7 +1766,7 @@ impl DeviceWatcherTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceWatcherEvents)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceWatcherEvents)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1791,28 +1791,28 @@ impl EnclosureLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InDock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InDock)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InLid(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InLid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InLid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Panel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Panel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Panel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RotationAngleInDegreesClockwise(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegreesClockwise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegreesClockwise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs b/crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs index 84eb578cee..70a1cf6a64 100644 --- a/crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs @@ -67,49 +67,49 @@ impl Geofence { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DwellTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DwellTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DwellTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonitoredStates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonitoredStates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonitoredStates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Geoshape(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geoshape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geoshape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SingleUse(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SingleUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SingleUse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(id: &::windows_core::HSTRING, geoshape: P0) -> ::windows_core::Result @@ -118,7 +118,7 @@ impl Geofence { { Self::IGeofenceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithMonitorStates(id: &::windows_core::HSTRING, geoshape: P0, monitoredstates: MonitoredGeofenceStates, singleuse: bool) -> ::windows_core::Result @@ -127,7 +127,7 @@ impl Geofence { { Self::IGeofenceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMonitorStates)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMonitorStates)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithMonitorStatesAndDwellTime(id: &::windows_core::HSTRING, geoshape: P0, monitoredstates: MonitoredGeofenceStates, singleuse: bool, dwelltime: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -136,7 +136,7 @@ impl Geofence { { Self::IGeofenceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMonitorStatesAndDwellTime)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, dwelltime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMonitorStatesAndDwellTime)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, dwelltime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithMonitorStatesDwellTimeStartTimeAndDuration(id: &::windows_core::HSTRING, geoshape: P0, monitoredstates: MonitoredGeofenceStates, singleuse: bool, dwelltime: super::super::super::Foundation::TimeSpan, starttime: super::super::super::Foundation::DateTime, duration: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -145,7 +145,7 @@ impl Geofence { { Self::IGeofenceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMonitorStatesDwellTimeStartTimeAndDuration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, dwelltime, starttime, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMonitorStatesDwellTimeStartTimeAndDuration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), geoshape.into_param().abi(), monitoredstates, singleuse, dwelltime, starttime, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -175,7 +175,7 @@ impl GeofenceMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -183,14 +183,14 @@ impl GeofenceMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geofences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geofences)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastKnownGeoposition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastKnownGeoposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastKnownGeoposition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeofenceStateChanged(&self, eventhandler: P0) -> ::windows_core::Result @@ -200,7 +200,7 @@ impl GeofenceMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeofenceStateChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeofenceStateChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGeofenceStateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -212,7 +212,7 @@ impl GeofenceMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusChanged(&self, eventhandler: P0) -> ::windows_core::Result @@ -222,7 +222,7 @@ impl GeofenceMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -232,7 +232,7 @@ impl GeofenceMonitor { pub fn Current() -> ::windows_core::Result { Self::IGeofenceMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -262,28 +262,28 @@ impl GeofenceStateChangeReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Geofence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geofence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geofence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Geoposition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geoposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geoposition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovalReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovalReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovalReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs index 3c9f9a2754..7e83a6250d 100644 --- a/crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs @@ -25,14 +25,14 @@ impl GeolocationProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverridden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverridden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOverridePosition(&self, newposition: super::BasicGeoposition, positionsource: super::PositionSource, accuracyinmeters: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetOverridePosition)(::windows_core::Interface::as_raw(this), newposition, positionsource, accuracyinmeters, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetOverridePosition)(::windows_core::Interface::as_raw(this), newposition, positionsource, accuracyinmeters, &mut result__).map(|| result__) } } pub fn ClearOverridePosition(&self) -> ::windows_core::Result<()> { @@ -46,7 +46,7 @@ impl GeolocationProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverriddenChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverriddenChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsOverriddenChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs b/crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs index 071de0c0e8..5af3300aa2 100644 --- a/crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs @@ -261,21 +261,21 @@ impl IGeoshape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialReferenceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeReferenceSystem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -365,35 +365,35 @@ impl CivicAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn City(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostalCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -419,53 +419,53 @@ impl GeoboundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NorthwestCorner)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NorthwestCorner)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SoutheastCorner(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoutheastCorner)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoutheastCorner)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Center(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinAltitude(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinAltitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinAltitude)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxAltitude(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAltitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAltitude)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(northwestcorner: BasicGeoposition, southeastcorner: BasicGeoposition) -> ::windows_core::Result { Self::IGeoboundingBoxFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReference(northwestcorner: BasicGeoposition, southeastcorner: BasicGeoposition, altitudereferencesystem: AltitudeReferenceSystem) -> ::windows_core::Result { Self::IGeoboundingBoxFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReference)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, altitudereferencesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReference)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, altitudereferencesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReferenceAndSpatialReference(northwestcorner: BasicGeoposition, southeastcorner: BasicGeoposition, altitudereferencesystem: AltitudeReferenceSystem, spatialreferenceid: u32) -> ::windows_core::Result { Self::IGeoboundingBoxFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, altitudereferencesystem, spatialreferenceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), northwestcorner, southeastcorner, altitudereferencesystem, spatialreferenceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -475,7 +475,7 @@ impl GeoboundingBox { { Self::IGeoboundingBoxStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCompute)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCompute)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -485,7 +485,7 @@ impl GeoboundingBox { { Self::IGeoboundingBoxStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeWithAltitudeReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altituderefsystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeWithAltitudeReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altituderefsystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -495,28 +495,28 @@ impl GeoboundingBox { { Self::IGeoboundingBoxStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altituderefsystem, spatialreferenceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altituderefsystem, spatialreferenceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GeoshapeType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialReferenceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeReferenceSystem(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -552,53 +552,53 @@ impl Geocircle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Radius(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(position: BasicGeoposition, radius: f64) -> ::windows_core::Result { Self::IGeocircleFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, radius, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, radius, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReferenceSystem(position: BasicGeoposition, radius: f64, altitudereferencesystem: AltitudeReferenceSystem) -> ::windows_core::Result { Self::IGeocircleFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), position, radius, altitudereferencesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), position, radius, altitudereferencesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReferenceSystemAndSpatialReferenceId(position: BasicGeoposition, radius: f64, altitudereferencesystem: AltitudeReferenceSystem, spatialreferenceid: u32) -> ::windows_core::Result { Self::IGeocircleFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystemAndSpatialReferenceId)(::windows_core::Interface::as_raw(this), position, radius, altitudereferencesystem, spatialreferenceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystemAndSpatialReferenceId)(::windows_core::Interface::as_raw(this), position, radius, altitudereferencesystem, spatialreferenceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GeoshapeType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialReferenceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeReferenceSystem(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -629,7 +629,7 @@ impl Geocoordinate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -637,7 +637,7 @@ impl Geocoordinate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -645,77 +645,77 @@ impl Geocoordinate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Altitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Altitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Accuracy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Accuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Accuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeAccuracy(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Heading(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Heading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Heading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Speed(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Speed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Speed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Point(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PositionSource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SatelliteData(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SatelliteData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SatelliteData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PositionSourceTimestamp(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionSourceTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionSourceTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRemoteSource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRemoteSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRemoteSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -740,35 +740,35 @@ impl GeocoordinateSatelliteData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HorizontalDilutionOfPrecision(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VerticalDilutionOfPrecision(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerticalDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerticalDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeometricDilutionOfPrecision(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeometricDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeometricDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeDilutionOfPrecision(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeDilutionOfPrecision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -800,7 +800,7 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredAccuracy(&self, value: PositionAccuracy) -> ::windows_core::Result<()> { @@ -811,7 +811,7 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MovementThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MovementThreshold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMovementThreshold(&self, value: f64) -> ::windows_core::Result<()> { @@ -822,7 +822,7 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -833,21 +833,21 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetGeopositionAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeopositionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeopositionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGeopositionAsyncWithAgeAndTimeout(&self, maximumage: super::super::Foundation::TimeSpan, timeout: super::super::Foundation::TimeSpan) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeopositionAsyncWithAgeAndTimeout)(::windows_core::Interface::as_raw(this), maximumage, timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeopositionAsyncWithAgeAndTimeout)(::windows_core::Interface::as_raw(this), maximumage, timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PositionChanged(&self, handler: P0) -> ::windows_core::Result @@ -857,7 +857,7 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -871,7 +871,7 @@ impl Geolocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -885,27 +885,27 @@ impl Geolocator { pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IGeolocatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetGeopositionHistoryAsync(starttime: super::super::Foundation::DateTime) -> ::windows_core::Result>> { Self::IGeolocatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeopositionHistoryAsync)(::windows_core::Interface::as_raw(this), starttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeopositionHistoryAsync)(::windows_core::Interface::as_raw(this), starttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetGeopositionHistoryWithDurationAsync(starttime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result>> { Self::IGeolocatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeopositionHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), starttime, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeopositionHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), starttime, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsDefaultGeopositionRecommended() -> ::windows_core::Result { Self::IGeolocatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDefaultGeopositionRecommended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDefaultGeopositionRecommended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetDefaultGeoposition(value: P0) -> ::windows_core::Result<()> @@ -917,14 +917,14 @@ impl Geolocator { pub fn DefaultGeoposition() -> ::windows_core::Result> { Self::IGeolocatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultGeoposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultGeoposition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DesiredAccuracyInMeters(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredAccuracyInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredAccuracyInMeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredAccuracyInMeters(&self, value: P0) -> ::windows_core::Result<()> @@ -968,7 +968,7 @@ impl Geopath { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Positions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Positions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -978,7 +978,7 @@ impl Geopath { { Self::IGeopathFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -988,7 +988,7 @@ impl Geopath { { Self::IGeopathFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altitudereferencesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altitudereferencesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -998,28 +998,28 @@ impl Geopath { { Self::IGeopathFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altitudereferencesystem, spatialreferenceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceAndSpatialReference)(::windows_core::Interface::as_raw(this), positions.into_param().abi(), altitudereferencesystem, spatialreferenceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GeoshapeType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialReferenceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeReferenceSystem(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -1050,46 +1050,46 @@ impl Geopoint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(position: BasicGeoposition) -> ::windows_core::Result { Self::IGeopointFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReferenceSystem(position: BasicGeoposition, altitudereferencesystem: AltitudeReferenceSystem) -> ::windows_core::Result { Self::IGeopointFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), position, altitudereferencesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), position, altitudereferencesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAltitudeReferenceSystemAndSpatialReferenceId(position: BasicGeoposition, altitudereferencesystem: AltitudeReferenceSystem, spatialreferenceid: u32) -> ::windows_core::Result { Self::IGeopointFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystemAndSpatialReferenceId)(::windows_core::Interface::as_raw(this), position, altitudereferencesystem, spatialreferenceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAltitudeReferenceSystemAndSpatialReferenceId)(::windows_core::Interface::as_raw(this), position, altitudereferencesystem, spatialreferenceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GeoshapeType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeoshapeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialReferenceId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeReferenceSystem(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeReferenceSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -1119,21 +1119,21 @@ impl Geoposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Coordinate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Coordinate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CivicAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CivicAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CivicAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VenueData(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VenueData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VenueData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1158,21 +1158,21 @@ impl Geovisit { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1204,7 +1204,7 @@ impl GeovisitMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonitoringScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonitoringScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self, value: VisitMonitoringScope) -> ::windows_core::Result<()> { @@ -1222,7 +1222,7 @@ impl GeovisitMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisitStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisitStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVisitStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1232,7 +1232,7 @@ impl GeovisitMonitor { pub fn GetLastReportAsync() -> ::windows_core::Result> { Self::IGeovisitMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLastReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLastReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1262,7 +1262,7 @@ impl GeovisitStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1288,7 +1288,7 @@ impl GeovisitTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1313,7 +1313,7 @@ impl PositionChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1338,7 +1338,7 @@ impl StatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1363,14 +1363,14 @@ impl VenueData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Level(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs index 7182bc1f79..cfa14ad441 100644 --- a/crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs @@ -5,14 +5,14 @@ impl IGpioControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpenPinProvider(&self, pin: i32, sharingmode: ProviderGpioSharingMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenPinProvider)(::windows_core::Interface::as_raw(this), pin, sharingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenPinProvider)(::windows_core::Interface::as_raw(this), pin, sharingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -36,7 +36,7 @@ impl IGpioPinProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveValueChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -47,7 +47,7 @@ impl IGpioPinProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DebounceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DebounceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDebounceTimeout(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -58,28 +58,28 @@ impl IGpioPinProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SharingMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDriveModeSupported(&self, drivemode: ProviderGpioPinDriveMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDriveModeSupported)(::windows_core::Interface::as_raw(this), drivemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDriveModeSupported)(::windows_core::Interface::as_raw(this), drivemode, &mut result__).map(|| result__) } } pub fn GetDriveMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDriveMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDriveMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDriveMode(&self, value: ProviderGpioPinDriveMode) -> ::windows_core::Result<()> { @@ -94,7 +94,7 @@ impl IGpioPinProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -139,7 +139,7 @@ impl IGpioProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -164,13 +164,13 @@ impl GpioPinProviderValueChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(edge: ProviderGpioPinEdge) -> ::windows_core::Result { Self::IGpioPinProviderValueChangedEventArgsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), edge, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), edge, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Gpio/mod.rs b/crates/libs/windows/src/Windows/Devices/Gpio/mod.rs index 12116e0436..324c9e4ccb 100644 --- a/crates/libs/windows/src/Windows/Devices/Gpio/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Gpio/mod.rs @@ -121,14 +121,14 @@ impl GpioChangeCounter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStarted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -143,14 +143,14 @@ impl GpioChangeCounter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Reset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(pin: P0) -> ::windows_core::Result @@ -159,7 +159,7 @@ impl GpioChangeCounter { { Self::IGpioChangeCounterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -194,28 +194,28 @@ impl GpioChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEmpty(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOverflowed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverflowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverflowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPolarity(&self, value: GpioChangePolarity) -> ::windows_core::Result<()> { @@ -226,14 +226,14 @@ impl GpioChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStarted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -252,14 +252,14 @@ impl GpioChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNextItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNextItem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeekNextItem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeekNextItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeekNextItem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -267,14 +267,14 @@ impl GpioChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WaitForItemsAsync(&self, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitForItemsAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitForItemsAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(pin: P0) -> ::windows_core::Result @@ -283,7 +283,7 @@ impl GpioChangeReader { { Self::IGpioChangeReaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithCapacity(pin: P0, mincapacity: i32) -> ::windows_core::Result @@ -292,7 +292,7 @@ impl GpioChangeReader { { Self::IGpioChangeReaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithCapacity)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), mincapacity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithCapacity)(::windows_core::Interface::as_raw(this), pin.into_param().abi(), mincapacity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -322,34 +322,34 @@ impl GpioController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpenPin(&self, pinnumber: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenPin)(::windows_core::Interface::as_raw(this), pinnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenPin)(::windows_core::Interface::as_raw(this), pinnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenPinWithSharingMode(&self, pinnumber: i32, sharingmode: GpioSharingMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenPinWithSharingMode)(::windows_core::Interface::as_raw(this), pinnumber, sharingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenPinWithSharingMode)(::windows_core::Interface::as_raw(this), pinnumber, sharingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryOpenPin(&self, pinnumber: i32, sharingmode: GpioSharingMode, pin: &mut ::core::option::Option, openstatus: &mut GpioOpenStatus) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryOpenPin)(::windows_core::Interface::as_raw(this), pinnumber, sharingmode, pin as *mut _ as _, openstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryOpenPin)(::windows_core::Interface::as_raw(this), pinnumber, sharingmode, pin as *mut _ as _, openstatus, &mut result__).map(|| result__) } } pub fn GetDefault() -> ::windows_core::Result { Self::IGpioControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Gpio_Provider", feature = "Foundation_Collections"))] @@ -359,13 +359,13 @@ impl GpioController { { Self::IGpioControllerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IGpioControllerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -408,7 +408,7 @@ impl GpioPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveValueChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -419,7 +419,7 @@ impl GpioPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DebounceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DebounceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDebounceTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -430,28 +430,28 @@ impl GpioPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SharingMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDriveModeSupported(&self, drivemode: GpioPinDriveMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDriveModeSupported)(::windows_core::Interface::as_raw(this), drivemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDriveModeSupported)(::windows_core::Interface::as_raw(this), drivemode, &mut result__).map(|| result__) } } pub fn GetDriveMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDriveMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDriveMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDriveMode(&self, value: GpioPinDriveMode) -> ::windows_core::Result<()> { @@ -466,7 +466,7 @@ impl GpioPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Read)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -491,7 +491,7 @@ impl GpioPinValueChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Haptics/mod.rs b/crates/libs/windows/src/Windows/Devices/Haptics/mod.rs index a5bf55edc4..27422982d2 100644 --- a/crates/libs/windows/src/Windows/Devices/Haptics/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Haptics/mod.rs @@ -80,91 +80,91 @@ impl KnownSimpleHapticsControllerWaveforms { pub fn Click() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Click)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Click)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BuzzContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuzzContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuzzContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RumbleContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RumbleContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RumbleContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Press() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Press)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Press)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Release() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Release)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Release)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BrushContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrushContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrushContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ChiselMarkerContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChiselMarkerContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChiselMarkerContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EraserContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EraserContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EraserContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Error() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GalaxyPenContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GalaxyPenContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GalaxyPenContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Hover() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hover)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hover)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InkContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MarkerContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkerContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkerContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PencilContinuous() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PencilContinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PencilContinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Success() -> ::windows_core::Result { Self::IKnownSimpleHapticsControllerWaveformsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Success)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Success)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -190,7 +190,7 @@ impl SimpleHapticsController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -198,35 +198,35 @@ impl SimpleHapticsController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFeedback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFeedback)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsIntensitySupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIntensitySupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIntensitySupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPlayCountSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlayCountSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlayCountSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPlayDurationSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlayDurationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlayDurationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReplayPauseIntervalSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReplayPauseIntervalSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReplayPauseIntervalSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopFeedback(&self) -> ::windows_core::Result<()> { @@ -283,14 +283,14 @@ impl SimpleHapticsControllerFeedback { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Waveform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Waveform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -315,45 +315,45 @@ impl VibrationDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SimpleHapticsController(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsync() -> ::windows_core::Result>> { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs b/crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs index 974f616941..bf491b14d4 100644 --- a/crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs @@ -202,28 +202,28 @@ impl HidBooleanControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsActive(&self, value: bool) -> ::windows_core::Result<()> { @@ -234,7 +234,7 @@ impl HidBooleanControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -259,35 +259,35 @@ impl HidBooleanControlDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -295,14 +295,14 @@ impl HidBooleanControlDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentCollections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentCollections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAbsolute(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAbsolute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAbsolute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -327,28 +327,28 @@ impl HidCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -378,91 +378,91 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Version(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInputReportAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetInputReportByIdAsync(&self, reportid: u16) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputReportByIdAsync)(::windows_core::Interface::as_raw(this), reportid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputReportByIdAsync)(::windows_core::Interface::as_raw(this), reportid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFeatureReportAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFeatureReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFeatureReportAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFeatureReportByIdAsync(&self, reportid: u16) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFeatureReportByIdAsync)(::windows_core::Interface::as_raw(this), reportid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFeatureReportByIdAsync)(::windows_core::Interface::as_raw(this), reportid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOutputReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOutputReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOutputReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOutputReportById(&self, reportid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOutputReportById)(::windows_core::Interface::as_raw(this), reportid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOutputReportById)(::windows_core::Interface::as_raw(this), reportid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFeatureReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFeatureReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFeatureReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFeatureReportById(&self, reportid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFeatureReportById)(::windows_core::Interface::as_raw(this), reportid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFeatureReportById)(::windows_core::Interface::as_raw(this), reportid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendOutputReportAsync(&self, outputreport: P0) -> ::windows_core::Result> @@ -472,7 +472,7 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendOutputReportAsync)(::windows_core::Interface::as_raw(this), outputreport.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendOutputReportAsync)(::windows_core::Interface::as_raw(this), outputreport.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendFeatureReportAsync(&self, featurereport: P0) -> ::windows_core::Result> @@ -482,7 +482,7 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendFeatureReportAsync)(::windows_core::Interface::as_raw(this), featurereport.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendFeatureReportAsync)(::windows_core::Interface::as_raw(this), featurereport.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -490,7 +490,7 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControlDescriptions)(::windows_core::Interface::as_raw(this), reporttype, usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControlDescriptions)(::windows_core::Interface::as_raw(this), reporttype, usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -498,7 +498,7 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControlDescriptions)(::windows_core::Interface::as_raw(this), reporttype, usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControlDescriptions)(::windows_core::Interface::as_raw(this), reporttype, usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InputReportReceived(&self, reporthandler: P0) -> ::windows_core::Result @@ -508,7 +508,7 @@ impl HidDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputReportReceived)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputReportReceived)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputReportReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -518,20 +518,20 @@ impl HidDevice { pub fn GetDeviceSelector(usagepage: u16, usageid: u16) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHidDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorVidPid(usagepage: u16, usageid: u16, vendorid: u16, productid: u16) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHidDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorVidPid)(::windows_core::Interface::as_raw(this), usagepage, usageid, vendorid, productid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorVidPid)(::windows_core::Interface::as_raw(this), usagepage, usageid, vendorid, productid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] pub fn FromIdAsync(deviceid: &::windows_core::HSTRING, accessmode: super::super::Storage::FileAccessMode) -> ::windows_core::Result> { Self::IHidDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -561,7 +561,7 @@ impl HidFeatureReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -569,7 +569,7 @@ impl HidFeatureReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -584,7 +584,7 @@ impl HidFeatureReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBooleanControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -594,14 +594,14 @@ impl HidFeatureReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControl(&self, usagepage: u16, usageid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -611,7 +611,7 @@ impl HidFeatureReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -636,7 +636,7 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -644,7 +644,7 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -652,7 +652,7 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedBooleanControls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedBooleanControls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -660,14 +660,14 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransitionedBooleanControls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransitionedBooleanControls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBooleanControl(&self, usagepage: u16, usageid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBooleanControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -677,14 +677,14 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControl(&self, usagepage: u16, usageid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -694,7 +694,7 @@ impl HidInputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -719,7 +719,7 @@ impl HidInputReportReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -744,35 +744,35 @@ impl HidNumericControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGrouped(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: i64) -> ::windows_core::Result<()> { @@ -783,7 +783,7 @@ impl HidNumericControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaledValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaledValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaledValue(&self, value: i64) -> ::windows_core::Result<()> { @@ -794,7 +794,7 @@ impl HidNumericControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -819,105 +819,105 @@ impl HidNumericControlDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogicalMinimum(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogicalMinimum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogicalMinimum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogicalMaximum(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogicalMaximum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogicalMaximum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhysicalMinimum(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalMinimum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalMinimum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhysicalMaximum(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalMaximum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalMaximum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnitExponent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnitExponent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnitExponent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Unit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAbsolute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAbsolute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAbsolute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNull(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNull)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNull)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -925,7 +925,7 @@ impl HidNumericControlDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentCollections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentCollections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -950,7 +950,7 @@ impl HidOutputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -958,7 +958,7 @@ impl HidOutputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -973,7 +973,7 @@ impl HidOutputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBooleanControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -983,14 +983,14 @@ impl HidOutputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControl(&self, usagepage: u16, usageid: u16) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControl)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNumericControlByDescription(&self, controldescription: P0) -> ::windows_core::Result @@ -1000,7 +1000,7 @@ impl HidOutputReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControlByDescription)(::windows_core::Interface::as_raw(this), controldescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } 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 c0835b3fab..a3c42ee2be 100644 --- a/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs @@ -8,7 +8,7 @@ impl II2cControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceProvider)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceProvider)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -29,7 +29,7 @@ impl II2cDeviceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Write(&self, buffer: &[u8]) -> ::windows_core::Result<()> { @@ -40,7 +40,7 @@ impl II2cDeviceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WritePartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WritePartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).map(|| result__) } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows_core::Result<()> { @@ -51,7 +51,7 @@ impl II2cDeviceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadPartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadPartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_mut_ptr(), &mut result__).map(|| result__) } } pub fn WriteRead(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows_core::Result<()> { @@ -62,7 +62,7 @@ impl II2cDeviceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteReadPartial)(::windows_core::Interface::as_raw(this), writebuffer.len().try_into().unwrap(), writebuffer.as_ptr(), readbuffer.len().try_into().unwrap(), readbuffer.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteReadPartial)(::windows_core::Interface::as_raw(this), writebuffer.len().try_into().unwrap(), writebuffer.as_ptr(), readbuffer.len().try_into().unwrap(), readbuffer.as_mut_ptr(), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -93,7 +93,7 @@ impl II2cProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -130,7 +130,7 @@ impl ProviderI2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlaveAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlaveAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSlaveAddress(&self, value: i32) -> ::windows_core::Result<()> { @@ -141,7 +141,7 @@ impl ProviderI2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BusSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BusSpeed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBusSpeed(&self, value: ProviderI2cBusSpeed) -> ::windows_core::Result<()> { @@ -152,7 +152,7 @@ impl ProviderI2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSharingMode(&self, value: ProviderI2cSharingMode) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Devices/I2c/mod.rs b/crates/libs/windows/src/Windows/Devices/I2c/mod.rs index d887b6ca18..52de920b36 100644 --- a/crates/libs/windows/src/Windows/Devices/I2c/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/I2c/mod.rs @@ -58,14 +58,14 @@ impl II2cDeviceStatics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelectorFromFriendlyName(&self, friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(&self, deviceid: &::windows_core::HSTRING, settings: P0) -> ::windows_core::Result> @@ -75,7 +75,7 @@ impl II2cDeviceStatics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -99,7 +99,7 @@ impl I2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlaveAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlaveAddress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSlaveAddress(&self, value: i32) -> ::windows_core::Result<()> { @@ -110,7 +110,7 @@ impl I2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BusSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BusSpeed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBusSpeed(&self, value: I2cBusSpeed) -> ::windows_core::Result<()> { @@ -121,7 +121,7 @@ impl I2cConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSharingMode(&self, value: I2cSharingMode) -> ::windows_core::Result<()> { @@ -131,7 +131,7 @@ impl I2cConnectionSettings { pub fn Create(slaveaddress: i32) -> ::windows_core::Result { Self::II2cConnectionSettingsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), slaveaddress, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), slaveaddress, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -164,7 +164,7 @@ impl I2cController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDevice)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDevice)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_I2c_Provider", feature = "Foundation_Collections"))] @@ -174,13 +174,13 @@ impl I2cController { { Self::II2cControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::II2cControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -215,14 +215,14 @@ impl I2cDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Write(&self, buffer: &[u8]) -> ::windows_core::Result<()> { @@ -233,7 +233,7 @@ impl I2cDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WritePartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WritePartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).map(|| result__) } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows_core::Result<()> { @@ -244,7 +244,7 @@ impl I2cDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadPartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadPartial)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_mut_ptr(), &mut result__).map(|| result__) } } pub fn WriteRead(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows_core::Result<()> { @@ -255,19 +255,19 @@ impl I2cDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteReadPartial)(::windows_core::Interface::as_raw(this), writebuffer.len().try_into().unwrap(), writebuffer.as_ptr(), readbuffer.len().try_into().unwrap(), readbuffer.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteReadPartial)(::windows_core::Interface::as_raw(this), writebuffer.len().try_into().unwrap(), writebuffer.as_ptr(), readbuffer.len().try_into().unwrap(), readbuffer.as_mut_ptr(), &mut result__).map(|| result__) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::II2cDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromFriendlyName(friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::II2cDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING, settings: P0) -> ::windows_core::Result> @@ -276,7 +276,7 @@ impl I2cDevice { { Self::II2cDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs b/crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs index b8053d9313..b2a96fc57d 100644 --- a/crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs @@ -128,35 +128,35 @@ impl GazeDevicePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanTrackEyes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanTrackEyes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanTrackEyes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanTrackHead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanTrackHead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanTrackHead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConfigurationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfigurationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfigurationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestCalibrationAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCalibrationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCalibrationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_HumanInterfaceDevice", feature = "Foundation_Collections"))] @@ -164,7 +164,7 @@ impl GazeDevicePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNumericControlDescriptions)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNumericControlDescriptions)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_HumanInterfaceDevice", feature = "Foundation_Collections"))] @@ -172,7 +172,7 @@ impl GazeDevicePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanControlDescriptions)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanControlDescriptions)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -197,7 +197,7 @@ impl GazeDeviceWatcherAddedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -225,7 +225,7 @@ impl GazeDeviceWatcherPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -239,7 +239,7 @@ impl GazeDeviceWatcherPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -253,7 +253,7 @@ impl GazeDeviceWatcherPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -267,7 +267,7 @@ impl GazeDeviceWatcherPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -304,7 +304,7 @@ impl GazeDeviceWatcherRemovedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -329,7 +329,7 @@ impl GazeDeviceWatcherUpdatedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -354,7 +354,7 @@ impl GazeEnteredPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -365,7 +365,7 @@ impl GazeEnteredPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -390,7 +390,7 @@ impl GazeExitedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -401,7 +401,7 @@ impl GazeExitedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -429,7 +429,7 @@ impl GazeInputSourcePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GazeMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GazeMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGazeMoved(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -443,7 +443,7 @@ impl GazeInputSourcePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GazeEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GazeEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGazeEntered(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ impl GazeInputSourcePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GazeExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GazeExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGazeExited(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -467,13 +467,13 @@ impl GazeInputSourcePreview { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IGazeInputSourcePreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcher() -> ::windows_core::Result { Self::IGazeInputSourcePreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -503,7 +503,7 @@ impl GazeMovedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -514,7 +514,7 @@ impl GazeMovedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -522,7 +522,7 @@ impl GazeMovedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -547,28 +547,28 @@ impl GazePointPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EyeGazePosition(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EyeGazePosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EyeGazePosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HeadGazePosition(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadGazePosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadGazePosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_HumanInterfaceDevice")] @@ -576,7 +576,7 @@ impl GazePointPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HidInputReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HidInputReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Input/mod.rs b/crates/libs/windows/src/Windows/Devices/Input/mod.rs index 1462fc20e4..f56d590d49 100644 --- a/crates/libs/windows/src/Windows/Devices/Input/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Input/mod.rs @@ -193,7 +193,7 @@ impl KeyboardCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyboardPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyboardPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -225,35 +225,35 @@ impl MouseCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MousePresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MousePresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VerticalWheelPresent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerticalWheelPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerticalWheelPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HorizontalWheelPresent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalWheelPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalWheelPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SwapButtons(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwapButtons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwapButtons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfButtons(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfButtons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfButtons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -281,7 +281,7 @@ impl MouseDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMouseMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -291,7 +291,7 @@ impl MouseDevice { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IMouseDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -319,7 +319,7 @@ impl MouseEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseDelta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseDelta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -342,7 +342,7 @@ impl PenButtonListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSupportedChanged(&self, handler: P0) -> ::windows_core::Result @@ -352,7 +352,7 @@ impl PenButtonListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsSupportedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ impl PenButtonListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TailButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TailButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTailButtonClicked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -380,7 +380,7 @@ impl PenButtonListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TailButtonDoubleClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TailButtonDoubleClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTailButtonDoubleClicked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -394,7 +394,7 @@ impl PenButtonListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TailButtonLongPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TailButtonLongPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTailButtonLongPressed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -404,7 +404,7 @@ impl PenButtonListener { pub fn GetDefault() -> ::windows_core::Result { Self::IPenButtonListenerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -434,7 +434,7 @@ impl PenDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -442,13 +442,13 @@ impl PenDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFromPointerId(pointerid: u32) -> ::windows_core::Result { Self::IPenDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromPointerId)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromPointerId)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -478,7 +478,7 @@ impl PenDockListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSupportedChanged(&self, handler: P0) -> ::windows_core::Result @@ -488,7 +488,7 @@ impl PenDockListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsSupportedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -502,7 +502,7 @@ impl PenDockListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Docked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Docked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDocked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -516,7 +516,7 @@ impl PenDockListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Undocked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Undocked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUndocked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -526,7 +526,7 @@ impl PenDockListener { pub fn GetDefault() -> ::windows_core::Result { Self::IPenDockListenerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -641,35 +641,35 @@ impl PointerDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIntegrated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIntegrated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIntegrated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxContacts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxContacts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxContacts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhysicalDeviceRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalDeviceRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalDeviceRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScreenRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -677,27 +677,27 @@ impl PointerDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedUsages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxPointersWithZDistance(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPointersWithZDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPointersWithZDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPointerDevice(pointerid: u32) -> ::windows_core::Result { Self::IPointerDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPointerDevice)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPointerDevice)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetPointerDevices() -> ::windows_core::Result> { Self::IPointerDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPointerDevices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPointerDevices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -732,14 +732,14 @@ impl TouchCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contacts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contacts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } 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 89eca352bc..ec2dc5d9d8 100644 --- a/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs @@ -119,7 +119,7 @@ impl ILampArrayEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -232,7 +232,7 @@ impl LampArrayBitmapEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -243,7 +243,7 @@ impl LampArrayBitmapEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartDelay(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -254,7 +254,7 @@ impl LampArrayBitmapEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUpdateInterval(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -265,7 +265,7 @@ impl LampArrayBitmapEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedBitmapSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedBitmapSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapRequested(&self, handler: P0) -> ::windows_core::Result @@ -275,7 +275,7 @@ impl LampArrayBitmapEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBitmapRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -288,14 +288,14 @@ impl LampArrayBitmapEffect { { Self::ILampArrayBitmapEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZIndex(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -329,7 +329,7 @@ impl LampArrayBitmapRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SinceStarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SinceStarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -364,7 +364,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -376,7 +376,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttackDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttackDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAttackDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -387,7 +387,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SustainDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SustainDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSustainDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -398,7 +398,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecayDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecayDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDecayDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepetitionDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepetitionDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRepetitionDelay(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -420,7 +420,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartDelay(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -431,7 +431,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOccurrences(&self, value: i32) -> ::windows_core::Result<()> { @@ -442,7 +442,7 @@ impl LampArrayBlinkEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepetitionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepetitionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRepetitionMode(&self, value: LampArrayRepetitionMode) -> ::windows_core::Result<()> { @@ -455,14 +455,14 @@ impl LampArrayBlinkEffect { { Self::ILampArrayBlinkEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZIndex(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -498,7 +498,7 @@ impl LampArrayColorRampEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -510,7 +510,7 @@ impl LampArrayColorRampEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RampDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RampDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRampDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -521,7 +521,7 @@ impl LampArrayColorRampEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartDelay(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -532,7 +532,7 @@ impl LampArrayColorRampEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompletionBehavior(&self, value: LampArrayEffectCompletionBehavior) -> ::windows_core::Result<()> { @@ -545,14 +545,14 @@ impl LampArrayColorRampEffect { { Self::ILampArrayColorRampEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZIndex(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -587,7 +587,7 @@ impl LampArrayCustomEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -598,7 +598,7 @@ impl LampArrayCustomEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUpdateInterval(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -612,7 +612,7 @@ impl LampArrayCustomEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdateRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -625,14 +625,14 @@ impl LampArrayCustomEffect { { Self::ILampArrayCustomEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZIndex(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -676,7 +676,7 @@ impl LampArrayEffectPlaylist { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Append(&self, effect: P0) -> ::windows_core::Result<()> @@ -706,7 +706,7 @@ impl LampArrayEffectPlaylist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectStartMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectStartMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEffectStartMode(&self, value: LampArrayEffectStartMode) -> ::windows_core::Result<()> { @@ -717,7 +717,7 @@ impl LampArrayEffectPlaylist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occurrences)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOccurrences(&self, value: i32) -> ::windows_core::Result<()> { @@ -728,7 +728,7 @@ impl LampArrayEffectPlaylist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepetitionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepetitionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRepetitionMode(&self, value: LampArrayRepetitionMode) -> ::windows_core::Result<()> { @@ -761,7 +761,7 @@ impl LampArrayEffectPlaylist { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -769,7 +769,7 @@ impl LampArrayEffectPlaylist { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -780,7 +780,7 @@ impl LampArrayEffectPlaylist { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -788,7 +788,7 @@ impl LampArrayEffectPlaylist { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -835,7 +835,7 @@ impl LampArraySolidEffect { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -847,7 +847,7 @@ impl LampArraySolidEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -859,7 +859,7 @@ impl LampArraySolidEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -870,7 +870,7 @@ impl LampArraySolidEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartDelay(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -881,7 +881,7 @@ impl LampArraySolidEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompletionBehavior(&self, value: LampArrayEffectCompletionBehavior) -> ::windows_core::Result<()> { @@ -894,7 +894,7 @@ impl LampArraySolidEffect { { Self::ILampArraySolidEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), lamparray.into_param().abi(), lampindexes.len().try_into().unwrap(), lampindexes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -924,7 +924,7 @@ impl LampArrayUpdateRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SinceStarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SinceStarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] diff --git a/crates/libs/windows/src/Windows/Devices/Lights/mod.rs b/crates/libs/windows/src/Windows/Devices/Lights/mod.rs index 4b36a7cdf6..c816ed756f 100644 --- a/crates/libs/windows/src/Windows/Devices/Lights/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Lights/mod.rs @@ -159,14 +159,14 @@ impl Lamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -177,7 +177,7 @@ impl Lamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightnessLevel(&self, value: f32) -> ::windows_core::Result<()> { @@ -188,7 +188,7 @@ impl Lamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsColorSettable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsColorSettable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -196,7 +196,7 @@ impl Lamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -211,7 +211,7 @@ impl Lamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAvailabilityChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -221,19 +221,19 @@ impl Lamp { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILampStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ILampStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ILampStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -263,49 +263,49 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LampArrayKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LampArrayKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LampArrayKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LampCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LampCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LampCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinUpdateInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinUpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinUpdateInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -313,14 +313,14 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -331,7 +331,7 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightnessLevel(&self, value: f64) -> ::windows_core::Result<()> { @@ -342,21 +342,21 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportsVirtualKeys(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsVirtualKeys)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsVirtualKeys)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetLampInfo(&self, lampindex: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLampInfo)(::windows_core::Interface::as_raw(this), lampindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLampInfo)(::windows_core::Interface::as_raw(this), lampindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -364,14 +364,14 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetIndicesForKey)(::windows_core::Interface::as_raw(this), key, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetIndicesForKey)(::windows_core::Interface::as_raw(this), key, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn GetIndicesForPurposes(&self, purposes: LampPurposes) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetIndicesForPurposes)(::windows_core::Interface::as_raw(this), purposes, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetIndicesForPurposes)(::windows_core::Interface::as_raw(this), purposes, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "UI")] @@ -417,7 +417,7 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), messageid, message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), messageid, message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -425,14 +425,14 @@ impl LampArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAvailable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AvailabilityChanged(&self, handler: P0) -> ::windows_core::Result @@ -442,7 +442,7 @@ impl LampArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAvailabilityChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -452,13 +452,13 @@ impl LampArray { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILampArrayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ILampArrayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -488,7 +488,7 @@ impl LampAvailabilityChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -513,14 +513,14 @@ impl LampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Purposes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Purposes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Purposes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -528,35 +528,35 @@ impl LampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedLevelCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GreenLevelCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GreenLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GreenLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BlueLevelCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlueLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlueLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GainLevelCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GainLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GainLevelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -564,7 +564,7 @@ impl LampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FixedColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FixedColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -572,14 +572,14 @@ impl LampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNearestSupportedColor)(::windows_core::Interface::as_raw(this), desiredcolor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNearestSupportedColor)(::windows_core::Interface::as_raw(this), desiredcolor, &mut result__).map(|| result__) } } pub fn UpdateLatency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Midi/mod.rs b/crates/libs/windows/src/Windows/Devices/Midi/mod.rs index 279f7e08ad..f175339f0b 100644 --- a/crates/libs/windows/src/Windows/Devices/Midi/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Midi/mod.rs @@ -53,7 +53,7 @@ impl IMidiMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -61,14 +61,14 @@ impl IMidiMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -148,7 +148,7 @@ impl IMidiOutPort { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -321,7 +321,7 @@ impl MidiActiveSensingMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -329,14 +329,14 @@ impl MidiActiveSensingMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -362,27 +362,27 @@ impl MidiChannelPressureMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pressure(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiChannelPressureMessage(channel: u8, pressure: u8) -> ::windows_core::Result { Self::IMidiChannelPressureMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiChannelPressureMessage)(::windows_core::Interface::as_raw(this), channel, pressure, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiChannelPressureMessage)(::windows_core::Interface::as_raw(this), channel, pressure, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Timestamp(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -390,14 +390,14 @@ impl MidiChannelPressureMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -435,7 +435,7 @@ impl MidiContinueMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -443,14 +443,14 @@ impl MidiContinueMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -476,34 +476,34 @@ impl MidiControlChangeMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Controller(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ControlValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiControlChangeMessage(channel: u8, controller: u8, controlvalue: u8) -> ::windows_core::Result { Self::IMidiControlChangeMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiControlChangeMessage)(::windows_core::Interface::as_raw(this), channel, controller, controlvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiControlChangeMessage)(::windows_core::Interface::as_raw(this), channel, controller, controlvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Timestamp(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -511,14 +511,14 @@ impl MidiControlChangeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -556,7 +556,7 @@ impl MidiInPort { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -567,19 +567,19 @@ impl MidiInPort { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMidiInPortStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMidiInPortStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -609,7 +609,7 @@ impl MidiMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -635,7 +635,7 @@ impl MidiNoteOffMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -643,41 +643,41 @@ impl MidiNoteOffMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Note(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Velocity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiNoteOffMessage(channel: u8, note: u8, velocity: u8) -> ::windows_core::Result { Self::IMidiNoteOffMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiNoteOffMessage)(::windows_core::Interface::as_raw(this), channel, note, velocity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiNoteOffMessage)(::windows_core::Interface::as_raw(this), channel, note, velocity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -708,7 +708,7 @@ impl MidiNoteOnMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -716,41 +716,41 @@ impl MidiNoteOnMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Note(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Velocity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiNoteOnMessage(channel: u8, note: u8, velocity: u8) -> ::windows_core::Result { Self::IMidiNoteOnMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiNoteOnMessage)(::windows_core::Interface::as_raw(this), channel, note, velocity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiNoteOnMessage)(::windows_core::Interface::as_raw(this), channel, note, velocity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -800,19 +800,19 @@ impl MidiOutPort { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMidiOutPortStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMidiOutPortStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -843,7 +843,7 @@ impl MidiPitchBendChangeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -851,34 +851,34 @@ impl MidiPitchBendChangeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Bend(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bend)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bend)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiPitchBendChangeMessage(channel: u8, bend: u16) -> ::windows_core::Result { Self::IMidiPitchBendChangeMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiPitchBendChangeMessage)(::windows_core::Interface::as_raw(this), channel, bend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiPitchBendChangeMessage)(::windows_core::Interface::as_raw(this), channel, bend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -909,7 +909,7 @@ impl MidiPolyphonicKeyPressureMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -917,41 +917,41 @@ impl MidiPolyphonicKeyPressureMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Note(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Note)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pressure(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiPolyphonicKeyPressureMessage(channel: u8, note: u8, pressure: u8) -> ::windows_core::Result { Self::IMidiPolyphonicKeyPressureMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiPolyphonicKeyPressureMessage)(::windows_core::Interface::as_raw(this), channel, note, pressure, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiPolyphonicKeyPressureMessage)(::windows_core::Interface::as_raw(this), channel, note, pressure, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -982,7 +982,7 @@ impl MidiProgramChangeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -990,34 +990,34 @@ impl MidiProgramChangeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Program(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Program)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Program)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiProgramChangeMessage(channel: u8, program: u8) -> ::windows_core::Result { Self::IMidiProgramChangeMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiProgramChangeMessage)(::windows_core::Interface::as_raw(this), channel, program, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiProgramChangeMessage)(::windows_core::Interface::as_raw(this), channel, program, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1048,7 +1048,7 @@ impl MidiSongPositionPointerMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1056,27 +1056,27 @@ impl MidiSongPositionPointerMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Beats(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Beats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Beats)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiSongPositionPointerMessage(beats: u16) -> ::windows_core::Result { Self::IMidiSongPositionPointerMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiSongPositionPointerMessage)(::windows_core::Interface::as_raw(this), beats, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiSongPositionPointerMessage)(::windows_core::Interface::as_raw(this), beats, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1107,7 +1107,7 @@ impl MidiSongSelectMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1115,27 +1115,27 @@ impl MidiSongSelectMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Song(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Song)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Song)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiSongSelectMessage(song: u8) -> ::windows_core::Result { Self::IMidiSongSelectMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiSongSelectMessage)(::windows_core::Interface::as_raw(this), song, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiSongSelectMessage)(::windows_core::Interface::as_raw(this), song, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1173,7 +1173,7 @@ impl MidiStartMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1181,14 +1181,14 @@ impl MidiStartMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1221,7 +1221,7 @@ impl MidiStopMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1229,14 +1229,14 @@ impl MidiStopMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1281,7 +1281,7 @@ impl MidiSynthesizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -1289,14 +1289,14 @@ impl MidiSynthesizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Volume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVolume(&self, value: f64) -> ::windows_core::Result<()> { @@ -1306,7 +1306,7 @@ impl MidiSynthesizer { pub fn CreateAsync() -> ::windows_core::Result> { Self::IMidiSynthesizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Enumeration")] @@ -1316,7 +1316,7 @@ impl MidiSynthesizer { { Self::IMidiSynthesizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromAudioDeviceAsync)(::windows_core::Interface::as_raw(this), audiodevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromAudioDeviceAsync)(::windows_core::Interface::as_raw(this), audiodevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Enumeration")] @@ -1326,7 +1326,7 @@ impl MidiSynthesizer { { Self::IMidiSynthesizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSynthesizer)(::windows_core::Interface::as_raw(this), mididevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSynthesizer)(::windows_core::Interface::as_raw(this), mididevice.into_param().abi(), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1357,7 +1357,7 @@ impl MidiSystemExclusiveMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1365,14 +1365,14 @@ impl MidiSystemExclusiveMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1382,7 +1382,7 @@ impl MidiSystemExclusiveMessage { { Self::IMidiSystemExclusiveMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiSystemExclusiveMessage)(::windows_core::Interface::as_raw(this), rawdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiSystemExclusiveMessage)(::windows_core::Interface::as_raw(this), rawdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1420,7 +1420,7 @@ impl MidiSystemResetMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1428,14 +1428,14 @@ impl MidiSystemResetMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1461,7 +1461,7 @@ impl MidiTimeCodeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1469,34 +1469,34 @@ impl MidiTimeCodeMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Values(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateMidiTimeCodeMessage(frametype: u8, values: u8) -> ::windows_core::Result { Self::IMidiTimeCodeMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMidiTimeCodeMessage)(::windows_core::Interface::as_raw(this), frametype, values, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMidiTimeCodeMessage)(::windows_core::Interface::as_raw(this), frametype, values, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1534,7 +1534,7 @@ impl MidiTimingClockMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1542,14 +1542,14 @@ impl MidiTimingClockMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1582,7 +1582,7 @@ impl MidiTuneRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1590,14 +1590,14 @@ impl MidiTuneRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs index 4d8ff11efc..f6832728c6 100644 --- a/crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs @@ -315,28 +315,28 @@ impl BarcodeScannerDisableScannerRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -361,14 +361,14 @@ impl BarcodeScannerDisableScannerRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -393,28 +393,28 @@ impl BarcodeScannerEnableScannerRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -439,14 +439,14 @@ impl BarcodeScannerEnableScannerRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -472,28 +472,28 @@ impl BarcodeScannerFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryAcquireLatestFrameAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireLatestFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireLatestFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Connection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameArrived(&self, handler: P0) -> ::windows_core::Result @@ -503,7 +503,7 @@ impl BarcodeScannerFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameArrived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -536,7 +536,7 @@ impl BarcodeScannerFrameReaderFrameArrivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -561,7 +561,7 @@ impl BarcodeScannerGetSymbologyAttributesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportCompletedAsync(&self, attributes: P0) -> ::windows_core::Result @@ -571,28 +571,28 @@ impl BarcodeScannerGetSymbologyAttributesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -617,14 +617,14 @@ impl BarcodeScannerGetSymbologyAttributesRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -649,28 +649,28 @@ impl BarcodeScannerHideVideoPreviewRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -695,14 +695,14 @@ impl BarcodeScannerHideVideoPreviewRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -728,14 +728,14 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -743,14 +743,14 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedSymbologies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedSymbologies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CompanyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompanyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -761,7 +761,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -772,7 +772,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVersion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -790,14 +790,14 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportScannedDataAsync)(::windows_core::Interface::as_raw(this), report.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportScannedDataAsync)(::windows_core::Interface::as_raw(this), report.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportTriggerStateAsync(&self, state: BarcodeScannerTriggerState) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportTriggerStateAsync)(::windows_core::Interface::as_raw(this), state, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportTriggerStateAsync)(::windows_core::Interface::as_raw(this), state, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportErrorAsync(&self, errordata: P0) -> ::windows_core::Result @@ -807,7 +807,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportErrorAsync)(::windows_core::Interface::as_raw(this), errordata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportErrorAsync)(::windows_core::Interface::as_raw(this), errordata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportErrorAsyncWithScanReport(&self, errordata: P0, isretriable: bool, scanreport: P1) -> ::windows_core::Result @@ -818,7 +818,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportErrorAsyncWithScanReport)(::windows_core::Interface::as_raw(this), errordata.into_param().abi(), isretriable, scanreport.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportErrorAsyncWithScanReport)(::windows_core::Interface::as_raw(this), errordata.into_param().abi(), isretriable, scanreport.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableScannerRequested(&self, handler: P0) -> ::windows_core::Result @@ -828,7 +828,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableScannerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableScannerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnableScannerRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -842,7 +842,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableScannerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableScannerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisableScannerRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -856,7 +856,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetActiveSymbologiesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetActiveSymbologiesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSetActiveSymbologiesRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -870,7 +870,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartSoftwareTriggerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartSoftwareTriggerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStartSoftwareTriggerRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -884,7 +884,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopSoftwareTriggerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopSoftwareTriggerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopSoftwareTriggerRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -898,7 +898,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBarcodeSymbologyAttributesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBarcodeSymbologyAttributesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGetBarcodeSymbologyAttributesRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -912,7 +912,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetBarcodeSymbologyAttributesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetBarcodeSymbologyAttributesRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSetBarcodeSymbologyAttributesRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -926,7 +926,7 @@ impl BarcodeScannerProviderConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HideVideoPreviewRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HideVideoPreviewRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHideVideoPreviewRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -937,7 +937,7 @@ impl BarcodeScannerProviderConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -945,7 +945,7 @@ impl BarcodeScannerProviderConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderWithFormatAsync)(::windows_core::Interface::as_raw(this), preferredformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderWithFormatAsync)(::windows_core::Interface::as_raw(this), preferredformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -953,7 +953,7 @@ impl BarcodeScannerProviderConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderWithFormatAndSizeAsync)(::windows_core::Interface::as_raw(this), preferredformat, preferredsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderWithFormatAndSizeAsync)(::windows_core::Interface::as_raw(this), preferredformat, preferredsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -982,7 +982,7 @@ impl BarcodeScannerProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1008,35 +1008,35 @@ impl BarcodeScannerSetActiveSymbologiesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Symbologies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Symbologies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1061,14 +1061,14 @@ impl BarcodeScannerSetActiveSymbologiesRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1093,42 +1093,42 @@ impl BarcodeScannerSetSymbologyAttributesRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Symbology)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompletedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1153,14 +1153,14 @@ impl BarcodeScannerSetSymbologyAttributesRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1185,28 +1185,28 @@ impl BarcodeScannerStartSoftwareTriggerRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1231,14 +1231,14 @@ impl BarcodeScannerStartSoftwareTriggerRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1263,28 +1263,28 @@ impl BarcodeScannerStopSoftwareTriggerRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAsync(&self, reason: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAsync)(::windows_core::Interface::as_raw(this), reason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportFailedWithFailedReasonAndDescriptionAsync(&self, reason: i32, failedreasondescription: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportFailedWithFailedReasonAndDescriptionAsync)(::windows_core::Interface::as_raw(this), reason, ::core::mem::transmute_copy(failedreasondescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1309,14 +1309,14 @@ impl BarcodeScannerStopSoftwareTriggerRequestEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1343,21 +1343,21 @@ impl BarcodeScannerVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1365,7 +1365,7 @@ impl BarcodeScannerVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -1401,7 +1401,7 @@ impl BarcodeSymbologyAttributesBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitValidationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitValidationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCheckDigitValidationSupported(&self, value: bool) -> ::windows_core::Result<()> { @@ -1412,7 +1412,7 @@ impl BarcodeSymbologyAttributesBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCheckDigitTransmissionSupported(&self, value: bool) -> ::windows_core::Result<()> { @@ -1423,7 +1423,7 @@ impl BarcodeSymbologyAttributesBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecodeLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecodeLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecodeLengthSupported(&self, value: bool) -> ::windows_core::Result<()> { @@ -1434,7 +1434,7 @@ impl BarcodeSymbologyAttributesBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::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 ca2fe014f7..e4f8850d99 100644 --- a/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs @@ -323,7 +323,7 @@ impl ICashDrawerEventSourceEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -722,7 +722,7 @@ impl ICommonClaimedPosPrinterStation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -733,7 +733,7 @@ impl ICommonClaimedPosPrinterStation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineSpacing(&self, value: u32) -> ::windows_core::Result<()> { @@ -744,14 +744,14 @@ impl ICommonClaimedPosPrinterStation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLetterQuality(&self, value: bool) -> ::windows_core::Result<()> { @@ -762,14 +762,14 @@ impl ICommonClaimedPosPrinterStation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEnd(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorCartridge(&self, value: PosPrinterColorCartridge) -> ::windows_core::Result<()> { @@ -780,56 +780,56 @@ impl ICommonClaimedPosPrinterStation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCoverOpen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeRemoved(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeEmpty(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHeadCleaning(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmpty(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadyToPrint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidateData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).map(|| result__) } } } @@ -867,84 +867,84 @@ impl ICommonPosPrintStationCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDualColorSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorCartridgeCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CartridgeSensors(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBoldSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsItalicSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighPrintSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmptySensorSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEndSensorSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -952,7 +952,7 @@ impl ICommonPosPrintStationCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -988,49 +988,49 @@ impl ICommonReceiptSlipCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBitmapSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLeft90RotationSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRight90RotationSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Is180RotationSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPrintAreaSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RuledLineCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1038,7 +1038,7 @@ impl ICommonReceiptSlipCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1046,91 +1046,91 @@ impl ICommonReceiptSlipCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPrinterPresent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDualColorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorCartridgeCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CartridgeSensors(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBoldSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsItalicSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighPrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmptySensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEndSensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1138,7 +1138,7 @@ impl ICommonReceiptSlipCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1673,7 +1673,7 @@ impl IPosPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1870,7 +1870,7 @@ impl IReceiptOrSlipJob { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2017,28 +2017,28 @@ impl BarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClaimScannerAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClaimScannerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClaimScannerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckHealthAsync(&self, level: UnifiedPosHealthCheckLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2046,14 +2046,14 @@ impl BarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedSymbologiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedSymbologiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSymbologySupportedAsync(&self, barcodesymbology: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSymbologySupportedAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSymbologySupportedAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2064,7 +2064,7 @@ impl BarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2072,14 +2072,14 @@ impl BarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsProfileSupported(&self, profile: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProfileSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profile), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProfileSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profile), &mut result__).map(|| result__) } } pub fn StatusUpdated(&self, handler: P0) -> ::windows_core::Result @@ -2089,7 +2089,7 @@ impl BarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2100,31 +2100,31 @@ impl BarcodeScanner { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IBarcodeScannerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBarcodeScannerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBarcodeScannerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBarcodeScannerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -2163,42 +2163,42 @@ impl BarcodeScannerCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsReportingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsUpdatingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsImagePreviewSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsImagePreviewSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsImagePreviewSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSoftwareTriggerSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSoftwareTriggerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSoftwareTriggerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVideoPreviewSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoPreviewSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoPreviewSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2223,7 +2223,7 @@ impl BarcodeScannerDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2248,21 +2248,21 @@ impl BarcodeScannerErrorOccurredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartialInputData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartialInputData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRetriable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRetriable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRetriable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorData(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2288,7 +2288,7 @@ impl BarcodeScannerImagePreviewReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preview)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2313,7 +2313,7 @@ impl BarcodeScannerReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanDataType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanDataType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2321,7 +2321,7 @@ impl BarcodeScannerReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2329,7 +2329,7 @@ impl BarcodeScannerReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanDataLabel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanDataLabel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2340,7 +2340,7 @@ impl BarcodeScannerReport { { Self::IBarcodeScannerReportFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), scandatatype, scandata.into_param().abi(), scandatalabel.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), scandatatype, scandata.into_param().abi(), scandatalabel.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2370,14 +2370,14 @@ impl BarcodeScannerStatusUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2398,571 +2398,571 @@ impl BarcodeSymbologies { pub fn Unknown() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean8() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean8Add2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean8Add2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean8Add2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean8Add5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean8Add5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean8Add5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Eanv() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Eanv)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Eanv)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EanvAdd2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EanvAdd2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EanvAdd2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EanvAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EanvAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EanvAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean13() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean13)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean13)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean13Add2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean13Add2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean13Add2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean13Add5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean13Add5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean13Add5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Isbn() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Isbn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Isbn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsbnAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsbnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsbnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ismn() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ismn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ismn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsmnAdd2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsmnAdd2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsmnAdd2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsmnAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsmnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsmnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Issn() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Issn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Issn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IssnAdd2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IssnAdd2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IssnAdd2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IssnAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IssnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IssnAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean99() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean99)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean99)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean99Add2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean99Add2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean99Add2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ean99Add5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ean99Add5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ean99Add5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Upca() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Upca)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Upca)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UpcaAdd2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpcaAdd2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpcaAdd2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UpcaAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpcaAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpcaAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Upce() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Upce)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Upce)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UpceAdd2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpceAdd2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpceAdd2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UpceAdd5() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpceAdd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpceAdd5)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UpcCoupon() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpcCoupon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpcCoupon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfStd() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfStd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfStd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfDis() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfDis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfDis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfInt() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfInt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfInt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfInd() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfInd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfInd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfMat() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfMat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfMat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TfIata() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TfIata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TfIata)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gs1DatabarType1() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1DatabarType1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1DatabarType1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gs1DatabarType2() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1DatabarType2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1DatabarType2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gs1DatabarType3() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1DatabarType3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1DatabarType3)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code39() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code39)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code39)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code39Ex() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code39Ex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code39Ex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Trioptic39() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trioptic39)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trioptic39)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code32() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Pzn() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pzn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pzn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code93() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code93)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code93)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code93Ex() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code93Ex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code93Ex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code128() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gs1128() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gs1128Coupon() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1128Coupon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1128Coupon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UccEan128() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UccEan128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UccEan128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Sisac() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sisac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sisac)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Isbt() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Isbt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Isbt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Codabar() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Codabar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Codabar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code11() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code11)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code11)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Msi() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Msi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Msi)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Plessey() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Plessey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Plessey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Telepen() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Telepen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Telepen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code16k() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code16k)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code16k)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CodablockA() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodablockA)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodablockA)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CodablockF() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodablockF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodablockF)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Codablock128() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Codablock128)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Codablock128)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Code49() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code49)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code49)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Aztec() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aztec)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aztec)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DataCode() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DataMatrix() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HanXin() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HanXin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HanXin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Maxicode() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Maxicode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Maxicode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MicroPdf417() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicroPdf417)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicroPdf417)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MicroQr() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicroQr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicroQr)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Pdf417() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pdf417)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pdf417)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Qr() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Qr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Qr)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MsTag() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MsTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MsTag)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ccab() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ccab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ccab)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ccc() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ccc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ccc)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Tlc39() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tlc39)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tlc39)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AusPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AusPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AusPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CanPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ChinaPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChinaPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChinaPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DutchKix() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DutchKix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DutchKix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InfoMail() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InfoMail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InfoMail)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ItalianPost25() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItalianPost25)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItalianPost25)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ItalianPost39() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItalianPost39)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItalianPost39)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn JapanPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JapanPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JapanPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn KoreanPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KoreanPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KoreanPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SwedenPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwedenPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwedenPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UkPost() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UkPost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UkPost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UsIntelligent() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsIntelligent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsIntelligent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UsIntelligentPkg() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsIntelligentPkg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsIntelligentPkg)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UsPlanet() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsPlanet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsPlanet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UsPostNet() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsPostNet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsPostNet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Us4StateFics() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Us4StateFics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Us4StateFics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OcrA() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcrA)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcrA)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OcrB() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcrB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcrB)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Micr() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Micr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Micr)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtendedBase() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetName(scandatatype: u32) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBarcodeSymbologiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetName)(::windows_core::Interface::as_raw(this), scandatatype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetName)(::windows_core::Interface::as_raw(this), scandatatype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Gs1DWCode() -> ::windows_core::Result { Self::IBarcodeSymbologiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gs1DWCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gs1DWCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2988,7 +2988,7 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitValidationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitValidationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCheckDigitValidationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2999,14 +2999,14 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitValidationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitValidationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCheckDigitTransmissionEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCheckDigitTransmissionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3017,14 +3017,14 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCheckDigitTransmissionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DecodeLength1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeLength1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeLength1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDecodeLength1(&self, value: u32) -> ::windows_core::Result<()> { @@ -3035,7 +3035,7 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeLength2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeLength2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDecodeLength2(&self, value: u32) -> ::windows_core::Result<()> { @@ -3046,7 +3046,7 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeLengthKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeLengthKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDecodeLengthKind(&self, value: BarcodeSymbologyDecodeLengthKind) -> ::windows_core::Result<()> { @@ -3057,7 +3057,7 @@ impl BarcodeSymbologyAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecodeLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecodeLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3083,49 +3083,49 @@ impl CashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDrawerOpen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDrawerOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDrawerOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DrawerEventSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawerEventSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawerEventSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClaimDrawerAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClaimDrawerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClaimDrawerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckHealthAsync(&self, level: UnifiedPosHealthCheckLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3136,7 +3136,7 @@ impl CashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusUpdated(&self, handler: P0) -> ::windows_core::Result @@ -3146,7 +3146,7 @@ impl CashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3156,25 +3156,25 @@ impl CashDrawer { pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ICashDrawerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICashDrawerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICashDrawerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICashDrawerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -3213,42 +3213,42 @@ impl CashDrawerCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsReportingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsUpdatingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatusReportingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatusReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatusReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatusMultiDrawerDetectSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatusMultiDrawerDetectSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatusMultiDrawerDetectSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDrawerOpenSensorAvailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDrawerOpenSensorAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDrawerOpenSensorAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3277,7 +3277,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlarmTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlarmTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBeepFrequency(&self, value: u32) -> ::windows_core::Result<()> { @@ -3288,7 +3288,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeepFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeepFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBeepDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3299,7 +3299,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeepDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeepDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBeepDelay(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3310,7 +3310,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeepDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeepDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AlarmTimeoutExpired(&self, handler: P0) -> ::windows_core::Result @@ -3320,7 +3320,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlarmTimeoutExpired)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlarmTimeoutExpired)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAlarmTimeoutExpired(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3331,7 +3331,7 @@ impl CashDrawerCloseAlarm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3357,7 +3357,7 @@ impl CashDrawerClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3385,7 +3385,7 @@ impl CashDrawerEventSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawerClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawerClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDrawerClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3399,7 +3399,7 @@ impl CashDrawerEventSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawerOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawerOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDrawerOpened(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3429,7 +3429,7 @@ impl CashDrawerOpenedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CashDrawer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3454,14 +3454,14 @@ impl CashDrawerStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3486,7 +3486,7 @@ impl CashDrawerStatusUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3512,14 +3512,14 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDisabledOnDataReceived(&self, value: bool) -> ::windows_core::Result<()> { @@ -3530,7 +3530,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledOnDataReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledOnDataReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecodeDataEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3541,21 +3541,21 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecodeDataEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecodeDataEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnableAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetainDevice(&self) -> ::windows_core::Result<()> { @@ -3570,7 +3570,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetActiveSymbologiesAsync)(::windows_core::Interface::as_raw(this), symbologies.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetActiveSymbologiesAsync)(::windows_core::Interface::as_raw(this), symbologies.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3581,7 +3581,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3592,14 +3592,14 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetActiveProfileAsync(&self, profile: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetActiveProfileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profile), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetActiveProfileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profile), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataReceived(&self, handler: P0) -> ::windows_core::Result @@ -3609,7 +3609,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3623,7 +3623,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTriggerPressed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3637,7 +3637,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTriggerReleased(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3651,7 +3651,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReleaseDeviceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3665,7 +3665,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImagePreviewReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImagePreviewReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveImagePreviewReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3679,7 +3679,7 @@ impl ClaimedBarcodeScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3690,21 +3690,21 @@ impl ClaimedBarcodeScanner { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartSoftwareTriggerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartSoftwareTriggerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopSoftwareTriggerAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopSoftwareTriggerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopSoftwareTriggerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSymbologyAttributesAsync(&self, barcodesymbology: u32) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSymbologyAttributesAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSymbologyAttributesAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSymbologyAttributesAsync(&self, barcodesymbology: u32, attributes: P0) -> ::windows_core::Result> @@ -3714,14 +3714,14 @@ impl ClaimedBarcodeScanner { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetSymbologyAttributesAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, attributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetSymbologyAttributesAsync)(::windows_core::Interface::as_raw(this), barcodesymbology, attributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowVideoPreviewAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowVideoPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowVideoPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HideVideoPreview(&self) -> ::windows_core::Result<()> { @@ -3736,7 +3736,7 @@ impl ClaimedBarcodeScanner { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoPreviewShownOnEnable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoPreviewShownOnEnable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Closed(&self, handler: P0) -> ::windows_core::Result @@ -3746,7 +3746,7 @@ impl ClaimedBarcodeScanner { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3797,56 +3797,56 @@ impl ClaimedCashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDrawerOpen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDrawerOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDrawerOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CloseAlarm(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseAlarm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseAlarm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenDrawerAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenDrawerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenDrawerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetainDeviceAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetainDeviceAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetainDeviceAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3857,7 +3857,7 @@ impl ClaimedCashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3868,7 +3868,7 @@ impl ClaimedCashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReleaseDeviceRequested(&self, handler: P0) -> ::windows_core::Result @@ -3878,7 +3878,7 @@ impl ClaimedCashDrawer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReleaseDeviceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3892,7 +3892,7 @@ impl ClaimedCashDrawer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3943,7 +3943,7 @@ impl ClaimedJournalPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharactersPerLine(&self, value: u32) -> ::windows_core::Result<()> { @@ -3954,7 +3954,7 @@ impl ClaimedJournalPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -3965,7 +3965,7 @@ impl ClaimedJournalPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineSpacing(&self, value: u32) -> ::windows_core::Result<()> { @@ -3976,14 +3976,14 @@ impl ClaimedJournalPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLetterQuality(&self, value: bool) -> ::windows_core::Result<()> { @@ -3994,14 +3994,14 @@ impl ClaimedJournalPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEnd(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorCartridge(&self, value: PosPrinterColorCartridge) -> ::windows_core::Result<()> { @@ -4012,56 +4012,56 @@ impl ClaimedJournalPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCoverOpen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeRemoved(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHeadCleaning(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadyToPrint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidateData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).map(|| result__) } } } @@ -4087,56 +4087,56 @@ impl ClaimedLineDisplay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalDeviceName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalDeviceDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalDeviceDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalDeviceDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceControlDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceControlVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceControlVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceControlVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceServiceVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServiceVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServiceVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultWindow(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultWindow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetainDevice(&self) -> ::windows_core::Result<()> { @@ -4150,7 +4150,7 @@ impl ClaimedLineDisplay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReleaseDeviceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4165,21 +4165,21 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckHealthAsync(&self, level: UnifiedPosHealthCheckLevel) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckPowerStatusAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckPowerStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckPowerStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusUpdated(&self, handler: P0) -> ::windows_core::Result @@ -4189,7 +4189,7 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4201,14 +4201,14 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedScreenSizesInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedScreenSizesInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxBitmapSizeInPixels(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBitmapSizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBitmapSizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4216,21 +4216,21 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CustomGlyphs(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomGlyphs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomGlyphs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAttributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUpdateAttributesAsync(&self, attributes: P0) -> ::windows_core::Result> @@ -4240,28 +4240,28 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateAttributesAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateAttributesAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetDescriptorAsync(&self, descriptor: u32, descriptorstate: LineDisplayDescriptorState) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetDescriptorAsync)(::windows_core::Interface::as_raw(this), descriptor, descriptorstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetDescriptorAsync)(::windows_core::Interface::as_raw(this), descriptor, descriptorstate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryClearDescriptorsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryClearDescriptorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryClearDescriptorsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCreateWindowAsync(&self, viewport: super::super::Foundation::Rect, windowsize: super::super::Foundation::Size) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateWindowAsync)(::windows_core::Interface::as_raw(this), viewport, windowsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateWindowAsync)(::windows_core::Interface::as_raw(this), viewport, windowsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -4272,7 +4272,7 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -4283,7 +4283,7 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapWithAlignmentAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapWithAlignmentAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -4294,7 +4294,7 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapWithAlignmentAndWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, widthinpixels, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStoreStorageFileBitmapWithAlignmentAndWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, widthinpixels, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Closed(&self, handler: P0) -> ::windows_core::Result @@ -4304,7 +4304,7 @@ impl ClaimedLineDisplay { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4314,19 +4314,19 @@ impl ClaimedLineDisplay { pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IClaimedLineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IClaimedLineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IClaimedLineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -4378,14 +4378,14 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDisabledOnDataReceived(&self, value: bool) -> ::windows_core::Result<()> { @@ -4396,7 +4396,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledOnDataReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledOnDataReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecodeDataEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4407,14 +4407,14 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecodeDataEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecodeDataEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDeviceAuthenticated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDeviceAuthenticated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDeviceAuthenticated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataEncryptionAlgorithm(&self, value: u32) -> ::windows_core::Result<()> { @@ -4425,7 +4425,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataEncryptionAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataEncryptionAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTracksToRead(&self, value: MagneticStripeReaderTrackIds) -> ::windows_core::Result<()> { @@ -4436,7 +4436,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TracksToRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TracksToRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsTransmitSentinelsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4447,21 +4447,21 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransmitSentinelsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransmitSentinelsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnableAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetainDevice(&self) -> ::windows_core::Result<()> { @@ -4477,28 +4477,28 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveDeviceAuthenticationDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveDeviceAuthenticationDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AuthenticateDeviceAsync(&self, responsetoken: &[u8]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateDeviceAsync)(::windows_core::Interface::as_raw(this), responsetoken.len().try_into().unwrap(), responsetoken.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateDeviceAsync)(::windows_core::Interface::as_raw(this), responsetoken.len().try_into().unwrap(), responsetoken.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeAuthenticateDeviceAsync(&self, responsetoken: &[u8]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeAuthenticateDeviceAsync)(::windows_core::Interface::as_raw(this), responsetoken.len().try_into().unwrap(), responsetoken.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeAuthenticateDeviceAsync)(::windows_core::Interface::as_raw(this), responsetoken.len().try_into().unwrap(), responsetoken.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateKeyAsync(&self, key: &::windows_core::HSTRING, keyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(keyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(keyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4509,7 +4509,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4520,7 +4520,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BankCardDataReceived(&self, handler: P0) -> ::windows_core::Result @@ -4530,7 +4530,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BankCardDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BankCardDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBankCardDataReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4544,7 +4544,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AamvaCardDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AamvaCardDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAamvaCardDataReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4558,7 +4558,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VendorSpecificDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VendorSpecificDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVendorSpecificDataReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4572,7 +4572,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReleaseDeviceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4586,7 +4586,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4600,7 +4600,7 @@ impl ClaimedMagneticStripeReader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4651,14 +4651,14 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacterSet(&self, value: u32) -> ::windows_core::Result<()> { @@ -4669,14 +4669,14 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCoverOpen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCharacterSetMappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4687,7 +4687,7 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCharacterSetMappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCharacterSetMappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMapMode(&self, value: PosPrinterMapMode) -> ::windows_core::Result<()> { @@ -4698,49 +4698,49 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Receipt(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Receipt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Receipt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Slip(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Slip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Slip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Journal(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Journal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Journal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetainDeviceAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetainDeviceAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetainDeviceAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4751,7 +4751,7 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4762,7 +4762,7 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStatisticsAsync)(::windows_core::Interface::as_raw(this), statistics.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReleaseDeviceRequested(&self, handler: P0) -> ::windows_core::Result @@ -4772,7 +4772,7 @@ impl ClaimedPosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReleaseDeviceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReleaseDeviceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4786,7 +4786,7 @@ impl ClaimedPosPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4837,42 +4837,42 @@ impl ClaimedReceiptPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidewaysMaxLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidewaysMaxLines)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidewaysMaxChars(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidewaysMaxChars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidewaysMaxChars)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LinesToPaperCut(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinesToPaperCut)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinesToPaperCut)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PageSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrintArea(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateJob(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharactersPerLine(&self, value: u32) -> ::windows_core::Result<()> { @@ -4883,7 +4883,7 @@ impl ClaimedReceiptPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -4894,7 +4894,7 @@ impl ClaimedReceiptPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineSpacing(&self, value: u32) -> ::windows_core::Result<()> { @@ -4905,14 +4905,14 @@ impl ClaimedReceiptPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLetterQuality(&self, value: bool) -> ::windows_core::Result<()> { @@ -4923,14 +4923,14 @@ impl ClaimedReceiptPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEnd(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorCartridge(&self, value: PosPrinterColorCartridge) -> ::windows_core::Result<()> { @@ -4941,56 +4941,56 @@ impl ClaimedReceiptPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCoverOpen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeRemoved(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHeadCleaning(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadyToPrint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidateData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).map(|| result__) } } } @@ -5016,49 +5016,49 @@ impl ClaimedSlipPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidewaysMaxLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidewaysMaxLines)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidewaysMaxChars(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidewaysMaxChars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidewaysMaxChars)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxLines(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLines)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LinesNearEndToEnd(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinesNearEndToEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinesNearEndToEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrintSide(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintSide)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintSide)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PageSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrintArea(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpenJaws(&self) -> ::windows_core::Result<()> { @@ -5073,14 +5073,14 @@ impl ClaimedSlipPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertSlipAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertSlipAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveSlipAsync(&self, timeout: super::super::Foundation::TimeSpan) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveSlipAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveSlipAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangePrintSide(&self, printside: PosPrinterPrintSide) -> ::windows_core::Result<()> { @@ -5091,7 +5091,7 @@ impl ClaimedSlipPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharactersPerLine(&self, value: u32) -> ::windows_core::Result<()> { @@ -5102,7 +5102,7 @@ impl ClaimedSlipPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -5113,7 +5113,7 @@ impl ClaimedSlipPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineSpacing(&self, value: u32) -> ::windows_core::Result<()> { @@ -5124,14 +5124,14 @@ impl ClaimedSlipPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLetterQuality(&self, value: bool) -> ::windows_core::Result<()> { @@ -5142,14 +5142,14 @@ impl ClaimedSlipPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLetterQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEnd(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorCartridge(&self, value: PosPrinterColorCartridge) -> ::windows_core::Result<()> { @@ -5160,56 +5160,56 @@ impl ClaimedSlipPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCoverOpen(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCoverOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeRemoved(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeRemoved)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCartridgeEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCartridgeEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHeadCleaning(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHeadCleaning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmpty(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadyToPrint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadyToPrint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidateData(&self, data: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateData)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(data), &mut result__).map(|| result__) } } } @@ -5262,7 +5262,7 @@ impl JournalPrintJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5288,84 +5288,84 @@ impl JournalPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDualColorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorCartridgeCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CartridgeSensors(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBoldSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsItalicSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighPrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmptySensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEndSensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -5373,49 +5373,49 @@ impl JournalPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReverseVideoSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStrikethroughSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSuperscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSubscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByLineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByMapModeUnitSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5445,93 +5445,93 @@ impl LineDisplay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalDeviceName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalDeviceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalDeviceDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalDeviceDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalDeviceDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceControlDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceControlDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceControlVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceControlVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceControlVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceServiceVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServiceVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServiceVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClaimAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClaimAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClaimAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckPowerStatusAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckPowerStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckPowerStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ILineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ILineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILineDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StatisticsCategorySelector() -> ::windows_core::Result { Self::ILineDisplayStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatisticsCategorySelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatisticsCategorySelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5566,7 +5566,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPowerNotifyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPowerNotifyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPowerNotifyEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -5577,7 +5577,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightness(&self, value: i32) -> ::windows_core::Result<()> { @@ -5588,7 +5588,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBlinkRate(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -5599,7 +5599,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenSizeInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenSizeInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScreenSizeInCharacters(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -5610,7 +5610,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacterSet(&self, value: i32) -> ::windows_core::Result<()> { @@ -5621,7 +5621,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCharacterSetMappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCharacterSetMappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCharacterSetMappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -5632,7 +5632,7 @@ impl LineDisplayAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentWindow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCurrentWindow(&self, value: P0) -> ::windows_core::Result<()> @@ -5664,126 +5664,126 @@ impl LineDisplayCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsUpdatingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerReportingType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanChangeScreenSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanChangeScreenSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanChangeScreenSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanDisplayBitmaps(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDisplayBitmaps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDisplayBitmaps)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanReadCharacterAtCursor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanReadCharacterAtCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanReadCharacterAtCursor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanMapCharacterSets(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMapCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMapCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanDisplayCustomGlyphs(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDisplayCustomGlyphs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDisplayCustomGlyphs)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanReverse(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanReverse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanReverse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanBlink(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanBlink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanBlink)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanChangeBlinkRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanChangeBlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanChangeBlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBrightnessSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBrightnessSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBrightnessSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCursorSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCursorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCursorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHorizontalMarqueeSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHorizontalMarqueeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHorizontalMarqueeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVerticalMarqueeSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVerticalMarqueeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVerticalMarqueeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInterCharacterWaitSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterCharacterWaitSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterCharacterWaitSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedDescriptors(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDescriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDescriptors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedWindows(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedWindows)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedWindows)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5808,56 +5808,56 @@ impl LineDisplayCursor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCustomize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCustomize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBlinkSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlinkSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlinkSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBlockSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlockSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlockSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHalfBlockSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHalfBlockSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHalfBlockSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReverseSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReverseSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReverseSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOtherSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOtherSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOtherSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetAttributes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUpdateAttributesAsync(&self, attributes: P0) -> ::windows_core::Result> @@ -5867,7 +5867,7 @@ impl LineDisplayCursor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateAttributesAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateAttributesAsync)(::windows_core::Interface::as_raw(this), attributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5892,7 +5892,7 @@ impl LineDisplayCursorAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlinkEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlinkEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsBlinkEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -5903,7 +5903,7 @@ impl LineDisplayCursorAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CursorType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CursorType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCursorType(&self, value: LineDisplayCursorType) -> ::windows_core::Result<()> { @@ -5914,7 +5914,7 @@ impl LineDisplayCursorAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoAdvanceEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoAdvanceEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAutoAdvanceEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -5925,7 +5925,7 @@ impl LineDisplayCursorAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -5954,7 +5954,7 @@ impl LineDisplayCustomGlyphs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -5962,7 +5962,7 @@ impl LineDisplayCustomGlyphs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedGlyphCodes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedGlyphCodes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -5973,7 +5973,7 @@ impl LineDisplayCustomGlyphs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRedefineAsync)(::windows_core::Interface::as_raw(this), glyphcode, glyphdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRedefineAsync)(::windows_core::Interface::as_raw(this), glyphcode, glyphdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5998,7 +5998,7 @@ impl LineDisplayMarquee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: LineDisplayMarqueeFormat) -> ::windows_core::Result<()> { @@ -6009,7 +6009,7 @@ impl LineDisplayMarquee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepeatWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepeatWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRepeatWaitInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -6020,7 +6020,7 @@ impl LineDisplayMarquee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScrollWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScrollWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScrollWaitInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -6031,14 +6031,14 @@ impl LineDisplayMarquee { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStartScrollingAsync)(::windows_core::Interface::as_raw(this), direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStartScrollingAsync)(::windows_core::Interface::as_raw(this), direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryStopScrollingAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStopScrollingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStopScrollingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6063,21 +6063,21 @@ impl LineDisplayStatisticsCategorySelector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllStatistics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnifiedPosStatistics(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnifiedPosStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnifiedPosStatistics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ManufacturerStatistics(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerStatistics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6102,7 +6102,7 @@ impl LineDisplayStatusUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6127,14 +6127,14 @@ impl LineDisplayStoredBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EscapeSequence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EscapeSequence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDeleteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6164,14 +6164,14 @@ impl LineDisplayWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InterCharacterWaitInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterCharacterWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterCharacterWaitInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterCharacterWaitInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -6182,63 +6182,63 @@ impl LineDisplayWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRefreshAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRefreshAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDisplayTextAsync(&self, text: &::windows_core::HSTRING, displayattribute: LineDisplayTextAttribute) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), displayattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), displayattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDisplayTextAtPositionAsync(&self, text: &::windows_core::HSTRING, displayattribute: LineDisplayTextAttribute, startposition: super::super::Foundation::Point) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayTextAtPositionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), displayattribute, startposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayTextAtPositionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), displayattribute, startposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDisplayTextNormalAsync(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayTextNormalAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayTextNormalAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryScrollTextAsync(&self, direction: LineDisplayScrollDirection, numberofcolumnsorrows: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryScrollTextAsync)(::windows_core::Interface::as_raw(this), direction, numberofcolumnsorrows, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryScrollTextAsync)(::windows_core::Interface::as_raw(this), direction, numberofcolumnsorrows, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryClearTextAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryClearTextAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryClearTextAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cursor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Marquee(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Marquee)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Marquee)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadCharacterAtCursorAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadCharacterAtCursorAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadCharacterAtCursorAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDisplayStoredBitmapAtCursorAsync(&self, bitmap: P0) -> ::windows_core::Result> @@ -6248,7 +6248,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStoredBitmapAtCursorAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStoredBitmapAtCursorAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -6259,7 +6259,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -6270,7 +6270,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorWithAlignmentAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorWithAlignmentAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -6281,7 +6281,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorWithAlignmentAndWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, widthinpixels, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtCursorWithAlignmentAndWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), horizontalalignment, verticalalignment, widthinpixels, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -6292,7 +6292,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtPointAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), offsetinpixels, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtPointAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), offsetinpixels, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -6303,7 +6303,7 @@ impl LineDisplayWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtPointWithWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), offsetinpixels, widthinpixels, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisplayStorageFileBitmapAtPointWithWidthAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), offsetinpixels, widthinpixels, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6333,42 +6333,42 @@ impl MagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportedCardTypes(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCardTypes)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).SupportedCardTypes)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn DeviceAuthenticationProtocol(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CheckHealthAsync(&self, level: UnifiedPosHealthCheckLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClaimReaderAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClaimReaderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClaimReaderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -6379,14 +6379,14 @@ impl MagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetErrorReportingType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetErrorReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetErrorReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StatusUpdated(&self, handler: P0) -> ::windows_core::Result @@ -6396,7 +6396,7 @@ impl MagneticStripeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6406,25 +6406,25 @@ impl MagneticStripeReader { pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IMagneticStripeReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMagneticStripeReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMagneticStripeReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMagneticStripeReaderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -6459,133 +6459,133 @@ impl MagneticStripeReaderAamvaCardDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LicenseNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpirationDate(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Restrictions(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Restrictions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Restrictions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Class(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Class)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Class)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Endorsements(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Endorsements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Endorsements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BirthDate(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BirthDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BirthDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Surname(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Surname)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Surname)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Suffix(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Gender(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gender)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HairColor(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HairColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HairColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EyeColor(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EyeColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EyeColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Height(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Weight(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Address(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn City(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).City)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostalCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6610,63 +6610,63 @@ impl MagneticStripeReaderBankCardDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccountNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpirationDate(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MiddleInitial(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MiddleInitial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MiddleInitial)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Surname(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Surname)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Surname)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Suffix(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6691,77 +6691,77 @@ impl MagneticStripeReaderCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardAuthentication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardAuthentication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportedEncryptionAlgorithms(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedEncryptionAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedEncryptionAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AuthenticationLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIsoSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIsoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIsoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsJisOneSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsJisOneSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsJisOneSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsJisTwoSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsJisTwoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsJisTwoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerReportingType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsReportingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsUpdatingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTrackDataMaskingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrackDataMaskingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrackDataMaskingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTransmitSentinelsSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransmitSentinelsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransmitSentinelsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6782,25 +6782,25 @@ impl MagneticStripeReaderCardTypes { pub fn Unknown() -> ::windows_core::Result { Self::IMagneticStripeReaderCardTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Bank() -> ::windows_core::Result { Self::IMagneticStripeReaderCardTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bank)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bank)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Aamva() -> ::windows_core::Result { Self::IMagneticStripeReaderCardTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aamva)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aamva)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtendedBase() -> ::windows_core::Result { Self::IMagneticStripeReaderCardTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -6817,19 +6817,19 @@ impl MagneticStripeReaderEncryptionAlgorithms { pub fn None() -> ::windows_core::Result { Self::IMagneticStripeReaderEncryptionAlgorithmsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).None)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).None)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TripleDesDukpt() -> ::windows_core::Result { Self::IMagneticStripeReaderEncryptionAlgorithmsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TripleDesDukpt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TripleDesDukpt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtendedBase() -> ::windows_core::Result { Self::IMagneticStripeReaderEncryptionAlgorithmsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedBase)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -6850,42 +6850,42 @@ impl MagneticStripeReaderErrorOccurredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track1Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track1Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Track2Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track2Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track2Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Track3Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track3Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track3Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Track4Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track4Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track4Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorData(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PartialInputData(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartialInputData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartialInputData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6910,35 +6910,35 @@ impl MagneticStripeReaderReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Track1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Track2(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Track3(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Track4(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track4)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track4)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6946,7 +6946,7 @@ impl MagneticStripeReaderReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -6954,14 +6954,14 @@ impl MagneticStripeReaderReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardAuthenticationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardAuthenticationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CardAuthenticationDataLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardAuthenticationDataLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardAuthenticationDataLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -6969,7 +6969,7 @@ impl MagneticStripeReaderReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalSecurityInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalSecurityInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6994,14 +6994,14 @@ impl MagneticStripeReaderStatusUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -7027,7 +7027,7 @@ impl MagneticStripeReaderTrackData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -7035,7 +7035,7 @@ impl MagneticStripeReaderTrackData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscretionaryData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscretionaryData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -7043,7 +7043,7 @@ impl MagneticStripeReaderTrackData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncryptedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncryptedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -7068,7 +7068,7 @@ impl MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Report)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -7098,14 +7098,14 @@ impl PosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -7113,7 +7113,7 @@ impl PosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharacterSets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -7121,28 +7121,28 @@ impl PosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedTypeFaces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedTypeFaces)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClaimPrinterAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClaimPrinterAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClaimPrinterAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckHealthAsync(&self, level: UnifiedPosHealthCheckLevel) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckHealthAsync)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -7153,7 +7153,7 @@ impl PosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatisticsAsync)(::windows_core::Interface::as_raw(this), statisticscategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusUpdated(&self, handler: P0) -> ::windows_core::Result @@ -7163,7 +7163,7 @@ impl PosPrinter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -7175,38 +7175,38 @@ impl PosPrinter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBarcodeSymbologies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBarcodeSymbologies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFontProperty(&self, typeface: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFontProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typeface), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFontProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typeface), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IPosPrinterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPosPrinterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPosPrinterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithConnectionTypes(connectiontypes: PosConnectionTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPosPrinterStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithConnectionTypes)(::windows_core::Interface::as_raw(this), connectiontypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -7241,70 +7241,70 @@ impl PosPrinterCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerReportingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsReportingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsReportingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStatisticsUpdatingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStatisticsUpdatingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultCharacterSet(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultCharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultCharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasCoverSensor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCoverSensor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCoverSensor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanMapCharacterSet(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanMapCharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanMapCharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTransactionSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransactionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransactionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Receipt(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Receipt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Receipt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Slip(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Slip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Slip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Journal(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Journal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Journal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -7325,19 +7325,19 @@ impl PosPrinterCharacterSetIds { pub fn Utf16LE() -> ::windows_core::Result { Self::IPosPrinterCharacterSetIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Utf16LE)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Utf16LE)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ascii() -> ::windows_core::Result { Self::IPosPrinterCharacterSetIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ascii)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ascii)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ansi() -> ::windows_core::Result { Self::IPosPrinterCharacterSetIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ansi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ansi)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -7358,14 +7358,14 @@ impl PosPrinterFontProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TypeFace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TypeFace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsScalableToAnySize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScalableToAnySize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScalableToAnySize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -7373,7 +7373,7 @@ impl PosPrinterFontProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterSizes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterSizes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -7405,7 +7405,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TypeFace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TypeFace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTypeFace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7416,7 +7416,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacterHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -7427,7 +7427,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBold(&self, value: bool) -> ::windows_core::Result<()> { @@ -7438,7 +7438,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Italic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Italic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetItalic(&self, value: bool) -> ::windows_core::Result<()> { @@ -7449,7 +7449,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Underline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Underline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnderline(&self, value: bool) -> ::windows_core::Result<()> { @@ -7460,7 +7460,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReverseVideo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReverseVideo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReverseVideo(&self, value: bool) -> ::windows_core::Result<()> { @@ -7471,7 +7471,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Strikethrough)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Strikethrough)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrikethrough(&self, value: bool) -> ::windows_core::Result<()> { @@ -7482,7 +7482,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Superscript)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Superscript)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSuperscript(&self, value: bool) -> ::windows_core::Result<()> { @@ -7493,7 +7493,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subscript)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subscript)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSubscript(&self, value: bool) -> ::windows_core::Result<()> { @@ -7504,7 +7504,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DoubleWide)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DoubleWide)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDoubleWide(&self, value: bool) -> ::windows_core::Result<()> { @@ -7515,7 +7515,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DoubleHigh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DoubleHigh)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDoubleHigh(&self, value: bool) -> ::windows_core::Result<()> { @@ -7526,7 +7526,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Alignment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Alignment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlignment(&self, value: PosPrinterAlignment) -> ::windows_core::Result<()> { @@ -7537,7 +7537,7 @@ impl PosPrinterPrintOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterSet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacterSet(&self, value: u32) -> ::windows_core::Result<()> { @@ -7583,14 +7583,14 @@ impl PosPrinterStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -7615,7 +7615,7 @@ impl PosPrinterStatusUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -7653,7 +7653,7 @@ impl ReceiptPrintJob { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBarcodeRotation(&self, value: PosPrinterRotation) -> ::windows_core::Result<()> { @@ -7802,84 +7802,84 @@ impl ReceiptPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDualColorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorCartridgeCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CartridgeSensors(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBoldSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsItalicSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighPrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmptySensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEndSensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -7887,56 +7887,56 @@ impl ReceiptPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsBarcodeSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBitmapSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLeft90RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRight90RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Is180RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPrintAreaSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RuledLineCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -7944,7 +7944,7 @@ impl ReceiptPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -7952,70 +7952,70 @@ impl ReceiptPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanCutPaper(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCutPaper)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCutPaper)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStampSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStampSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStampSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MarkFeedCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MarkFeedCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MarkFeedCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReverseVideoSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStrikethroughSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSuperscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSubscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByLineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByMapModeUnitSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -8053,7 +8053,7 @@ impl SlipPrintJob { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecuteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBarcodeRotation(&self, value: PosPrinterRotation) -> ::windows_core::Result<()> { @@ -8186,84 +8186,84 @@ impl SlipPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDualColorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDualColorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorCartridgeCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorCartridgeCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CartridgeSensors(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CartridgeSensors)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBoldSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBoldSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsItalicSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsItalicSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUnderlineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighPrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighPrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDoubleHighDoubleWidePrintSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleHighDoubleWidePrintSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperEmptySensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperEmptySensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPaperNearEndSensorSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPaperNearEndSensorSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -8271,56 +8271,56 @@ impl SlipPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCharactersPerLine)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsBarcodeSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBarcodeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBitmapSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBitmapSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLeft90RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLeft90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRight90RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRight90RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Is180RotationSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Is180RotationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPrintAreaSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrintAreaSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RuledLineCapabilities(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RuledLineCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -8328,7 +8328,7 @@ impl SlipPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBarcodeRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -8336,63 +8336,63 @@ impl SlipPrinterCapabilities { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBitmapRotations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFullLengthSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFullLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFullLengthSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBothSidesPrintingSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBothSidesPrintingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBothSidesPrintingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReverseVideoSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReverseVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStrikethroughSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStrikethroughSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSuperscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuperscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSubscriptSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSubscriptSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByLineSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByLineSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReversePaperFeedByMapModeUnitSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReversePaperFeedByMapModeUnitSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -8417,34 +8417,34 @@ impl UnifiedPosErrorData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Severity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Severity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Severity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Reason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateInstance(message: &::windows_core::HSTRING, severity: UnifiedPosErrorSeverity, reason: UnifiedPosErrorReason, extendedreason: u32) -> ::windows_core::Result { Self::IUnifiedPosErrorDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(message), severity, reason, extendedreason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(message), severity, reason, extendedreason, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Portable/mod.rs b/crates/libs/windows/src/Windows/Devices/Portable/mod.rs index 9c403be987..a00f1f459f 100644 --- a/crates/libs/windows/src/Windows/Devices/Portable/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Portable/mod.rs @@ -22,13 +22,13 @@ impl ServiceDevice { pub fn GetDeviceSelector(servicetype: ServiceDeviceType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IServiceDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), servicetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), servicetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromServiceId(serviceid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IServiceDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromServiceId)(::windows_core::Interface::as_raw(this), serviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromServiceId)(::windows_core::Interface::as_raw(this), serviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -46,13 +46,13 @@ impl StorageDevice { pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IStorageDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStorageDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Power/mod.rs b/crates/libs/windows/src/Windows/Devices/Power/mod.rs index 2e08130e97..d5c2938ee6 100644 --- a/crates/libs/windows/src/Windows/Devices/Power/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Power/mod.rs @@ -40,14 +40,14 @@ impl Battery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportUpdated(&self, handler: P0) -> ::windows_core::Result @@ -57,7 +57,7 @@ impl Battery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReportUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -67,19 +67,19 @@ impl Battery { pub fn AggregateBattery() -> ::windows_core::Result { Self::IBatteryStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AggregateBattery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AggregateBattery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBatteryStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBatteryStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -109,28 +109,28 @@ impl BatteryReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChargeRateInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChargeRateInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DesignCapacityInMilliwattHours(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesignCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesignCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FullChargeCapacityInMilliwattHours(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullChargeCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullChargeCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemainingCapacityInMilliwattHours(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingCapacityInMilliwattHours)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System_Power")] @@ -138,7 +138,7 @@ impl BatteryReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs b/crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs index 2cef764aee..efcdabd9c0 100644 --- a/crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs @@ -93,21 +93,21 @@ impl Print3DWorkflow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceID)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceID)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPrintModelPackage(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrintModelPackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrintModelPackage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPrintReady(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrintReady)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrintReady)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPrintReady(&self, value: bool) -> ::windows_core::Result<()> { @@ -121,7 +121,7 @@ impl Print3DWorkflow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrintRequested(&self, eventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -135,7 +135,7 @@ impl Print3DWorkflow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrinterChanged(&self, eventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -164,7 +164,7 @@ impl Print3DWorkflowPrintRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendedStatus(&self, value: Print3DWorkflowDetail) -> ::windows_core::Result<()> { @@ -204,7 +204,7 @@ impl Print3DWorkflowPrinterChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -225,7 +225,7 @@ impl PrintExtensionContext { pub fn FromDeviceId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPrintExtensionContextStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -246,14 +246,14 @@ impl PrintNotificationEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EventData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEventData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -282,7 +282,7 @@ impl PrintTaskConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterExtensionContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterExtensionContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveRequested(&self, eventhandler: P0) -> ::windows_core::Result @@ -292,7 +292,7 @@ impl PrintTaskConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSaveRequested(&self, eventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -330,14 +330,14 @@ impl PrintTaskConfigurationSaveRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -380,7 +380,7 @@ impl PrintTaskConfigurationSaveRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Printers/mod.rs b/crates/libs/windows/src/Windows/Devices/Printers/mod.rs index 26c2798ab8..83ae895776 100644 --- a/crates/libs/windows/src/Windows/Devices/Printers/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Printers/mod.rs @@ -379,14 +379,14 @@ impl IppAttributeError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -394,7 +394,7 @@ impl IppAttributeError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnsupportedValues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnsupportedValues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -419,7 +419,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -427,7 +427,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIntegerArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIntegerArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -435,7 +435,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBooleanArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBooleanArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -443,7 +443,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEnumArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEnumArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -451,7 +451,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOctetStringArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOctetStringArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -459,7 +459,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTimeArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTimeArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -467,7 +467,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResolutionArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResolutionArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -475,7 +475,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRangeOfIntegerArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRangeOfIntegerArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -483,7 +483,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCollectionArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCollectionArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -491,7 +491,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTextWithLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTextWithLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -499,7 +499,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNameWithLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNameWithLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -507,7 +507,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTextWithoutLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTextWithoutLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -515,7 +515,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNameWithoutLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNameWithoutLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -523,7 +523,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKeywordArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKeywordArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -531,7 +531,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUriArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUriArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -539,7 +539,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUriSchemaArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUriSchemaArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -547,7 +547,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCharsetArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCharsetArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -555,7 +555,7 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNaturalLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNaturalLanguageArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -563,31 +563,31 @@ impl IppAttributeValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMimeMediaTypeArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMimeMediaTypeArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateUnsupported() -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUnsupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUnsupported)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUnknown() -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUnknown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUnknown)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNoValue() -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNoValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNoValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInteger(value: i32) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInteger)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInteger)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -597,13 +597,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateIntegerArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateIntegerArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBoolean(value: bool) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -613,13 +613,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateEnum(value: i32) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEnum)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEnum)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -629,7 +629,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEnumArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEnumArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -639,7 +639,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOctetString)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOctetString)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -649,13 +649,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOctetStringArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOctetStringArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTime(value: super::super::Foundation::DateTime) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -665,7 +665,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateResolution(value: P0) -> ::windows_core::Result @@ -674,7 +674,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResolution)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResolution)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -684,7 +684,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResolutionArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResolutionArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateRangeOfInteger(value: P0) -> ::windows_core::Result @@ -693,7 +693,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRangeOfInteger)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRangeOfInteger)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -703,7 +703,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRangeOfIntegerArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRangeOfIntegerArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -713,7 +713,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCollection)(::windows_core::Interface::as_raw(this), memberattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCollection)(::windows_core::Interface::as_raw(this), memberattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -723,7 +723,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCollectionArray)(::windows_core::Interface::as_raw(this), memberattributesarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCollectionArray)(::windows_core::Interface::as_raw(this), memberattributesarray.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTextWithLanguage(value: P0) -> ::windows_core::Result @@ -732,7 +732,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextWithLanguage)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextWithLanguage)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -742,7 +742,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextWithLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextWithLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNameWithLanguage(value: P0) -> ::windows_core::Result @@ -751,7 +751,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNameWithLanguage)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNameWithLanguage)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -761,13 +761,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNameWithLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNameWithLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTextWithoutLanguage(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextWithoutLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextWithoutLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -777,13 +777,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextWithoutLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextWithoutLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNameWithoutLanguage(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNameWithoutLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNameWithoutLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -793,13 +793,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNameWithoutLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNameWithoutLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateKeyword(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKeyword)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKeyword)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -809,7 +809,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKeywordArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKeywordArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUri(value: P0) -> ::windows_core::Result @@ -818,7 +818,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUri)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUri)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -828,13 +828,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUriArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUriArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUriSchema(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUriSchema)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUriSchema)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -844,13 +844,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUriSchemaArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUriSchemaArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCharset(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCharset)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCharset)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -860,13 +860,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCharsetArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCharsetArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateNaturalLanguage(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNaturalLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNaturalLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -876,13 +876,13 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNaturalLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNaturalLanguageArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMimeMedia(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMimeMedia)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMimeMedia)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -892,7 +892,7 @@ impl IppAttributeValue { { Self::IIppAttributeValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMimeMediaArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMimeMediaArray)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -922,20 +922,20 @@ impl IppIntegerRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn End(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateInstance(start: i32, end: i32) -> ::windows_core::Result { Self::IIppIntegerRangeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), start, end, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), start, end, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -965,14 +965,14 @@ impl IppPrintDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrinterUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -983,7 +983,7 @@ impl IppPrintDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrinterAttributesAsBuffer)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrinterAttributesAsBuffer)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -994,7 +994,7 @@ impl IppPrintDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrinterAttributes)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrinterAttributes)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1005,7 +1005,7 @@ impl IppPrintDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPrinterAttributesFromBuffer)(::windows_core::Interface::as_raw(this), printerattributesbuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPrinterAttributesFromBuffer)(::windows_core::Interface::as_raw(this), printerattributesbuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1016,59 +1016,59 @@ impl IppPrintDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPrinterAttributes)(::windows_core::Interface::as_raw(this), printerattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPrinterAttributes)(::windows_core::Interface::as_raw(this), printerattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMaxSupportedPdfSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMaxSupportedPdfSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMaxSupportedPdfSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetMaxSupportedPdfVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMaxSupportedPdfVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMaxSupportedPdfVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPdlPassthroughSupported(&self, pdlcontenttype: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPdlPassthroughSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pdlcontenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPdlPassthroughSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pdlcontenttype), &mut result__).map(|| result__) } } pub fn GetPdlPassthroughProvider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPdlPassthroughProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPdlPassthroughProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IIppPrintDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppPrintDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromPrinterName(printername: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppPrintDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromPrinterName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(printername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromPrinterName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(printername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsIppPrinter(printername: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppPrintDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIppPrinter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(printername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIppPrinter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(printername), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1098,27 +1098,27 @@ impl IppResolution { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Unit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateInstance(width: i32, height: i32, unit: IppResolutionUnit) -> ::windows_core::Result { Self::IIppResolutionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), width, height, unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), width, height, unit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1148,7 +1148,7 @@ impl IppSetAttributesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1156,7 +1156,7 @@ impl IppSetAttributesResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1181,20 +1181,20 @@ impl IppTextWithLanguage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(language: &::windows_core::HSTRING, text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIppTextWithLanguageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1231,7 +1231,7 @@ impl PageConfigurationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientationSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientationSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrientationSource(&self, value: PageConfigurationSource) -> ::windows_core::Result<()> { @@ -1242,7 +1242,7 @@ impl PageConfigurationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSizeSource(&self, value: PageConfigurationSource) -> ::windows_core::Result<()> { @@ -1272,7 +1272,7 @@ impl PdlPassthroughProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPdlContentTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPdlContentTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Printing")] @@ -1284,7 +1284,7 @@ impl PdlPassthroughProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPrintJobWithTaskOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(jobname), ::core::mem::transmute_copy(pdlcontenttype), taskoptions.into_param().abi(), pageconfigurationsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPrintJobWithTaskOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(jobname), ::core::mem::transmute_copy(pdlcontenttype), taskoptions.into_param().abi(), pageconfigurationsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1296,7 +1296,7 @@ impl PdlPassthroughProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPrintJobWithPrintTicket)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(jobname), ::core::mem::transmute_copy(pdlcontenttype), printticket.into_param().abi(), pageconfigurationsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPrintJobWithPrintTicket)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(jobname), ::core::mem::transmute_copy(pdlcontenttype), printticket.into_param().abi(), pageconfigurationsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1326,7 +1326,7 @@ impl PdlPassthroughTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintJobId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintJobId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1334,7 +1334,7 @@ impl PdlPassthroughTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Submit(&self) -> ::windows_core::Result<()> { @@ -1363,19 +1363,19 @@ impl Print3DDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintSchema)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintSchema)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPrint3DDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPrint3DDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1406,7 +1406,7 @@ impl PrintSchema { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1417,7 +1417,7 @@ impl PrintSchema { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilitiesAsync)(::windows_core::Interface::as_raw(this), constrainticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilitiesAsync)(::windows_core::Interface::as_raw(this), constrainticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1428,7 +1428,7 @@ impl PrintSchema { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MergeAndValidateWithDefaultPrintTicketAsync)(::windows_core::Interface::as_raw(this), deltaticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MergeAndValidateWithDefaultPrintTicketAsync)(::windows_core::Interface::as_raw(this), deltaticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs index 1ec4fba830..5127941965 100644 --- a/crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs @@ -5,35 +5,35 @@ impl IPwmControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActualFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredFrequency(&self, frequency: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDesiredFrequency)(::windows_core::Interface::as_raw(this), frequency, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDesiredFrequency)(::windows_core::Interface::as_raw(this), frequency, &mut result__).map(|| result__) } } pub fn MaxFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AcquirePin(&self, pin: i32) -> ::windows_core::Result<()> { @@ -83,7 +83,7 @@ impl IPwmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Pwm/mod.rs b/crates/libs/windows/src/Windows/Devices/Pwm/mod.rs index e6f3433947..d2d353362c 100644 --- a/crates/libs/windows/src/Windows/Devices/Pwm/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Pwm/mod.rs @@ -61,42 +61,42 @@ impl PwmController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActualFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredFrequency(&self, desiredfrequency: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDesiredFrequency)(::windows_core::Interface::as_raw(this), desiredfrequency, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDesiredFrequency)(::windows_core::Interface::as_raw(this), desiredfrequency, &mut result__).map(|| result__) } } pub fn MinFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpenPin(&self, pinnumber: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenPin)(::windows_core::Interface::as_raw(this), pinnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenPin)(::windows_core::Interface::as_raw(this), pinnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Pwm_Provider", feature = "Foundation_Collections"))] @@ -106,31 +106,31 @@ impl PwmController { { Self::IPwmControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IPwmControllerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPwmControllerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromFriendlyName(friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPwmControllerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPwmControllerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -175,14 +175,14 @@ impl PwmPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetActiveDutyCyclePercentage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActiveDutyCyclePercentage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActiveDutyCyclePercentage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetActiveDutyCyclePercentage(&self, dutycyclepercentage: f64) -> ::windows_core::Result<()> { @@ -193,7 +193,7 @@ impl PwmPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Polarity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPolarity(&self, value: PwmPulsePolarity) -> ::windows_core::Result<()> { @@ -212,7 +212,7 @@ impl PwmPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Radios/mod.rs b/crates/libs/windows/src/Windows/Devices/Radios/mod.rs index f135665939..8987e182a9 100644 --- a/crates/libs/windows/src/Windows/Devices/Radios/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Radios/mod.rs @@ -32,7 +32,7 @@ impl Radio { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetStateAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetStateAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -42,7 +42,7 @@ impl Radio { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -53,46 +53,46 @@ impl Radio { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] pub fn GetRadiosAsync() -> ::windows_core::Result>> { Self::IRadioStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRadiosAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRadiosAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRadioStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IRadioStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IRadioStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Scanners/mod.rs b/crates/libs/windows/src/Windows/Devices/Scanners/mod.rs index c4b970108c..709ad05610 100644 --- a/crates/libs/windows/src/Windows/Devices/Scanners/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Scanners/mod.rs @@ -64,14 +64,14 @@ impl IImageScannerFormatConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: ImageScannerFormat) -> ::windows_core::Result<()> { @@ -82,7 +82,7 @@ impl IImageScannerFormatConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -124,21 +124,21 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxScanArea(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedScanRegion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectedScanRegion(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -149,7 +149,7 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoCroppingMode(&self, value: ImageScannerAutoCroppingMode) -> ::windows_core::Result<()> { @@ -160,35 +160,35 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinResolution(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxResolution(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpticalResolution(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredResolution(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredResolution(&self, value: ImageScannerResolution) -> ::windows_core::Result<()> { @@ -199,21 +199,21 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultColorMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorMode(&self, value: ImageScannerColorMode) -> ::windows_core::Result<()> { @@ -224,42 +224,42 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinBrightness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBrightness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BrightnessStep(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultBrightness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Brightness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightness(&self, value: i32) -> ::windows_core::Result<()> { @@ -270,35 +270,35 @@ impl IImageScannerSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxContrast(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContrastStep(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultContrast(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contrast(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContrast(&self, value: i32) -> ::windows_core::Result<()> { @@ -309,14 +309,14 @@ impl IImageScannerSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: ImageScannerFormat) -> ::windows_core::Result<()> { @@ -327,7 +327,7 @@ impl IImageScannerSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -385,49 +385,49 @@ impl ImageScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultScanSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultScanSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultScanSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScanSourceSupported(&self, value: ImageScannerScanSource) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScanSourceSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScanSourceSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn FlatbedConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlatbedConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlatbedConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FeederConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FeederConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FeederConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPreviewSupported(&self, scansource: ImageScannerScanSource) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPreviewSupported)(::windows_core::Interface::as_raw(this), scansource, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPreviewSupported)(::windows_core::Interface::as_raw(this), scansource, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -438,7 +438,7 @@ impl ImageScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanPreviewToStreamAsync)(::windows_core::Interface::as_raw(this), scansource, targetstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanPreviewToStreamAsync)(::windows_core::Interface::as_raw(this), scansource, targetstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -449,19 +449,19 @@ impl ImageScanner { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanFilesToFolderAsync)(::windows_core::Interface::as_raw(this), scansource, storagefolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanFilesToFolderAsync)(::windows_core::Interface::as_raw(this), scansource, storagefolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IImageScannerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IImageScannerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -492,14 +492,14 @@ impl ImageScannerAutoConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: ImageScannerFormat) -> ::windows_core::Result<()> { @@ -510,7 +510,7 @@ impl ImageScannerAutoConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -536,14 +536,14 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanAutoDetectPageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanAutoDetectPageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoDetectPageSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoDetectPageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoDetectPageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoDetectPageSize(&self, value: bool) -> ::windows_core::Result<()> { @@ -555,7 +555,7 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Printing")] @@ -568,7 +568,7 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Printing")] @@ -580,7 +580,7 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageSizeDimensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageSizeDimensions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Printing")] @@ -588,14 +588,14 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPageSizeSupported)(::windows_core::Interface::as_raw(this), pagesize, pageorientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPageSizeSupported)(::windows_core::Interface::as_raw(this), pagesize, pageorientation, &mut result__).map(|| result__) } } pub fn MaxNumberOfPages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxNumberOfPages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxNumberOfPages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxNumberOfPages(&self, value: u32) -> ::windows_core::Result<()> { @@ -606,14 +606,14 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanScanDuplex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanScanDuplex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duplex(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuplex(&self, value: bool) -> ::windows_core::Result<()> { @@ -624,14 +624,14 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanScanAhead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanScanAhead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScanAhead(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanAhead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanAhead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScanAhead(&self, value: bool) -> ::windows_core::Result<()> { @@ -642,14 +642,14 @@ impl ImageScannerFeederConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: ImageScannerFormat) -> ::windows_core::Result<()> { @@ -660,28 +660,28 @@ impl ImageScannerFeederConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinScanArea(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxScanArea(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedScanRegion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectedScanRegion(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -692,7 +692,7 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoCroppingMode(&self, value: ImageScannerAutoCroppingMode) -> ::windows_core::Result<()> { @@ -703,35 +703,35 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpticalResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredResolution(&self, value: ImageScannerResolution) -> ::windows_core::Result<()> { @@ -742,21 +742,21 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultColorMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorMode(&self, value: ImageScannerColorMode) -> ::windows_core::Result<()> { @@ -767,42 +767,42 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BrightnessStep(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Brightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightness(&self, value: i32) -> ::windows_core::Result<()> { @@ -813,35 +813,35 @@ impl ImageScannerFeederConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxContrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContrastStep(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultContrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContrast(&self, value: i32) -> ::windows_core::Result<()> { @@ -871,14 +871,14 @@ impl ImageScannerFlatbedConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: ImageScannerFormat) -> ::windows_core::Result<()> { @@ -889,28 +889,28 @@ impl ImageScannerFlatbedConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFormatSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinScanArea(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxScanArea(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxScanArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedScanRegion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedScanRegion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectedScanRegion(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -921,7 +921,7 @@ impl ImageScannerFlatbedConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoCroppingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoCroppingMode(&self, value: ImageScannerAutoCroppingMode) -> ::windows_core::Result<()> { @@ -932,35 +932,35 @@ impl ImageScannerFlatbedConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoCroppingModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OpticalResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpticalResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredResolution(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredResolution(&self, value: ImageScannerResolution) -> ::windows_core::Result<()> { @@ -971,21 +971,21 @@ impl ImageScannerFlatbedConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultColorMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColorMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorMode(&self, value: ImageScannerColorMode) -> ::windows_core::Result<()> { @@ -996,42 +996,42 @@ impl ImageScannerFlatbedConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsColorModeSupported)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn MinBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BrightnessStep(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultBrightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBrightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Brightness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightness(&self, value: i32) -> ::windows_core::Result<()> { @@ -1042,35 +1042,35 @@ impl ImageScannerFlatbedConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxContrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContrastStep(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContrastStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DefaultContrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contrast(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContrast(&self, value: i32) -> ::windows_core::Result<()> { @@ -1099,14 +1099,14 @@ impl ImageScannerPreviewResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1132,7 +1132,7 @@ impl ImageScannerScanResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScannedFiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScannedFiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs b/crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs index c6ad4f4ead..2baa21c033 100644 --- a/crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs @@ -62,14 +62,14 @@ impl CustomSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -80,14 +80,14 @@ impl CustomSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -97,7 +97,7 @@ impl CustomSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -112,26 +112,26 @@ impl CustomSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeviceSelector(interfaceid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICustomSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), interfaceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), interfaceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICustomSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -161,7 +161,7 @@ impl CustomSensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -169,14 +169,14 @@ impl CustomSensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -201,7 +201,7 @@ impl CustomSensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Sensors/mod.rs b/crates/libs/windows/src/Windows/Devices/Sensors/mod.rs index dba11b831f..b7b057d000 100644 --- a/crates/libs/windows/src/Windows/Devices/Sensors/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Sensors/mod.rs @@ -652,7 +652,7 @@ impl IHumanPresenceSensorExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessReading)(::windows_core::Interface::as_raw(this), reading.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessReading)(::windows_core::Interface::as_raw(this), reading.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessReadingTimeoutExpired(&self, reading: P0) -> ::windows_core::Result<()> @@ -1480,14 +1480,14 @@ impl Accelerometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -1498,7 +1498,7 @@ impl Accelerometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -1508,7 +1508,7 @@ impl Accelerometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1522,7 +1522,7 @@ impl Accelerometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shaken)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shaken)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShaken(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1539,7 +1539,7 @@ impl Accelerometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -1550,59 +1550,59 @@ impl Accelerometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAccelerometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultWithAccelerometerReadingType(readingtype: AccelerometerReadingType) -> ::windows_core::Result { Self::IAccelerometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultWithAccelerometerReadingType)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultWithAccelerometerReadingType)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IAccelerometerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector(readingtype: AccelerometerReadingType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAccelerometerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1642,7 +1642,7 @@ impl AccelerometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetXAxisInGForce(&self, value: f64) -> ::windows_core::Result<()> { @@ -1653,7 +1653,7 @@ impl AccelerometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYAxisInGForce(&self, value: f64) -> ::windows_core::Result<()> { @@ -1664,7 +1664,7 @@ impl AccelerometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZAxisInGForce)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZAxisInGForce(&self, value: f64) -> ::windows_core::Result<()> { @@ -1693,35 +1693,35 @@ impl AccelerometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccelerationX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccelerationX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccelerationX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccelerationY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccelerationY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccelerationY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccelerationZ(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccelerationZ)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccelerationZ)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1729,7 +1729,7 @@ impl AccelerometerReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1754,7 +1754,7 @@ impl AccelerometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1779,7 +1779,7 @@ impl AccelerometerShakenEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1804,7 +1804,7 @@ impl ActivitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReadingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReadingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1812,21 +1812,21 @@ impl ActivitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribedActivities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribedActivities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PowerInMilliwatts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1834,14 +1834,14 @@ impl ActivitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedActivities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedActivities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -1851,7 +1851,7 @@ impl ActivitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1861,33 +1861,33 @@ impl ActivitySensor { pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IActivitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IActivitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IActivitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetSystemHistoryAsync(fromtime: super::super::Foundation::DateTime) -> ::windows_core::Result>> { Self::IActivitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemHistoryAsync)(::windows_core::Interface::as_raw(this), fromtime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemHistoryAsync)(::windows_core::Interface::as_raw(this), fromtime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetSystemHistoryWithDurationAsync(fromtime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result>> { Self::IActivitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), fromtime, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), fromtime, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1917,21 +1917,21 @@ impl ActivitySensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Activity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Confidence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Confidence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Confidence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1956,7 +1956,7 @@ impl ActivitySensorReadingChangeReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1981,7 +1981,7 @@ impl ActivitySensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2007,7 +2007,7 @@ impl ActivitySensorTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2032,7 +2032,7 @@ impl AdaptiveDimmingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWhenExternalDisplayConnected(&self, value: bool) -> ::windows_core::Result<()> { @@ -2061,21 +2061,21 @@ impl Altimeter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -2086,7 +2086,7 @@ impl Altimeter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -2096,7 +2096,7 @@ impl Altimeter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2111,20 +2111,20 @@ impl Altimeter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAltimeterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2154,21 +2154,21 @@ impl AltimeterReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AltitudeChangeInMeters(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AltitudeChangeInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AltitudeChangeInMeters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2176,7 +2176,7 @@ impl AltimeterReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2201,7 +2201,7 @@ impl AltimeterReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2226,21 +2226,21 @@ impl Barometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -2251,7 +2251,7 @@ impl Barometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -2261,7 +2261,7 @@ impl Barometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2276,39 +2276,39 @@ impl Barometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IBarometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IBarometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IBarometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2343,7 +2343,7 @@ impl BarometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hectopascals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hectopascals)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHectopascals(&self, value: f64) -> ::windows_core::Result<()> { @@ -2372,21 +2372,21 @@ impl BarometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StationPressureInHectopascals(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StationPressureInHectopascals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StationPressureInHectopascals)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2394,7 +2394,7 @@ impl BarometerReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2419,7 +2419,7 @@ impl BarometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2444,14 +2444,14 @@ impl Compass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -2462,7 +2462,7 @@ impl Compass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -2472,7 +2472,7 @@ impl Compass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2489,7 +2489,7 @@ impl Compass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -2500,46 +2500,46 @@ impl Compass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ICompassStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICompassStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICompassStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2574,7 +2574,7 @@ impl CompassDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Degrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Degrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -2603,28 +2603,28 @@ impl CompassReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HeadingMagneticNorth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadingMagneticNorth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadingMagneticNorth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HeadingTrueNorth(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadingTrueNorth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadingTrueNorth)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2632,14 +2632,14 @@ impl CompassReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HeadingAccuracy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadingAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadingAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2664,7 +2664,7 @@ impl CompassReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2689,14 +2689,14 @@ impl Gyrometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -2707,7 +2707,7 @@ impl Gyrometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -2717,7 +2717,7 @@ impl Gyrometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2734,7 +2734,7 @@ impl Gyrometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -2745,46 +2745,46 @@ impl Gyrometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IGyrometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IGyrometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IGyrometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2819,7 +2819,7 @@ impl GyrometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetXAxisInDegreesPerSecond(&self, value: f64) -> ::windows_core::Result<()> { @@ -2830,7 +2830,7 @@ impl GyrometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYAxisInDegreesPerSecond(&self, value: f64) -> ::windows_core::Result<()> { @@ -2841,7 +2841,7 @@ impl GyrometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZAxisInDegreesPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZAxisInDegreesPerSecond(&self, value: f64) -> ::windows_core::Result<()> { @@ -2870,35 +2870,35 @@ impl GyrometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AngularVelocityX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AngularVelocityX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AngularVelocityX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AngularVelocityY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AngularVelocityY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AngularVelocityY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AngularVelocityZ(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AngularVelocityZ)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AngularVelocityZ)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2906,7 +2906,7 @@ impl GyrometerReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2931,7 +2931,7 @@ impl GyrometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2956,14 +2956,14 @@ impl HingeAngleReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AngleInDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2971,7 +2971,7 @@ impl HingeAngleReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2996,28 +2996,28 @@ impl HingeAngleSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReadingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReadingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinReportThresholdInDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinReportThresholdInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinReportThresholdInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThresholdInDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThresholdInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThresholdInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportThresholdInDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -3031,7 +3031,7 @@ impl HingeAngleSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3041,25 +3041,25 @@ impl HingeAngleSensor { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHingeAngleSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IHingeAngleSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetRelatedToAdjacentPanelsAsync(firstpanelid: &::windows_core::HSTRING, secondpanelid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IHingeAngleSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRelatedToAdjacentPanelsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(firstpanelid), ::core::mem::transmute_copy(secondpanelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRelatedToAdjacentPanelsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(firstpanelid), ::core::mem::transmute_copy(secondpanelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IHingeAngleSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3089,7 +3089,7 @@ impl HingeAngleSensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3114,7 +3114,7 @@ impl HumanPresenceFeatures { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SensorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SensorId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3122,21 +3122,21 @@ impl HumanPresenceFeatures { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedWakeOrLockDistancesInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedWakeOrLockDistancesInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWakeOnApproachSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWakeOnApproachSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWakeOnApproachSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLockOnLeaveSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLockOnLeaveSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLockOnLeaveSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3144,14 +3144,14 @@ impl HumanPresenceFeatures { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAttentionAwareDimmingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAttentionAwareDimmingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAdaptiveDimmingSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAdaptiveDimmingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAdaptiveDimmingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3176,28 +3176,28 @@ impl HumanPresenceSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxDetectableDistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDetectableDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDetectableDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinDetectableDistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinDetectableDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinDetectableDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -3207,7 +3207,7 @@ impl HumanPresenceSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3218,44 +3218,44 @@ impl HumanPresenceSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPresenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPresenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEngagementSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEngagementSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEngagementSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHumanPresenceSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IHumanPresenceSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IHumanPresenceSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHumanPresenceSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IHumanPresenceSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3290,28 +3290,28 @@ impl HumanPresenceSensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Presence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Presence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Presence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Engagement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Engagement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Engagement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3319,7 +3319,7 @@ impl HumanPresenceSensorReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3344,7 +3344,7 @@ impl HumanPresenceSensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3376,7 +3376,7 @@ impl HumanPresenceSensorReadingUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTimestamp(&self, value: P0) -> ::windows_core::Result<()> @@ -3390,7 +3390,7 @@ impl HumanPresenceSensorReadingUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Presence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Presence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPresence(&self, value: P0) -> ::windows_core::Result<()> @@ -3404,7 +3404,7 @@ impl HumanPresenceSensorReadingUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Engagement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Engagement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEngagement(&self, value: P0) -> ::windows_core::Result<()> @@ -3418,7 +3418,7 @@ impl HumanPresenceSensorReadingUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDistanceInMillimeters(&self, value: P0) -> ::windows_core::Result<()> @@ -3450,7 +3450,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SensorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SensorId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSensorId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3461,7 +3461,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWakeOnApproachEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWakeOnApproachEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsWakeOnApproachEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3472,7 +3472,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WakeOnApproachDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WakeOnApproachDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWakeOnApproachDistanceInMillimeters(&self, value: P0) -> ::windows_core::Result<()> @@ -3486,7 +3486,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLockOnLeaveEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLockOnLeaveEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLockOnLeaveEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3497,7 +3497,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockOnLeaveDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockOnLeaveDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLockOnLeaveDistanceInMillimeters(&self, value: P0) -> ::windows_core::Result<()> @@ -3511,7 +3511,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockOnLeaveTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockOnLeaveTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLockOnLeaveTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3523,7 +3523,7 @@ impl HumanPresenceSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAttentionAwareDimmingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAttentionAwareDimmingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3535,7 +3535,7 @@ impl HumanPresenceSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAdaptiveDimmingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAdaptiveDimmingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAdaptiveDimmingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3546,33 +3546,33 @@ impl HumanPresenceSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WakeOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WakeOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DimmingOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DimmingOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DimmingOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LockOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentSettingsAsync() -> ::windows_core::Result> { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentSettings() -> ::windows_core::Result { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UpdateSettingsAsync(settings: P0) -> ::windows_core::Result @@ -3581,7 +3581,7 @@ impl HumanPresenceSettings { { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateSettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateSettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UpdateSettings(settings: P0) -> ::windows_core::Result<()> @@ -3593,20 +3593,20 @@ impl HumanPresenceSettings { pub fn GetSupportedFeaturesForSensorIdAsync(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedFeaturesForSensorIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedFeaturesForSensorIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetSupportedFeaturesForSensorId(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedFeaturesForSensorId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedFeaturesForSensorId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetSupportedLockOnLeaveTimeouts() -> ::windows_core::Result> { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedLockOnLeaveTimeouts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedLockOnLeaveTimeouts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SettingsChanged(handler: P0) -> ::windows_core::Result @@ -3615,7 +3615,7 @@ impl HumanPresenceSettings { { Self::IHumanPresenceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveSettingsChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3648,14 +3648,14 @@ impl Inclinometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -3666,7 +3666,7 @@ impl Inclinometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -3676,7 +3676,7 @@ impl Inclinometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3693,14 +3693,14 @@ impl Inclinometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -3711,58 +3711,58 @@ impl Inclinometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IInclinometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultForRelativeReadings() -> ::windows_core::Result { Self::IInclinometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultForRelativeReadings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultForRelativeReadings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultWithSensorReadingType(sensorreadingtype: SensorReadingType) -> ::windows_core::Result { Self::IInclinometerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingType)(::windows_core::Interface::as_raw(this), sensorreadingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingType)(::windows_core::Interface::as_raw(this), sensorreadingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector(readingtype: SensorReadingType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IInclinometerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IInclinometerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3807,7 +3807,7 @@ impl InclinometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PitchInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PitchInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPitchInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -3818,7 +3818,7 @@ impl InclinometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RollInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RollInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRollInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -3829,7 +3829,7 @@ impl InclinometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YawInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YawInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYawInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -3858,35 +3858,35 @@ impl InclinometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PitchDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PitchDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PitchDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RollDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RollDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RollDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn YawDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YawDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YawDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3894,14 +3894,14 @@ impl InclinometerReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YawAccuracy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YawAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YawAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3926,7 +3926,7 @@ impl InclinometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3951,14 +3951,14 @@ impl LightSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -3969,7 +3969,7 @@ impl LightSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -3979,7 +3979,7 @@ impl LightSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3994,46 +3994,46 @@ impl LightSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ILightSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILightSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ILightSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4068,7 +4068,7 @@ impl LightSensorDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LuxPercentage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LuxPercentage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLuxPercentage(&self, value: f32) -> ::windows_core::Result<()> { @@ -4079,7 +4079,7 @@ impl LightSensorDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteLux)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteLux)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAbsoluteLux(&self, value: f32) -> ::windows_core::Result<()> { @@ -4108,21 +4108,21 @@ impl LightSensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IlluminanceInLux(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IlluminanceInLux)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IlluminanceInLux)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4130,7 +4130,7 @@ impl LightSensorReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4155,7 +4155,7 @@ impl LightSensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4180,7 +4180,7 @@ impl LockOnLeaveOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWhenExternalDisplayConnected(&self, value: bool) -> ::windows_core::Result<()> { @@ -4209,14 +4209,14 @@ impl Magnetometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -4227,7 +4227,7 @@ impl Magnetometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -4237,7 +4237,7 @@ impl Magnetometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4254,7 +4254,7 @@ impl Magnetometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -4265,46 +4265,46 @@ impl Magnetometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportThreshold(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportThreshold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IMagnetometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMagnetometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMagnetometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4339,7 +4339,7 @@ impl MagnetometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetXAxisMicroteslas(&self, value: f32) -> ::windows_core::Result<()> { @@ -4350,7 +4350,7 @@ impl MagnetometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYAxisMicroteslas(&self, value: f32) -> ::windows_core::Result<()> { @@ -4361,7 +4361,7 @@ impl MagnetometerDataThreshold { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZAxisMicroteslas)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZAxisMicroteslas(&self, value: f32) -> ::windows_core::Result<()> { @@ -4390,42 +4390,42 @@ impl MagnetometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MagneticFieldX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MagneticFieldX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MagneticFieldX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MagneticFieldY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MagneticFieldY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MagneticFieldY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MagneticFieldZ(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MagneticFieldZ)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MagneticFieldZ)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DirectionalAccuracy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DirectionalAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DirectionalAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4433,7 +4433,7 @@ impl MagnetometerReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4458,7 +4458,7 @@ impl MagnetometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4483,14 +4483,14 @@ impl OrientationSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -4501,7 +4501,7 @@ impl OrientationSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -4511,7 +4511,7 @@ impl OrientationSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4528,14 +4528,14 @@ impl OrientationSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportLatency(&self, value: u32) -> ::windows_core::Result<()> { @@ -4546,63 +4546,63 @@ impl OrientationSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLatency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxBatchSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBatchSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IOrientationSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultForRelativeReadings() -> ::windows_core::Result { Self::IOrientationSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultForRelativeReadings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultForRelativeReadings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultWithSensorReadingType(sensorreadingtype: SensorReadingType) -> ::windows_core::Result { Self::IOrientationSensorStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingType)(::windows_core::Interface::as_raw(this), sensorreadingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingType)(::windows_core::Interface::as_raw(this), sensorreadingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultWithSensorReadingTypeAndSensorOptimizationGoal(sensorreadingtype: SensorReadingType, optimizationgoal: SensorOptimizationGoal) -> ::windows_core::Result { Self::IOrientationSensorStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingTypeAndSensorOptimizationGoal)(::windows_core::Interface::as_raw(this), sensorreadingtype, optimizationgoal, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultWithSensorReadingTypeAndSensorOptimizationGoal)(::windows_core::Interface::as_raw(this), sensorreadingtype, optimizationgoal, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector(readingtype: SensorReadingType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IOrientationSensorStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), readingtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithSensorReadingTypeAndSensorOptimizationGoal(readingtype: SensorReadingType, optimizationgoal: SensorOptimizationGoal) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IOrientationSensorStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithSensorReadingTypeAndSensorOptimizationGoal)(::windows_core::Interface::as_raw(this), readingtype, optimizationgoal, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithSensorReadingTypeAndSensorOptimizationGoal)(::windows_core::Interface::as_raw(this), readingtype, optimizationgoal, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IOrientationSensorStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4647,28 +4647,28 @@ impl OrientationSensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RotationMatrix(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationMatrix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Quaternion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Quaternion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Quaternion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PerformanceCount(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformanceCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4676,14 +4676,14 @@ impl OrientationSensorReading { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YawAccuracy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YawAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YawAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4708,7 +4708,7 @@ impl OrientationSensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4733,21 +4733,21 @@ impl Pedometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PowerInMilliwatts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerInMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinimumReportInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinimumReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReportInterval(&self, value: u32) -> ::windows_core::Result<()> { @@ -4758,7 +4758,7 @@ impl Pedometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -4768,7 +4768,7 @@ impl Pedometer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4780,39 +4780,39 @@ impl Pedometer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReadings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReadings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPedometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::IPedometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPedometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetSystemHistoryAsync(fromtime: super::super::Foundation::DateTime) -> ::windows_core::Result>> { Self::IPedometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemHistoryAsync)(::windows_core::Interface::as_raw(this), fromtime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemHistoryAsync)(::windows_core::Interface::as_raw(this), fromtime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetSystemHistoryWithDurationAsync(fromtime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result>> { Self::IPedometerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), fromtime, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemHistoryWithDurationAsync)(::windows_core::Interface::as_raw(this), fromtime, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -4822,7 +4822,7 @@ impl Pedometer { { Self::IPedometerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReadingsFromTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReadingsFromTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4860,7 +4860,7 @@ impl PedometerDataThreshold { { Self::IPedometerDataThresholdFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), sensor.into_param().abi(), stepgoal, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), sensor.into_param().abi(), stepgoal, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4890,28 +4890,28 @@ impl PedometerReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StepKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StepKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CumulativeSteps(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CumulativeSteps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CumulativeSteps)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CumulativeStepsDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CumulativeStepsDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CumulativeStepsDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4936,7 +4936,7 @@ impl PedometerReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4961,28 +4961,28 @@ impl ProximitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxDistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinDistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinDistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadingChanged(&self, handler: P0) -> ::windows_core::Result @@ -4992,7 +4992,7 @@ impl ProximitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveReadingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5003,19 +5003,19 @@ impl ProximitySensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDisplayOnOffController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDisplayOnOffController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IProximitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(sensorid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProximitySensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sensorid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -5025,7 +5025,7 @@ impl ProximitySensor { { Self::IProximitySensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReadingsFromTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReadingsFromTriggerDetails)(::windows_core::Interface::as_raw(this), triggerdetails.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5063,7 +5063,7 @@ impl ProximitySensorDataThreshold { { Self::IProximitySensorDataThresholdFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), sensor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), sensor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5116,21 +5116,21 @@ impl ProximitySensorReading { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDetected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDetected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDetected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DistanceInMillimeters(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceInMillimeters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5155,7 +5155,7 @@ impl ProximitySensorReadingChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5180,14 +5180,14 @@ impl SensorDataThresholdTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SensorType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SensorType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SensorType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5212,28 +5212,28 @@ impl SensorQuaternion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).W)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).W)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn X(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Y(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Y)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Y)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Z(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Z)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Z)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5258,63 +5258,63 @@ impl SensorRotationMatrix { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M11)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M11)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M12(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M13(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M13)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M13)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M21(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M21)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M21)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M22(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M22)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M22)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M23(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M23)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M23)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M31(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M31)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M31)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn M33(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).M33)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).M33)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5339,7 +5339,7 @@ impl SimpleOrientationSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientationChanged(&self, handler: P0) -> ::windows_core::Result @@ -5349,7 +5349,7 @@ impl SimpleOrientationSensor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOrientationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5366,32 +5366,32 @@ impl SimpleOrientationSensor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadingTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ISimpleOrientationSensorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISimpleOrientationSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISimpleOrientationSensorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5426,14 +5426,14 @@ impl SimpleOrientationSensorOrientationChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Orientation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5458,7 +5458,7 @@ impl WakeOnApproachOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWhenExternalDisplayConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWhenExternalDisplayConnected(&self, value: bool) -> ::windows_core::Result<()> { @@ -5469,7 +5469,7 @@ impl WakeOnApproachOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableWhenBatterySaverOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableWhenBatterySaverOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisableWhenBatterySaverOn(&self, value: bool) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs b/crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs index 712b51e67f..217765093f 100644 --- a/crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs @@ -76,7 +76,7 @@ impl ErrorReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -101,7 +101,7 @@ impl PinChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -131,7 +131,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaudRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaudRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBaudRate(&self, value: u32) -> ::windows_core::Result<()> { @@ -142,7 +142,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakSignalState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakSignalState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBreakSignalState(&self, value: bool) -> ::windows_core::Result<()> { @@ -153,28 +153,28 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CarrierDetectState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CarrierDetectState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CarrierDetectState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ClearToSendState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearToSendState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearToSendState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DataBits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataBits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataBits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataBits(&self, value: u16) -> ::windows_core::Result<()> { @@ -185,14 +185,14 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataSetReadyState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataSetReadyState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handshake(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handshake)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handshake)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandshake(&self, value: SerialHandshake) -> ::windows_core::Result<()> { @@ -203,7 +203,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDataTerminalReadyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDataTerminalReadyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDataTerminalReadyEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -214,7 +214,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequestToSendEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequestToSendEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRequestToSendEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -225,7 +225,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetParity(&self, value: SerialParity) -> ::windows_core::Result<()> { @@ -236,14 +236,14 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PortName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PortName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReadTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -254,7 +254,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBits(&self, value: SerialStopBitCount) -> ::windows_core::Result<()> { @@ -265,21 +265,21 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsbVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsbVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsbProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsbProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsbProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WriteTimeout(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWriteTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -291,7 +291,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -299,7 +299,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ErrorReceived(&self, reporthandler: P0) -> ::windows_core::Result @@ -309,7 +309,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorReceived)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorReceived)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -323,7 +323,7 @@ impl SerialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinChanged)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinChanged)(::windows_core::Interface::as_raw(this), reporthandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePinChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -333,25 +333,25 @@ impl SerialDevice { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISerialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromPortName(portname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISerialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPortName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(portname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromPortName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(portname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromUsbVidPid(vendorid: u16, productid: u16) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISerialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromUsbVidPid)(::windows_core::Interface::as_raw(this), vendorid, productid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromUsbVidPid)(::windows_core::Interface::as_raw(this), vendorid, productid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISerialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs b/crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs index 4f3491aed2..19b25628f5 100644 --- a/crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs @@ -710,7 +710,7 @@ impl CardAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -735,7 +735,7 @@ impl CardRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -757,14 +757,14 @@ impl KnownSmartCardAppletIds { pub fn PaymentSystemEnvironment() -> ::windows_core::Result { Self::IKnownSmartCardAppletIds(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaymentSystemEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaymentSystemEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn ProximityPaymentSystemEnvironment() -> ::windows_core::Result { Self::IKnownSmartCardAppletIds(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProximityPaymentSystemEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProximityPaymentSystemEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -785,14 +785,14 @@ impl SmartCard { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStatusAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -800,14 +800,14 @@ impl SmartCard { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAnswerToResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAnswerToResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -839,7 +839,7 @@ impl SmartCardAppletIdGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -851,14 +851,14 @@ impl SmartCardAppletIdGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppletIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppletIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SmartCardEmulationCategory(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCardEmulationCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCardEmulationCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSmartCardEmulationCategory(&self, value: SmartCardEmulationCategory) -> ::windows_core::Result<()> { @@ -869,7 +869,7 @@ impl SmartCardAppletIdGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCardEmulationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCardEmulationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSmartCardEmulationType(&self, value: SmartCardEmulationType) -> ::windows_core::Result<()> { @@ -880,7 +880,7 @@ impl SmartCardAppletIdGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticEnablement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticEnablement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutomaticEnablement(&self, value: bool) -> ::windows_core::Result<()> { @@ -892,7 +892,7 @@ impl SmartCardAppletIdGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -907,7 +907,7 @@ impl SmartCardAppletIdGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -919,14 +919,14 @@ impl SmartCardAppletIdGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SecureUserAuthenticationRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecureUserAuthenticationRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecureUserAuthenticationRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSecureUserAuthenticationRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -940,13 +940,13 @@ impl SmartCardAppletIdGroup { { Self::ISmartCardAppletIdGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), appletids.into_param().abi(), emulationcategory, emulationtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), appletids.into_param().abi(), emulationcategory, emulationtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MaxAppletIds() -> ::windows_core::Result { Self::ISmartCardAppletIdGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAppletIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAppletIds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -981,28 +981,28 @@ impl SmartCardAppletIdGroupRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppletIdGroup(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppletIdGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppletIdGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestActivationPolicyChangeAsync(&self, policy: SmartCardAppletIdGroupActivationPolicy) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestActivationPolicyChangeAsync)(::windows_core::Interface::as_raw(this), policy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestActivationPolicyChangeAsync)(::windows_core::Interface::as_raw(this), policy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1013,14 +1013,14 @@ impl SmartCardAppletIdGroupRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAutomaticResponseApdusAsync)(::windows_core::Interface::as_raw(this), apdus.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAutomaticResponseApdusAsync)(::windows_core::Interface::as_raw(this), apdus.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SmartCardReaderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCardReaderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCardReaderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1031,7 +1031,7 @@ impl SmartCardAppletIdGroupRegistration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPropertiesAsync)(::windows_core::Interface::as_raw(this), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPropertiesAsync)(::windows_core::Interface::as_raw(this), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1057,7 +1057,7 @@ impl SmartCardAutomaticResponseApdu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandApdu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandApdu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1073,7 +1073,7 @@ impl SmartCardAutomaticResponseApdu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandApduBitMask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandApduBitMask)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1088,7 +1088,7 @@ impl SmartCardAutomaticResponseApdu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldMatchLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldMatchLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldMatchLength(&self, value: bool) -> ::windows_core::Result<()> { @@ -1100,7 +1100,7 @@ impl SmartCardAutomaticResponseApdu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppletId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppletId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1116,7 +1116,7 @@ impl SmartCardAutomaticResponseApdu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseApdu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseApdu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1131,7 +1131,7 @@ impl SmartCardAutomaticResponseApdu { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInputState(&self, value: P0) -> ::windows_core::Result<()> @@ -1145,7 +1145,7 @@ impl SmartCardAutomaticResponseApdu { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutputState(&self, value: P0) -> ::windows_core::Result<()> @@ -1159,7 +1159,7 @@ impl SmartCardAutomaticResponseApdu { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWhenCryptogramGeneratorNotPrepared)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWhenCryptogramGeneratorNotPrepared)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWhenCryptogramGeneratorNotPrepared(&self, value: bool) -> ::windows_core::Result<()> { @@ -1174,7 +1174,7 @@ impl SmartCardAutomaticResponseApdu { { Self::ISmartCardAutomaticResponseApduFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), commandapdu.into_param().abi(), responseapdu.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), commandapdu.into_param().abi(), responseapdu.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1210,7 +1210,7 @@ impl SmartCardChallengeContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Challenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Challenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1221,7 +1221,7 @@ impl SmartCardChallengeContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifyResponseAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifyResponseAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1232,7 +1232,7 @@ impl SmartCardChallengeContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), formatcard, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), formatcard, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1243,7 +1243,7 @@ impl SmartCardChallengeContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionAsyncWithNewCardId)(::windows_core::Interface::as_raw(this), response.into_param().abi(), formatcard, newcardid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionAsyncWithNewCardId)(::windows_core::Interface::as_raw(this), response.into_param().abi(), formatcard, newcardid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1255,7 +1255,7 @@ impl SmartCardChallengeContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeAdministrativeKeyAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), newadministrativekey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeAdministrativeKeyAsync)(::windows_core::Interface::as_raw(this), response.into_param().abi(), newadministrativekey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1289,7 +1289,7 @@ impl SmartCardConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitAsync)(::windows_core::Interface::as_raw(this), command.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitAsync)(::windows_core::Interface::as_raw(this), command.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1315,7 +1315,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1323,7 +1323,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCryptogramAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCryptogramAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1331,7 +1331,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialPackageFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialPackageFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1339,7 +1339,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialPackageConfirmationResponseFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCryptogramMaterialPackageConfirmationResponseFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1347,21 +1347,21 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedSmartCardCryptogramStorageKeyCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedSmartCardCryptogramStorageKeyCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteCryptogramMaterialStorageKeyAsync(&self, storagekeyname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteCryptogramMaterialStorageKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storagekeyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteCryptogramMaterialStorageKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storagekeyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateCryptogramMaterialStorageKeyAsync(&self, promptingbehavior: SmartCardUnlockPromptingBehavior, storagekeyname: &::windows_core::HSTRING, algorithm: SmartCardCryptogramStorageKeyAlgorithm, capabilities: SmartCardCryptogramStorageKeyCapabilities) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCryptogramMaterialStorageKeyAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(storagekeyname), algorithm, capabilities, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCryptogramMaterialStorageKeyAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(storagekeyname), algorithm, capabilities, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Core")] @@ -1369,7 +1369,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCryptogramMaterialStorageKeyInfoAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(storagekeyname), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCryptogramMaterialStorageKeyInfoAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(storagekeyname), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1380,7 +1380,7 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), format, ::core::mem::transmute_copy(storagekeyname), ::core::mem::transmute_copy(materialpackagename), cryptogrammaterialpackage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), format, ::core::mem::transmute_copy(storagekeyname), ::core::mem::transmute_copy(materialpackagename), cryptogrammaterialpackage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1391,21 +1391,21 @@ impl SmartCardCryptogramGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryProvePossessionOfCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, responseformat, ::core::mem::transmute_copy(materialpackagename), ::core::mem::transmute_copy(materialname), challenge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryProvePossessionOfCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, responseformat, ::core::mem::transmute_copy(materialpackagename), ::core::mem::transmute_copy(materialname), challenge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestUnlockCryptogramMaterialForUseAsync(&self, promptingbehavior: SmartCardUnlockPromptingBehavior) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnlockCryptogramMaterialForUseAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnlockCryptogramMaterialForUseAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteCryptogramMaterialPackageAsync(&self, materialpackagename: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(materialpackagename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteCryptogramMaterialPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(materialpackagename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1417,47 +1417,47 @@ impl SmartCardCryptogramGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateRequestApduAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, apdutovalidate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateRequestApduAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, apdutovalidate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllCryptogramStorageKeyCharacteristicsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllCryptogramStorageKeyCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllCryptogramStorageKeyCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllCryptogramMaterialPackageCharacteristicsAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialPackageCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialPackageCharacteristicsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(&self, storagekeyname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storagekeyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storagekeyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAllCryptogramMaterialCharacteristicsAsync(&self, promptingbehavior: SmartCardUnlockPromptingBehavior, materialpackagename: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialCharacteristicsAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(materialpackagename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllCryptogramMaterialCharacteristicsAsync)(::windows_core::Interface::as_raw(this), promptingbehavior, ::core::mem::transmute_copy(materialpackagename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSmartCardCryptogramGeneratorAsync() -> ::windows_core::Result> { Self::ISmartCardCryptogramGeneratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSmartCardCryptogramGeneratorAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSmartCardCryptogramGeneratorAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::ISmartCardCryptogramGeneratorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1499,7 +1499,7 @@ impl SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1507,7 +1507,7 @@ impl SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1539,7 +1539,7 @@ impl SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1547,7 +1547,7 @@ impl SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1579,7 +1579,7 @@ impl SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1587,7 +1587,7 @@ impl SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Characteristics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1619,7 +1619,7 @@ impl SmartCardCryptogramMaterialCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1627,7 +1627,7 @@ impl SmartCardCryptogramMaterialCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1635,7 +1635,7 @@ impl SmartCardCryptogramMaterialCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedProofOfPossessionAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedProofOfPossessionAlgorithms)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1643,35 +1643,35 @@ impl SmartCardCryptogramMaterialCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedValidations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedValidations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtectionMethod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtectionVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaterialLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1703,28 +1703,28 @@ impl SmartCardCryptogramMaterialPackageCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StorageKeyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageKeyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageKeyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateImported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateImported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateImported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PackageFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1749,7 +1749,7 @@ impl SmartCardCryptogramMaterialPossessionProof { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1757,7 +1757,7 @@ impl SmartCardCryptogramMaterialPossessionProof { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Proof)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Proof)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1789,7 +1789,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Algorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Algorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlgorithm(&self, value: SmartCardCryptogramAlgorithm) -> ::windows_core::Result<()> { @@ -1801,7 +1801,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1816,7 +1816,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CryptogramMaterialPackageName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CryptogramMaterialPackageName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCryptogramMaterialPackageName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1827,7 +1827,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CryptogramMaterialName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CryptogramMaterialName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCryptogramMaterialName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1838,7 +1838,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TemplateOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TemplateOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTemplateOffset(&self, value: i32) -> ::windows_core::Result<()> { @@ -1849,7 +1849,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CryptogramOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CryptogramOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCryptogramOffset(&self, value: i32) -> ::windows_core::Result<()> { @@ -1860,7 +1860,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CryptogramLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CryptogramLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCryptogramLength(&self, value: i32) -> ::windows_core::Result<()> { @@ -1871,7 +1871,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CryptogramPlacementOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CryptogramPlacementOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCryptogramPlacementOptions(&self, value: SmartCardCryptogramPlacementOptions) -> ::windows_core::Result<()> { @@ -1882,7 +1882,7 @@ impl SmartCardCryptogramPlacementStep { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChainedOutputStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChainedOutputStep)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChainedOutputStep(&self, value: P0) -> ::windows_core::Result<()> @@ -1921,28 +1921,28 @@ impl SmartCardCryptogramStorageKeyCharacteristics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageKeyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageKeyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Algorithm(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Algorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Algorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1967,7 +1967,7 @@ impl SmartCardCryptogramStorageKeyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Security_Cryptography_Core")] @@ -1975,7 +1975,7 @@ impl SmartCardCryptogramStorageKeyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1983,14 +1983,14 @@ impl SmartCardCryptogramStorageKeyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicKey)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttestationStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttestationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttestationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1998,7 +1998,7 @@ impl SmartCardCryptogramStorageKeyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attestation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attestation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2006,21 +2006,21 @@ impl SmartCardCryptogramStorageKeyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttestationCertificateChain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttestationCertificateChain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Capabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OperationalRequirements(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperationalRequirements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperationalRequirements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2045,7 +2045,7 @@ impl SmartCardEmulator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnablementPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnablementPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ApduReceived(&self, value: P0) -> ::windows_core::Result @@ -2055,7 +2055,7 @@ impl SmartCardEmulator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApduReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApduReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveApduReceived(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2069,7 +2069,7 @@ impl SmartCardEmulator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionDeactivated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionDeactivated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionDeactivated(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2084,20 +2084,20 @@ impl SmartCardEmulator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHostCardEmulationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHostCardEmulationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ISmartCardEmulatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetAppletIdGroupRegistrationsAsync() -> ::windows_core::Result>> { Self::ISmartCardEmulatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppletIdGroupRegistrationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppletIdGroupRegistrationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RegisterAppletIdGroupAsync(appletidgroup: P0) -> ::windows_core::Result> @@ -2106,7 +2106,7 @@ impl SmartCardEmulator { { Self::ISmartCardEmulatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterAppletIdGroupAsync)(::windows_core::Interface::as_raw(this), appletidgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterAppletIdGroupAsync)(::windows_core::Interface::as_raw(this), appletidgroup.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UnregisterAppletIdGroupAsync(registration: P0) -> ::windows_core::Result @@ -2115,19 +2115,19 @@ impl SmartCardEmulator { { Self::ISmartCardEmulatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnregisterAppletIdGroupAsync)(::windows_core::Interface::as_raw(this), registration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnregisterAppletIdGroupAsync)(::windows_core::Interface::as_raw(this), registration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MaxAppletIdGroupRegistrations() -> ::windows_core::Result { Self::ISmartCardEmulatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAppletIdGroupRegistrations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAppletIdGroupRegistrations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsSupported() -> ::windows_core::Result { Self::ISmartCardEmulatorStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2168,14 +2168,14 @@ impl SmartCardEmulatorApduReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandApdu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandApdu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2186,21 +2186,21 @@ impl SmartCardEmulatorApduReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRespondAsync)(::windows_core::Interface::as_raw(this), responseapdu.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRespondAsync)(::windows_core::Interface::as_raw(this), responseapdu.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutomaticResponseStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2212,7 +2212,7 @@ impl SmartCardEmulatorApduReceivedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRespondWithStateAsync)(::windows_core::Interface::as_raw(this), responseapdu.into_param().abi(), nextstate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRespondWithStateAsync)(::windows_core::Interface::as_raw(this), responseapdu.into_param().abi(), nextstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2224,7 +2224,7 @@ impl SmartCardEmulatorApduReceivedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRespondWithCryptogramsAsync)(::windows_core::Interface::as_raw(this), responsetemplate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRespondWithCryptogramsAsync)(::windows_core::Interface::as_raw(this), responsetemplate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2237,7 +2237,7 @@ impl SmartCardEmulatorApduReceivedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRespondWithCryptogramsAndStateAsync)(::windows_core::Interface::as_raw(this), responsetemplate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), nextstate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRespondWithCryptogramsAndStateAsync)(::windows_core::Interface::as_raw(this), responsetemplate.into_param().abi(), cryptogramplacementsteps.into_param().abi(), nextstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2262,14 +2262,14 @@ impl SmartCardEmulatorConnectionDeactivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2294,14 +2294,14 @@ impl SmartCardEmulatorConnectionProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2333,7 +2333,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -2344,7 +2344,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -2355,7 +2355,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UppercaseLetters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UppercaseLetters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUppercaseLetters(&self, value: SmartCardPinCharacterPolicyOption) -> ::windows_core::Result<()> { @@ -2366,7 +2366,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowercaseLetters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowercaseLetters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLowercaseLetters(&self, value: SmartCardPinCharacterPolicyOption) -> ::windows_core::Result<()> { @@ -2377,7 +2377,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Digits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Digits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDigits(&self, value: SmartCardPinCharacterPolicyOption) -> ::windows_core::Result<()> { @@ -2388,7 +2388,7 @@ impl SmartCardPinPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpecialCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpecialCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpecialCharacters(&self, value: SmartCardPinCharacterPolicyOption) -> ::windows_core::Result<()> { @@ -2440,21 +2440,21 @@ impl SmartCardPinResetRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Challenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Challenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2487,35 +2487,35 @@ impl SmartCardProvisioning { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIdAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIdAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNameAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetChallengeContextAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChallengeContextAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChallengeContextAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPinChangeAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinChangeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinChangeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPinResetAsync(&self, handler: P0) -> ::windows_core::Result> @@ -2525,14 +2525,14 @@ impl SmartCardProvisioning { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinResetAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinResetAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAuthorityKeyContainerNameAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAuthorityKeyContainerNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAuthorityKeyContainerNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromSmartCardAsync(card: P0) -> ::windows_core::Result> @@ -2541,7 +2541,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromSmartCardAsync)(::windows_core::Interface::as_raw(this), card.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromSmartCardAsync)(::windows_core::Interface::as_raw(this), card.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2552,7 +2552,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestVirtualSmartCardCreationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestVirtualSmartCardCreationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2563,7 +2563,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestVirtualSmartCardCreationAsyncWithCardId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), cardid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestVirtualSmartCardCreationAsyncWithCardId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), cardid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestVirtualSmartCardDeletionAsync(card: P0) -> ::windows_core::Result> @@ -2572,7 +2572,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestVirtualSmartCardDeletionAsync)(::windows_core::Interface::as_raw(this), card.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestVirtualSmartCardDeletionAsync)(::windows_core::Interface::as_raw(this), card.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2583,7 +2583,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAttestedVirtualSmartCardCreationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAttestedVirtualSmartCardCreationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2594,7 +2594,7 @@ impl SmartCardProvisioning { { Self::ISmartCardProvisioningStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAttestedVirtualSmartCardCreationAsyncWithCardId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), cardid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAttestedVirtualSmartCardCreationAsyncWithCardId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), administrativekey.into_param().abi(), pinpolicy.into_param().abi(), cardid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2629,28 +2629,28 @@ impl SmartCardReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetStatusAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2658,7 +2658,7 @@ impl SmartCardReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllCardsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllCardsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CardAdded(&self, handler: P0) -> ::windows_core::Result @@ -2668,7 +2668,7 @@ impl SmartCardReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCardAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2682,7 +2682,7 @@ impl SmartCardReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CardRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CardRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCardRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2692,19 +2692,19 @@ impl SmartCardReader { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISmartCardReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorWithKind(kind: SmartCardReaderKind) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISmartCardReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorWithKind)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorWithKind)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISmartCardReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2734,7 +2734,7 @@ impl SmartCardTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2742,7 +2742,7 @@ impl SmartCardTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceAppletId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceAppletId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2750,35 +2750,35 @@ impl SmartCardTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Emulator(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emulator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emulator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryLaunchCurrentAppAsync(&self, arguments: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryLaunchCurrentAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryLaunchCurrentAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryLaunchCurrentAppWithBehaviorAsync(&self, arguments: &::windows_core::HSTRING, behavior: SmartCardLaunchBehavior) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryLaunchCurrentAppWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryLaunchCurrentAppWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SmartCard(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartCard)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/Sms/mod.rs b/crates/libs/windows/src/Windows/Devices/Sms/mod.rs index fc0b2d37ac..88da1f94e3 100644 --- a/crates/libs/windows/src/Windows/Devices/Sms/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Sms/mod.rs @@ -45,7 +45,7 @@ impl ISmsBinaryMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -58,7 +58,7 @@ impl ISmsBinaryMessage { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -70,14 +70,14 @@ impl ISmsBinaryMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -137,7 +137,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -148,7 +148,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -156,7 +156,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -164,7 +164,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -172,7 +172,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageStore)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageStore)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -180,7 +180,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -191,7 +191,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmsMessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmsMessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -207,7 +207,7 @@ impl ISmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmsDeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmsDeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -438,14 +438,14 @@ impl ISmsMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -466,35 +466,35 @@ impl ISmsMessageBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -637,7 +637,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -645,7 +645,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -653,7 +653,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -661,7 +661,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -669,7 +669,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -682,7 +682,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -695,7 +695,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -708,7 +708,7 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -721,21 +721,21 @@ impl ISmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToBinaryMessages)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToBinaryMessages)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -889,7 +889,7 @@ impl DeleteSmsMessageOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -900,21 +900,21 @@ impl DeleteSmsMessageOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -991,7 +991,7 @@ impl DeleteSmsMessagesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -1002,21 +1002,21 @@ impl DeleteSmsMessagesOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1086,21 +1086,21 @@ impl GetSmsDeviceOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1122,14 +1122,14 @@ impl GetSmsDeviceOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1191,21 +1191,21 @@ impl GetSmsMessageOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1227,14 +1227,14 @@ impl GetSmsMessageOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1296,21 +1296,21 @@ impl GetSmsMessagesOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1334,7 +1334,7 @@ impl GetSmsMessagesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1350,7 +1350,7 @@ impl GetSmsMessagesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1358,7 +1358,7 @@ impl GetSmsMessagesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1427,7 +1427,7 @@ impl SendSmsMessageOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -1438,21 +1438,21 @@ impl SendSmsMessageOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1525,14 +1525,14 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTo(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1543,14 +1543,14 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBody(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1561,7 +1561,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallbackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallbackNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCallbackNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1572,7 +1572,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDeliveryNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDeliveryNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDeliveryNotificationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1583,7 +1583,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetryAttemptCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetryAttemptCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRetryAttemptCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -1594,7 +1594,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEncoding(&self, value: SmsEncoding) -> ::windows_core::Result<()> { @@ -1605,7 +1605,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PortNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PortNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPortNumber(&self, value: i32) -> ::windows_core::Result<()> { @@ -1616,7 +1616,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TeleserviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TeleserviceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTeleserviceId(&self, value: i32) -> ::windows_core::Result<()> { @@ -1627,7 +1627,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtocolId(&self, value: i32) -> ::windows_core::Result<()> { @@ -1639,7 +1639,7 @@ impl SmsAppMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BinaryBody)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BinaryBody)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1654,35 +1654,35 @@ impl SmsAppMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1720,7 +1720,7 @@ impl SmsBinaryMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1733,7 +1733,7 @@ impl SmsBinaryMessage { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -1745,14 +1745,14 @@ impl SmsBinaryMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1783,105 +1783,105 @@ impl SmsBroadcastMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Channel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GeographicalScope(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicalScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicalScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BroadcastType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEmergencyAlert(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEmergencyAlert)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEmergencyAlert)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUserPopupRequested(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserPopupRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserPopupRequested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1915,7 +1915,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1926,7 +1926,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1934,7 +1934,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1942,7 +1942,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1950,7 +1950,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageStore)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageStore)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1958,7 +1958,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1969,7 +1969,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmsMessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmsMessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1985,7 +1985,7 @@ impl SmsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmsDeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmsDeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1997,28 +1997,28 @@ impl SmsDevice { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISmsDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISmsDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ISmsDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn FromNetworkAccountIdAsync(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISmsDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromNetworkAccountIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromNetworkAccountIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2056,7 +2056,7 @@ impl SmsDevice2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmscAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmscAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSmscAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2067,35 +2067,35 @@ impl SmsDevice2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccountPhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CalculateLength(&self, message: P0) -> ::windows_core::Result @@ -2105,7 +2105,7 @@ impl SmsDevice2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CalculateLength)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).map(|| result__) } } pub fn SendMessageAndGetResultAsync(&self, message: P0) -> ::windows_core::Result> @@ -2115,7 +2115,7 @@ impl SmsDevice2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAndGetResultAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAndGetResultAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceStatusChanged(&self, eventhandler: P0) -> ::windows_core::Result @@ -2125,7 +2125,7 @@ impl SmsDevice2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceStatusChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeviceStatusChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2135,25 +2135,25 @@ impl SmsDevice2 { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISmsDevice2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISmsDevice2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::ISmsDevice2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromParentId(parentdeviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISmsDevice2Statics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromParentId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parentdeviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromParentId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(parentdeviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2185,7 +2185,7 @@ impl SmsDeviceMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2193,7 +2193,7 @@ impl SmsDeviceMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteMessagesAsync)(::windows_core::Interface::as_raw(this), messagefilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteMessagesAsync)(::windows_core::Interface::as_raw(this), messagefilter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2201,7 +2201,7 @@ impl SmsDeviceMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessageAsync)(::windows_core::Interface::as_raw(this), messageid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -2209,7 +2209,7 @@ impl SmsDeviceMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessagesAsync)(::windows_core::Interface::as_raw(this), messagefilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessagesAsync)(::windows_core::Interface::as_raw(this), messagefilter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2217,7 +2217,7 @@ impl SmsDeviceMessageStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMessages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMessages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2243,7 +2243,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2251,7 +2251,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImsiPrefixes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImsiPrefixes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2259,7 +2259,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2267,7 +2267,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SenderNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SenderNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2275,7 +2275,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextMessagePrefixes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextMessagePrefixes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2283,14 +2283,14 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PortNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PortNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCellularClass(&self, value: CellularClass) -> ::windows_core::Result<()> { @@ -2302,7 +2302,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2310,7 +2310,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TeleserviceIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TeleserviceIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2318,7 +2318,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WapApplicationIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WapApplicationIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2326,7 +2326,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WapContentTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WapContentTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2334,7 +2334,7 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2342,13 +2342,13 @@ impl SmsFilterRule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastChannels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastChannels)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFilterRule(messagetype: SmsMessageType) -> ::windows_core::Result { Self::ISmsFilterRuleFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFilterRule)(::windows_core::Interface::as_raw(this), messagetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFilterRule)(::windows_core::Interface::as_raw(this), messagetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2378,7 +2378,7 @@ impl SmsFilterRules { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2386,13 +2386,13 @@ impl SmsFilterRules { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rules)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rules)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFilterRules(actiontype: SmsFilterActionType) -> ::windows_core::Result { Self::ISmsFilterRulesFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFilterRules)(::windows_core::Interface::as_raw(this), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFilterRules)(::windows_core::Interface::as_raw(this), actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2426,7 +2426,7 @@ impl SmsMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2434,7 +2434,7 @@ impl SmsMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BinaryMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BinaryMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2460,49 +2460,49 @@ impl SmsMessageReceivedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TextMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WapMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WapMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WapMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BroadcastMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VoicemailMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VoicemailMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VoicemailMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Drop(&self) -> ::windows_core::Result<()> { @@ -2535,7 +2535,7 @@ impl SmsMessageRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Unregister(&self) -> ::windows_core::Result<()> { @@ -2549,7 +2549,7 @@ impl SmsMessageRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2560,7 +2560,7 @@ impl SmsMessageRegistration { pub fn AllRegistrations() -> ::windows_core::Result> { Self::ISmsMessageRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllRegistrations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllRegistrations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Register(id: &::windows_core::HSTRING, filterrules: P0) -> ::windows_core::Result @@ -2569,7 +2569,7 @@ impl SmsMessageRegistration { { Self::ISmsMessageRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), filterrules.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), filterrules.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2601,7 +2601,7 @@ impl SmsReceivedEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2609,7 +2609,7 @@ impl SmsReceivedEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2617,7 +2617,7 @@ impl SmsReceivedEventDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2625,7 +2625,7 @@ impl SmsReceivedEventDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BinaryMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BinaryMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2655,7 +2655,7 @@ impl SmsSendMessageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuccessful)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuccessful)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2663,42 +2663,42 @@ impl SmsSendMessageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReferenceNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReferenceNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ModemErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModemErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModemErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsErrorTransient(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsErrorTransient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsErrorTransient)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkCauseCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkCauseCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkCauseCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportFailureCause(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportFailureCause)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportFailureCause)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2724,84 +2724,84 @@ impl SmsStatusMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn From(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageReferenceNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReferenceNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReferenceNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceCenterTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceCenterTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceCenterTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DischargeTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2838,14 +2838,14 @@ impl SmsTextMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2853,7 +2853,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2861,7 +2861,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartReferenceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2869,7 +2869,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2877,7 +2877,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2885,7 +2885,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2898,7 +2898,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2911,7 +2911,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2924,7 +2924,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2937,7 +2937,7 @@ impl SmsTextMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToBinaryMessages)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToBinaryMessages)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2947,14 +2947,14 @@ impl SmsTextMessage { { Self::ISmsTextMessageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBinaryMessage)(::windows_core::Interface::as_raw(this), binarymessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBinaryMessage)(::windows_core::Interface::as_raw(this), binarymessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn FromBinaryData(format: SmsDataFormat, value: &[u8]) -> ::windows_core::Result { Self::ISmsTextMessageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBinaryData)(::windows_core::Interface::as_raw(this), format, value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBinaryData)(::windows_core::Interface::as_raw(this), format, value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2998,49 +2998,49 @@ impl SmsTextMessage2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTo(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3051,14 +3051,14 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBody(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3069,7 +3069,7 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Encoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEncoding(&self, value: SmsEncoding) -> ::windows_core::Result<()> { @@ -3080,7 +3080,7 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallbackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallbackNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCallbackNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3091,7 +3091,7 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDeliveryNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDeliveryNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDeliveryNotificationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3102,7 +3102,7 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetryAttemptCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetryAttemptCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRetryAttemptCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -3113,14 +3113,14 @@ impl SmsTextMessage2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TeleserviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TeleserviceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3146,63 +3146,63 @@ impl SmsVoicemailMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Body(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageCount(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3228,70 +3228,70 @@ impl SmsWapMessage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellularClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageClass(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn To(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).To)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn From(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3299,7 +3299,7 @@ impl SmsWapMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BinaryBody)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BinaryBody)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3307,7 +3307,7 @@ impl SmsWapMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } 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 698bd0625e..7a10cdf1d9 100644 --- a/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs @@ -31,7 +31,7 @@ impl ISpiControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceProvider)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceProvider)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -52,14 +52,14 @@ impl ISpiDeviceProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Write(&self, buffer: &[u8]) -> ::windows_core::Result<()> { @@ -105,7 +105,7 @@ impl ISpiProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -130,7 +130,7 @@ impl ProviderSpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChipSelectLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChipSelectLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChipSelectLine(&self, value: i32) -> ::windows_core::Result<()> { @@ -141,7 +141,7 @@ impl ProviderSpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: ProviderSpiMode) -> ::windows_core::Result<()> { @@ -152,7 +152,7 @@ impl ProviderSpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataBitLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataBitLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataBitLength(&self, value: i32) -> ::windows_core::Result<()> { @@ -163,7 +163,7 @@ impl ProviderSpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClockFrequency(&self, value: i32) -> ::windows_core::Result<()> { @@ -174,7 +174,7 @@ impl ProviderSpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSharingMode(&self, value: ProviderSpiSharingMode) -> ::windows_core::Result<()> { @@ -184,7 +184,7 @@ impl ProviderSpiConnectionSettings { pub fn Create(chipselectline: i32) -> ::windows_core::Result { Self::IProviderSpiConnectionSettingsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), chipselectline, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), chipselectline, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Spi/mod.rs b/crates/libs/windows/src/Windows/Devices/Spi/mod.rs index 32150de2bb..affe5368cc 100644 --- a/crates/libs/windows/src/Windows/Devices/Spi/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Spi/mod.rs @@ -73,21 +73,21 @@ impl ISpiDeviceStatics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelectorFromFriendlyName(&self, friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBusInfo(&self, busid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBusInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBusInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(&self, busid: &::windows_core::HSTRING, settings: P0) -> ::windows_core::Result> @@ -97,7 +97,7 @@ impl ISpiDeviceStatics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -122,21 +122,21 @@ impl SpiBusInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChipSelectLineCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChipSelectLineCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinClockFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxClockFrequency(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -144,7 +144,7 @@ impl SpiBusInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDataBitLengths)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDataBitLengths)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -169,7 +169,7 @@ impl SpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChipSelectLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChipSelectLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChipSelectLine(&self, value: i32) -> ::windows_core::Result<()> { @@ -180,7 +180,7 @@ impl SpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: SpiMode) -> ::windows_core::Result<()> { @@ -191,7 +191,7 @@ impl SpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataBitLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataBitLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataBitLength(&self, value: i32) -> ::windows_core::Result<()> { @@ -202,7 +202,7 @@ impl SpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClockFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClockFrequency(&self, value: i32) -> ::windows_core::Result<()> { @@ -213,7 +213,7 @@ impl SpiConnectionSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSharingMode(&self, value: SpiSharingMode) -> ::windows_core::Result<()> { @@ -223,7 +223,7 @@ impl SpiConnectionSettings { pub fn Create(chipselectline: i32) -> ::windows_core::Result { Self::ISpiConnectionSettingsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), chipselectline, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), chipselectline, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -256,13 +256,13 @@ impl SpiController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDevice)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDevice)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultAsync() -> ::windows_core::Result> { Self::ISpiControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Spi_Provider", feature = "Foundation_Collections"))] @@ -272,7 +272,7 @@ impl SpiController { { Self::ISpiControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetControllersAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -307,14 +307,14 @@ impl SpiDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Write(&self, buffer: &[u8]) -> ::windows_core::Result<()> { @@ -336,19 +336,19 @@ impl SpiDevice { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpiDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromFriendlyName(friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpiDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromFriendlyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetBusInfo(busid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISpiDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBusInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBusInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(busid: &::windows_core::HSTRING, settings: P0) -> ::windows_core::Result> @@ -357,7 +357,7 @@ impl SpiDevice { { Self::ISpiDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(busid), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Usb/mod.rs b/crates/libs/windows/src/Windows/Devices/Usb/mod.rs index bef5b3c9b3..bf908e35c6 100644 --- a/crates/libs/windows/src/Windows/Devices/Usb/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Usb/mod.rs @@ -372,21 +372,21 @@ impl UsbBulkInEndpointDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pipe(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -411,21 +411,21 @@ impl UsbBulkInPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxTransferSizeBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxTransferSizeBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearStallAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReadOptions(&self, value: UsbReadOptions) -> ::windows_core::Result<()> { @@ -436,7 +436,7 @@ impl UsbBulkInPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FlushBuffer(&self) -> ::windows_core::Result<()> { @@ -448,7 +448,7 @@ impl UsbBulkInPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -473,21 +473,21 @@ impl UsbBulkOutEndpointDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pipe(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -512,14 +512,14 @@ impl UsbBulkOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearStallAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows_core::Result<()> { @@ -530,7 +530,7 @@ impl UsbBulkOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -538,7 +538,7 @@ impl UsbBulkOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -564,14 +564,14 @@ impl UsbConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsbInterfaces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsbInterfaces)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigurationDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfigurationDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfigurationDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -579,7 +579,7 @@ impl UsbConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -604,28 +604,28 @@ impl UsbConfigurationDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfigurationValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfigurationValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPowerMilliamps(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPowerMilliamps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPowerMilliamps)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelfPowered(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelfPowered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelfPowered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemoteWakeup(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteWakeup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteWakeup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryParse(descriptor: P0, parsed: &mut ::core::option::Option) -> ::windows_core::Result @@ -634,7 +634,7 @@ impl UsbConfigurationDescriptor { { Self::IUsbConfigurationDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).map(|| result__) }) } pub fn Parse(descriptor: P0) -> ::windows_core::Result @@ -643,7 +643,7 @@ impl UsbConfigurationDescriptor { { Self::IUsbConfigurationDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -680,7 +680,7 @@ impl UsbControlRequestType { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: UsbTransferDirection) -> ::windows_core::Result<()> { @@ -691,7 +691,7 @@ impl UsbControlRequestType { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlTransferType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlTransferType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetControlTransferType(&self, value: UsbControlTransferType) -> ::windows_core::Result<()> { @@ -702,7 +702,7 @@ impl UsbControlRequestType { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recipient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recipient)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRecipient(&self, value: UsbControlRecipient) -> ::windows_core::Result<()> { @@ -713,7 +713,7 @@ impl UsbControlRequestType { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsByte)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsByte)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAsByte(&self, value: u8) -> ::windows_core::Result<()> { @@ -742,14 +742,14 @@ impl UsbDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DescriptorType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DescriptorType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DescriptorType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -792,7 +792,7 @@ impl UsbDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendControlOutTransferAsync)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendControlOutTransferAsync)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendControlOutTransferAsyncNoBuffer(&self, setuppacket: P0) -> ::windows_core::Result> @@ -802,7 +802,7 @@ impl UsbDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendControlOutTransferAsyncNoBuffer)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendControlOutTransferAsyncNoBuffer)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -814,7 +814,7 @@ impl UsbDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendControlInTransferAsync)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendControlInTransferAsync)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -825,46 +825,46 @@ impl UsbDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendControlInTransferAsyncNoBuffer)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendControlInTransferAsyncNoBuffer)(::windows_core::Interface::as_raw(this), setuppacket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultInterface(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultInterface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultInterface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector(vendorid: u32, productid: u32, winusbinterfaceclass: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IUsbDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), vendorid, productid, winusbinterfaceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), vendorid, productid, winusbinterfaceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorGuidOnly(winusbinterfaceclass: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IUsbDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorGuidOnly)(::windows_core::Interface::as_raw(this), winusbinterfaceclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorGuidOnly)(::windows_core::Interface::as_raw(this), winusbinterfaceclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorVidPidOnly(vendorid: u32, productid: u32) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IUsbDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorVidPidOnly)(::windows_core::Interface::as_raw(this), vendorid, productid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorVidPidOnly)(::windows_core::Interface::as_raw(this), vendorid, productid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceClassSelector(usbclass: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -873,13 +873,13 @@ impl UsbDevice { { Self::IUsbDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceClassSelector)(::windows_core::Interface::as_raw(this), usbclass.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceClassSelector)(::windows_core::Interface::as_raw(this), usbclass.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IUsbDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -916,7 +916,7 @@ impl UsbDeviceClass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClassCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClassCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClassCode(&self, value: u8) -> ::windows_core::Result<()> { @@ -927,7 +927,7 @@ impl UsbDeviceClass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubclassCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubclassCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubclassCode(&self, value: P0) -> ::windows_core::Result<()> @@ -941,7 +941,7 @@ impl UsbDeviceClass { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProtocolCode(&self, value: P0) -> ::windows_core::Result<()> @@ -972,55 +972,55 @@ impl UsbDeviceClasses { pub fn CdcControl() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CdcControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CdcControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Physical() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Physical)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Physical)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PersonalHealthcare() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PersonalHealthcare)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PersonalHealthcare)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ActiveSync() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActiveSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActiveSync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PalmSync() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PalmSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PalmSync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeviceFirmwareUpdate() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceFirmwareUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceFirmwareUpdate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Irda() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Irda)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Irda)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Measurement() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Measurement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Measurement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VendorSpecific() -> ::windows_core::Result { Self::IUsbDeviceClassesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VendorSpecific)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VendorSpecific)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1050,42 +1050,42 @@ impl UsbDeviceDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BcdUsb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BcdUsb)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPacketSize0(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPacketSize0)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPacketSize0)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BcdDeviceRevision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BcdDeviceRevision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BcdDeviceRevision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfConfigurations(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfConfigurations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1110,49 +1110,49 @@ impl UsbEndpointDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Direction(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AsBulkInEndpointDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsBulkInEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsBulkInEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AsInterruptInEndpointDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsInterruptInEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsInterruptInEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AsBulkOutEndpointDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsBulkOutEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsBulkOutEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AsInterruptOutEndpointDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AsInterruptOutEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AsInterruptOutEndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryParse(descriptor: P0, parsed: &mut ::core::option::Option) -> ::windows_core::Result @@ -1161,7 +1161,7 @@ impl UsbEndpointDescriptor { { Self::IUsbEndpointDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).map(|| result__) }) } pub fn Parse(descriptor: P0) -> ::windows_core::Result @@ -1170,7 +1170,7 @@ impl UsbEndpointDescriptor { { Self::IUsbEndpointDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1201,7 +1201,7 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BulkInPipes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BulkInPipes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1209,7 +1209,7 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterruptInPipes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterruptInPipes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1217,7 +1217,7 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BulkOutPipes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BulkOutPipes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1225,7 +1225,7 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterruptOutPipes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterruptOutPipes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1233,14 +1233,14 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterfaceSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterfaceSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InterfaceNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterfaceNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterfaceNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1248,7 +1248,7 @@ impl UsbInterface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1273,35 +1273,35 @@ impl UsbInterfaceDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClassCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClassCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubclassCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubclassCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubclassCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtocolCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AlternateSettingNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateSettingNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateSettingNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InterfaceNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterfaceNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterfaceNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryParse(descriptor: P0, parsed: &mut ::core::option::Option) -> ::windows_core::Result @@ -1310,7 +1310,7 @@ impl UsbInterfaceDescriptor { { Self::IUsbInterfaceDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).map(|| result__) }) } pub fn Parse(descriptor: P0) -> ::windows_core::Result @@ -1319,7 +1319,7 @@ impl UsbInterfaceDescriptor { { Self::IUsbInterfaceDescriptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1350,7 +1350,7 @@ impl UsbInterfaceSetting { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BulkInEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BulkInEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1358,7 +1358,7 @@ impl UsbInterfaceSetting { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterruptInEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterruptInEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1366,7 +1366,7 @@ impl UsbInterfaceSetting { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BulkOutEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BulkOutEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1374,28 +1374,28 @@ impl UsbInterfaceSetting { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterruptOutEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterruptOutEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Selected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectSettingAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSettingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSettingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InterfaceDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterfaceDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterfaceDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1403,7 +1403,7 @@ impl UsbInterfaceSetting { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Descriptors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1428,28 +1428,28 @@ impl UsbInterruptInEndpointDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Interval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pipe(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1475,7 +1475,7 @@ impl UsbInterruptInEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterruptData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterruptData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1500,14 +1500,14 @@ impl UsbInterruptInPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearStallAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataReceived(&self, handler: P0) -> ::windows_core::Result @@ -1517,7 +1517,7 @@ impl UsbInterruptInPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1546,28 +1546,28 @@ impl UsbInterruptOutEndpointDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPacketSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Interval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pipe(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pipe)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1592,14 +1592,14 @@ impl UsbInterruptOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearStallAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearStallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows_core::Result<()> { @@ -1610,7 +1610,7 @@ impl UsbInterruptOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1618,7 +1618,7 @@ impl UsbInterruptOutPipe { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1650,7 +1650,7 @@ impl UsbSetupPacket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestType(&self, value: P0) -> ::windows_core::Result<()> @@ -1664,7 +1664,7 @@ impl UsbSetupPacket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequest(&self, value: u8) -> ::windows_core::Result<()> { @@ -1675,7 +1675,7 @@ impl UsbSetupPacket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: u32) -> ::windows_core::Result<()> { @@ -1686,7 +1686,7 @@ impl UsbSetupPacket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -1697,7 +1697,7 @@ impl UsbSetupPacket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -1711,7 +1711,7 @@ impl UsbSetupPacket { { Self::IUsbSetupPacketFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithEightByteBuffer)(::windows_core::Interface::as_raw(this), eightbytebuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithEightByteBuffer)(::windows_core::Interface::as_raw(this), eightbytebuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/WiFi/mod.rs b/crates/libs/windows/src/Windows/Devices/WiFi/mod.rs index 4e3c796120..5282209417 100644 --- a/crates/libs/windows/src/Windows/Devices/WiFi/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/WiFi/mod.rs @@ -164,21 +164,21 @@ impl WiFiAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ScanAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AvailableNetworksChanged(&self, args: P0) -> ::windows_core::Result @@ -188,7 +188,7 @@ impl WiFiAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableNetworksChanged)(::windows_core::Interface::as_raw(this), args.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableNetworksChanged)(::windows_core::Interface::as_raw(this), args.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAvailableNetworksChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -202,7 +202,7 @@ impl WiFiAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -214,7 +214,7 @@ impl WiFiAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -226,7 +226,7 @@ impl WiFiAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAndSsidAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), ::core::mem::transmute_copy(ssid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAndSsidAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), ::core::mem::transmute_copy(ssid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Disconnect(&self) -> ::windows_core::Result<()> { @@ -240,7 +240,7 @@ impl WiFiAdapter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWpsConfigurationAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWpsConfigurationAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -252,32 +252,32 @@ impl WiFiAdapter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAndSsidAndConnectionMethodAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), ::core::mem::transmute_copy(ssid), connectionmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithPasswordCredentialAndSsidAndConnectionMethodAsync)(::windows_core::Interface::as_raw(this), availablenetwork.into_param().abi(), reconnectionkind, passwordcredential.into_param().abi(), ::core::mem::transmute_copy(ssid), connectionmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAdaptersAsync() -> ::windows_core::Result>> { Self::IWiFiAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAdaptersAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAdaptersAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IWiFiAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWiFiAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IWiFiAdapterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -307,56 +307,56 @@ impl WiFiAvailableNetwork { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uptime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uptime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Ssid(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bssid(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bssid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bssid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelCenterFrequencyInKilohertz(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelCenterFrequencyInKilohertz)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelCenterFrequencyInKilohertz)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkRssiInDecibelMilliwatts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkRssiInDecibelMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkRssiInDecibelMilliwatts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SignalBars(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalBars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalBars)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhyKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhyKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhyKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Networking_Connectivity")] @@ -364,21 +364,21 @@ impl WiFiAvailableNetwork { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecuritySettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecuritySettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BeaconInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeaconInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeaconInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsWiFiDirect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWiFiDirect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWiFiDirect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -403,7 +403,7 @@ impl WiFiConnectionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -428,7 +428,7 @@ impl WiFiNetworkReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -436,7 +436,7 @@ impl WiFiNetworkReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableNetworks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableNetworks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -461,7 +461,7 @@ impl WiFiOnDemandHotspotConnectTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedNetwork)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedNetwork)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportError(&self, status: WiFiOnDemandHotspotConnectStatus) -> ::windows_core::Result<()> { @@ -472,14 +472,14 @@ impl WiFiOnDemandHotspotConnectTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Connect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -504,7 +504,7 @@ impl WiFiOnDemandHotspotConnectionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -529,7 +529,7 @@ impl WiFiOnDemandHotspotNetwork { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateProperties(&self, newproperties: P0) -> ::windows_core::Result<()> @@ -543,13 +543,13 @@ impl WiFiOnDemandHotspotNetwork { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetOrCreateById(networkid: ::windows_core::GUID) -> ::windows_core::Result { Self::IWiFiOnDemandHotspotNetworkStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOrCreateById)(::windows_core::Interface::as_raw(this), networkid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOrCreateById)(::windows_core::Interface::as_raw(this), networkid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -579,7 +579,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -590,7 +590,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAvailability(&self, value: WiFiOnDemandHotspotAvailability) -> ::windows_core::Result<()> { @@ -601,7 +601,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingBatteryPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingBatteryPercent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemainingBatteryPercent(&self, value: P0) -> ::windows_core::Result<()> @@ -615,7 +615,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularBars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularBars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCellularBars(&self, value: P0) -> ::windows_core::Result<()> @@ -629,7 +629,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMetered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMetered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMetered(&self, value: bool) -> ::windows_core::Result<()> { @@ -640,7 +640,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSsid(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -652,7 +652,7 @@ impl WiFiOnDemandHotspotNetworkProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -685,7 +685,7 @@ impl WiFiWpsConfigurationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -693,7 +693,7 @@ impl WiFiWpsConfigurationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedWpsKinds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedWpsKinds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs b/crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs index 3c216d7218..d2460c00c0 100644 --- a/crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs @@ -205,7 +205,7 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -213,14 +213,14 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreferGroupOwnerMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferGroupOwnerMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferGroupOwnerMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPreferGroupOwnerMode(&self, value: bool) -> ::windows_core::Result<()> { @@ -232,7 +232,7 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -247,7 +247,7 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SessionDeferred(&self, handler: P0) -> ::windows_core::Result @@ -257,7 +257,7 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionDeferred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionDeferred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionDeferred(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -268,27 +268,27 @@ impl WiFiDirectService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProvisioningInfoAsync)(::windows_core::Interface::as_raw(this), selectedconfigurationmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProvisioningInfoAsync)(::windows_core::Interface::as_raw(this), selectedconfigurationmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsyncWithPin(&self, pin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsyncWithPin)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsyncWithPin)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSelector(servicename: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IWiFiDirectServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSelector)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSelector)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -298,13 +298,13 @@ impl WiFiDirectService { { Self::IWiFiDirectServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSelectorWithFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), serviceinfofilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSelectorWithFilter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), serviceinfofilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWiFiDirectServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -334,7 +334,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -342,7 +342,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceNamePrefixes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceNamePrefixes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -350,7 +350,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -365,7 +365,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoAcceptSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoAcceptSession)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoAcceptSession(&self, value: bool) -> ::windows_core::Result<()> { @@ -376,7 +376,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferGroupOwnerMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferGroupOwnerMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPreferGroupOwnerMode(&self, value: bool) -> ::windows_core::Result<()> { @@ -388,14 +388,14 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetServiceStatus(&self, value: WiFiDirectServiceStatus) -> ::windows_core::Result<()> { @@ -406,7 +406,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomServiceStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomServiceStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomServiceStatusCode(&self, value: u32) -> ::windows_core::Result<()> { @@ -418,7 +418,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferredSessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferredSessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -433,14 +433,14 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SessionRequested(&self, handler: P0) -> ::windows_core::Result @@ -450,7 +450,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -464,7 +464,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoAcceptSessionConnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoAcceptSessionConnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutoAcceptSessionConnected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -478,7 +478,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdvertisementStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -493,7 +493,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), deviceinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), deviceinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -504,7 +504,7 @@ impl WiFiDirectServiceAdvertiser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsyncWithPin)(::windows_core::Interface::as_raw(this), deviceinfo.into_param().abi(), ::core::mem::transmute_copy(pin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsyncWithPin)(::windows_core::Interface::as_raw(this), deviceinfo.into_param().abi(), ::core::mem::transmute_copy(pin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -518,7 +518,7 @@ impl WiFiDirectServiceAdvertiser { pub fn CreateWiFiDirectServiceAdvertiser(servicename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWiFiDirectServiceAdvertiserFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWiFiDirectServiceAdvertiser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWiFiDirectServiceAdvertiser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(servicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -548,7 +548,7 @@ impl WiFiDirectServiceAutoAcceptSessionConnectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -556,7 +556,7 @@ impl WiFiDirectServiceAutoAcceptSessionConnectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -581,14 +581,14 @@ impl WiFiDirectServiceProvisioningInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedConfigurationMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedConfigurationMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGroupFormationNeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGroupFormationNeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGroupFormationNeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -614,14 +614,14 @@ impl WiFiDirectServiceRemotePortAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Protocol(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -651,49 +651,49 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SessionId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdvertisementId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisementId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisementId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Networking"))] @@ -701,7 +701,7 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionEndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionEndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -711,7 +711,7 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -726,7 +726,7 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddStreamSocketListenerAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddStreamSocketListenerAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -737,7 +737,7 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddDatagramSocketAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddDatagramSocketAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemotePortAdded(&self, handler: P0) -> ::windows_core::Result @@ -747,7 +747,7 @@ impl WiFiDirectServiceSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePortAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePortAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemotePortAdded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -777,7 +777,7 @@ impl WiFiDirectServiceSessionDeferredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferredSessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferredSessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -808,14 +808,14 @@ impl WiFiDirectServiceSessionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProvisioningInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisioningInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisioningInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -823,7 +823,7 @@ impl WiFiDirectServiceSessionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -848,7 +848,7 @@ impl WiFiDirectServiceSessionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs b/crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs index f6d1dd6e52..813641fe6d 100644 --- a/crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs @@ -200,7 +200,7 @@ impl WiFiDirectAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InformationElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InformationElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -215,7 +215,7 @@ impl WiFiDirectAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListenStateDiscoverability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListenStateDiscoverability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListenStateDiscoverability(&self, value: WiFiDirectAdvertisementListenStateDiscoverability) -> ::windows_core::Result<()> { @@ -226,7 +226,7 @@ impl WiFiDirectAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutonomousGroupOwnerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutonomousGroupOwnerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAutonomousGroupOwnerEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -237,7 +237,7 @@ impl WiFiDirectAdvertisement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LegacySettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LegacySettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -245,7 +245,7 @@ impl WiFiDirectAdvertisement { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,14 +277,14 @@ impl WiFiDirectAdvertisementPublisher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Advertisement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -294,7 +294,7 @@ impl WiFiDirectAdvertisementPublisher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -331,14 +331,14 @@ impl WiFiDirectAdvertisementPublisherStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -373,7 +373,7 @@ impl WiFiDirectConnectionListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -411,7 +411,7 @@ impl WiFiDirectConnectionParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GroupOwnerIntent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GroupOwnerIntent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGroupOwnerIntent(&self, value: i16) -> ::windows_core::Result<()> { @@ -423,14 +423,14 @@ impl WiFiDirectConnectionParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferenceOrderedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferenceOrderedConfigurationMethods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreferredPairingProcedure(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredPairingProcedure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredPairingProcedure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPreferredPairingProcedure(&self, value: WiFiDirectPairingProcedure) -> ::windows_core::Result<()> { @@ -441,7 +441,7 @@ impl WiFiDirectConnectionParameters { pub fn GetDevicePairingKinds(configurationmethod: WiFiDirectConfigurationMethod) -> ::windows_core::Result { Self::IWiFiDirectConnectionParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDevicePairingKinds)(::windows_core::Interface::as_raw(this), configurationmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDevicePairingKinds)(::windows_core::Interface::as_raw(this), configurationmethod, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -477,7 +477,7 @@ impl WiFiDirectConnectionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -502,7 +502,7 @@ impl WiFiDirectConnectionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -532,14 +532,14 @@ impl WiFiDirectDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -549,7 +549,7 @@ impl WiFiDirectDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -561,25 +561,25 @@ impl WiFiDirectDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionEndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionEndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IWiFiDirectDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWiFiDirectDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector2(r#type: WiFiDirectDeviceSelectorType) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IWiFiDirectDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync2(deviceid: &::windows_core::HSTRING, connectionparameters: P0) -> ::windows_core::Result> @@ -588,7 +588,7 @@ impl WiFiDirectDevice { { Self::IWiFiDirectDeviceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), connectionparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), connectionparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -631,7 +631,7 @@ impl WiFiDirectInformationElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Oui)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Oui)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -646,7 +646,7 @@ impl WiFiDirectInformationElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuiType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuiType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOuiType(&self, value: u8) -> ::windows_core::Result<()> { @@ -658,7 +658,7 @@ impl WiFiDirectInformationElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -676,7 +676,7 @@ impl WiFiDirectInformationElement { { Self::IWiFiDirectInformationElementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation_Collections"))] @@ -686,7 +686,7 @@ impl WiFiDirectInformationElement { { Self::IWiFiDirectInformationElementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDeviceInformation)(::windows_core::Interface::as_raw(this), deviceinformation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDeviceInformation)(::windows_core::Interface::as_raw(this), deviceinformation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -716,7 +716,7 @@ impl WiFiDirectLegacySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -727,7 +727,7 @@ impl WiFiDirectLegacySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSsid(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -739,7 +739,7 @@ impl WiFiDirectLegacySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Passphrase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Passphrase)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] diff --git a/crates/libs/windows/src/Windows/Devices/mod.rs b/crates/libs/windows/src/Windows/Devices/mod.rs index ac505a58e8..4b9d2d1264 100644 --- a/crates/libs/windows/src/Windows/Devices/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/mod.rs @@ -64,7 +64,7 @@ impl ILowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdcControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdcControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Pwm_Provider")] @@ -72,7 +72,7 @@ impl ILowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PwmControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PwmControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Gpio_Provider")] @@ -80,7 +80,7 @@ impl ILowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GpioControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GpioControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_I2c_Provider")] @@ -88,7 +88,7 @@ impl ILowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).I2cControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).I2cControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Spi_Provider")] @@ -96,7 +96,7 @@ impl ILowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpiControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpiControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -163,7 +163,7 @@ impl LowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdcControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdcControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Pwm_Provider")] @@ -171,7 +171,7 @@ impl LowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PwmControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PwmControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Gpio_Provider")] @@ -179,7 +179,7 @@ impl LowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GpioControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GpioControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_I2c_Provider")] @@ -187,7 +187,7 @@ impl LowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).I2cControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).I2cControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Spi_Provider")] @@ -195,7 +195,7 @@ impl LowLevelDevicesAggregateProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpiControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpiControllerProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Adc_Provider", feature = "Devices_Gpio_Provider", feature = "Devices_I2c_Provider", feature = "Devices_Pwm_Provider", feature = "Devices_Spi_Provider"))] @@ -209,7 +209,7 @@ impl LowLevelDevicesAggregateProvider { { Self::ILowLevelDevicesAggregateProviderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), adc.into_param().abi(), pwm.into_param().abi(), gpio.into_param().abi(), i2c.into_param().abi(), spi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), adc.into_param().abi(), pwm.into_param().abi(), gpio.into_param().abi(), i2c.into_param().abi(), spi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -238,7 +238,7 @@ impl LowLevelDevicesController { pub fn DefaultProvider() -> ::windows_core::Result { Self::ILowLevelDevicesControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetDefaultProvider(value: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Embedded/DeviceLockdown/mod.rs b/crates/libs/windows/src/Windows/Embedded/DeviceLockdown/mod.rs index b8bfdc263c..ba6d88fdcc 100644 --- a/crates/libs/windows/src/Windows/Embedded/DeviceLockdown/mod.rs +++ b/crates/libs/windows/src/Windows/Embedded/DeviceLockdown/mod.rs @@ -24,25 +24,25 @@ impl DeviceLockdownProfile { pub fn GetSupportedLockdownProfiles() -> ::windows_core::Result> { Self::IDeviceLockdownProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedLockdownProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedLockdownProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentLockdownProfile() -> ::windows_core::Result<::windows_core::GUID> { Self::IDeviceLockdownProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentLockdownProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentLockdownProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ApplyLockdownProfileAsync(profileid: ::windows_core::GUID) -> ::windows_core::Result { Self::IDeviceLockdownProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyLockdownProfileAsync)(::windows_core::Interface::as_raw(this), profileid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyLockdownProfileAsync)(::windows_core::Interface::as_raw(this), profileid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetLockdownProfileInformation(profileid: ::windows_core::GUID) -> ::windows_core::Result { Self::IDeviceLockdownProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLockdownProfileInformation)(::windows_core::Interface::as_raw(this), profileid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLockdownProfileInformation)(::windows_core::Interface::as_raw(this), profileid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -63,7 +63,7 @@ impl DeviceLockdownProfileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Foundation/Collections/mod.rs b/crates/libs/windows/src/Windows/Foundation/Collections/mod.rs index aee37df57d..b0d5a45679 100644 --- a/crates/libs/windows/src/Windows/Foundation/Collections/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/Collections/mod.rs @@ -10,7 +10,7 @@ impl IIterable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -57,28 +57,28 @@ impl IIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasCurrent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetMany(&self, items: &mut [>::Default]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -125,14 +125,14 @@ impl ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -175,14 +175,14 @@ impl ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: P0) -> ::windows_core::Result @@ -192,14 +192,14 @@ impl ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: P0, value: P1) -> ::windows_core::Result @@ -210,7 +210,7 @@ impl(&self, key: P0) -> ::windows_core::Result<()> @@ -228,7 +228,7 @@ impl>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -283,14 +283,14 @@ impl IMapChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Key(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Key)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Key)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -331,14 +331,14 @@ impl ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: P0) -> ::windows_core::Result @@ -348,7 +348,7 @@ impl>, second: &mut ::core::option::Option>) -> ::windows_core::Result<()> { @@ -359,7 +359,7 @@ impl>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -421,7 +421,7 @@ impl ::windows_core::Result<()> { @@ -432,7 +432,7 @@ impl>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Lookup(&self, key: P0) -> ::windows_core::Result @@ -442,14 +442,14 @@ impl>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: P0) -> ::windows_core::Result @@ -459,14 +459,14 @@ impl>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key.into_param().abi(), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: P0, value: P1) -> ::windows_core::Result @@ -477,7 +477,7 @@ impl>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key.into_param().abi(), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key.into_param().abi(), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn Remove(&self, key: P0) -> ::windows_core::Result<()> @@ -547,7 +547,7 @@ impl IObservableVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VectorChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VectorChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVectorChanged(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -558,28 +558,28 @@ impl IObservableVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAt(&self, index: u32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -589,7 +589,7 @@ impl IObservableVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } pub fn SetAt(&self, index: u32, value: P0) -> ::windows_core::Result<()> @@ -629,7 +629,7 @@ impl IObservableVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn ReplaceAll(&self, items: &[>::Default]) -> ::windows_core::Result<()> { @@ -677,35 +677,35 @@ impl IPropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Lookup(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: &::windows_core::HSTRING, value: P0) -> ::windows_core::Result @@ -715,7 +715,7 @@ impl IPropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn Remove(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -733,7 +733,7 @@ impl IPropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMapChanged(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -778,21 +778,21 @@ impl IVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -802,7 +802,7 @@ impl IVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } pub fn SetAt(&self, index: u32, value: P0) -> ::windows_core::Result<()> @@ -842,7 +842,7 @@ impl IVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn ReplaceAll(&self, items: &[>::Default]) -> ::windows_core::Result<()> { @@ -853,7 +853,7 @@ impl IVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -924,14 +924,14 @@ impl IVectorChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Index(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -960,14 +960,14 @@ impl IVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -977,21 +977,21 @@ impl IVectorView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } pub fn GetMany(&self, startindex: u32, items: &mut [>::Default]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn First(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1064,35 +1064,35 @@ impl PropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Lookup(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: &::windows_core::HSTRING, value: P0) -> ::windows_core::Result @@ -1102,7 +1102,7 @@ impl PropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn Remove(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1120,7 +1120,7 @@ impl PropertySet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMapChanged(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1171,42 +1171,42 @@ impl StringMap { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Lookup(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn Remove(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1224,7 +1224,7 @@ impl StringMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMapChanged(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1275,35 +1275,35 @@ impl ValueSet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Lookup(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasKey(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } pub fn GetView(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Insert(&self, key: &::windows_core::HSTRING, value: P0) -> ::windows_core::Result @@ -1313,7 +1313,7 @@ impl ValueSet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn Remove(&self, key: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1331,7 +1331,7 @@ impl ValueSet { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMapChanged(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs b/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs index 0096c87603..d85af6d8b7 100644 --- a/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs @@ -38,7 +38,7 @@ impl IErrorReportingSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetErrorOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetErrorOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -60,7 +60,7 @@ impl IFileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddLoggingChannel(&self, loggingchannel: P0) -> ::windows_core::Result<()> @@ -89,7 +89,7 @@ impl IFileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseAndSaveToFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseAndSaveToFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LogFileGenerated(&self, handler: P0) -> ::windows_core::Result @@ -99,7 +99,7 @@ impl IFileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogFileGenerated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogFileGenerated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLogFileGenerated(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -180,21 +180,21 @@ impl ILoggingChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Level(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogMessage(&self, eventstring: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -220,7 +220,7 @@ impl ILoggingChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoggingEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoggingEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLoggingEnabled(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -443,7 +443,7 @@ impl ILoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -454,7 +454,7 @@ impl ILoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddLoggingChannel(&self, loggingchannel: P0) -> ::windows_core::Result<()> @@ -513,21 +513,21 @@ impl ILoggingTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnabledWithLevel(&self, level: LoggingLevel) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).map(|| result__) } } pub fn IsEnabledWithLevelAndKeywords(&self, level: LoggingLevel, keywords: i64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).map(|| result__) } } pub fn LogEvent(&self, eventname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -560,7 +560,7 @@ impl ILoggingTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFields(&self, starteventname: &::windows_core::HSTRING, fields: P0) -> ::windows_core::Result @@ -570,7 +570,7 @@ impl ILoggingTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndLevel(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel) -> ::windows_core::Result @@ -580,7 +580,7 @@ impl ILoggingTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndOptions(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel, options: P1) -> ::windows_core::Result @@ -591,7 +591,7 @@ impl ILoggingTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -645,7 +645,7 @@ impl AsyncCausalityTracer { { Self::IAsyncCausalityTracerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TracingStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TracingStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveTracingStatusChanged(cookie: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -669,27 +669,27 @@ impl ErrorDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LongDescription(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HelpUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HelpUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HelpUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromHResultAsync(errorcode: i32) -> ::windows_core::Result> { Self::IErrorDetailsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromHResultAsync)(::windows_core::Interface::as_raw(this), errorcode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromHResultAsync)(::windows_core::Interface::as_raw(this), errorcode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -724,7 +724,7 @@ impl FileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddLoggingChannel(&self, loggingchannel: P0) -> ::windows_core::Result<()> @@ -753,7 +753,7 @@ impl FileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseAndSaveToFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseAndSaveToFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LogFileGenerated(&self, handler: P0) -> ::windows_core::Result @@ -763,7 +763,7 @@ impl FileLoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogFileGenerated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogFileGenerated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLogFileGenerated(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -773,7 +773,7 @@ impl FileLoggingSession { pub fn Create(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IFileLoggingSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -804,7 +804,7 @@ impl LogFileGeneratedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -834,21 +834,21 @@ impl LoggingActivity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Channel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Channel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopActivity(&self, stopeventname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -876,7 +876,7 @@ impl LoggingActivity { { Self::ILoggingActivityFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLoggingActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityname), loggingchannel.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLoggingActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityname), loggingchannel.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateLoggingActivityWithLevel(activityname: &::windows_core::HSTRING, loggingchannel: P0, level: LoggingLevel) -> ::windows_core::Result @@ -885,28 +885,28 @@ impl LoggingActivity { { Self::ILoggingActivityFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLoggingActivityWithLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityname), loggingchannel.into_param().abi(), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLoggingActivityWithLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activityname), loggingchannel.into_param().abi(), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnabledWithLevel(&self, level: LoggingLevel) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).map(|| result__) } } pub fn IsEnabledWithLevelAndKeywords(&self, level: LoggingLevel, keywords: i64) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).map(|| result__) } } pub fn LogEvent(&self, eventname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -939,7 +939,7 @@ impl LoggingActivity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFields(&self, starteventname: &::windows_core::HSTRING, fields: P0) -> ::windows_core::Result @@ -949,7 +949,7 @@ impl LoggingActivity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndLevel(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel) -> ::windows_core::Result @@ -959,7 +959,7 @@ impl LoggingActivity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndOptions(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel, options: P1) -> ::windows_core::Result @@ -970,7 +970,7 @@ impl LoggingActivity { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1005,21 +1005,21 @@ impl LoggingChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Level(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Level)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogMessage(&self, eventstring: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1045,7 +1045,7 @@ impl LoggingChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoggingEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoggingEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLoggingEnabled(&self, token: super::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1056,14 +1056,14 @@ impl LoggingChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] pub fn Create(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILoggingChannelFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithOptions(name: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result @@ -1072,7 +1072,7 @@ impl LoggingChannel { { Self::ILoggingChannelFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithOptionsAndId(name: &::windows_core::HSTRING, options: P0, id: ::windows_core::GUID) -> ::windows_core::Result @@ -1081,28 +1081,28 @@ impl LoggingChannel { { Self::ILoggingChannelFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithOptionsAndId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithOptionsAndId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnabledWithLevel(&self, level: LoggingLevel) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).map(|| result__) } } pub fn IsEnabledWithLevelAndKeywords(&self, level: LoggingLevel, keywords: i64) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledWithLevelAndKeywords)(::windows_core::Interface::as_raw(this), level, keywords, &mut result__).map(|| result__) } } pub fn LogEvent(&self, eventname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1135,7 +1135,7 @@ impl LoggingChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFields(&self, starteventname: &::windows_core::HSTRING, fields: P0) -> ::windows_core::Result @@ -1145,7 +1145,7 @@ impl LoggingChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFields)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndLevel(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel) -> ::windows_core::Result @@ -1155,7 +1155,7 @@ impl LoggingChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartActivityWithFieldsAndOptions(&self, starteventname: &::windows_core::HSTRING, fields: P0, level: LoggingLevel, options: P1) -> ::windows_core::Result @@ -1166,7 +1166,7 @@ impl LoggingChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartActivityWithFieldsAndOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(starteventname), fields.into_param().abi(), level, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1208,7 +1208,7 @@ impl LoggingChannelOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGroup(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1218,7 +1218,7 @@ impl LoggingChannelOptions { pub fn Create(group: ::windows_core::GUID) -> ::windows_core::Result { Self::ILoggingChannelOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), group, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), group, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1740,7 +1740,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeywords(&self, value: i64) -> ::windows_core::Result<()> { @@ -1751,7 +1751,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tags)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tags)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTags(&self, value: i32) -> ::windows_core::Result<()> { @@ -1762,7 +1762,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTask(&self, value: i16) -> ::windows_core::Result<()> { @@ -1773,7 +1773,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opcode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opcode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpcode(&self, value: LoggingOpcode) -> ::windows_core::Result<()> { @@ -1784,7 +1784,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetActivityId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1795,7 +1795,7 @@ impl LoggingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelatedActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelatedActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelatedActivityId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1805,7 +1805,7 @@ impl LoggingOptions { pub fn CreateWithKeywords(keywords: i64) -> ::windows_core::Result { Self::ILoggingOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithKeywords)(::windows_core::Interface::as_raw(this), keywords, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithKeywords)(::windows_core::Interface::as_raw(this), keywords, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1840,7 +1840,7 @@ impl LoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1851,7 +1851,7 @@ impl LoggingSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveToFileAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddLoggingChannel(&self, loggingchannel: P0) -> ::windows_core::Result<()> @@ -1878,7 +1878,7 @@ impl LoggingSession { pub fn Create(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILoggingSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1920,7 +1920,7 @@ impl RuntimeBrokerErrorSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetErrorOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetErrorOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1945,14 +1945,14 @@ impl TracingStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TraceLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TraceLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TraceLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Foundation/Metadata/mod.rs b/crates/libs/windows/src/Windows/Foundation/Metadata/mod.rs index 3a2025e80c..45e06a135e 100644 --- a/crates/libs/windows/src/Windows/Foundation/Metadata/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/Metadata/mod.rs @@ -19,61 +19,61 @@ impl ApiInformation { pub fn IsTypePresent(typename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTypePresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTypePresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), &mut result__).map(|| result__) }) } pub fn IsMethodPresent(typename: &::windows_core::HSTRING, methodname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMethodPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(methodname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMethodPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(methodname), &mut result__).map(|| result__) }) } pub fn IsMethodPresentWithArity(typename: &::windows_core::HSTRING, methodname: &::windows_core::HSTRING, inputparametercount: u32) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMethodPresentWithArity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(methodname), inputparametercount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMethodPresentWithArity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(methodname), inputparametercount, &mut result__).map(|| result__) }) } pub fn IsEventPresent(typename: &::windows_core::HSTRING, eventname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEventPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(eventname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEventPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(eventname), &mut result__).map(|| result__) }) } pub fn IsPropertyPresent(typename: &::windows_core::HSTRING, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).map(|| result__) }) } pub fn IsReadOnlyPropertyPresent(typename: &::windows_core::HSTRING, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnlyPropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnlyPropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).map(|| result__) }) } pub fn IsWriteablePropertyPresent(typename: &::windows_core::HSTRING, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWriteablePropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWriteablePropertyPresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(typename), ::core::mem::transmute_copy(propertyname), &mut result__).map(|| result__) }) } pub fn IsEnumNamedValuePresent(enumtypename: &::windows_core::HSTRING, valuename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnumNamedValuePresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enumtypename), ::core::mem::transmute_copy(valuename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnumNamedValuePresent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enumtypename), ::core::mem::transmute_copy(valuename), &mut result__).map(|| result__) }) } pub fn IsApiContractPresentByMajor(contractname: &::windows_core::HSTRING, majorversion: u16) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsApiContractPresentByMajor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contractname), majorversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsApiContractPresentByMajor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contractname), majorversion, &mut result__).map(|| result__) }) } pub fn IsApiContractPresentByMajorAndMinor(contractname: &::windows_core::HSTRING, majorversion: u16, minorversion: u16) -> ::windows_core::Result { Self::IApiInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsApiContractPresentByMajorAndMinor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contractname), majorversion, minorversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsApiContractPresentByMajorAndMinor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contractname), majorversion, minorversion, &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Foundation/mod.rs b/crates/libs/windows/src/Windows/Foundation/mod.rs index 7930724dd4..eadcb3103c 100644 --- a/crates/libs/windows/src/Windows/Foundation/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/mod.rs @@ -21,7 +21,7 @@ impl IAsyncAction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -32,21 +32,21 @@ impl IAsyncAction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -122,7 +122,7 @@ impl IAsyncActionWithProgress< let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompleted(&self, handler: P0) -> ::windows_core::Result<()> @@ -136,7 +136,7 @@ impl IAsyncActionWithProgress< let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -147,21 +147,21 @@ impl IAsyncActionWithProgress< let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -232,21 +232,21 @@ impl IAsyncInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -293,35 +293,35 @@ impl IAsyncOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -406,7 +406,7 @@ impl(&self, handler: P0) -> ::windows_core::Result<()> @@ -420,35 +420,35 @@ impl ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -552,7 +552,7 @@ impl IGetActivationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActivationFactory)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActivationFactory)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -582,7 +582,7 @@ impl IMemoryBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -614,7 +614,7 @@ impl IMemoryBufferReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Closed(&self, handler: P0) -> ::windows_core::Result @@ -624,7 +624,7 @@ impl IMemoryBufferReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, cookie: EventRegistrationToken) -> ::windows_core::Result<()> { @@ -654,140 +654,140 @@ impl IPropertyValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNumericScalar(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSingle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDouble(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetChar16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTimeSpan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPoint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8Array(&self, value: &mut ::windows_core::Array) -> ::windows_core::Result<()> { @@ -974,147 +974,147 @@ impl IReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNumericScalar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSingle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDouble(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetChar16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDateTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTimeSpan(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPoint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8Array(&self, value: &mut ::windows_core::Array) -> ::windows_core::Result<()> { @@ -1226,147 +1226,147 @@ impl IReferenceArray { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNumericScalar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNumericScalar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt32(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt64(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSingle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDouble(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetChar16(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChar16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDateTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTimeSpan(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPoint(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetUInt8Array(&self, value: &mut ::windows_core::Array) -> ::windows_core::Result<()> { @@ -1470,7 +1470,7 @@ impl IStringable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1537,14 +1537,14 @@ impl IWwwFormUrlDecoderEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1592,7 +1592,7 @@ impl Deferral { { Self::IDeferralFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1618,19 +1618,19 @@ impl GuidHelper { pub fn CreateNewGuid() -> ::windows_core::Result<::windows_core::GUID> { Self::IGuidHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNewGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNewGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Empty() -> ::windows_core::Result<::windows_core::GUID> { Self::IGuidHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Empty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Empty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Equals(target: ::windows_core::GUID, value: ::windows_core::GUID) -> ::windows_core::Result { Self::IGuidHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Equals)(::windows_core::Interface::as_raw(this), &target, &value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Equals)(::windows_core::Interface::as_raw(this), &target, &value, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1656,13 +1656,13 @@ impl MemoryBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(capacity: u32) -> ::windows_core::Result { Self::IMemoryBufferFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1688,79 +1688,79 @@ impl PropertyValue { pub fn CreateEmpty() -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEmpty)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt8(value: u8) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt8)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt8)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt16(value: i16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt16(value: u16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt32(value: i32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt32(value: u32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt64(value: i64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt64(value: u64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSingle(value: f32) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDouble(value: f64) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateChar16(value: u16) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateChar16)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateChar16)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBoolean(value: bool) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBoolean)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateString(value: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInspectable(value: P0) -> ::windows_core::Result<::windows_core::IInspectable> @@ -1769,157 +1769,157 @@ impl PropertyValue { { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInspectable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInspectable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateGuid(value: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGuid)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGuid)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTime(value: DateTime) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTime)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimeSpan(value: TimeSpan) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimeSpan)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimeSpan)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePoint(value: Point) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePoint)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePoint)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSize(value: Size) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSize)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSize)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateRect(value: Rect) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRect)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRect)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt8Array(value: &[u8]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt8Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt8Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt16Array(value: &[i16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt16Array(value: &[u16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt32Array(value: &[i32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt32Array(value: &[u32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt32Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInt64Array(value: &[i64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUInt64Array(value: &[u64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUInt64Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSingleArray(value: &[f32]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSingleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSingleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDoubleArray(value: &[f64]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDoubleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDoubleArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateChar16Array(value: &[u16]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateChar16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateChar16Array)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBooleanArray(value: &[bool]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBooleanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStringArray(value: &[::windows_core::HSTRING]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStringArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStringArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInspectableArray(value: &[::core::option::Option<::windows_core::IInspectable>]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInspectableArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInspectableArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), ::core::mem::transmute(value.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateGuidArray(value: &[::windows_core::GUID]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGuidArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGuidArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTimeArray(value: &[DateTime]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimeSpanArray(value: &[TimeSpan]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimeSpanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimeSpanArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePointArray(value: &[Point]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePointArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePointArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSizeArray(value: &[Size]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSizeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSizeArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateRectArray(value: &[Rect]) -> ::windows_core::Result<::windows_core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1941,124 +1941,124 @@ impl Uri { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnescapeComponent(tounescape: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IUriEscapeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnescapeComponent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tounescape), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnescapeComponent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tounescape), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EscapeComponent(toescape: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IUriEscapeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EscapeComponent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(toescape), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EscapeComponent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(toescape), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AbsoluteUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Domain(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Extension(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Fragment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fragment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fragment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Host(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Host)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Host)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Password(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Query(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Query)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Query)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QueryParsed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryParsed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryParsed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SchemeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SchemeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SchemeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Port(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Port)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Port)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Suspicious(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suspicious)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suspicious)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Equals(&self, puri: P0) -> ::windows_core::Result @@ -2068,40 +2068,40 @@ impl Uri { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Equals)(::windows_core::Interface::as_raw(this), puri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Equals)(::windows_core::Interface::as_raw(this), puri.into_param().abi(), &mut result__).map(|| result__) } } pub fn CombineUri(&self, relativeuri: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CombineUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(relativeuri), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CombineUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(relativeuri), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateUri(uri: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUriRuntimeClassFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(uri), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(uri), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithRelativeUri(baseuri: &::windows_core::HSTRING, relativeuri: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUriRuntimeClassFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithRelativeUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(baseuri), ::core::mem::transmute_copy(relativeuri), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithRelativeUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(baseuri), ::core::mem::transmute_copy(relativeuri), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AbsoluteCanonicalUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteCanonicalUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteCanonicalUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayIri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayIri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayIri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2139,7 +2139,7 @@ impl WwwFormUrlDecoder { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2147,7 +2147,7 @@ impl WwwFormUrlDecoder { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2155,7 +2155,7 @@ impl WwwFormUrlDecoder { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2166,7 +2166,7 @@ impl WwwFormUrlDecoder { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2174,20 +2174,20 @@ impl WwwFormUrlDecoder { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } pub fn GetFirstValueByName(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFirstValueByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFirstValueByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWwwFormUrlDecoder(query: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWwwFormUrlDecoderRuntimeClassFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWwwFormUrlDecoder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(query), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWwwFormUrlDecoder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(query), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2234,14 +2234,14 @@ impl WwwFormUrlDecoderEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } 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 e78e8a3f2b..14fbc6e916 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs @@ -8,7 +8,7 @@ impl ICustomGameControllerFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGameController)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGameController)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OnGameControllerAdded(&self, value: P0) -> ::windows_core::Result<()> @@ -82,35 +82,35 @@ impl IGameControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVersionInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -276,7 +276,7 @@ impl GameControllerFactoryManager { { Self::IGameControllerFactoryManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetFactoryControllerFromGameController)(::windows_core::Interface::as_raw(this), factory.into_param().abi(), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetFactoryControllerFromGameController)(::windows_core::Interface::as_raw(this), factory.into_param().abi(), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -302,21 +302,21 @@ impl GipFirmwareUpdateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FinalComponentId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalComponentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalComponentId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -342,35 +342,35 @@ impl GipGameControllerProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVersionInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SendMessage(&self, messageclass: GipMessageClass, messageid: u8, messagebuffer: &[u8]) -> ::windows_core::Result<()> { @@ -389,7 +389,7 @@ impl GipGameControllerProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateFirmwareAsync)(::windows_core::Interface::as_raw(this), firmwareimage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateFirmwareAsync)(::windows_core::Interface::as_raw(this), firmwareimage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -415,49 +415,49 @@ impl HidGameControllerProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVersionInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsageId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsageId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsagePage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsagePage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetFeatureReport(&self, reportid: u8, reportbuffer: &mut [u8]) -> ::windows_core::Result<()> { @@ -495,35 +495,35 @@ impl XusbGameControllerProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVersionInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVibration(&self, lowfrequencymotorspeed: f64, highfrequencymotorspeed: f64) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs b/crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs index f692d29c6b..b183ba9586 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs @@ -37,7 +37,7 @@ impl IForceFeedbackEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -48,7 +48,7 @@ impl IForceFeedbackEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -138,7 +138,7 @@ impl ConditionForceEffect { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -149,14 +149,14 @@ impl ConditionForceEffect { pub fn CreateInstance(effectkind: ConditionForceEffectKind) -> ::windows_core::Result { Self::IConditionForceEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effectkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effectkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Gain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -167,7 +167,7 @@ impl ConditionForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -223,7 +223,7 @@ impl ConstantForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -234,7 +234,7 @@ impl ConstantForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -267,14 +267,14 @@ impl ForceFeedbackMotor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreEffectsPaused)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreEffectsPaused)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MasterGain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MasterGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MasterGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMasterGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -285,14 +285,14 @@ impl ForceFeedbackMotor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedAxes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedAxes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedAxes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LoadEffectAsync(&self, effect: P0) -> ::windows_core::Result> @@ -302,7 +302,7 @@ impl ForceFeedbackMotor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PauseAllEffects(&self) -> ::windows_core::Result<()> { @@ -321,21 +321,21 @@ impl ForceFeedbackMotor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryEnableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryResetAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUnloadEffectAsync(&self, effect: P0) -> ::windows_core::Result> @@ -345,7 +345,7 @@ impl ForceFeedbackMotor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUnloadEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUnloadEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -371,7 +371,7 @@ impl PeriodicForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -382,7 +382,7 @@ impl PeriodicForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -397,7 +397,7 @@ impl PeriodicForceEffect { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -413,7 +413,7 @@ impl PeriodicForceEffect { pub fn CreateInstance(effectkind: PeriodicForceEffectKind) -> ::windows_core::Result { Self::IPeriodicForceEffectFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effectkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effectkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -451,7 +451,7 @@ impl RampForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -462,7 +462,7 @@ impl RampForceEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Gaming/Input/Preview/mod.rs b/crates/libs/windows/src/Windows/Gaming/Input/Preview/mod.rs index 08b46162c1..97a553ce7d 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/Preview/mod.rs @@ -21,7 +21,7 @@ impl GameControllerProviderInfo { { Self::IGameControllerProviderInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentProviderId)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentProviderId)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Gaming_Input_Custom")] @@ -31,7 +31,7 @@ impl GameControllerProviderInfo { { Self::IGameControllerProviderInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProviderId)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProviderId)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Gaming/Input/mod.rs b/crates/libs/windows/src/Windows/Gaming/Input/mod.rs index 8b47d0d333..42f587effe 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/mod.rs @@ -67,7 +67,7 @@ impl IGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -81,7 +81,7 @@ impl IGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -96,7 +96,7 @@ impl IGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -107,14 +107,14 @@ impl IGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -122,7 +122,7 @@ impl IGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -157,7 +157,7 @@ impl IGameControllerBatteryInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -341,14 +341,14 @@ impl ArcadeStick { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ArcadeStickAdded(value: P0) -> ::windows_core::Result @@ -357,7 +357,7 @@ impl ArcadeStick { { Self::IArcadeStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArcadeStickAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArcadeStickAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveArcadeStickAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -369,7 +369,7 @@ impl ArcadeStick { { Self::IArcadeStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArcadeStickRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArcadeStickRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveArcadeStickRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -379,7 +379,7 @@ impl ArcadeStick { pub fn ArcadeSticks() -> ::windows_core::Result> { Self::IArcadeStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArcadeSticks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArcadeSticks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -388,7 +388,7 @@ impl ArcadeStick { { Self::IArcadeStickStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeadsetConnected(&self, value: P0) -> ::windows_core::Result @@ -398,7 +398,7 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -412,7 +412,7 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -427,7 +427,7 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -438,14 +438,14 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -453,7 +453,7 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -461,7 +461,7 @@ impl ArcadeStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -497,21 +497,21 @@ impl FlightStick { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HatSwitchKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HatSwitchKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetButtonLabel(&self, button: FlightStickButtons) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FlightStickAdded(value: P0) -> ::windows_core::Result @@ -520,7 +520,7 @@ impl FlightStick { { Self::IFlightStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlightStickAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlightStickAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveFlightStickAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -532,7 +532,7 @@ impl FlightStick { { Self::IFlightStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlightStickRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlightStickRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveFlightStickRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ impl FlightStick { pub fn FlightSticks() -> ::windows_core::Result> { Self::IFlightStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlightSticks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlightSticks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -551,7 +551,7 @@ impl FlightStick { { Self::IFlightStickStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeadsetConnected(&self, value: P0) -> ::windows_core::Result @@ -561,7 +561,7 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -575,7 +575,7 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -590,7 +590,7 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -601,14 +601,14 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -616,7 +616,7 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -624,7 +624,7 @@ impl FlightStick { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -658,7 +658,7 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -672,7 +672,7 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -687,7 +687,7 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -698,14 +698,14 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -713,7 +713,7 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -721,14 +721,14 @@ impl Gamepad { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Vibration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Vibration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Vibration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVibration(&self, value: GamepadVibration) -> ::windows_core::Result<()> { @@ -739,14 +739,14 @@ impl Gamepad { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetButtonLabel(&self, button: GamepadButtons) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn GamepadAdded(value: P0) -> ::windows_core::Result @@ -755,7 +755,7 @@ impl Gamepad { { Self::IGamepadStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GamepadAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GamepadAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveGamepadAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -767,7 +767,7 @@ impl Gamepad { { Self::IGamepadStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GamepadRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GamepadRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveGamepadRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -777,7 +777,7 @@ impl Gamepad { pub fn Gamepads() -> ::windows_core::Result> { Self::IGamepadStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gamepads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gamepads)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -786,7 +786,7 @@ impl Gamepad { { Self::IGamepadStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -823,21 +823,21 @@ impl Headset { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenderDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -866,7 +866,7 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -880,7 +880,7 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -895,7 +895,7 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -906,14 +906,14 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -921,7 +921,7 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -929,42 +929,42 @@ impl RacingWheel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasClutch(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasClutch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasClutch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasHandbrake(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasHandbrake)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasHandbrake)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasPatternShifter(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPatternShifter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPatternShifter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPatternShifterGear(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPatternShifterGear)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPatternShifterGear)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxWheelAngle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxWheelAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxWheelAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Gaming_Input_ForceFeedback")] @@ -972,21 +972,21 @@ impl RacingWheel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WheelMotor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WheelMotor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetButtonLabel(&self, button: RacingWheelButtons) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RacingWheelAdded(value: P0) -> ::windows_core::Result @@ -995,7 +995,7 @@ impl RacingWheel { { Self::IRacingWheelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RacingWheelAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RacingWheelAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRacingWheelAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1007,7 +1007,7 @@ impl RacingWheel { { Self::IRacingWheelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RacingWheelRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RacingWheelRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRacingWheelRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1017,7 +1017,7 @@ impl RacingWheel { pub fn RacingWheels() -> ::windows_core::Result> { Self::IRacingWheelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RacingWheels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RacingWheels)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -1026,7 +1026,7 @@ impl RacingWheel { { Self::IRacingWheelStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1065,7 +1065,7 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1079,7 +1079,7 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1094,7 +1094,7 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1105,14 +1105,14 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -1120,7 +1120,7 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -1128,21 +1128,21 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AxisCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AxisCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AxisCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ButtonCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Gaming_Input_ForceFeedback"))] @@ -1150,49 +1150,49 @@ impl RawGameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceFeedbackMotors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceFeedbackMotors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HardwareProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareVendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareVendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SwitchCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetButtonLabel(&self, buttonindex: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), buttonindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetButtonLabel)(::windows_core::Interface::as_raw(this), buttonindex, &mut result__).map(|| result__) } } pub fn GetCurrentReading(&self, buttonarray: &mut [bool], switcharray: &mut [GameControllerSwitchPosition], axisarray: &mut [f64]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), buttonarray.len().try_into().unwrap(), buttonarray.as_mut_ptr(), switcharray.len().try_into().unwrap(), switcharray.as_mut_ptr(), axisarray.len().try_into().unwrap(), axisarray.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), buttonarray.len().try_into().unwrap(), buttonarray.as_mut_ptr(), switcharray.len().try_into().unwrap(), switcharray.as_mut_ptr(), axisarray.len().try_into().unwrap(), axisarray.as_mut_ptr(), &mut result__).map(|| result__) } } pub fn GetSwitchKind(&self, switchindex: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSwitchKind)(::windows_core::Interface::as_raw(this), switchindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSwitchKind)(::windows_core::Interface::as_raw(this), switchindex, &mut result__).map(|| result__) } } #[cfg(all(feature = "Devices_Haptics", feature = "Foundation_Collections"))] @@ -1200,21 +1200,21 @@ impl RawGameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NonRoamableId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonRoamableId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonRoamableId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawGameControllerAdded(value: P0) -> ::windows_core::Result @@ -1223,7 +1223,7 @@ impl RawGameController { { Self::IRawGameControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawGameControllerAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawGameControllerAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRawGameControllerAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1235,7 +1235,7 @@ impl RawGameController { { Self::IRawGameControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawGameControllerRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawGameControllerRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRawGameControllerRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1245,7 +1245,7 @@ impl RawGameController { pub fn RawGameControllers() -> ::windows_core::Result> { Self::IRawGameControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawGameControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawGameControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -1254,7 +1254,7 @@ impl RawGameController { { Self::IRawGameControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1288,7 +1288,7 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetConnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetConnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1302,7 +1302,7 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeadsetDisconnected)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeadsetDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1317,7 +1317,7 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1328,14 +1328,14 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWireless(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWireless)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -1343,7 +1343,7 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -1351,28 +1351,28 @@ impl UINavigationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentReading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentReading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetOptionalButtonLabel(&self, button: OptionalUINavigationButtons) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOptionalButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOptionalButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn GetRequiredButtonLabel(&self, button: RequiredUINavigationButtons) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRequiredButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRequiredButtonLabel)(::windows_core::Interface::as_raw(this), button, &mut result__).map(|| result__) } } pub fn UINavigationControllerAdded(value: P0) -> ::windows_core::Result @@ -1381,7 +1381,7 @@ impl UINavigationController { { Self::IUINavigationControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UINavigationControllerAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UINavigationControllerAdded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveUINavigationControllerAdded(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1393,7 +1393,7 @@ impl UINavigationController { { Self::IUINavigationControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UINavigationControllerRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UINavigationControllerRemoved)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveUINavigationControllerRemoved(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1403,7 +1403,7 @@ impl UINavigationController { pub fn UINavigationControllers() -> ::windows_core::Result> { Self::IUINavigationControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UINavigationControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UINavigationControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromGameController(gamecontroller: P0) -> ::windows_core::Result @@ -1412,7 +1412,7 @@ impl UINavigationController { { Self::IUINavigationControllerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromGameController)(::windows_core::Interface::as_raw(this), gamecontroller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs b/crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs index b666adb22b..4613712202 100644 --- a/crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs @@ -6,21 +6,21 @@ impl IGameListEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -28,14 +28,14 @@ impl IGameListEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCategoryAsync(&self, value: GameListCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCategoryAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCategoryAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -163,14 +163,14 @@ impl GameList { pub fn FindAllAsync() -> ::windows_core::Result>> { Self::IGameListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsyncPackageFamilyName(packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IGameListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GameAdded(handler: P0) -> ::windows_core::Result @@ -179,7 +179,7 @@ impl GameList { { Self::IGameListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveGameAdded(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -191,7 +191,7 @@ impl GameList { { Self::IGameListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveGameRemoved(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -203,7 +203,7 @@ impl GameList { { Self::IGameListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveGameUpdated(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -216,7 +216,7 @@ impl GameList { { Self::IGameListStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MergeEntriesAsync)(::windows_core::Interface::as_raw(this), left.into_param().abi(), right.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MergeEntriesAsync)(::windows_core::Interface::as_raw(this), left.into_param().abi(), right.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -226,7 +226,7 @@ impl GameList { { Self::IGameListStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnmergeEntryAsync)(::windows_core::Interface::as_raw(this), mergedentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnmergeEntryAsync)(::windows_core::Interface::as_raw(this), mergedentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -254,21 +254,21 @@ impl GameListEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -276,21 +276,21 @@ impl GameListEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCategoryAsync(&self, value: GameListCategory) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCategoryAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCategoryAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchableState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchableState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchableState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -298,14 +298,14 @@ impl GameListEntry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LauncherExecutable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LauncherExecutable)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchParameters(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -316,7 +316,7 @@ impl GameListEntry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetLauncherExecutableFileAsync)(::windows_core::Interface::as_raw(this), executablefile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetLauncherExecutableFileAsync)(::windows_core::Interface::as_raw(this), executablefile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -327,28 +327,28 @@ impl GameListEntry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetLauncherExecutableFileWithParamsAsync)(::windows_core::Interface::as_raw(this), executablefile.into_param().abi(), ::core::mem::transmute_copy(launchparams), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetLauncherExecutableFileWithParamsAsync)(::windows_core::Interface::as_raw(this), executablefile.into_param().abi(), ::core::mem::transmute_copy(launchparams), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TitleId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitleIdAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetTitleIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetTitleIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GameModeConfiguration(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameModeConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameModeConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -373,7 +373,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -385,14 +385,14 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelatedProcessNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelatedProcessNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PercentGpuTimeAllocatedToGame(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentGpuTimeAllocatedToGame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentGpuTimeAllocatedToGame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPercentGpuTimeAllocatedToGame(&self, value: P0) -> ::windows_core::Result<()> @@ -406,7 +406,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentGpuMemoryAllocatedToGame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentGpuMemoryAllocatedToGame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPercentGpuMemoryAllocatedToGame(&self, value: P0) -> ::windows_core::Result<()> @@ -420,7 +420,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentGpuMemoryAllocatedToSystemCompositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentGpuMemoryAllocatedToSystemCompositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPercentGpuMemoryAllocatedToSystemCompositor(&self, value: P0) -> ::windows_core::Result<()> @@ -434,7 +434,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCpuCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCpuCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxCpuCount(&self, value: P0) -> ::windows_core::Result<()> @@ -448,7 +448,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CpuExclusivityMaskLow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CpuExclusivityMaskLow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCpuExclusivityMaskLow(&self, value: P0) -> ::windows_core::Result<()> @@ -462,7 +462,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CpuExclusivityMaskHigh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CpuExclusivityMaskHigh)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCpuExclusivityMaskHigh(&self, value: P0) -> ::windows_core::Result<()> @@ -476,7 +476,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AffinitizeToExclusiveCpus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AffinitizeToExclusiveCpus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAffinitizeToExclusiveCpus(&self, value: bool) -> ::windows_core::Result<()> { @@ -487,7 +487,7 @@ impl GameModeConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -513,20 +513,20 @@ impl GameModeUserConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GamingRelatedProcessNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GamingRelatedProcessNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IGameModeUserConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Gaming/UI/mod.rs b/crates/libs/windows/src/Windows/Gaming/UI/mod.rs index 4cf58dcf37..64a17b1c8c 100644 --- a/crates/libs/windows/src/Windows/Gaming/UI/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/UI/mod.rs @@ -68,7 +68,7 @@ impl GameBar { { Self::IGameBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveVisibilityChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -80,7 +80,7 @@ impl GameBar { { Self::IGameBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputRedirectedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputRedirectedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveIsInputRedirectedChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -89,13 +89,13 @@ impl GameBar { pub fn Visible() -> ::windows_core::Result { Self::IGameBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsInputRedirected() -> ::windows_core::Result { Self::IGameBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputRedirected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputRedirected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -116,35 +116,35 @@ impl GameChatMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SenderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SenderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SenderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Message(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Origin(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -169,7 +169,7 @@ impl GameChatOverlay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredPosition(&self, value: GameChatOverlayPosition) -> ::windows_core::Result<()> { @@ -183,7 +183,7 @@ impl GameChatOverlay { pub fn GetDefault() -> ::windows_core::Result { Self::IGameChatOverlayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -223,7 +223,7 @@ impl GameChatOverlayMessageSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -259,7 +259,7 @@ impl GameUIProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -267,7 +267,7 @@ impl GameUIProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -275,7 +275,7 @@ impl GameUIProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -283,7 +283,7 @@ impl GameUIProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameUIArgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameUIArgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] diff --git a/crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs b/crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs index 72f64b7827..0d684e006e 100644 --- a/crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs @@ -150,7 +150,7 @@ impl GameSaveBlobGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -158,7 +158,7 @@ impl GameSaveBlobGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -183,14 +183,14 @@ impl GameSaveBlobInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -215,7 +215,7 @@ impl GameSaveBlobInfoGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -223,7 +223,7 @@ impl GameSaveBlobInfoGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -248,21 +248,21 @@ impl GameSaveBlobInfoQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBlobInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBlobInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBlobInfoWithIndexAndMaxAsync(&self, startindex: u32, maxnumberofitems: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBlobInfoWithIndexAndMaxAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBlobInfoWithIndexAndMaxAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemCountAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -287,14 +287,14 @@ impl GameSaveContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -306,7 +306,7 @@ impl GameSaveContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubmitUpdatesAsync)(::windows_core::Interface::as_raw(this), blobstowrite.into_param().abi(), blobstodelete.into_param().abi(), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubmitUpdatesAsync)(::windows_core::Interface::as_raw(this), blobstowrite.into_param().abi(), blobstodelete.into_param().abi(), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -317,7 +317,7 @@ impl GameSaveContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), blobstoread.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), blobstoread.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -328,7 +328,7 @@ impl GameSaveContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), blobstoread.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), blobstoread.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -340,14 +340,14 @@ impl GameSaveContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubmitPropertySetUpdatesAsync)(::windows_core::Interface::as_raw(this), blobstowrite.into_param().abi(), blobstodelete.into_param().abi(), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubmitPropertySetUpdatesAsync)(::windows_core::Interface::as_raw(this), blobstowrite.into_param().abi(), blobstodelete.into_param().abi(), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBlobInfoQuery(&self, blobnameprefix: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBlobInfoQuery)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(blobnameprefix), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBlobInfoQuery)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(blobnameprefix), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -372,35 +372,35 @@ impl GameSaveContainerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TotalSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastModifiedTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastModifiedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastModifiedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NeedsSync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeedsSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeedsSync)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -425,7 +425,7 @@ impl GameSaveContainerInfoGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -433,7 +433,7 @@ impl GameSaveContainerInfoGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -458,21 +458,21 @@ impl GameSaveContainerInfoQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContainerInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContainerInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContainerInfoWithIndexAndMaxAsync(&self, startindex: u32, maxnumberofitems: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContainerInfoWithIndexAndMaxAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContainerInfoWithIndexAndMaxAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemCountAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -497,7 +497,7 @@ impl GameSaveOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -523,42 +523,42 @@ impl GameSaveProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainer(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteContainerAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteContainerAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteContainerAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainerInfoQuery(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainerInfoQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainerInfoQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainerInfoQueryWithName(&self, containernameprefix: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainerInfoQueryWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(containernameprefix), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainerInfoQueryWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(containernameprefix), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRemainingBytesInQuotaAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRemainingBytesInQuotaAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRemainingBytesInQuotaAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -566,7 +566,7 @@ impl GameSaveProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainersChangedSinceLastSync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainersChangedSinceLastSync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -576,7 +576,7 @@ impl GameSaveProvider { { Self::IGameSaveProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -586,7 +586,7 @@ impl GameSaveProvider { { Self::IGameSaveProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSyncOnDemandForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSyncOnDemandForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -616,14 +616,14 @@ impl GameSaveProviderGetResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Globalization/Collation/mod.rs b/crates/libs/windows/src/Windows/Globalization/Collation/mod.rs index 8e893d248d..9c4cd2a3b6 100644 --- a/crates/libs/windows/src/Windows/Globalization/Collation/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/Collation/mod.rs @@ -29,14 +29,14 @@ impl CharacterGrouping { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Label(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -70,13 +70,13 @@ impl CharacterGroupings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(language: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICharacterGroupingsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(language), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -84,7 +84,7 @@ impl CharacterGroupings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -92,7 +92,7 @@ impl CharacterGroupings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -100,7 +100,7 @@ impl CharacterGroupings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -111,7 +111,7 @@ impl CharacterGroupings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -119,7 +119,7 @@ impl CharacterGroupings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs b/crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs index 695722026f..d69845726b 100644 --- a/crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs @@ -80,35 +80,35 @@ impl DateTimeFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Calendar(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Calendar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Calendar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clock(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clock)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -120,97 +120,97 @@ impl DateTimeFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Patterns)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Patterns)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Template(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Format(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IncludeYear(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeYear)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeYear)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeMonth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeMonth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeDayOfWeek(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeDayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeDayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeDay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeHour(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeHour)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeMinute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeMinute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeMinute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IncludeSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUsingTimeZone(&self, datetime: super::super::Foundation::DateTime, timezoneid: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUsingTimeZone)(::windows_core::Interface::as_raw(this), datetime, ::core::mem::transmute_copy(timezoneid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUsingTimeZone)(::windows_core::Interface::as_raw(this), datetime, ::core::mem::transmute_copy(timezoneid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDateTimeFormatter(formattemplate: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -220,7 +220,7 @@ impl DateTimeFormatter { { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterLanguages)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), languages.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterLanguages)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), languages.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -230,19 +230,19 @@ impl DateTimeFormatter { { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(formattemplate), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTimeFormatterDate(yearformat: YearFormat, monthformat: MonthFormat, dayformat: DayFormat, dayofweekformat: DayOfWeekFormat) -> ::windows_core::Result { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDate)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDate)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateDateTimeFormatterTime(hourformat: HourFormat, minuteformat: MinuteFormat, secondformat: SecondFormat) -> ::windows_core::Result { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterTime)(::windows_core::Interface::as_raw(this), hourformat, minuteformat, secondformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterTime)(::windows_core::Interface::as_raw(this), hourformat, minuteformat, secondformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -252,7 +252,7 @@ impl DateTimeFormatter { { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDateTimeLanguages)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, hourformat, minuteformat, secondformat, languages.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDateTimeLanguages)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, hourformat, minuteformat, secondformat, languages.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -262,31 +262,31 @@ impl DateTimeFormatter { { Self::IDateTimeFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDateTimeContext)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, hourformat, minuteformat, secondformat, languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDateTimeFormatterDateTimeContext)(::windows_core::Interface::as_raw(this), yearformat, monthformat, dayformat, dayofweekformat, hourformat, minuteformat, secondformat, languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LongDate() -> ::windows_core::Result { Self::IDateTimeFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LongTime() -> ::windows_core::Result { Self::IDateTimeFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShortDate() -> ::windows_core::Result { Self::IDateTimeFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShortDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShortDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShortTime() -> ::windows_core::Result { Self::IDateTimeFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShortTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShortTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs b/crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs index ad16ff1282..e9c7d17cbf 100644 --- a/crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs @@ -51,7 +51,7 @@ impl LanguageFont { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontFamily)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontFamily)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Text")] @@ -59,7 +59,7 @@ impl LanguageFont { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontWeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontWeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Text")] @@ -67,7 +67,7 @@ impl LanguageFont { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStretch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStretch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Text")] @@ -75,14 +75,14 @@ impl LanguageFont { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScaleFactor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -107,83 +107,83 @@ impl LanguageFontGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UITextFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UITextFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UIHeadingFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UITitleFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UITitleFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UITitleFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UICaptionFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UICaptionFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UICaptionFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UINotificationHeadingFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UINotificationHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UINotificationHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TraditionalDocumentFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TraditionalDocumentFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TraditionalDocumentFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ModernDocumentFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModernDocumentFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModernDocumentFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentHeadingFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentHeadingFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FixedWidthTextFont(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FixedWidthTextFont)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FixedWidthTextFont)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentAlternate1Font(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentAlternate1Font)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentAlternate1Font)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentAlternate2Font(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentAlternate2Font)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentAlternate2Font)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLanguageFontGroup(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILanguageFontGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLanguageFontGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLanguageFontGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs b/crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs index aa11111575..9f5c6d9865 100644 --- a/crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs @@ -56,21 +56,21 @@ impl INumberFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -92,21 +92,21 @@ impl INumberFormatter2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -129,21 +129,21 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IntegerDigits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntegerDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -154,7 +154,7 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFractionDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -165,7 +165,7 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGrouped(&self, value: bool) -> ::windows_core::Result<()> { @@ -176,7 +176,7 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecimalPointAlwaysDisplayed(&self, value: bool) -> ::windows_core::Result<()> { @@ -187,7 +187,7 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -198,14 +198,14 @@ impl INumberFormatterOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -241,21 +241,21 @@ impl INumberParser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseUInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseDouble(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,42 +277,42 @@ impl INumberRounder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt32(&self, value: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundInt64(&self, value: i64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt64(&self, value: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundSingle(&self, value: f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundDouble(&self, value: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -337,7 +337,7 @@ impl INumberRounderOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumberRounder(&self, value: P0) -> ::windows_core::Result<()> @@ -409,7 +409,7 @@ impl ISignedZeroOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsZeroSigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -444,7 +444,7 @@ impl ISignificantDigitsOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -472,7 +472,7 @@ impl CurrencyFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -484,7 +484,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: CurrencyFormatterMode) -> ::windows_core::Result<()> { @@ -498,7 +498,7 @@ impl CurrencyFormatter { pub fn CreateCurrencyFormatterCode(currencycode: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICurrencyFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCurrencyFormatterCode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currencycode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCurrencyFormatterCode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currencycode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -508,49 +508,49 @@ impl CurrencyFormatter { { Self::ICurrencyFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCurrencyFormatterCodeContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currencycode), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCurrencyFormatterCodeContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currencycode), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FormatInt(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatInt2(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt2(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble2(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -558,21 +558,21 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IntegerDigits(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntegerDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -583,7 +583,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFractionDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -594,7 +594,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGrouped(&self, value: bool) -> ::windows_core::Result<()> { @@ -605,7 +605,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecimalPointAlwaysDisplayed(&self, value: bool) -> ::windows_core::Result<()> { @@ -616,7 +616,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -627,42 +627,42 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseUInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseDouble(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumberRounder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumberRounder(&self, value: P0) -> ::windows_core::Result<()> @@ -676,7 +676,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsZeroSigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -687,7 +687,7 @@ impl CurrencyFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -732,49 +732,49 @@ impl DecimalFormatter { { Self::IDecimalFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDecimalFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDecimalFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FormatInt(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatInt2(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt2(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble2(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -782,21 +782,21 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IntegerDigits(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntegerDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -807,7 +807,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFractionDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -818,7 +818,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGrouped(&self, value: bool) -> ::windows_core::Result<()> { @@ -829,7 +829,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecimalPointAlwaysDisplayed(&self, value: bool) -> ::windows_core::Result<()> { @@ -840,7 +840,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -851,42 +851,42 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseUInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseDouble(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumberRounder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumberRounder(&self, value: P0) -> ::windows_core::Result<()> @@ -900,7 +900,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsZeroSigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -911,7 +911,7 @@ impl DecimalFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -953,7 +953,7 @@ impl IncrementNumberRounder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoundingAlgorithm(&self, value: RoundingAlgorithm) -> ::windows_core::Result<()> { @@ -964,7 +964,7 @@ impl IncrementNumberRounder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Increment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Increment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncrement(&self, value: f64) -> ::windows_core::Result<()> { @@ -975,42 +975,42 @@ impl IncrementNumberRounder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt32(&self, value: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundInt64(&self, value: i64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt64(&self, value: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundSingle(&self, value: f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundDouble(&self, value: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -1043,21 +1043,21 @@ impl NumeralSystemTranslator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1068,7 +1068,7 @@ impl NumeralSystemTranslator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TranslateNumerals)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TranslateNumerals)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1078,7 +1078,7 @@ impl NumeralSystemTranslator { { Self::INumeralSystemTranslatorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1116,42 +1116,42 @@ impl PercentFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatInt2(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt2(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble2(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1159,21 +1159,21 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IntegerDigits(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntegerDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1184,7 +1184,7 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFractionDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1195,7 +1195,7 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGrouped(&self, value: bool) -> ::windows_core::Result<()> { @@ -1206,7 +1206,7 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecimalPointAlwaysDisplayed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1217,7 +1217,7 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1228,42 +1228,42 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseUInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseDouble(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumberRounder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumberRounder(&self, value: P0) -> ::windows_core::Result<()> @@ -1280,14 +1280,14 @@ impl PercentFormatter { { Self::IPercentFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePercentFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePercentFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsZeroSigned(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsZeroSigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -1298,7 +1298,7 @@ impl PercentFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1340,42 +1340,42 @@ impl PermilleFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatInt2(&self, value: i64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatUInt2(&self, value: u64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUInt)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatDouble2(&self, value: f64) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1383,21 +1383,21 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IntegerDigits(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntegerDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntegerDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1408,7 +1408,7 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FractionDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFractionDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1419,7 +1419,7 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrouped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGrouped(&self, value: bool) -> ::windows_core::Result<()> { @@ -1430,7 +1430,7 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDecimalPointAlwaysDisplayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDecimalPointAlwaysDisplayed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1441,7 +1441,7 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1452,42 +1452,42 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResolvedGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseUInt(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseUInt)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParseDouble(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseDouble)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumberRounder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberRounder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumberRounder(&self, value: P0) -> ::windows_core::Result<()> @@ -1504,14 +1504,14 @@ impl PermilleFormatter { { Self::IPermilleFormatterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePermilleFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePermilleFormatter)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(geographicregion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsZeroSigned(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsZeroSigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsZeroSigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -1522,7 +1522,7 @@ impl PermilleFormatter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: i32) -> ::windows_core::Result<()> { @@ -1564,49 +1564,49 @@ impl SignificantDigitsNumberRounder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt32(&self, value: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt32)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundInt64(&self, value: i64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundUInt64(&self, value: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundUInt64)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundSingle(&self, value: f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundSingle)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundDouble(&self, value: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundDouble)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn RoundingAlgorithm(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoundingAlgorithm(&self, value: RoundingAlgorithm) -> ::windows_core::Result<()> { @@ -1617,7 +1617,7 @@ impl SignificantDigitsNumberRounder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantDigits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignificantDigits(&self, value: u32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs b/crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs index 9e7b1cc690..90874cb2ea 100644 --- a/crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs @@ -67,7 +67,7 @@ impl PhoneNumberFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), number.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), number.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatWithOutputFormat(&self, number: P0, numberformat: PhoneNumberFormat) -> ::windows_core::Result<::windows_core::HSTRING> @@ -77,28 +77,28 @@ impl PhoneNumberFormatter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatWithOutputFormat)(::windows_core::Interface::as_raw(this), number.into_param().abi(), numberformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatWithOutputFormat)(::windows_core::Interface::as_raw(this), number.into_param().abi(), numberformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatPartialString(&self, number: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatPartialString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatPartialString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatString(&self, number: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatStringWithLeftToRightMarkers(&self, number: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatStringWithLeftToRightMarkers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatStringWithLeftToRightMarkers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryCreate(regioncode: &::windows_core::HSTRING, phonenumber: &mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -107,19 +107,19 @@ impl PhoneNumberFormatter { pub fn GetCountryCodeForRegion(regioncode: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPhoneNumberFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCountryCodeForRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(regioncode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCountryCodeForRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(regioncode), &mut result__).map(|| result__) }) } pub fn GetNationalDirectDialingPrefixForRegion(regioncode: &::windows_core::HSTRING, stripnondigit: bool) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPhoneNumberFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNationalDirectDialingPrefixForRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(regioncode), stripnondigit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNationalDirectDialingPrefixForRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(regioncode), stripnondigit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WrapWithLeftToRightMarkers(number: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPhoneNumberFormatterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WrapWithLeftToRightMarkers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WrapWithLeftToRightMarkers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -150,49 +150,49 @@ impl PhoneNumberInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CountryCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CountryCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetLengthOfGeographicalAreaCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLengthOfGeographicalAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLengthOfGeographicalAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetNationalSignificantNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNationalSignificantNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNationalSignificantNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetLengthOfNationalDestinationCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLengthOfNationalDestinationCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLengthOfNationalDestinationCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PredictNumberKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PredictNumberKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PredictNumberKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetGeographicRegionCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeographicRegionCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeographicRegionCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckNumberMatch(&self, othernumber: P0) -> ::windows_core::Result @@ -202,32 +202,32 @@ impl PhoneNumberInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckNumberMatch)(::windows_core::Interface::as_raw(this), othernumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckNumberMatch)(::windows_core::Interface::as_raw(this), othernumber.into_param().abi(), &mut result__).map(|| result__) } } pub fn Create(number: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPhoneNumberInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(number), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, phonenumber: &mut ::core::option::Option) -> ::windows_core::Result { Self::IPhoneNumberInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), phonenumber as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), phonenumber as *mut _ as _, &mut result__).map(|| result__) }) } pub fn TryParseWithRegion(input: &::windows_core::HSTRING, regioncode: &::windows_core::HSTRING, phonenumber: &mut ::core::option::Option) -> ::windows_core::Result { Self::IPhoneNumberInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseWithRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), ::core::mem::transmute_copy(regioncode), phonenumber as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseWithRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), ::core::mem::transmute_copy(regioncode), phonenumber as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Globalization/mod.rs b/crates/libs/windows/src/Windows/Globalization/mod.rs index dc95710215..dfc786cadc 100644 --- a/crates/libs/windows/src/Windows/Globalization/mod.rs +++ b/crates/libs/windows/src/Windows/Globalization/mod.rs @@ -595,7 +595,7 @@ impl ApplicationLanguages { pub fn PrimaryLanguageOverride() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IApplicationLanguagesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryLanguageOverride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryLanguageOverride)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetPrimaryLanguageOverride(value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -605,14 +605,14 @@ impl ApplicationLanguages { pub fn Languages() -> ::windows_core::Result> { Self::IApplicationLanguagesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn ManifestLanguages() -> ::windows_core::Result> { Self::IApplicationLanguagesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManifestLanguages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManifestLanguages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "System"))] @@ -622,7 +622,7 @@ impl ApplicationLanguages { { Self::IApplicationLanguagesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLanguagesForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLanguagesForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -655,7 +655,7 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetToMin(&self) -> ::windows_core::Result<()> { @@ -671,14 +671,14 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumeralSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -689,7 +689,7 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCalendarSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCalendarSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeCalendarSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -700,7 +700,7 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClock)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeClock(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -711,7 +711,7 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDateTime(&self, value: super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -726,28 +726,28 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstEra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstEra)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastEra(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastEra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastEra)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfEras(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfEras)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfEras)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Era(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Era)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Era)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEra(&self, value: i32) -> ::windows_core::Result<()> { @@ -762,42 +762,42 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EraAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EraAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EraAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EraAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EraAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstYearInThisEra(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstYearInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstYearInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastYearInThisEra(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastYearInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastYearInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfYearsInThisEra(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfYearsInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfYearsInThisEra)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Year(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYear(&self, value: i32) -> ::windows_core::Result<()> { @@ -812,49 +812,49 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YearAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YearAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsTruncatedString(&self, remainingdigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YearAsTruncatedString)(::windows_core::Interface::as_raw(this), remainingdigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YearAsTruncatedString)(::windows_core::Interface::as_raw(this), remainingdigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YearAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YearAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstMonthInThisYear(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstMonthInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstMonthInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastMonthInThisYear(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastMonthInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastMonthInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfMonthsInThisYear(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfMonthsInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfMonthsInThisYear)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Month(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Month)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMonth(&self, value: i32) -> ::windows_core::Result<()> { @@ -869,42 +869,42 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsFullSoloString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsFullSoloString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsSoloString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsSoloString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsSoloString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsNumericString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsNumericString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsNumericString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsPaddedNumericString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonthAsPaddedNumericString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonthAsPaddedNumericString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddWeeks(&self, weeks: i32) -> ::windows_core::Result<()> { @@ -915,28 +915,28 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstDayInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstDayInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastDayInThisMonth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastDayInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastDayInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfDaysInThisMonth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfDaysInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfDaysInThisMonth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Day(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDay(&self, value: i32) -> ::windows_core::Result<()> { @@ -951,77 +951,77 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeek(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DayOfWeekAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeekAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeekAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeekAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeekAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeekAsFullSoloString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeekAsFullSoloString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsSoloString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DayOfWeekAsSoloString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DayOfWeekAsSoloString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstPeriodInThisDay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstPeriodInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstPeriodInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastPeriodInThisDay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastPeriodInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastPeriodInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfPeriodsInThisDay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfPeriodsInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfPeriodsInThisDay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Period(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPeriod(&self, value: i32) -> ::windows_core::Result<()> { @@ -1036,42 +1036,42 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeriodAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeriodAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PeriodAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeriodAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeriodAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstHourInThisPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstHourInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstHourInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastHourInThisPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastHourInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastHourInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfHoursInThisPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfHoursInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfHoursInThisPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Hour(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hour)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHour(&self, value: i32) -> ::windows_core::Result<()> { @@ -1086,21 +1086,21 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HourAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HourAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HourAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HourAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HourAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Minute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Minute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Minute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinute(&self, value: i32) -> ::windows_core::Result<()> { @@ -1115,21 +1115,21 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinuteAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinuteAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinuteAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinuteAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinuteAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Second(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Second)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Second)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -1144,21 +1144,21 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecondAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecondAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SecondAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecondAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecondAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Nanosecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nanosecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nanosecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNanosecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -1173,14 +1173,14 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NanosecondAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NanosecondAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NanosecondAsPaddedString(&self, mindigits: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NanosecondAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NanosecondAsPaddedString)(::windows_core::Interface::as_raw(this), mindigits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compare(&self, other: P0) -> ::windows_core::Result @@ -1190,14 +1190,14 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), other.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), other.into_param().abi(), &mut result__).map(|| result__) } } pub fn CompareDateTime(&self, other: super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompareDateTime)(::windows_core::Interface::as_raw(this), other, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompareDateTime)(::windows_core::Interface::as_raw(this), other, &mut result__).map(|| result__) } } pub fn CopyTo(&self, other: P0) -> ::windows_core::Result<()> @@ -1211,56 +1211,56 @@ impl Calendar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstMinuteInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstMinuteInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastMinuteInThisHour(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastMinuteInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastMinuteInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfMinutesInThisHour(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfMinutesInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfMinutesInThisHour)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FirstSecondInThisMinute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstSecondInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstSecondInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSecondInThisMinute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSecondInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSecondInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NumberOfSecondsInThisMinute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfSecondsInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfSecondsInThisMinute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolvedLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDaylightSavingTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDaylightSavingTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDaylightSavingTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1270,7 +1270,7 @@ impl Calendar { { Self::ICalendarFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCalendarDefaultCalendarAndClock)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCalendarDefaultCalendarAndClock)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1280,7 +1280,7 @@ impl Calendar { { Self::ICalendarFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCalendar)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCalendar)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1290,14 +1290,14 @@ impl Calendar { { Self::ICalendarFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCalendarWithTimeZone)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), ::core::mem::transmute_copy(timezoneid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCalendarWithTimeZone)(::windows_core::Interface::as_raw(this), languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), ::core::mem::transmute_copy(timezoneid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTimeZone(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimeZone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimeZone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTimeZone(&self, timezoneid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1308,14 +1308,14 @@ impl Calendar { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeZoneAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeZoneAsFullString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeZoneAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeZoneAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeZoneAsString)(::windows_core::Interface::as_raw(this), ideallength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1346,91 +1346,91 @@ impl CalendarIdentifiers { pub fn Gregorian() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gregorian)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gregorian)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Hebrew() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hebrew)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hebrew)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Hijri() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hijri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hijri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Japanese() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Japanese)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Japanese)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Julian() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Julian)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Julian)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Korean() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Korean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Korean)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Taiwan() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Taiwan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Taiwan)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Thai() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thai)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thai)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UmAlQura() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UmAlQura)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UmAlQura)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Persian() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Persian)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Persian)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ChineseLunar() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChineseLunar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChineseLunar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JapaneseLunar() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JapaneseLunar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JapaneseLunar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KoreanLunar() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KoreanLunar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KoreanLunar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TaiwanLunar() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaiwanLunar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaiwanLunar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VietnameseLunar() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICalendarIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VietnameseLunar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VietnameseLunar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1457,13 +1457,13 @@ impl ClockIdentifiers { pub fn TwelveHour() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IClockIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TwelveHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TwelveHour)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TwentyFourHour() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IClockIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TwentyFourHour)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TwentyFourHour)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1484,20 +1484,20 @@ impl CurrencyAmount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Amount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Currency(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Currency)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(amount: &::windows_core::HSTRING, currency: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICurrencyAmountFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(amount), ::core::mem::transmute_copy(currency), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(amount), ::core::mem::transmute_copy(currency), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1523,973 +1523,973 @@ impl CurrencyIdentifiers { pub fn AED() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AED)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AED)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AFN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AFN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AFN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ALL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ALL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ALL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AMD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AMD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AMD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ANG() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ANG)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ANG)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AOA() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AOA)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AOA)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ARS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ARS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ARS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AUD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AUD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AUD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AWG() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AWG)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AWG)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AZN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AZN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AZN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BAM() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BAM)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BAM)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BBD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BBD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BBD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BDT() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BDT)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BDT)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BGN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BGN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BGN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BHD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BHD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BHD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BIF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BIF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BIF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BMD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BMD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BMD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BND() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BND)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BND)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BOB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BOB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BOB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BRL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BRL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BRL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BSD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BSD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BSD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BTN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BTN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BTN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BWP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BWP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BWP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BYR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BYR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BYR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BZD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BZD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BZD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CAD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CAD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CAD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CDF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CDF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CDF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CHF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CHF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CHF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CLP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CLP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CLP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CNY() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CNY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CNY)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn COP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).COP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).COP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CRC() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CRC)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CRC)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CUP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CUP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CUP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CVE() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CVE)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CVE)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CZK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CZK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CZK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DJF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DJF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DJF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DKK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DKK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DKK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DOP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DOP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DOP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DZD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DZD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DZD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EGP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EGP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EGP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ERN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ERN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ERN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ETB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ETB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ETB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EUR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EUR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EUR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FJD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FJD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FJD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FKP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FKP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FKP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GBP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GBP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GBP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GEL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GEL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GEL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GHS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GHS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GHS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GIP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GIP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GIP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GMD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GMD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GMD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GNF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GNF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GNF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GTQ() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GTQ)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GTQ)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GYD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GYD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GYD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HKD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HKD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HKD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HNL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HNL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HNL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HRK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HRK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HRK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HTG() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HTG)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HTG)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HUF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HUF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HUF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IDR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IDR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IDR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ILS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ILS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ILS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn INR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).INR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).INR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IQD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IQD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IQD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IRR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IRR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IRR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ISK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ISK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ISK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JMD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JMD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JMD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JOD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JOD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JOD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JPY() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JPY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JPY)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KES() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KES)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KES)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KGS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KGS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KGS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KHR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KHR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KHR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KMF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KMF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KMF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KPW() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KPW)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KPW)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KRW() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KRW)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KRW)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KWD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KWD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KWD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KYD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KYD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KYD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn KZT() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KZT)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KZT)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LAK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LAK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LAK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LBP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LBP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LBP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LKR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LKR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LKR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LRD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LRD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LRD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LSL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LSL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LSL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LTL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LTL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LTL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LVL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LVL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LVL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LYD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LYD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LYD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MAD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MAD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MAD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MDL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MDL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MDL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MGA() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MGA)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MGA)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MKD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MKD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MKD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MMK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MMK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MMK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MNT() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MNT)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MNT)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MOP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MOP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MOP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MRO() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MRO)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MRO)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MUR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MUR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MUR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MVR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MVR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MVR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MWK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MWK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MWK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MXN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MXN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MXN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MYR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MYR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MYR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MZN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MZN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MZN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NAD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NAD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NAD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NGN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NGN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NGN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NIO() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NIO)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NIO)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NOK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NOK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NOK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NPR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NPR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NPR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NZD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NZD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NZD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OMR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OMR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OMR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PAB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PAB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PAB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PEN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PEN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PEN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PGK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PGK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PGK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PHP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PHP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PHP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PKR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PKR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PKR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PLN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PLN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PLN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PYG() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PYG)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PYG)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn QAR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QAR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QAR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RON() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RON)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RON)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RSD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RSD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RSD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RUB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RUB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RUB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RWF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RWF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RWF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SAR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SAR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SAR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SBD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SBD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SBD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SCR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SCR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SCR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SDG() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SDG)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SDG)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SEK() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SEK)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SEK)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SGD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SGD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SGD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SHP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SHP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SHP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SLL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SLL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SLL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SOS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SOS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SOS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SRD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SRD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SRD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn STD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).STD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).STD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SYP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SYP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SYP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SZL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SZL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SZL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn THB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).THB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).THB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TJS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TJS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TJS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TMT() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TMT)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TMT)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TND() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TND)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TND)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TOP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TOP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TOP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TRY() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TRY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TRY)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TTD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TTD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TTD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TWD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TWD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TWD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TZS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TZS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TZS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UAH() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UAH)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UAH)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UGX() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UGX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UGX)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn USD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).USD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).USD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UYU() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UYU)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UYU)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UZS() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UZS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UZS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VEF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VEF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VEF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VND() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VND)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VND)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VUV() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VUV)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VUV)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WST() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WST)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WST)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn XAF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XAF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XAF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn XCD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XCD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XCD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn XOF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XOF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XOF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn XPF() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XPF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XPF)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn XXX() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XXX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XXX)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn YER() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YER)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YER)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZAR() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZAR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZAR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZMW() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZMW)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZMW)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZWL() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZWL)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZWL)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BYN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BYN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BYN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MRU() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MRU)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MRU)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SSP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SSP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SSP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn STN() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).STN)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).STN)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VES() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICurrencyIdentifiersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VES)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VES)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2527,42 +2527,42 @@ impl GeographicRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CodeTwoLetter(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodeTwoLetter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodeTwoLetter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CodeThreeLetter(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodeThreeLetter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodeThreeLetter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CodeThreeDigit(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodeThreeDigit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodeThreeDigit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NativeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2570,19 +2570,19 @@ impl GeographicRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrenciesInUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrenciesInUse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateGeographicRegion(geographicregioncode: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IGeographicRegionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGeographicRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(geographicregioncode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGeographicRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(geographicregioncode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported(geographicregioncode: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IGeographicRegionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(geographicregioncode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(geographicregioncode), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2617,21 +2617,21 @@ impl JapanesePhoneme { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YomiText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPhraseStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPhraseStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPhraseStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2651,14 +2651,14 @@ impl JapanesePhoneticAnalyzer { pub fn GetWords(input: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IJapanesePhoneticAnalyzerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWords)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWords)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetWordsWithMonoRubyOption(input: &::windows_core::HSTRING, monoruby: bool) -> ::windows_core::Result> { Self::IJapanesePhoneticAnalyzerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWordsWithMonoRubyOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), monoruby, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWordsWithMonoRubyOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), monoruby, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2679,42 +2679,42 @@ impl Language { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NativeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Script(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Script)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Script)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LayoutDirection(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LayoutDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LayoutDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AbbreviatedName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbbreviatedName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbbreviatedName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2722,31 +2722,31 @@ impl Language { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetExtensionSubtags)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(singleton), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetExtensionSubtags)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(singleton), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLanguage(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILanguageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsWellFormed(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILanguageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWellFormed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWellFormed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).map(|| result__) }) } pub fn CurrentInputMethodLanguageTag() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILanguageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentInputMethodLanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentInputMethodLanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TrySetInputMethodLanguageTag(languagetag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ILanguageStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetInputMethodLanguageTag)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetInputMethodLanguageTag)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagetag), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] @@ -2756,7 +2756,7 @@ impl Language { { Self::ILanguageStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMuiCompatibleLanguageListFromLanguageTags)(::windows_core::Interface::as_raw(this), languagetags.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMuiCompatibleLanguageListFromLanguageTags)(::windows_core::Interface::as_raw(this), languagetags.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2797,289 +2797,289 @@ impl NumeralSystemIdentifiers { pub fn Arab() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arab)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ArabExt() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArabExt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArabExt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Bali() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bali)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bali)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Beng() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Beng)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Beng)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Cham() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cham)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cham)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Deva() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deva)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deva)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FullWide() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullWide)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullWide)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Gujr() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gujr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gujr)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Guru() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Guru)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Guru)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HaniDec() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HaniDec)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HaniDec)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Java() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Java)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Java)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Kali() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kali)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kali)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Khmr() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Khmr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Khmr)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Knda() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Knda)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Knda)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Lana() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lana)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lana)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LanaTham() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanaTham)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanaTham)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Laoo() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Laoo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Laoo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Latn() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Latn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Latn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Lepc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lepc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lepc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Limb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Limb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Limb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mlym() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mlym)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mlym)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mong() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mong)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mong)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mtei() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mtei)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mtei)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mymr() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mymr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mymr)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MymrShan() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MymrShan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MymrShan)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Nkoo() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nkoo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nkoo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Olck() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Olck)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Olck)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Orya() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orya)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orya)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Saur() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Saur)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Saur)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sund() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sund)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sund)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Talu() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Talu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Talu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TamlDec() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TamlDec)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TamlDec)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Telu() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Telu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Telu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Thai() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thai)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thai)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Tibt() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tibt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tibt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Vaii() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Vaii)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Vaii)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Brah() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brah)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brah)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Osma() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Osma)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Osma)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MathBold() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MathBold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MathBold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MathDbl() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MathDbl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MathDbl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MathSans() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MathSans)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MathSans)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MathSanb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MathSanb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MathSanb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MathMono() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MathMono)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MathMono)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZmthBold() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZmthBold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZmthBold)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZmthDbl() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZmthDbl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZmthDbl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZmthSans() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZmthSans)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZmthSans)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZmthSanb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZmthSanb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZmthSanb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ZmthMono() -> ::windows_core::Result<::windows_core::HSTRING> { Self::INumeralSystemIdentifiersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZmthMono)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZmthMono)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/Capture/mod.rs b/crates/libs/windows/src/Windows/Graphics/Capture/mod.rs index 449c9507cd..d8b8504e9d 100644 --- a/crates/libs/windows/src/Windows/Graphics/Capture/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Capture/mod.rs @@ -141,21 +141,21 @@ impl Direct3D11CaptureFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemRelativeTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContentSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -193,7 +193,7 @@ impl Direct3D11CaptureFramePool { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetNextFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetNextFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameArrived(&self, handler: P0) -> ::windows_core::Result @@ -203,7 +203,7 @@ impl Direct3D11CaptureFramePool { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -217,7 +217,7 @@ impl Direct3D11CaptureFramePool { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCaptureSession)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCaptureSession)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -225,7 +225,7 @@ impl Direct3D11CaptureFramePool { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -235,7 +235,7 @@ impl Direct3D11CaptureFramePool { { Self::IDirect3D11CaptureFramePoolStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), device.into_param().abi(), pixelformat, numberofbuffers, size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), device.into_param().abi(), pixelformat, numberofbuffers, size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -245,7 +245,7 @@ impl Direct3D11CaptureFramePool { { Self::IDirect3D11CaptureFramePoolStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFreeThreaded)(::windows_core::Interface::as_raw(this), device.into_param().abi(), pixelformat, numberofbuffers, size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFreeThreaded)(::windows_core::Interface::as_raw(this), device.into_param().abi(), pixelformat, numberofbuffers, size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -277,7 +277,7 @@ impl GraphicsCaptureAccess { pub fn RequestAccessAsync(request: GraphicsCaptureAccessKind) -> ::windows_core::Result> { Self::IGraphicsCaptureAccessStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), request, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), request, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -298,14 +298,14 @@ impl GraphicsCaptureItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Closed(&self, handler: P0) -> ::windows_core::Result @@ -315,7 +315,7 @@ impl GraphicsCaptureItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -329,20 +329,20 @@ impl GraphicsCaptureItem { { Self::IGraphicsCaptureItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromVisual)(::windows_core::Interface::as_raw(this), visual.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromVisual)(::windows_core::Interface::as_raw(this), visual.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI")] pub fn TryCreateFromWindowId(windowid: super::super::UI::WindowId) -> ::windows_core::Result { Self::IGraphicsCaptureItemStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromWindowId)(::windows_core::Interface::as_raw(this), windowid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromWindowId)(::windows_core::Interface::as_raw(this), windowid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateFromDisplayId(displayid: super::DisplayId) -> ::windows_core::Result { Self::IGraphicsCaptureItemStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromDisplayId)(::windows_core::Interface::as_raw(this), displayid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromDisplayId)(::windows_core::Interface::as_raw(this), displayid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -384,7 +384,7 @@ impl GraphicsCapturePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleItemAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleItemAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -418,7 +418,7 @@ impl GraphicsCaptureSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCursorCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCursorCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCursorCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -429,7 +429,7 @@ impl GraphicsCaptureSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBorderRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBorderRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsBorderRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -439,7 +439,7 @@ impl GraphicsCaptureSession { pub fn IsSupported() -> ::windows_core::Result { Self::IGraphicsCaptureSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/DirectX/Direct3D11/mod.rs b/crates/libs/windows/src/Windows/Graphics/DirectX/Direct3D11/mod.rs index 115b3287fe..9d610f81c1 100644 --- a/crates/libs/windows/src/Windows/Graphics/DirectX/Direct3D11/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/DirectX/Direct3D11/mod.rs @@ -28,7 +28,7 @@ impl IDirect3DSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs b/crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs index 234f6b84c9..f7b9efd85d 100644 --- a/crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs @@ -56,21 +56,21 @@ impl HdmiDisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedDisplayModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedDisplayModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentDisplayMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultDisplayModeAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDefaultDisplayModeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDefaultDisplayModeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestSetCurrentDisplayModeAsync(&self, mode: P0) -> ::windows_core::Result> @@ -80,7 +80,7 @@ impl HdmiDisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestSetCurrentDisplayModeWithHdrAsync(&self, mode: P0, hdroption: HdmiDisplayHdrOption) -> ::windows_core::Result> @@ -90,7 +90,7 @@ impl HdmiDisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeWithHdrAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), hdroption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeWithHdrAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), hdroption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestSetCurrentDisplayModeWithHdrAndMetadataAsync(&self, mode: P0, hdroption: HdmiDisplayHdrOption, hdrmetadata: HdmiDisplayHdr2086Metadata) -> ::windows_core::Result> @@ -100,7 +100,7 @@ impl HdmiDisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeWithHdrAndMetadataAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), hdroption, hdrmetadata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetCurrentDisplayModeWithHdrAndMetadataAsync)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), hdroption, hdrmetadata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayModesChanged(&self, value: P0) -> ::windows_core::Result @@ -110,7 +110,7 @@ impl HdmiDisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayModesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayModesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisplayModesChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -120,7 +120,7 @@ impl HdmiDisplayInformation { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IHdmiDisplayInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -150,35 +150,35 @@ impl HdmiDisplayMode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionWidthInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionWidthInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResolutionHeightInRawPixels(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionHeightInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionHeightInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RefreshRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StereoEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitsPerPixel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitsPerPixel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitsPerPixel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEqual(&self, mode: P0) -> ::windows_core::Result @@ -188,49 +188,49 @@ impl HdmiDisplayMode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), mode.into_param().abi(), &mut result__).map(|| result__) } } pub fn ColorSpace(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSdrLuminanceSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSdrLuminanceSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSdrLuminanceSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSmpte2084Supported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSmpte2084Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSmpte2084Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Is2086MetadataSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Is2086MetadataSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Is2086MetadataSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDolbyVisionLowLatencySupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDolbyVisionLowLatencySupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDolbyVisionLowLatencySupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Graphics/Display/mod.rs b/crates/libs/windows/src/Windows/Graphics/Display/mod.rs index 9f0f9929fc..b951d84180 100644 --- a/crates/libs/windows/src/Windows/Graphics/Display/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Display/mod.rs @@ -293,77 +293,77 @@ impl AdvancedColorInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentAdvancedColorKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentAdvancedColorKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedPrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedPrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedPrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GreenPrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GreenPrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GreenPrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BluePrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BluePrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BluePrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WhitePoint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhitePoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhitePoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxAverageFullFrameLuminanceInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAverageFullFrameLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAverageFullFrameLuminanceInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SdrWhiteLevelInNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SdrWhiteLevelInNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SdrWhiteLevelInNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHdrMetadataFormatCurrentlySupported(&self, format: HdrMetadataFormat) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHdrMetadataFormatCurrentlySupported)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHdrMetadataFormatCurrentlySupported)(::windows_core::Interface::as_raw(this), format, &mut result__).map(|| result__) } } pub fn IsAdvancedColorKindAvailable(&self, kind: AdvancedColorKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAdvancedColorKindAvailable)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAdvancedColorKindAvailable)(::windows_core::Interface::as_raw(this), kind, &mut result__).map(|| result__) } } } @@ -388,21 +388,21 @@ impl BrightnessOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOverrideActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverrideActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverrideActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BrightnessLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBrightnessLevel(&self, brightnesslevel: f64, options: DisplayBrightnessOverrideOptions) -> ::windows_core::Result<()> { @@ -417,7 +417,7 @@ impl BrightnessOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLevelForScenario)(::windows_core::Interface::as_raw(this), scenario, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLevelForScenario)(::windows_core::Interface::as_raw(this), scenario, &mut result__).map(|| result__) } } pub fn StartOverride(&self) -> ::windows_core::Result<()> { @@ -435,7 +435,7 @@ impl BrightnessOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsSupportedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -449,7 +449,7 @@ impl BrightnessOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverrideActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverrideActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsOverrideActiveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -463,7 +463,7 @@ impl BrightnessOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBrightnessLevelChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -473,13 +473,13 @@ impl BrightnessOverride { pub fn GetDefaultForSystem() -> ::windows_core::Result { Self::IBrightnessOverrideStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultForSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultForSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IBrightnessOverrideStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SaveForSystemAsync(value: P0) -> ::windows_core::Result> @@ -488,7 +488,7 @@ impl BrightnessOverride { { Self::IBrightnessOverrideStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveForSystemAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveForSystemAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -518,32 +518,32 @@ impl BrightnessOverrideSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredNits(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredNits)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredNits)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFromLevel(level: f64) -> ::windows_core::Result { Self::IBrightnessOverrideSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNits(nits: f32) -> ::windows_core::Result { Self::IBrightnessOverrideSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNits)(::windows_core::Interface::as_raw(this), nits, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNits)(::windows_core::Interface::as_raw(this), nits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromDisplayBrightnessOverrideScenario(overridescenario: DisplayBrightnessOverrideScenario) -> ::windows_core::Result { Self::IBrightnessOverrideSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDisplayBrightnessOverrideScenario)(::windows_core::Interface::as_raw(this), overridescenario, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDisplayBrightnessOverrideScenario)(::windows_core::Interface::as_raw(this), overridescenario, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -573,13 +573,13 @@ impl ColorOverrideSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredDisplayColorOverrideScenario)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredDisplayColorOverrideScenario)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFromDisplayColorOverrideScenario(overridescenario: DisplayColorOverrideScenario) -> ::windows_core::Result { Self::IColorOverrideSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDisplayColorOverrideScenario)(::windows_core::Interface::as_raw(this), overridescenario, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDisplayColorOverrideScenario)(::windows_core::Interface::as_raw(this), overridescenario, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -609,7 +609,7 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorOverrideSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorOverrideSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetColorOverrideSettings(&self, value: P0) -> ::windows_core::Result<()> @@ -623,7 +623,7 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrightnessOverrideSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrightnessOverrideSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBrightnessOverrideSettings(&self, value: P0) -> ::windows_core::Result<()> @@ -637,21 +637,21 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanOverride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanOverride)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOverrideActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverrideActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverrideActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentDisplayEnhancementOverrideCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDisplayEnhancementOverrideCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDisplayEnhancementOverrideCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestOverride(&self) -> ::windows_core::Result<()> { @@ -669,7 +669,7 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanOverrideChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanOverrideChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanOverrideChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -683,7 +683,7 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverrideActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverrideActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsOverrideActiveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -697,7 +697,7 @@ impl DisplayEnhancementOverride { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayEnhancementOverrideCapabilitiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayEnhancementOverrideCapabilitiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisplayEnhancementOverrideCapabilitiesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -707,7 +707,7 @@ impl DisplayEnhancementOverride { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IDisplayEnhancementOverrideStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -737,14 +737,14 @@ impl DisplayEnhancementOverrideCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBrightnessControlSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBrightnessControlSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBrightnessNitsControlSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBrightnessNitsControlSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBrightnessNitsControlSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -752,7 +752,7 @@ impl DisplayEnhancementOverrideCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedNitRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedNitRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -777,7 +777,7 @@ impl DisplayEnhancementOverrideCapabilitiesChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -802,14 +802,14 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NativeOrientation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientationChanged(&self, handler: P0) -> ::windows_core::Result @@ -819,7 +819,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOrientationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -830,28 +830,28 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogicalDpi(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogicalDpi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogicalDpi)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RawDpiX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawDpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawDpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RawDpiY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawDpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawDpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiChanged(&self, handler: P0) -> ::windows_core::Result @@ -861,7 +861,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDpiChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -872,7 +872,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StereoEnabledChanged(&self, handler: P0) -> ::windows_core::Result @@ -882,7 +882,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStereoEnabledChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -894,7 +894,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetColorProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetColorProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ColorProfileChanged(&self, handler: P0) -> ::windows_core::Result @@ -904,7 +904,7 @@ impl DisplayInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveColorProfileChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -915,35 +915,35 @@ impl DisplayInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawPixelsPerViewPixel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawPixelsPerViewPixel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DiagonalSizeInInches(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiagonalSizeInInches)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiagonalSizeInInches)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ScreenWidthInRawPixels(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenWidthInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenWidthInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScreenHeightInRawPixels(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenHeightInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenHeightInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetAdvancedColorInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAdvancedColorInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAdvancedColorInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdvancedColorInfoChanged(&self, handler: P0) -> ::windows_core::Result @@ -953,7 +953,7 @@ impl DisplayInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvancedColorInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvancedColorInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdvancedColorInfoChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -963,13 +963,13 @@ impl DisplayInformation { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IDisplayInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AutoRotationPreferences() -> ::windows_core::Result { Self::IDisplayInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRotationPreferences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRotationPreferences)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetAutoRotationPreferences(value: DisplayOrientations) -> ::windows_core::Result<()> { @@ -981,7 +981,7 @@ impl DisplayInformation { { Self::IDisplayInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayContentsInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayContentsInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveDisplayContentsInvalidated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1013,21 +1013,21 @@ impl DisplayProperties { pub fn CurrentOrientation() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn NativeOrientation() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn AutoRotationPreferences() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRotationPreferences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRotationPreferences)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1041,7 +1041,7 @@ impl DisplayProperties { { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1052,14 +1052,14 @@ impl DisplayProperties { pub fn ResolutionScale() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResolutionScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResolutionScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn LogicalDpi() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogicalDpi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogicalDpi)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1069,7 +1069,7 @@ impl DisplayProperties { { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogicalDpiChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogicalDpiChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1080,7 +1080,7 @@ impl DisplayProperties { pub fn StereoEnabled() -> ::windows_core::Result { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1090,7 +1090,7 @@ impl DisplayProperties { { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1101,7 +1101,7 @@ impl DisplayProperties { pub fn GetColorProfileAsync() -> ::windows_core::Result> { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetColorProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetColorProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -1111,7 +1111,7 @@ impl DisplayProperties { { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1125,7 +1125,7 @@ impl DisplayProperties { { Self::IDisplayPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayContentsInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayContentsInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1151,7 +1151,7 @@ impl DisplayServices { pub fn FindAll() -> ::windows_core::Result<::windows_core::Array> { Self::IDisplayServicesStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/Effects/mod.rs b/crates/libs/windows/src/Windows/Graphics/Effects/mod.rs index 3086d7d23b..0dc7cca738 100644 --- a/crates/libs/windows/src/Windows/Graphics/Effects/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Effects/mod.rs @@ -6,7 +6,7 @@ impl IGraphicsEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs b/crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs index 80b4399d76..e36691ac17 100644 --- a/crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs @@ -505,14 +505,14 @@ impl HolographicCamera { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ViewportScaleFactor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewportScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewportScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetViewportScaleFactor(&self, value: f64) -> ::windows_core::Result<()> { @@ -523,14 +523,14 @@ impl HolographicCamera { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNearPlaneDistance(&self, value: f64) -> ::windows_core::Result<()> { @@ -545,28 +545,28 @@ impl HolographicCamera { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftViewportParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftViewportParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RightViewportParameters(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightViewportParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightViewportParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Display(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPrimaryLayerEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrimaryLayerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrimaryLayerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPrimaryLayerEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -577,7 +577,7 @@ impl HolographicCamera { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxQuadLayerCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxQuadLayerCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -585,28 +585,28 @@ impl HolographicCamera { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuadLayers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuadLayers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanOverrideViewport(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanOverrideViewport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanOverrideViewport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHardwareContentProtectionSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHardwareContentProtectionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHardwareContentProtectionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHardwareContentProtectionEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHardwareContentProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHardwareContentProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHardwareContentProtectionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -617,7 +617,7 @@ impl HolographicCamera { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -642,14 +642,14 @@ impl HolographicCameraPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HolographicCamera)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HolographicCamera)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Viewport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Viewport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Viewport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -660,7 +660,7 @@ impl HolographicCameraPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetViewTransform)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetViewTransform)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -668,7 +668,7 @@ impl HolographicCameraPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -679,7 +679,7 @@ impl HolographicCameraPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetCullingFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetCullingFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -690,21 +690,21 @@ impl HolographicCameraPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetVisibleFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetVisibleFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NearPlaneDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NearPlaneDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NearPlaneDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FarPlaneDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FarPlaneDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FarPlaneDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -771,7 +771,7 @@ impl HolographicCameraRenderingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -779,14 +779,14 @@ impl HolographicCameraRenderingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3D11BackBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3D11BackBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReprojectionMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReprojectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReprojectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReprojectionMode(&self, value: HolographicReprojectionMode) -> ::windows_core::Result<()> { @@ -805,7 +805,7 @@ impl HolographicCameraRenderingParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContentProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContentProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsContentProtectionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -816,7 +816,7 @@ impl HolographicCameraRenderingParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepthReprojectionMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepthReprojectionMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDepthReprojectionMethod(&self, value: HolographicDepthReprojectionMethod) -> ::windows_core::Result<()> { @@ -846,7 +846,7 @@ impl HolographicCameraViewportParameters { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).HiddenAreaMesh)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).HiddenAreaMesh)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "Foundation_Numerics")] @@ -854,7 +854,7 @@ impl HolographicCameraViewportParameters { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).VisibleAreaMesh)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).VisibleAreaMesh)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -879,35 +879,35 @@ impl HolographicDisplay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxViewportSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxViewportSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxViewportSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStereo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOpaque(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOpaque)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOpaque)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdapterId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -915,27 +915,27 @@ impl HolographicDisplay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialLocator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialLocator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RefreshRate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryGetViewConfiguration(&self, kind: HolographicViewConfigurationKind) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetViewConfiguration)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetViewConfiguration)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IHolographicDisplayStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -966,7 +966,7 @@ impl HolographicFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddedCameras)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddedCameras)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -974,7 +974,7 @@ impl HolographicFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovedCameras)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovedCameras)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRenderingParameters(&self, camerapose: P0) -> ::windows_core::Result @@ -984,21 +984,21 @@ impl HolographicFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRenderingParameters)(::windows_core::Interface::as_raw(this), camerapose.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRenderingParameters)(::windows_core::Interface::as_raw(this), camerapose.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentPrediction(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPrediction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPrediction)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateCurrentPrediction(&self) -> ::windows_core::Result<()> { @@ -1009,14 +1009,14 @@ impl HolographicFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentUsingCurrentPrediction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentUsingCurrentPrediction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PresentUsingCurrentPredictionWithBehavior(&self, waitbehavior: HolographicFramePresentWaitBehavior) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentUsingCurrentPredictionWithBehavior)(::windows_core::Interface::as_raw(this), waitbehavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentUsingCurrentPredictionWithBehavior)(::windows_core::Interface::as_raw(this), waitbehavior, &mut result__).map(|| result__) } } pub fn WaitForFrameToFinish(&self) -> ::windows_core::Result<()> { @@ -1030,14 +1030,14 @@ impl HolographicFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetQuadLayerUpdateParameters)(::windows_core::Interface::as_raw(this), layer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetQuadLayerUpdateParameters)(::windows_core::Interface::as_raw(this), layer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1063,7 +1063,7 @@ impl HolographicFramePrediction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraPoses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraPoses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception")] @@ -1071,7 +1071,7 @@ impl HolographicFramePrediction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1106,7 +1106,7 @@ impl HolographicFramePresentationMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1140,7 +1140,7 @@ impl HolographicFramePresentationReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositorGpuDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositorGpuDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1148,7 +1148,7 @@ impl HolographicFramePresentationReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppGpuDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppGpuDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1156,7 +1156,7 @@ impl HolographicFramePresentationReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppGpuOverrun)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppGpuOverrun)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1164,7 +1164,7 @@ impl HolographicFramePresentationReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MissedPresentationOpportunityCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MissedPresentationOpportunityCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1172,7 +1172,7 @@ impl HolographicFramePresentationReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1202,35 +1202,35 @@ impl HolographicFrameRenderingReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MissedLatchCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MissedLatchCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MissedLatchCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeFrameReadyTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeFrameReadyTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeFrameReadyTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeActualGpuFinishTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeActualGpuFinishTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeActualGpuFinishTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeTargetLatchTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTargetLatchTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTargetLatchTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1261,7 +1261,7 @@ impl HolographicFrameScanoutMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1286,35 +1286,35 @@ impl HolographicFrameScanoutReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderingReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderingReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MissedScanoutCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MissedScanoutCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MissedScanoutCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeLatchTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeLatchTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeLatchTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeScanoutStartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeScanoutStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeScanoutStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativePhotonTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativePhotonTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativePhotonTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1345,27 +1345,27 @@ impl HolographicQuadLayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(size: super::super::Foundation::Size) -> ::windows_core::Result { Self::IHolographicQuadLayerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX")] pub fn CreateWithPixelFormat(size: super::super::Foundation::Size, pixelformat: super::DirectX::DirectXPixelFormat) -> ::windows_core::Result { Self::IHolographicQuadLayerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPixelFormat)(::windows_core::Interface::as_raw(this), size, pixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPixelFormat)(::windows_core::Interface::as_raw(this), size, pixelformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1396,7 +1396,7 @@ impl HolographicQuadLayerUpdateParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquireBufferToUpdateContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquireBufferToUpdateContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateViewport(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -1429,7 +1429,7 @@ impl HolographicQuadLayerUpdateParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanAcquireWithHardwareProtection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanAcquireWithHardwareProtection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1437,7 +1437,7 @@ impl HolographicQuadLayerUpdateParameters { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquireBufferToUpdateContentWithHardwareProtection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquireBufferToUpdateContentWithHardwareProtection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1462,7 +1462,7 @@ impl HolographicSpace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1480,7 +1480,7 @@ impl HolographicSpace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCameraAdded(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1494,7 +1494,7 @@ impl HolographicSpace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCameraRemoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1505,14 +1505,14 @@ impl HolographicSpace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNextFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNextFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserPresence(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserPresence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserPresence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserPresenceChanged(&self, handler: P0) -> ::windows_core::Result @@ -1522,7 +1522,7 @@ impl HolographicSpace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserPresenceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserPresenceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserPresenceChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1542,14 +1542,14 @@ impl HolographicSpace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFramePresentationMonitor)(::windows_core::Interface::as_raw(this), maxqueuedreports, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFramePresentationMonitor)(::windows_core::Interface::as_raw(this), maxqueuedreports, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFrameScanoutMonitor(&self, maxqueuedreports: u32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameScanoutMonitor)(::windows_core::Interface::as_raw(this), maxqueuedreports, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameScanoutMonitor)(::windows_core::Interface::as_raw(this), maxqueuedreports, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1559,19 +1559,19 @@ impl HolographicSpace { { Self::IHolographicSpaceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCoreWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCoreWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IHolographicSpaceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsAvailable() -> ::windows_core::Result { Self::IHolographicSpaceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsAvailableChanged(handler: P0) -> ::windows_core::Result @@ -1580,7 +1580,7 @@ impl HolographicSpace { { Self::IHolographicSpaceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveIsAvailableChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1589,7 +1589,7 @@ impl HolographicSpace { pub fn IsConfigured() -> ::windows_core::Result { Self::IHolographicSpaceStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConfigured)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConfigured)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1629,14 +1629,14 @@ impl HolographicSpaceCameraAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Camera)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Camera)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1661,7 +1661,7 @@ impl HolographicSpaceCameraRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Camera)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Camera)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1686,21 +1686,21 @@ impl HolographicViewConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeRenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeRenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RenderTargetSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderTargetSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestRenderTargetSize(&self, size: super::super::Foundation::Size) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRenderTargetSize)(::windows_core::Interface::as_raw(this), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRenderTargetSize)(::windows_core::Interface::as_raw(this), size, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX"))] @@ -1708,7 +1708,7 @@ impl HolographicViewConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX")] @@ -1716,7 +1716,7 @@ impl HolographicViewConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1728,35 +1728,35 @@ impl HolographicViewConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RefreshRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RefreshRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Display(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Display)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1768,7 +1768,7 @@ impl HolographicViewConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDepthReprojectionMethods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDepthReprojectionMethods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs b/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs index b4bb66dd53..b5d1d76295 100644 --- a/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs @@ -143,77 +143,77 @@ impl IBitmapFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapPixelFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapAlphaMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPixelDataAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPixelDataTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -223,7 +223,7 @@ impl IBitmapFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -258,14 +258,14 @@ impl IBitmapFrameWithSoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapConvertedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -275,7 +275,7 @@ impl IBitmapFrameWithSoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -283,77 +283,77 @@ impl IBitmapFrameWithSoftwareBitmap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapProperties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapPixelFormat(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapAlphaMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiX(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiY(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelHeight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelHeight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPixelDataAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPixelDataTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -363,7 +363,7 @@ impl IBitmapFrameWithSoftwareBitmap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -399,7 +399,7 @@ impl IBitmapPropertiesView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -524,14 +524,14 @@ impl BitmapBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPlaneCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPlaneCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPlaneDescription(&self, index: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPlaneDescription)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPlaneDescription)(::windows_core::Interface::as_raw(this), index, &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ impl BitmapBuffer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -567,7 +567,7 @@ impl BitmapCodecInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CodecId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CodecId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -575,14 +575,14 @@ impl BitmapCodecInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -590,7 +590,7 @@ impl BitmapCodecInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MimeTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MimeTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -616,21 +616,21 @@ impl BitmapDecoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapContainerProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapContainerProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DecoderInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecoderInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecoderInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -638,63 +638,63 @@ impl BitmapDecoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFrameAsync(&self, frameindex: u32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFrameAsync)(::windows_core::Interface::as_raw(this), frameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFrameAsync)(::windows_core::Interface::as_raw(this), frameindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BmpDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BmpDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BmpDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn JpegDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JpegDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JpegDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PngDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PngDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PngDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TiffDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiffDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiffDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GifDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GifDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GifDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn JpegXRDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JpegXRDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JpegXRDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IcoDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IcoDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IcoDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetDecoderInformationEnumerator() -> ::windows_core::Result> { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDecoderInformationEnumerator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDecoderInformationEnumerator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -704,7 +704,7 @@ impl BitmapDecoder { { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -714,19 +714,19 @@ impl BitmapDecoder { { Self::IBitmapDecoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithIdAsync)(::windows_core::Interface::as_raw(this), decoderid, stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithIdAsync)(::windows_core::Interface::as_raw(this), decoderid, stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeifDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeifDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeifDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn WebpDecoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapDecoderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebpDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebpDecoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] @@ -734,77 +734,77 @@ impl BitmapDecoder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapProperties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapPixelFormat(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapAlphaMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiX(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiY(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelHeight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelHeight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPixelDataAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPixelDataTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -814,21 +814,21 @@ impl BitmapDecoder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapConvertedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -838,7 +838,7 @@ impl BitmapDecoder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -873,28 +873,28 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncoderInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncoderInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapContainerProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapContainerProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapContainerProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsThumbnailGenerated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsThumbnailGenerated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsThumbnailGenerated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsThumbnailGenerated(&self, value: bool) -> ::windows_core::Result<()> { @@ -905,7 +905,7 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeneratedThumbnailWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeneratedThumbnailWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGeneratedThumbnailWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -916,7 +916,7 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeneratedThumbnailHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeneratedThumbnailHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGeneratedThumbnailHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -927,7 +927,7 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPixelData(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, width: u32, height: u32, dpix: f64, dpiy: f64, pixels: &[u8]) -> ::windows_core::Result<()> { @@ -938,7 +938,7 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GoToNextFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GoToNextFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -949,57 +949,57 @@ impl BitmapEncoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GoToNextFrameWithEncodingOptionsAsync)(::windows_core::Interface::as_raw(this), encodingoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GoToNextFrameWithEncodingOptionsAsync)(::windows_core::Interface::as_raw(this), encodingoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BmpEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BmpEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BmpEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn JpegEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JpegEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JpegEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PngEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PngEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PngEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TiffEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiffEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiffEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GifEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GifEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GifEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn JpegXREncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JpegXREncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JpegXREncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetEncoderInformationEnumerator() -> ::windows_core::Result> { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEncoderInformationEnumerator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEncoderInformationEnumerator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1009,7 +1009,7 @@ impl BitmapEncoder { { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), encoderid, stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), encoderid, stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1020,7 +1020,7 @@ impl BitmapEncoder { { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithEncodingOptionsAsync)(::windows_core::Interface::as_raw(this), encoderid, stream.into_param().abi(), encodingoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithEncodingOptionsAsync)(::windows_core::Interface::as_raw(this), encoderid, stream.into_param().abi(), encodingoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1031,7 +1031,7 @@ impl BitmapEncoder { { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForTranscodingAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), bitmapdecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForTranscodingAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), bitmapdecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateForInPlacePropertyEncodingAsync(bitmapdecoder: P0) -> ::windows_core::Result> @@ -1040,13 +1040,13 @@ impl BitmapEncoder { { Self::IBitmapEncoderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForInPlacePropertyEncodingAsync)(::windows_core::Interface::as_raw(this), bitmapdecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForInPlacePropertyEncodingAsync)(::windows_core::Interface::as_raw(this), bitmapdecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeifEncoderId() -> ::windows_core::Result<::windows_core::GUID> { Self::IBitmapEncoderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeifEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeifEncoderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetSoftwareBitmap(&self, bitmap: P0) -> ::windows_core::Result<()> @@ -1090,77 +1090,77 @@ impl BitmapFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BitmapPixelFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapAlphaMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DpiY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OrientedPixelHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrientedPixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPixelDataAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPixelDataTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -1170,21 +1170,21 @@ impl BitmapFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPixelDataTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapConvertedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapConvertedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSoftwareBitmapTransformedAsync(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, transform: P0, exiforientationmode: ExifOrientationMode, colormanagementmode: ColorManagementMode) -> ::windows_core::Result> @@ -1194,7 +1194,7 @@ impl BitmapFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSoftwareBitmapTransformedAsync)(::windows_core::Interface::as_raw(this), pixelformat, alphamode, transform.into_param().abi(), exiforientationmode, colormanagementmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1224,7 +1224,7 @@ impl BitmapProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1235,7 +1235,7 @@ impl BitmapProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1265,7 +1265,7 @@ impl BitmapPropertiesView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1303,7 +1303,7 @@ impl BitmapPropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1311,7 +1311,7 @@ impl BitmapPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1319,7 +1319,7 @@ impl BitmapPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1327,7 +1327,7 @@ impl BitmapPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1335,7 +1335,7 @@ impl BitmapPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1346,7 +1346,7 @@ impl BitmapPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1409,7 +1409,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaledWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaledWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaledWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -1420,7 +1420,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaledHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaledHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaledHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -1431,7 +1431,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterpolationMode(&self, value: BitmapInterpolationMode) -> ::windows_core::Result<()> { @@ -1442,7 +1442,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFlip(&self, value: BitmapFlip) -> ::windows_core::Result<()> { @@ -1453,7 +1453,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotation(&self, value: BitmapRotation) -> ::windows_core::Result<()> { @@ -1464,7 +1464,7 @@ impl BitmapTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBounds(&self, value: BitmapBounds) -> ::windows_core::Result<()> { @@ -1493,14 +1493,14 @@ impl BitmapTypedValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(value: P0, r#type: super::super::Foundation::PropertyType) -> ::windows_core::Result @@ -1509,7 +1509,7 @@ impl BitmapTypedValue { { Self::IBitmapTypedValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value.into_param().abi(), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1549,7 +1549,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1560,7 +1560,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1571,7 +1571,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1579,7 +1579,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1587,7 +1587,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1600,7 +1600,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1608,7 +1608,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1616,7 +1616,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1629,7 +1629,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1637,7 +1637,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1645,7 +1645,7 @@ impl ImageStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1675,7 +1675,7 @@ impl PixelDataProvider { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).DetachPixelData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).DetachPixelData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -1705,35 +1705,35 @@ impl SoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitmapAlphaMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PixelHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDpiX(&self, value: f64) -> ::windows_core::Result<()> { @@ -1744,7 +1744,7 @@ impl SoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDpiY(&self, value: f64) -> ::windows_core::Result<()> { @@ -1755,14 +1755,14 @@ impl SoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LockBuffer(&self, mode: BitmapBufferAccessMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockBuffer)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockBuffer)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyTo(&self, bitmap: P0) -> ::windows_core::Result<()> @@ -1792,19 +1792,19 @@ impl SoftwareBitmap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReadOnlyView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReadOnlyView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(format: BitmapPixelFormat, width: i32, height: i32) -> ::windows_core::Result { Self::ISoftwareBitmapFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithAlpha(format: BitmapPixelFormat, width: i32, height: i32, alpha: BitmapAlphaMode) -> ::windows_core::Result { Self::ISoftwareBitmapFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAlpha)(::windows_core::Interface::as_raw(this), format, width, height, alpha, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAlpha)(::windows_core::Interface::as_raw(this), format, width, height, alpha, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Copy(source: P0) -> ::windows_core::Result @@ -1813,7 +1813,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Convert(source: P0, format: BitmapPixelFormat) -> ::windows_core::Result @@ -1822,7 +1822,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Convert)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Convert)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ConvertWithAlpha(source: P0, format: BitmapPixelFormat, alpha: BitmapAlphaMode) -> ::windows_core::Result @@ -1831,7 +1831,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertWithAlpha)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, alpha, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertWithAlpha)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, alpha, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1841,7 +1841,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCopyFromBuffer)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCopyFromBuffer)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1851,7 +1851,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCopyWithAlphaFromBuffer)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, width, height, alpha, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCopyWithAlphaFromBuffer)(::windows_core::Interface::as_raw(this), source.into_param().abi(), format, width, height, alpha, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1861,7 +1861,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCopyFromSurfaceAsync)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCopyFromSurfaceAsync)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1871,7 +1871,7 @@ impl SoftwareBitmap { { Self::ISoftwareBitmapStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCopyWithAlphaFromSurfaceAsync)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), alpha, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCopyWithAlphaFromSurfaceAsync)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), alpha, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs index 6298149ad8..59c83ff609 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs @@ -96,21 +96,21 @@ impl IPrintCustomOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -121,7 +121,7 @@ impl IPrintCustomOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -132,14 +132,14 @@ impl IPrintCustomOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -149,7 +149,7 @@ impl IPrintCustomOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -220,21 +220,21 @@ impl IPrintItemListOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -245,7 +245,7 @@ impl IPrintItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -256,14 +256,14 @@ impl IPrintItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -273,7 +273,7 @@ impl IPrintItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -317,28 +317,28 @@ impl IPrintNumberOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -349,7 +349,7 @@ impl IPrintNumberOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -360,14 +360,14 @@ impl IPrintNumberOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -377,7 +377,7 @@ impl IPrintNumberOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -398,14 +398,14 @@ impl IPrintOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -416,7 +416,7 @@ impl IPrintOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -427,14 +427,14 @@ impl IPrintOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -444,7 +444,7 @@ impl IPrintOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -549,21 +549,21 @@ impl IPrintTextOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -574,7 +574,7 @@ impl IPrintTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -585,14 +585,14 @@ impl IPrintTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -602,7 +602,7 @@ impl IPrintTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -629,7 +629,7 @@ impl PrintBindingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -640,7 +640,7 @@ impl PrintBindingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -648,21 +648,21 @@ impl PrintBindingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -673,7 +673,7 @@ impl PrintBindingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -684,14 +684,14 @@ impl PrintBindingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -701,7 +701,7 @@ impl PrintBindingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -731,7 +731,7 @@ impl PrintBorderingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -742,7 +742,7 @@ impl PrintBorderingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -750,21 +750,21 @@ impl PrintBorderingOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -775,7 +775,7 @@ impl PrintBorderingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -786,14 +786,14 @@ impl PrintBorderingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -803,7 +803,7 @@ impl PrintBorderingOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -833,7 +833,7 @@ impl PrintCollationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -844,7 +844,7 @@ impl PrintCollationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -852,21 +852,21 @@ impl PrintCollationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -877,7 +877,7 @@ impl PrintCollationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -888,14 +888,14 @@ impl PrintCollationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -905,7 +905,7 @@ impl PrintCollationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -935,7 +935,7 @@ impl PrintColorModeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -946,7 +946,7 @@ impl PrintColorModeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -954,21 +954,21 @@ impl PrintColorModeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -979,7 +979,7 @@ impl PrintColorModeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -990,14 +990,14 @@ impl PrintColorModeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1007,7 +1007,7 @@ impl PrintColorModeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1037,7 +1037,7 @@ impl PrintCopiesOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1048,35 +1048,35 @@ impl PrintCopiesOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinValue(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxValue(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1087,7 +1087,7 @@ impl PrintCopiesOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1098,14 +1098,14 @@ impl PrintCopiesOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1115,7 +1115,7 @@ impl PrintCopiesOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1140,7 +1140,7 @@ impl PrintCustomItemDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetItemDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1151,7 +1151,7 @@ impl PrintCustomItemDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1193,7 +1193,7 @@ impl PrintCustomItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1204,7 +1204,7 @@ impl PrintCustomItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1215,7 +1215,7 @@ impl PrintCustomItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1223,21 +1223,21 @@ impl PrintCustomItemListOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1248,7 +1248,7 @@ impl PrintCustomItemListOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1259,14 +1259,14 @@ impl PrintCustomItemListOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1276,7 +1276,7 @@ impl PrintCustomItemListOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1306,7 +1306,7 @@ impl PrintCustomTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxCharacters(&self, value: u32) -> ::windows_core::Result<()> { @@ -1317,7 +1317,7 @@ impl PrintCustomTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1328,7 +1328,7 @@ impl PrintCustomTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1339,21 +1339,21 @@ impl PrintCustomTextOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1364,7 +1364,7 @@ impl PrintCustomTextOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1375,14 +1375,14 @@ impl PrintCustomTextOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1392,7 +1392,7 @@ impl PrintCustomTextOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1422,7 +1422,7 @@ impl PrintCustomToggleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1433,7 +1433,7 @@ impl PrintCustomToggleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1444,21 +1444,21 @@ impl PrintCustomToggleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1469,7 +1469,7 @@ impl PrintCustomToggleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1480,14 +1480,14 @@ impl PrintCustomToggleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1497,7 +1497,7 @@ impl PrintCustomToggleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1527,7 +1527,7 @@ impl PrintDuplexOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1538,7 +1538,7 @@ impl PrintDuplexOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1546,21 +1546,21 @@ impl PrintDuplexOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1571,7 +1571,7 @@ impl PrintDuplexOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1582,14 +1582,14 @@ impl PrintDuplexOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1599,7 +1599,7 @@ impl PrintDuplexOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1629,7 +1629,7 @@ impl PrintHolePunchOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1640,7 +1640,7 @@ impl PrintHolePunchOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1648,21 +1648,21 @@ impl PrintHolePunchOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1673,7 +1673,7 @@ impl PrintHolePunchOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1684,14 +1684,14 @@ impl PrintHolePunchOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1701,7 +1701,7 @@ impl PrintHolePunchOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1728,7 +1728,7 @@ impl PrintMediaSizeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1739,7 +1739,7 @@ impl PrintMediaSizeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1750,21 +1750,21 @@ impl PrintMediaSizeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1775,7 +1775,7 @@ impl PrintMediaSizeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1786,14 +1786,14 @@ impl PrintMediaSizeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1803,7 +1803,7 @@ impl PrintMediaSizeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1830,7 +1830,7 @@ impl PrintMediaTypeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1841,7 +1841,7 @@ impl PrintMediaTypeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1852,21 +1852,21 @@ impl PrintMediaTypeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1877,7 +1877,7 @@ impl PrintMediaTypeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1888,14 +1888,14 @@ impl PrintMediaTypeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1905,7 +1905,7 @@ impl PrintMediaTypeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } } @@ -1932,21 +1932,21 @@ impl PrintOrientationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1957,7 +1957,7 @@ impl PrintOrientationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -1968,14 +1968,14 @@ impl PrintOrientationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -1985,7 +1985,7 @@ impl PrintOrientationOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1996,7 +1996,7 @@ impl PrintOrientationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2007,7 +2007,7 @@ impl PrintOrientationOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2033,14 +2033,14 @@ impl PrintPageRangeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2051,7 +2051,7 @@ impl PrintPageRangeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -2062,14 +2062,14 @@ impl PrintPageRangeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -2079,7 +2079,7 @@ impl PrintPageRangeOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2090,7 +2090,7 @@ impl PrintPageRangeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2101,7 +2101,7 @@ impl PrintPageRangeOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2128,21 +2128,21 @@ impl PrintQualityOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2153,7 +2153,7 @@ impl PrintQualityOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -2164,14 +2164,14 @@ impl PrintQualityOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -2181,7 +2181,7 @@ impl PrintQualityOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2192,7 +2192,7 @@ impl PrintQualityOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2203,7 +2203,7 @@ impl PrintQualityOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2230,21 +2230,21 @@ impl PrintStapleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetErrorText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2255,7 +2255,7 @@ impl PrintStapleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetState(&self, value: PrintOptionStates) -> ::windows_core::Result<()> { @@ -2266,14 +2266,14 @@ impl PrintStapleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetValue(&self, value: P0) -> ::windows_core::Result @@ -2283,7 +2283,7 @@ impl PrintStapleOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetWarningText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2294,7 +2294,7 @@ impl PrintStapleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WarningText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2305,7 +2305,7 @@ impl PrintStapleOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2330,7 +2330,7 @@ impl PrintTaskOptionChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2357,21 +2357,21 @@ impl PrintTaskOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateItemListOption(&self, optionid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemListOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemListOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTextOption(&self, optionid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTextOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTextOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionChanged(&self, eventhandler: P0) -> ::windows_core::Result @@ -2381,7 +2381,7 @@ impl PrintTaskOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionChanged(&self, eventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2395,7 +2395,7 @@ impl PrintTaskOptionDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginValidation)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginValidation)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBeginValidation(&self, eventcookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2406,7 +2406,7 @@ impl PrintTaskOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToggleOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToggleOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(optionid), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFromPrintTaskOptions(printtaskoptions: P0) -> ::windows_core::Result @@ -2415,14 +2415,14 @@ impl PrintTaskOptionDetails { { Self::IPrintTaskOptionDetailsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromPrintTaskOptions)(::windows_core::Interface::as_raw(this), printtaskoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromPrintTaskOptions)(::windows_core::Interface::as_raw(this), printtaskoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetPageDescription(&self, jobpagenumber: u32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2430,7 +2430,7 @@ impl PrintTaskOptionDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs index acbdf02326..76e8aa8ced 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs @@ -180,7 +180,7 @@ impl PrintSupportExtensionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrintTicketValidationRequested(&self, handler: P0) -> ::windows_core::Result @@ -190,7 +190,7 @@ impl PrintSupportExtensionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintTicketValidationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintTicketValidationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrintTicketValidationRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -204,7 +204,7 @@ impl PrintSupportExtensionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintDeviceCapabilitiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintDeviceCapabilitiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrintDeviceCapabilitiesChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -222,7 +222,7 @@ impl PrintSupportExtensionSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrinterSelected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -251,7 +251,7 @@ impl PrintSupportExtensionTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,7 +277,7 @@ impl PrintSupportPrintDeviceCapabilitiesChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentPrintDeviceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentPrintDeviceCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -292,7 +292,7 @@ impl PrintSupportPrintDeviceCapabilitiesChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -307,7 +307,7 @@ impl PrintSupportPrintDeviceCapabilitiesChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -315,7 +315,7 @@ impl PrintSupportPrintDeviceCapabilitiesChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentPrintDeviceResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentPrintDeviceResources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -354,13 +354,13 @@ impl PrintSupportPrintDeviceCapabilitiesUpdatePolicy { pub fn CreatePeriodicRefresh(updateperiod: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IPrintSupportPrintDeviceCapabilitiesUpdatePolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePeriodicRefresh)(::windows_core::Interface::as_raw(this), updateperiod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePeriodicRefresh)(::windows_core::Interface::as_raw(this), updateperiod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePrintJobRefresh(numberofjobs: u32) -> ::windows_core::Result { Self::IPrintSupportPrintDeviceCapabilitiesUpdatePolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePrintJobRefresh)(::windows_core::Interface::as_raw(this), numberofjobs, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePrintJobRefresh)(::windows_core::Interface::as_raw(this), numberofjobs, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -397,7 +397,7 @@ impl PrintSupportPrintTicketElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocalName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -408,7 +408,7 @@ impl PrintSupportPrintTicketElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNamespaceUri(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -438,7 +438,7 @@ impl PrintSupportPrintTicketValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPrintTicketValidationStatus(&self, status: WorkflowPrintTicketValidationStatus) -> ::windows_core::Result<()> { @@ -449,7 +449,7 @@ impl PrintSupportPrintTicketValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -475,7 +475,7 @@ impl PrintSupportPrinterSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceAppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceAppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Printing_PrintTicket")] @@ -483,7 +483,7 @@ impl PrintSupportPrinterSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Printing_PrintTicket")] @@ -514,7 +514,7 @@ impl PrintSupportPrinterSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedAdditionalFeaturesAndParametersCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedAdditionalFeaturesAndParametersCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Shell")] @@ -529,7 +529,7 @@ impl PrintSupportPrinterSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -555,7 +555,7 @@ impl PrintSupportSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceAppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceAppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Printers")] @@ -563,7 +563,7 @@ impl PrintSupportSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -591,7 +591,7 @@ impl PrintSupportSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -599,7 +599,7 @@ impl PrintSupportSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -607,7 +607,7 @@ impl PrintSupportSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -615,21 +615,21 @@ impl PrintSupportSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Session(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -655,21 +655,21 @@ impl PrintSupportSettingsUISession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionPrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionPrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Printing_PrintTicket")] @@ -684,7 +684,7 @@ impl PrintSupportSettingsUISession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs index 4b3785a4e4..8736747059 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs @@ -162,14 +162,14 @@ impl PrintTicketCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -177,126 +177,126 @@ impl PrintTicketCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentBindingFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentBindingFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentBindingFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentCollateFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentCollateFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentCollateFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentDuplexFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentDuplexFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentDuplexFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentHolePunchFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentHolePunchFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentHolePunchFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentInputBinFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentInputBinFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentInputBinFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentNUpFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentNUpFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentNUpFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentStapleFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentStapleFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentStapleFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JobPasscodeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobPasscodeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobPasscodeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageBorderlessFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageBorderlessFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageBorderlessFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageMediaSizeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageMediaSizeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageMediaSizeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageMediaTypeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageMediaTypeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageMediaTypeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOrientationFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOrientationFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOrientationFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOutputColorFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOutputColorFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOutputColorFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOutputQualityFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOutputQualityFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOutputQualityFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageResolutionFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageResolutionFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageResolutionFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFeature(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetParameterDefinition(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParameterDefinition)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParameterDefinition)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -321,14 +321,14 @@ impl PrintTicketFeature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -336,21 +336,21 @@ impl PrintTicketFeature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOption(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOption)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -358,14 +358,14 @@ impl PrintTicketFeature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSelectedOption(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSelectedOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSelectedOption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSelectedOption(&self, value: P0) -> ::windows_core::Result<()> @@ -379,7 +379,7 @@ impl PrintTicketFeature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -404,14 +404,14 @@ impl PrintTicketOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -419,14 +419,14 @@ impl PrintTicketOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -434,7 +434,7 @@ impl PrintTicketOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -442,21 +442,21 @@ impl PrintTicketOption { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScoredPropertyNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScoredPropertyNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPropertyValue(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetScoredPropertyValue(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScoredPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScoredPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -481,14 +481,14 @@ impl PrintTicketParameterDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -496,35 +496,35 @@ impl PrintTicketParameterDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnitType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnitType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnitType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RangeMin(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RangeMin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RangeMin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RangeMax(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RangeMax)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RangeMax)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -549,14 +549,14 @@ impl PrintTicketParameterInitializer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -564,7 +564,7 @@ impl PrintTicketParameterInitializer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -578,7 +578,7 @@ impl PrintTicketParameterInitializer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -603,21 +603,21 @@ impl PrintTicketValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetValueAsInteger(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueAsInteger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueAsInteger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetValueAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -642,14 +642,14 @@ impl WorkflowPrintTicket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XmlNamespace(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -657,161 +657,161 @@ impl WorkflowPrintTicket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XmlNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentBindingFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentBindingFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentBindingFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentCollateFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentCollateFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentCollateFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentDuplexFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentDuplexFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentDuplexFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentHolePunchFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentHolePunchFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentHolePunchFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentInputBinFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentInputBinFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentInputBinFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentNUpFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentNUpFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentNUpFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DocumentStapleFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentStapleFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentStapleFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JobPasscodeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobPasscodeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobPasscodeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageBorderlessFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageBorderlessFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageBorderlessFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageMediaSizeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageMediaSizeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageMediaSizeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageMediaTypeFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageMediaTypeFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageMediaTypeFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOrientationFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOrientationFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOrientationFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOutputColorFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOutputColorFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOutputColorFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageOutputQualityFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageOutputQualityFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageOutputQualityFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageResolutionFeature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageResolutionFeature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageResolutionFeature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFeature(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFeature)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotifyXmlChangedAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyXmlChangedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyXmlChangedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValidateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetParameterInitializer(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParameterInitializer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParameterInitializer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParameterInitializerAsInteger(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING, integervalue: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetParameterInitializerAsInteger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), integervalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetParameterInitializerAsInteger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), integervalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParameterInitializerAsString(&self, name: &::windows_core::HSTRING, xmlnamespace: &::windows_core::HSTRING, stringvalue: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetParameterInitializerAsString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), ::core::mem::transmute_copy(stringvalue), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetParameterInitializerAsString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(xmlnamespace), ::core::mem::transmute_copy(stringvalue), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MergeAndValidateTicket(&self, deltashematicket: P0) -> ::windows_core::Result @@ -821,7 +821,7 @@ impl WorkflowPrintTicket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MergeAndValidateTicket)(::windows_core::Interface::as_raw(this), deltashematicket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MergeAndValidateTicket)(::windows_core::Interface::as_raw(this), deltashematicket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -846,14 +846,14 @@ impl WorkflowPrintTicketValidationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Validated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Validated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs index ed2160443c..9ce0faf63a 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs @@ -371,7 +371,7 @@ impl PrintWorkflowBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetupRequested)(::windows_core::Interface::as_raw(this), setupeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetupRequested)(::windows_core::Interface::as_raw(this), setupeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSetupRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -385,7 +385,7 @@ impl PrintWorkflowBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Submitted)(::windows_core::Interface::as_raw(this), submittedeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Submitted)(::windows_core::Interface::as_raw(this), submittedeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSubmitted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -396,7 +396,7 @@ impl PrintWorkflowBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -426,14 +426,14 @@ impl PrintWorkflowBackgroundSetupRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequiresUI(&self) -> ::windows_core::Result<()> { @@ -444,7 +444,7 @@ impl PrintWorkflowBackgroundSetupRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -469,21 +469,21 @@ impl PrintWorkflowConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceAppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceAppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JobTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AbortPrintFlow(&self, reason: PrintWorkflowJobAbortReason) -> ::windows_core::Result<()> { @@ -515,7 +515,7 @@ impl PrintWorkflowForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetupRequested)(::windows_core::Interface::as_raw(this), setupeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetupRequested)(::windows_core::Interface::as_raw(this), setupeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSetupRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -529,7 +529,7 @@ impl PrintWorkflowForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XpsDataAvailable)(::windows_core::Interface::as_raw(this), xpsdataavailableeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XpsDataAvailable)(::windows_core::Interface::as_raw(this), xpsdataavailableeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveXpsDataAvailable(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -540,7 +540,7 @@ impl PrintWorkflowForegroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -570,21 +570,21 @@ impl PrintWorkflowForegroundSetupRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -612,7 +612,7 @@ impl PrintWorkflowJobActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -620,7 +620,7 @@ impl PrintWorkflowJobActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -628,7 +628,7 @@ impl PrintWorkflowJobActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -636,14 +636,14 @@ impl PrintWorkflowJobActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Session(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -668,7 +668,7 @@ impl PrintWorkflowJobBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn JobStarting(&self, handler: P0) -> ::windows_core::Result @@ -678,7 +678,7 @@ impl PrintWorkflowJobBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveJobStarting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -692,7 +692,7 @@ impl PrintWorkflowJobBackgroundSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PdlModificationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PdlModificationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePdlModificationRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -725,21 +725,21 @@ impl PrintWorkflowJobNotificationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrinterJob(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -764,7 +764,7 @@ impl PrintWorkflowJobStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Printers")] @@ -772,7 +772,7 @@ impl PrintWorkflowJobStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSkipSystemRendering(&self) -> ::windows_core::Result<()> { @@ -783,7 +783,7 @@ impl PrintWorkflowJobStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -808,7 +808,7 @@ impl PrintWorkflowJobTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintWorkflowJobSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintWorkflowJobSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -833,7 +833,7 @@ impl PrintWorkflowJobUISession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PdlDataAvailable(&self, handler: P0) -> ::windows_core::Result @@ -843,7 +843,7 @@ impl PrintWorkflowJobUISession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PdlDataAvailable)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PdlDataAvailable)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePdlDataAvailable(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -857,7 +857,7 @@ impl PrintWorkflowJobUISession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobNotification)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobNotification)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveJobNotification(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -893,7 +893,7 @@ impl PrintWorkflowObjectModelSourceFileContent { { Self::IPrintWorkflowObjectModelSourceFileContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), xpsstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), xpsstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -946,7 +946,7 @@ impl PrintWorkflowPdlConverter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertPdlAsync)(::windows_core::Interface::as_raw(this), printticket.into_param().abi(), inputstream.into_param().abi(), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertPdlAsync)(::windows_core::Interface::as_raw(this), printticket.into_param().abi(), inputstream.into_param().abi(), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Graphics_Printing_PrintTicket", feature = "Storage_Streams"))] @@ -959,7 +959,7 @@ impl PrintWorkflowPdlConverter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertPdlAsync)(::windows_core::Interface::as_raw(this), printticket.into_param().abi(), inputstream.into_param().abi(), outputstream.into_param().abi(), hostbasedprocessingoperations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertPdlAsync)(::windows_core::Interface::as_raw(this), printticket.into_param().abi(), inputstream.into_param().abi(), outputstream.into_param().abi(), hostbasedprocessingoperations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -984,28 +984,28 @@ impl PrintWorkflowPdlDataAvailableEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrinterJob(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceContent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1030,35 +1030,35 @@ impl PrintWorkflowPdlModificationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrinterJob(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrinterJob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceContent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UILauncher(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UILauncher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UILauncher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateJobOnPrinter(&self, targetcontenttype: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJobOnPrinter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetcontenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJobOnPrinter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetcontenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Printers", feature = "Foundation_Collections"))] @@ -1069,7 +1069,7 @@ impl PrintWorkflowPdlModificationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1080,21 +1080,21 @@ impl PrintWorkflowPdlModificationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributesBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributesBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPdlConverter(&self, conversiontype: PrintWorkflowPdlConversionType) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPdlConverter)(::windows_core::Interface::as_raw(this), conversiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPdlConverter)(::windows_core::Interface::as_raw(this), conversiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Printers", feature = "Foundation_Collections"))] @@ -1106,7 +1106,7 @@ impl PrintWorkflowPdlModificationRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), operationattributes.into_param().abi(), jobattributesmergepolicy, operationattributesmergepolicy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), operationattributes.into_param().abi(), jobattributesmergepolicy, operationattributesmergepolicy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1118,7 +1118,7 @@ impl PrintWorkflowPdlModificationRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributesBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), operationattributesbuffer.into_param().abi(), jobattributesmergepolicy, operationattributesmergepolicy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJobOnPrinterWithAttributesBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), ::core::mem::transmute_copy(targetcontenttype), operationattributesbuffer.into_param().abi(), jobattributesmergepolicy, operationattributesmergepolicy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1143,7 +1143,7 @@ impl PrintWorkflowPdlSourceContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1151,7 +1151,7 @@ impl PrintWorkflowPdlSourceContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -1159,7 +1159,7 @@ impl PrintWorkflowPdlSourceContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContentFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContentFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1185,7 +1185,7 @@ impl PrintWorkflowPdlTargetStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CompleteStreamSubmission(&self, status: PrintWorkflowSubmittedStatus) -> ::windows_core::Result<()> { @@ -1214,7 +1214,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Printers")] @@ -1222,14 +1222,14 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Printer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetJobStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJobStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJobStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Printing_PrintTicket")] @@ -1237,7 +1237,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJobPrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJobPrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1248,7 +1248,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJobAttributesAsBuffer)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJobAttributesAsBuffer)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Printers", feature = "Foundation_Collections"))] @@ -1259,7 +1259,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJobAttributes)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJobAttributes)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Printers", feature = "Storage_Streams"))] @@ -1270,7 +1270,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetJobAttributesFromBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetJobAttributesFromBuffer)(::windows_core::Interface::as_raw(this), jobattributesbuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Printers", feature = "Foundation_Collections"))] @@ -1281,7 +1281,7 @@ impl PrintWorkflowPrinterJob { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetJobAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetJobAttributes)(::windows_core::Interface::as_raw(this), jobattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1307,21 +1307,21 @@ impl PrintWorkflowSourceContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetJobPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetJobPrintTicketAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSourceSpoolDataAsStreamContent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSourceSpoolDataAsStreamContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSourceSpoolDataAsStreamContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSourceSpoolDataAsXpsObjectModel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSourceSpoolDataAsXpsObjectModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSourceSpoolDataAsXpsObjectModel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1347,7 +1347,7 @@ impl PrintWorkflowSpoolStreamContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1373,7 +1373,7 @@ impl PrintWorkflowStreamTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1398,7 +1398,7 @@ impl PrintWorkflowSubmittedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Printing_PrintTicket")] @@ -1409,14 +1409,14 @@ impl PrintWorkflowSubmittedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTarget)(::windows_core::Interface::as_raw(this), jobprintticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTarget)(::windows_core::Interface::as_raw(this), jobprintticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1445,14 +1445,14 @@ impl PrintWorkflowSubmittedOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn XpsContent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XpsContent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XpsContent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1477,14 +1477,14 @@ impl PrintWorkflowTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetAsStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetAsStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TargetAsXpsObjectModelPackage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetAsXpsObjectModelPackage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetAsXpsObjectModelPackage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1509,7 +1509,7 @@ impl PrintWorkflowTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintWorkflowSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintWorkflowSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1537,7 +1537,7 @@ impl PrintWorkflowUIActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1545,7 +1545,7 @@ impl PrintWorkflowUIActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1553,7 +1553,7 @@ impl PrintWorkflowUIActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1561,14 +1561,14 @@ impl PrintWorkflowUIActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrintWorkflowSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintWorkflowSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintWorkflowSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1593,14 +1593,14 @@ impl PrintWorkflowUILauncher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUILaunchEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUILaunchEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LaunchAndCompleteUIAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAndCompleteUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAndCompleteUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1625,14 +1625,14 @@ impl PrintWorkflowXpsDataAvailableEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Graphics/Printing/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing/mod.rs index 4f957376d8..fa0ac5a7c3 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing/mod.rs @@ -149,7 +149,7 @@ impl IPrintTaskOptionsCore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).map(|| result__) } } } @@ -173,7 +173,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMediaType(&self, value: PrintMediaType) -> ::windows_core::Result<()> { @@ -184,7 +184,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrientation(&self, value: PrintOrientation) -> ::windows_core::Result<()> { @@ -195,7 +195,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPrintQuality(&self, value: PrintQuality) -> ::windows_core::Result<()> { @@ -206,7 +206,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorMode(&self, value: PrintColorMode) -> ::windows_core::Result<()> { @@ -217,7 +217,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuplex(&self, value: PrintDuplex) -> ::windows_core::Result<()> { @@ -228,7 +228,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCollation(&self, value: PrintCollation) -> ::windows_core::Result<()> { @@ -239,7 +239,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStaple(&self, value: PrintStaple) -> ::windows_core::Result<()> { @@ -250,7 +250,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHolePunch(&self, value: PrintHolePunch) -> ::windows_core::Result<()> { @@ -261,7 +261,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBinding(&self, value: PrintBinding) -> ::windows_core::Result<()> { @@ -272,21 +272,21 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinCopies(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxCopies(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNumberOfCopies(&self, value: u32) -> ::windows_core::Result<()> { @@ -297,7 +297,7 @@ impl IPrintTaskOptionsCoreProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -341,7 +341,7 @@ impl IPrintTaskOptionsCoreUIConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -458,7 +458,7 @@ impl PrintManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintTaskRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintTaskRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrintTaskRequested(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -468,19 +468,19 @@ impl PrintManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IPrintManagerStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowPrintUIAsync() -> ::windows_core::Result> { Self::IPrintManagerStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowPrintUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowPrintUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IPrintManagerStatic2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -526,7 +526,7 @@ impl PrintPageInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPageSize(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -537,7 +537,7 @@ impl PrintPageInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDpiX(&self, value: u32) -> ::windows_core::Result<()> { @@ -548,7 +548,7 @@ impl PrintPageInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDpiY(&self, value: u32) -> ::windows_core::Result<()> { @@ -559,7 +559,7 @@ impl PrintPageInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DpiY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrientation(&self, value: PrintOrientation) -> ::windows_core::Result<()> { @@ -570,7 +570,7 @@ impl PrintPageInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -595,26 +595,26 @@ impl PrintPageRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstPageNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstPageNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastPageNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastPageNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastPageNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(firstpage: i32, lastpage: i32) -> ::windows_core::Result { Self::IPrintPageRangeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), firstpage, lastpage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), firstpage, lastpage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithSinglePage(page: i32) -> ::windows_core::Result { Self::IPrintPageRangeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSinglePage)(::windows_core::Interface::as_raw(this), page, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSinglePage)(::windows_core::Interface::as_raw(this), page, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -648,7 +648,7 @@ impl PrintPageRangeOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowAllPages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowAllPages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowCurrentPage(&self, value: bool) -> ::windows_core::Result<()> { @@ -659,7 +659,7 @@ impl PrintPageRangeOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowCurrentPage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowCurrentPage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowCustomSetOfPages(&self, value: bool) -> ::windows_core::Result<()> { @@ -670,7 +670,7 @@ impl PrintPageRangeOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowCustomSetOfPages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowCustomSetOfPages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -696,21 +696,21 @@ impl PrintTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Previewing(&self, eventhandler: P0) -> ::windows_core::Result @@ -720,7 +720,7 @@ impl PrintTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Previewing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Previewing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePreviewing(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -734,7 +734,7 @@ impl PrintTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Submitting)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Submitting)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSubmitting(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -748,7 +748,7 @@ impl PrintTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progressing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progressing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgressing(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -762,7 +762,7 @@ impl PrintTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -777,7 +777,7 @@ impl PrintTask { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPreviewEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPreviewEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPrinterTargetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -788,7 +788,7 @@ impl PrintTask { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrinterTargetEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrinterTargetEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIs3DManufacturingTargetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -799,7 +799,7 @@ impl PrintTask { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Is3DManufacturingTargetEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Is3DManufacturingTargetEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -824,7 +824,7 @@ impl PrintTaskCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -854,7 +854,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordering)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordering)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -865,14 +865,14 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPagePrintTicket)(::windows_core::Interface::as_raw(this), printpageinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPagePrintTicket)(::windows_core::Interface::as_raw(this), printpageinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PageRangeOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageRangeOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageRangeOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -880,14 +880,14 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomPageRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomPageRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPageDescription(&self, jobpagenumber: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPageDescription)(::windows_core::Interface::as_raw(this), jobpagenumber, &mut result__).map(|| result__) } } pub fn SetMediaSize(&self, value: PrintMediaSize) -> ::windows_core::Result<()> { @@ -898,7 +898,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMediaType(&self, value: PrintMediaType) -> ::windows_core::Result<()> { @@ -909,7 +909,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrientation(&self, value: PrintOrientation) -> ::windows_core::Result<()> { @@ -920,7 +920,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPrintQuality(&self, value: PrintQuality) -> ::windows_core::Result<()> { @@ -931,7 +931,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColorMode(&self, value: PrintColorMode) -> ::windows_core::Result<()> { @@ -942,7 +942,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuplex(&self, value: PrintDuplex) -> ::windows_core::Result<()> { @@ -953,7 +953,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCollation(&self, value: PrintCollation) -> ::windows_core::Result<()> { @@ -964,7 +964,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStaple(&self, value: PrintStaple) -> ::windows_core::Result<()> { @@ -975,7 +975,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHolePunch(&self, value: PrintHolePunch) -> ::windows_core::Result<()> { @@ -986,7 +986,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBinding(&self, value: PrintBinding) -> ::windows_core::Result<()> { @@ -997,21 +997,21 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinCopies(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxCopies(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNumberOfCopies(&self, value: u32) -> ::windows_core::Result<()> { @@ -1022,7 +1022,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfCopies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfCopies)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1030,7 +1030,7 @@ impl PrintTaskOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayedOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1055,7 +1055,7 @@ impl PrintTaskProgressingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentPageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentPageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1080,7 +1080,7 @@ impl PrintTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreatePrintTask(&self, title: &::windows_core::HSTRING, handler: P0) -> ::windows_core::Result @@ -1090,14 +1090,14 @@ impl PrintTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePrintTask)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePrintTask)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1144,7 +1144,7 @@ impl PrintTaskRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1169,7 +1169,7 @@ impl PrintTaskSourceRequestedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSource(&self, source: P0) -> ::windows_core::Result<()> @@ -1183,7 +1183,7 @@ impl PrintTaskSourceRequestedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1226,91 +1226,91 @@ impl StandardPrintTaskOptions { pub fn MediaSize() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MediaType() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Orientation() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PrintQuality() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintQuality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ColorMode() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorMode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Duplex() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duplex)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Collation() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Staple() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Staple)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HolePunch() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HolePunch)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Binding() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Copies() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NUp() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NUp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NUp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn InputBin() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputBin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputBin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Bordering() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordering)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordering)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CustomPageRanges() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardPrintTaskOptionsStatic3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomPageRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomPageRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs b/crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs index 87145bf1c7..dbd77131bd 100644 --- a/crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs @@ -528,7 +528,7 @@ impl Print3DManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTaskRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -538,13 +538,13 @@ impl Print3DManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IPrint3DManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowPrintUIAsync() -> ::windows_core::Result> { Self::IPrint3DManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowPrintUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowPrintUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -574,7 +574,7 @@ impl Print3DTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Submitting(&self, eventhandler: P0) -> ::windows_core::Result @@ -584,7 +584,7 @@ impl Print3DTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Submitting)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Submitting)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSubmitting(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -598,7 +598,7 @@ impl Print3DTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -612,7 +612,7 @@ impl Print3DTask { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceChanged)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -641,14 +641,14 @@ impl Print3DTaskCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -676,7 +676,7 @@ impl Print3DTaskRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTask)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(printerid), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTask)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(printerid), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -701,7 +701,7 @@ impl Print3DTaskRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -726,7 +726,7 @@ impl Print3DTaskSourceChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -784,7 +784,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -792,7 +792,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrintTicket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -808,7 +808,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelPart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelPart)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -823,7 +823,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetThumbnail(&self, value: P0) -> ::windows_core::Result<()> @@ -838,7 +838,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Textures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Textures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -849,7 +849,7 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadModelFromPackageAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadModelFromPackageAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveModelToPackageAsync(&self, value: P0) -> ::windows_core::Result @@ -859,14 +859,14 @@ impl Printing3D3MFPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveModelToPackageAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveModelToPackageAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compression(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compression)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compression)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompression(&self, value: Printing3DPackageCompression) -> ::windows_core::Result<()> { @@ -880,7 +880,7 @@ impl Printing3D3MFPackage { { Self::IPrinting3D3MFPackageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -917,7 +917,7 @@ impl Printing3DBaseMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -928,7 +928,7 @@ impl Printing3DBaseMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetColor(&self, value: P0) -> ::windows_core::Result<()> @@ -941,13 +941,13 @@ impl Printing3DBaseMaterial { pub fn Abs() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPrinting3DBaseMaterialStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Abs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Abs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pla() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPrinting3DBaseMaterialStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pla)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pla)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -978,20 +978,20 @@ impl Printing3DBaseMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bases)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bases)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialGroupId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(materialgroupid: u32) -> ::windows_core::Result { Self::IPrinting3DBaseMaterialGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1028,7 +1028,7 @@ impl Printing3DColorMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: u32) -> ::windows_core::Result<()> { @@ -1040,7 +1040,7 @@ impl Printing3DColorMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1071,20 +1071,20 @@ impl Printing3DColorMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Colors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Colors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialGroupId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(materialgroupid: u32) -> ::windows_core::Result { Self::IPrinting3DColorMaterialGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1121,7 +1121,7 @@ impl Printing3DComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mesh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mesh)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMesh(&self, value: P0) -> ::windows_core::Result<()> @@ -1136,14 +1136,14 @@ impl Printing3DComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Thumbnail(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetThumbnail(&self, value: P0) -> ::windows_core::Result<()> @@ -1157,7 +1157,7 @@ impl Printing3DComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: Printing3DObjectType) -> ::windows_core::Result<()> { @@ -1168,7 +1168,7 @@ impl Printing3DComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1179,7 +1179,7 @@ impl Printing3DComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PartNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPartNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1215,7 +1215,7 @@ impl Printing3DComponentWithMatrix { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Component)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Component)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComponent(&self, value: P0) -> ::windows_core::Result<()> @@ -1230,7 +1230,7 @@ impl Printing3DComponentWithMatrix { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Matrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Matrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1268,7 +1268,7 @@ impl Printing3DCompositeMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1294,14 +1294,14 @@ impl Printing3DCompositeMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Composites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Composites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialGroupId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1309,14 +1309,14 @@ impl Printing3DCompositeMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BaseMaterialGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseMaterialGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseMaterialGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseMaterialGroup(&self, value: P0) -> ::windows_core::Result<()> @@ -1329,7 +1329,7 @@ impl Printing3DCompositeMaterialGroup { pub fn Create(materialgroupid: u32) -> ::windows_core::Result { Self::IPrinting3DCompositeMaterialGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1366,7 +1366,7 @@ impl Printing3DFaceReductionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxReductionArea)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxReductionArea)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxReductionArea(&self, value: f64) -> ::windows_core::Result<()> { @@ -1377,7 +1377,7 @@ impl Printing3DFaceReductionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetTriangleCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetTriangleCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTargetTriangleCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1388,7 +1388,7 @@ impl Printing3DFaceReductionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxEdgeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxEdgeLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxEdgeLength(&self, value: f64) -> ::windows_core::Result<()> { @@ -1425,7 +1425,7 @@ impl Printing3DMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1433,7 +1433,7 @@ impl Printing3DMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1441,7 +1441,7 @@ impl Printing3DMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Texture2CoordGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Texture2CoordGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1449,7 +1449,7 @@ impl Printing3DMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1457,7 +1457,7 @@ impl Printing3DMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MultiplePropertyGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MultiplePropertyGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1489,7 +1489,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVertexCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1500,7 +1500,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIndexCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1511,7 +1511,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexPositionsDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexPositionsDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVertexPositionsDescription(&self, value: Printing3DBufferDescription) -> ::windows_core::Result<()> { @@ -1522,7 +1522,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexNormalsDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexNormalsDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVertexNormalsDescription(&self, value: Printing3DBufferDescription) -> ::windows_core::Result<()> { @@ -1533,7 +1533,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriangleIndicesDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriangleIndicesDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTriangleIndicesDescription(&self, value: Printing3DBufferDescription) -> ::windows_core::Result<()> { @@ -1544,7 +1544,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriangleMaterialIndicesDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriangleMaterialIndicesDescription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTriangleMaterialIndicesDescription(&self, value: Printing3DBufferDescription) -> ::windows_core::Result<()> { @@ -1556,7 +1556,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVertexPositions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVertexPositions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVertexPositions(&self, value: u32) -> ::windows_core::Result<()> { @@ -1568,7 +1568,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVertexNormals(&self, value: u32) -> ::windows_core::Result<()> { @@ -1580,7 +1580,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTriangleIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTriangleIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTriangleIndices(&self, value: u32) -> ::windows_core::Result<()> { @@ -1592,7 +1592,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTriangleMaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTriangleMaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTriangleMaterialIndices(&self, value: u32) -> ::windows_core::Result<()> { @@ -1604,7 +1604,7 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferDescriptionSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferDescriptionSet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1612,14 +1612,14 @@ impl Printing3DMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferSet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VerifyAsync(&self, value: Printing3DMeshVerificationMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifyAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifyAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1644,7 +1644,7 @@ impl Printing3DMeshVerificationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1652,7 +1652,7 @@ impl Printing3DMeshVerificationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonmanifoldTriangles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonmanifoldTriangles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1660,7 +1660,7 @@ impl Printing3DMeshVerificationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReversedNormalTriangles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReversedNormalTriangles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1692,7 +1692,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnit(&self, value: Printing3DModelUnit) -> ::windows_core::Result<()> { @@ -1704,7 +1704,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Textures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Textures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1712,7 +1712,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Meshes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Meshes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1720,14 +1720,14 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Material(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Material)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Material)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaterial(&self, value: P0) -> ::windows_core::Result<()> @@ -1741,7 +1741,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Build)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Build)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBuild(&self, value: P0) -> ::windows_core::Result<()> @@ -1755,7 +1755,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVersion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1767,7 +1767,7 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1775,42 +1775,42 @@ impl Printing3DModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Metadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RepairAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepairAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepairAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPartialRepairAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPartialRepairAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPartialRepairAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPartialRepairWithTimeAsync(&self, maxwaittime: super::super::Foundation::TimeSpan) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPartialRepairWithTimeAsync)(::windows_core::Interface::as_raw(this), maxwaittime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPartialRepairWithTimeAsync)(::windows_core::Interface::as_raw(this), maxwaittime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryReduceFacesAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryReduceFacesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryReduceFacesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryReduceFacesWithOptionsAsync(&self, printing3dfacereductionoptions: P0) -> ::windows_core::Result> @@ -1820,7 +1820,7 @@ impl Printing3DModel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryReduceFacesWithOptionsAsync)(::windows_core::Interface::as_raw(this), printing3dfacereductionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryReduceFacesWithOptionsAsync)(::windows_core::Interface::as_raw(this), printing3dfacereductionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryReduceFacesWithOptionsAndTimeAsync(&self, printing3dfacereductionoptions: P0, maxwait: super::super::Foundation::TimeSpan) -> ::windows_core::Result> @@ -1830,14 +1830,14 @@ impl Printing3DModel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryReduceFacesWithOptionsAndTimeAsync)(::windows_core::Interface::as_raw(this), printing3dfacereductionoptions.into_param().abi(), maxwait, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryReduceFacesWithOptionsAndTimeAsync)(::windows_core::Interface::as_raw(this), printing3dfacereductionoptions.into_param().abi(), maxwait, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RepairWithProgressAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepairWithProgressAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepairWithProgressAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1869,7 +1869,7 @@ impl Printing3DModelTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextureResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextureResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTextureResource(&self, value: P0) -> ::windows_core::Result<()> @@ -1883,7 +1883,7 @@ impl Printing3DModelTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileStyleU)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileStyleU)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTileStyleU(&self, value: Printing3DTextureEdgeBehavior) -> ::windows_core::Result<()> { @@ -1894,7 +1894,7 @@ impl Printing3DModelTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileStyleV)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileStyleV)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTileStyleV(&self, value: Printing3DTextureEdgeBehavior) -> ::windows_core::Result<()> { @@ -1931,7 +1931,7 @@ impl Printing3DMultiplePropertyMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1957,7 +1957,7 @@ impl Printing3DMultiplePropertyMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MultipleProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MultipleProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1965,20 +1965,20 @@ impl Printing3DMultiplePropertyMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialGroupId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(materialgroupid: u32) -> ::windows_core::Result { Self::IPrinting3DMultiplePropertyMaterialGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2015,7 +2015,7 @@ impl Printing3DTexture2CoordMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Texture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Texture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTexture(&self, value: P0) -> ::windows_core::Result<()> @@ -2029,7 +2029,7 @@ impl Printing3DTexture2CoordMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).U)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).U)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetU(&self, value: f64) -> ::windows_core::Result<()> { @@ -2040,7 +2040,7 @@ impl Printing3DTexture2CoordMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).V)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).V)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetV(&self, value: f64) -> ::windows_core::Result<()> { @@ -2070,21 +2070,21 @@ impl Printing3DTexture2CoordMaterialGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Texture2Coords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Texture2Coords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaterialGroupId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaterialGroupId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Texture(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Texture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Texture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTexture(&self, value: P0) -> ::windows_core::Result<()> @@ -2097,7 +2097,7 @@ impl Printing3DTexture2CoordMaterialGroup { pub fn Create(materialgroupid: u32) -> ::windows_core::Result { Self::IPrinting3DTexture2CoordMaterialGroupFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), materialgroupid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2135,7 +2135,7 @@ impl Printing3DTextureResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextureData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextureData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2150,7 +2150,7 @@ impl Printing3DTextureResource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Management/Core/mod.rs b/crates/libs/windows/src/Windows/Management/Core/mod.rs index d67b7cf0ff..2984095a71 100644 --- a/crates/libs/windows/src/Windows/Management/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Core/mod.rs @@ -23,7 +23,7 @@ impl ApplicationDataManager { pub fn CreateForPackageFamily(packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IApplicationDataManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForPackageFamily)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForPackageFamily)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs b/crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs index 9d52dd57da..fb98e43a64 100644 --- a/crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs @@ -18,7 +18,7 @@ impl ClassicAppManager { pub fn FindInstalledApp(appuninstallkey: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IClassicAppManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindInstalledApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appuninstallkey), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindInstalledApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appuninstallkey), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -39,14 +39,14 @@ impl InstalledClassicAppInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Management/Deployment/mod.rs b/crates/libs/windows/src/Windows/Management/Deployment/mod.rs index 2daf518f68..9da674c877 100644 --- a/crates/libs/windows/src/Windows/Management/Deployment/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Deployment/mod.rs @@ -723,14 +723,14 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TargetVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTargetVolume(&self, value: P0) -> ::windows_core::Result<()> @@ -745,7 +745,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -753,7 +753,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -761,14 +761,14 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelatedPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelatedPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExternalLocationUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExternalLocationUri(&self, value: P0) -> ::windows_core::Result<()> @@ -782,7 +782,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StubPackageOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StubPackageOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStubPackageOption(&self, value: StubPackageOption) -> ::windows_core::Result<()> { @@ -793,7 +793,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeveloperMode(&self, value: bool) -> ::windows_core::Result<()> { @@ -804,7 +804,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -815,7 +815,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceTargetAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceTargetAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceTargetAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -826,7 +826,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows_core::Result<()> { @@ -837,7 +837,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallAllResources(&self, value: bool) -> ::windows_core::Result<()> { @@ -848,7 +848,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredContentGroupOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredContentGroupOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequiredContentGroupOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -859,7 +859,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetainFilesOnFailure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetainFilesOnFailure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRetainFilesOnFailure(&self, value: bool) -> ::windows_core::Result<()> { @@ -870,7 +870,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStageInPlace(&self, value: bool) -> ::windows_core::Result<()> { @@ -881,7 +881,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowUnsigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -892,7 +892,7 @@ impl AddPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferRegistrationWhenPackagesAreInUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferRegistrationWhenPackagesAreInUse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeferRegistrationWhenPackagesAreInUse(&self, value: bool) -> ::windows_core::Result<()> { @@ -904,14 +904,14 @@ impl AddPackageOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LimitToExistingPackages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LimitToExistingPackages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LimitToExistingPackages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLimitToExistingPackages(&self, value: bool) -> ::windows_core::Result<()> { @@ -954,13 +954,13 @@ impl AppInstallerManager { pub fn GetDefault() -> ::windows_core::Result { Self::IAppInstallerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForSystem() -> ::windows_core::Result { Self::IAppInstallerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -998,7 +998,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel")] @@ -1010,7 +1010,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInstallerUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInstallerUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppInstallerUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1024,7 +1024,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OnLaunch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OnLaunch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOnLaunch(&self, value: bool) -> ::windows_core::Result<()> { @@ -1035,7 +1035,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoursBetweenUpdateChecks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoursBetweenUpdateChecks)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHoursBetweenUpdateChecks(&self, value: u32) -> ::windows_core::Result<()> { @@ -1046,7 +1046,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowPrompt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowPrompt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowPrompt(&self, value: bool) -> ::windows_core::Result<()> { @@ -1057,7 +1057,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateBlocksActivation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateBlocksActivation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUpdateBlocksActivation(&self, value: bool) -> ::windows_core::Result<()> { @@ -1068,7 +1068,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticBackgroundTask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticBackgroundTask)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutomaticBackgroundTask(&self, value: bool) -> ::windows_core::Result<()> { @@ -1079,7 +1079,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows_core::Result<()> { @@ -1090,7 +1090,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoRepairEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoRepairEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAutoRepairEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1102,7 +1102,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1110,7 +1110,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RepairUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RepairUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1118,7 +1118,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1126,7 +1126,7 @@ impl AutoUpdateSettingsOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1136,7 +1136,7 @@ impl AutoUpdateSettingsOptions { { Self::IAutoUpdateSettingsOptionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromAppInstallerInfo)(::windows_core::Interface::as_raw(this), appinstallerinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromAppInstallerInfo)(::windows_core::Interface::as_raw(this), appinstallerinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1174,14 +1174,14 @@ impl CreateSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Members)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Members)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ForceAppShutdown(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -1192,7 +1192,7 @@ impl CreateSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCollisionOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCollisionOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCreateCollisionOption(&self, value: SharedPackageContainerCreationCollisionOptions) -> ::windows_core::Result<()> { @@ -1221,21 +1221,21 @@ impl CreateSharedPackageContainerResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Container)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Container)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1267,7 +1267,7 @@ impl DeleteSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -1278,7 +1278,7 @@ impl DeleteSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllUsers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllUsers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllUsers(&self, value: bool) -> ::windows_core::Result<()> { @@ -1307,14 +1307,14 @@ impl DeleteSharedPackageContainerResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1339,28 +1339,28 @@ impl DeploymentResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivityId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRegistered(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRegistered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRegistered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1392,7 +1392,7 @@ impl FindSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1403,7 +1403,7 @@ impl FindSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1440,7 +1440,7 @@ impl PackageAllUserProvisioningOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1448,7 +1448,7 @@ impl PackageAllUserProvisioningOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionOrderPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionOrderPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1485,7 +1485,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1497,14 +1497,14 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdatePackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdatePackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovePackageAsync(&self, packagefullname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1516,7 +1516,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1528,7 +1528,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1536,7 +1536,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1544,7 +1544,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1552,7 +1552,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1560,7 +1560,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1568,7 +1568,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUsers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUsers)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageState(&self, packagefullname: &::windows_core::HSTRING, packagestate: PackageState) -> ::windows_core::Result<()> { @@ -1580,14 +1580,14 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageByPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageByPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CleanupPackageForUserAsync(&self, packagename: &::windows_core::HSTRING, usersecurityid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CleanupPackageForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(usersecurityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CleanupPackageForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(usersecurityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1595,7 +1595,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1603,7 +1603,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1611,7 +1611,7 @@ impl PackageManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageByUserSecurityIdPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageByUserSecurityIdPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProvisionPackageForAllUsersWithOptionsAsync(&self, mainpackagefamilyname: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result> @@ -1621,14 +1621,14 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionPackageForAllUsersWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefamilyname), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionPackageForAllUsersWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefamilyname), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovePackageWithOptionsAsync(&self, packagefullname: &::windows_core::HSTRING, removaloptions: RemovalOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovePackageWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), removaloptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovePackageWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), removaloptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1640,7 +1640,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageWithOptionsAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageWithOptionsAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1651,7 +1651,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageByFullNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefullname), dependencypackagefullnames.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageByFullNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefullname), dependencypackagefullnames.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1659,7 +1659,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1667,7 +1667,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1675,7 +1675,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1683,7 +1683,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1691,7 +1691,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1699,21 +1699,21 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StageUserDataAsync(&self, packagefullname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageUserDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageUserDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddPackageVolumeAsync(&self, packagestorepath: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageVolumeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagestorepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageVolumeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagestorepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1726,7 +1726,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageToVolumeAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageToVolumeAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearPackageStatus(&self, packagefullname: &::windows_core::HSTRING, status: PackageStatus) -> ::windows_core::Result<()> { @@ -1743,14 +1743,14 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageWithAppDataVolumeAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, appdatavolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageWithAppDataVolumeAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, appdatavolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindPackageVolumeByName(&self, volumename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageVolumeByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(volumename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageVolumeByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(volumename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1758,14 +1758,14 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageVolumes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageVolumes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultPackageVolume(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultPackageVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultPackageVolume)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MovePackageToVolumeAsync(&self, packagefullname: &::windows_core::HSTRING, deploymentoptions: DeploymentOptions, targetvolume: P0) -> ::windows_core::Result> @@ -1775,7 +1775,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MovePackageToVolumeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), deploymentoptions, targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MovePackageToVolumeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), deploymentoptions, targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovePackageVolumeAsync(&self, volume: P0) -> ::windows_core::Result> @@ -1785,7 +1785,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovePackageVolumeAsync)(::windows_core::Interface::as_raw(this), volume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovePackageVolumeAsync)(::windows_core::Interface::as_raw(this), volume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultPackageVolume(&self, volume: P0) -> ::windows_core::Result<()> @@ -1806,7 +1806,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPackageVolumeOfflineAsync)(::windows_core::Interface::as_raw(this), packagevolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPackageVolumeOfflineAsync)(::windows_core::Interface::as_raw(this), packagevolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageVolumeOnlineAsync(&self, packagevolume: P0) -> ::windows_core::Result> @@ -1816,7 +1816,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPackageVolumeOnlineAsync)(::windows_core::Interface::as_raw(this), packagevolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPackageVolumeOnlineAsync)(::windows_core::Interface::as_raw(this), packagevolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1829,14 +1829,14 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageToVolumeAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageToVolumeAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StageUserDataWithOptionsAsync(&self, packagefullname: &::windows_core::HSTRING, deploymentoptions: DeploymentOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageUserDataWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageUserDataWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1844,7 +1844,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPackageVolumesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPackageVolumesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1859,7 +1859,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageToVolumeAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), externalpackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageToVolumeAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), externalpackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1874,7 +1874,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageToVolumeAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), externalpackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageToVolumeAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), externalpackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1887,21 +1887,21 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageByFamilyNameAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefamilyname), dependencypackagefamilynames.into_param().abi(), deploymentoptions, appdatavolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageByFamilyNameAndOptionalPackagesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mainpackagefamilyname), dependencypackagefamilynames.into_param().abi(), deploymentoptions, appdatavolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DebugSettings(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DebugSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DebugSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProvisionPackageForAllUsersAsync(&self, packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionPackageForAllUsersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionPackageForAllUsersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddPackageByAppInstallerFileAsync(&self, appinstallerfileuri: P0, options: AddPackageByAppInstallerOptions, targetvolume: P1) -> ::windows_core::Result> @@ -1912,7 +1912,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageByAppInstallerFileAsync)(::windows_core::Interface::as_raw(this), appinstallerfileuri.into_param().abi(), options, targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageByAppInstallerFileAsync)(::windows_core::Interface::as_raw(this), appinstallerfileuri.into_param().abi(), options, targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAddPackageByAppInstallerFileAsync(&self, appinstallerfileuri: P0, options: AddPackageByAppInstallerOptions, targetvolume: P1) -> ::windows_core::Result> @@ -1923,7 +1923,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddPackageByAppInstallerFileAsync)(::windows_core::Interface::as_raw(this), appinstallerfileuri.into_param().abi(), options, targetvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddPackageByAppInstallerFileAsync)(::windows_core::Interface::as_raw(this), appinstallerfileuri.into_param().abi(), options, targetvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1939,7 +1939,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageToVolumeAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), options, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), packageuristoinstall.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageToVolumeAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), options, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), packageuristoinstall.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1955,7 +1955,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageToVolumeAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), options, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), packageuristoinstall.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageToVolumeAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), options, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), packageuristoinstall.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1970,7 +1970,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddPackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddPackageAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), relatedpackageuris.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1986,14 +1986,14 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddPackageAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), relatedpackageuris.into_param().abi(), packageuristoinstall.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddPackageAndRelatedSetAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, targetvolume.into_param().abi(), optionalpackagefamilynames.into_param().abi(), relatedpackageuris.into_param().abi(), packageuristoinstall.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeprovisionPackageForAllUsersAsync(&self, packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeprovisionPackageForAllUsersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeprovisionPackageForAllUsersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2001,7 +2001,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindProvisionedPackages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindProvisionedPackages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddPackageByUriAsync(&self, packageuri: P0, options: P1) -> ::windows_core::Result> @@ -2012,7 +2012,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageByUriAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageByUriAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StagePackageByUriAsync(&self, packageuri: P0, options: P1) -> ::windows_core::Result> @@ -2023,7 +2023,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StagePackageByUriAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StagePackageByUriAsync)(::windows_core::Interface::as_raw(this), packageuri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisterPackageByUriAsync(&self, manifesturi: P0, options: P1) -> ::windows_core::Result> @@ -2034,7 +2034,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageByUriAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageByUriAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2046,7 +2046,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackagesByFullNameAsync)(::windows_core::Interface::as_raw(this), packagefullnames.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackagesByFullNameAsync)(::windows_core::Interface::as_raw(this), packagefullnames.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPackageStubPreference(&self, packagefamilyname: &::windows_core::HSTRING, usestub: PackageStubPreference) -> ::windows_core::Result<()> { @@ -2057,7 +2057,7 @@ impl PackageManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPackageStubPreference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPackageStubPreference)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).map(|| result__) } } } @@ -2086,7 +2086,7 @@ impl PackageManagerDebugSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetContentGroupStateAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), ::core::mem::transmute_copy(contentgroupname), state, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetContentGroupStateAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), ::core::mem::transmute_copy(contentgroupname), state, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -2097,7 +2097,7 @@ impl PackageManagerDebugSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetContentGroupStateWithPercentageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), ::core::mem::transmute_copy(contentgroupname), state, completionpercentage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetContentGroupStateWithPercentageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), ::core::mem::transmute_copy(contentgroupname), state, completionpercentage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2122,14 +2122,14 @@ impl PackageUserInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserSecurityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserSecurityId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstallState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2154,42 +2154,42 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOffline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOffline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSystemVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSystemVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSystemVolume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MountPoint(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MountPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MountPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageStorePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageStorePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageStorePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportsHardLinks(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsHardLinks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsHardLinks)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2197,7 +2197,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2205,7 +2205,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2213,7 +2213,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2221,7 +2221,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2229,7 +2229,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByNamePublisherWithPackagesTypes)(::windows_core::Interface::as_raw(this), packagetypes, ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByNamePublisherWithPackagesTypes)(::windows_core::Interface::as_raw(this), packagetypes, ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2237,7 +2237,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByPackageFamilyNameWithPackageTypes)(::windows_core::Interface::as_raw(this), packagetypes, ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2245,7 +2245,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageByPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageByPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2253,7 +2253,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2261,7 +2261,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2269,7 +2269,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2277,7 +2277,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2285,7 +2285,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdNamePublisherWithPackageTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2293,7 +2293,7 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), packagetypes, ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2301,28 +2301,28 @@ impl PackageVolume { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackageByUserSecurityIdPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefullname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackageByUserSecurityIdPackageFullName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersecurityid), ::core::mem::transmute_copy(packagefullname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFullTrustPackageSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFullTrustPackageSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFullTrustPackageSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAppxInstallSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppxInstallSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppxInstallSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetAvailableSpaceAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableSpaceAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableSpaceAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2355,14 +2355,14 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppDataVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDataVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDataVolume)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppDataVolume(&self, value: P0) -> ::windows_core::Result<()> @@ -2377,14 +2377,14 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExternalLocationUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExternalLocationUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2398,7 +2398,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeveloperMode(&self, value: bool) -> ::windows_core::Result<()> { @@ -2409,7 +2409,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -2420,7 +2420,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceTargetAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceTargetAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceTargetAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -2431,7 +2431,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows_core::Result<()> { @@ -2442,7 +2442,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallAllResources(&self, value: bool) -> ::windows_core::Result<()> { @@ -2453,7 +2453,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStageInPlace(&self, value: bool) -> ::windows_core::Result<()> { @@ -2464,7 +2464,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowUnsigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -2475,7 +2475,7 @@ impl RegisterPackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferRegistrationWhenPackagesAreInUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferRegistrationWhenPackagesAreInUse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeferRegistrationWhenPackagesAreInUse(&self, value: bool) -> ::windows_core::Result<()> { @@ -2487,7 +2487,7 @@ impl RegisterPackageOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2512,14 +2512,14 @@ impl SharedPackageContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2527,7 +2527,7 @@ impl SharedPackageContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMembers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMembers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovePackageFamily(&self, packagefamilyname: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result @@ -2537,14 +2537,14 @@ impl SharedPackageContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovePackageFamily)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovePackageFamily)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResetData(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2572,7 +2572,7 @@ impl SharedPackageContainerManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteContainer(&self, id: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result @@ -2582,14 +2582,14 @@ impl SharedPackageContainerManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContainer(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2597,7 +2597,7 @@ impl SharedPackageContainerManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContainers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContainers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2608,25 +2608,25 @@ impl SharedPackageContainerManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContainersWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContainersWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ISharedPackageContainerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(usersid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISharedPackageContainerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(usersid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForProvisioning() -> ::windows_core::Result { Self::ISharedPackageContainerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForProvisioning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForProvisioning)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2656,13 +2656,13 @@ impl SharedPackageContainerMember { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISharedPackageContainerMemberFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2700,14 +2700,14 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DependencyPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TargetVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetVolume)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTargetVolume(&self, value: P0) -> ::windows_core::Result<()> @@ -2722,7 +2722,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageFamilyNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2730,7 +2730,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2738,14 +2738,14 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelatedPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelatedPackageUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExternalLocationUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExternalLocationUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExternalLocationUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2759,7 +2759,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StubPackageOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StubPackageOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStubPackageOption(&self, value: StubPackageOption) -> ::windows_core::Result<()> { @@ -2770,7 +2770,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeveloperMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeveloperMode(&self, value: bool) -> ::windows_core::Result<()> { @@ -2781,7 +2781,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpdateFromAnyVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows_core::Result<()> { @@ -2792,7 +2792,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallAllResources)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallAllResources(&self, value: bool) -> ::windows_core::Result<()> { @@ -2803,7 +2803,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredContentGroupOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredContentGroupOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequiredContentGroupOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -2814,7 +2814,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StageInPlace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStageInPlace(&self, value: bool) -> ::windows_core::Result<()> { @@ -2825,7 +2825,7 @@ impl StagePackageOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowUnsigned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowUnsigned(&self, value: bool) -> ::windows_core::Result<()> { @@ -2837,7 +2837,7 @@ impl StagePackageOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedDigests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2869,7 +2869,7 @@ impl UpdateSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceAppShutdown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForceAppShutdown(&self, value: bool) -> ::windows_core::Result<()> { @@ -2880,7 +2880,7 @@ impl UpdateSharedPackageContainerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequirePackagesPresent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequirePackagesPresent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequirePackagesPresent(&self, value: bool) -> ::windows_core::Result<()> { @@ -2909,14 +2909,14 @@ impl UpdateSharedPackageContainerResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Management/Policies/mod.rs b/crates/libs/windows/src/Windows/Management/Policies/mod.rs index c49d27faf7..30bfec2edd 100644 --- a/crates/libs/windows/src/Windows/Management/Policies/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Policies/mod.rs @@ -39,7 +39,7 @@ impl NamedPolicy { pub fn GetPolicyFromPath(area: &::windows_core::HSTRING, name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::INamedPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPolicyFromPath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(area), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPolicyFromPath)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(area), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -49,7 +49,7 @@ impl NamedPolicy { { Self::INamedPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPolicyFromPathForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(area), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPolicyFromPathForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(area), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -70,35 +70,35 @@ impl NamedPolicyData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Area)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Area)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsManaged(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsManaged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsManaged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUserPolicy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -106,14 +106,14 @@ impl NamedPolicyData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -121,28 +121,28 @@ impl NamedPolicyData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBinary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBinary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Changed(&self, changedhandler: P0) -> ::windows_core::Result @@ -152,7 +152,7 @@ impl NamedPolicyData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Management/Update/mod.rs b/crates/libs/windows/src/Windows/Management/Update/mod.rs index 66f5a40e20..d31ad3a5fb 100644 --- a/crates/libs/windows/src/Windows/Management/Update/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Update/mod.rs @@ -263,7 +263,7 @@ impl PreviewBuildsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArePreviewBuildsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArePreviewBuildsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetArePreviewBuildsAllowed(&self, value: bool) -> ::windows_core::Result<()> { @@ -274,26 +274,26 @@ impl PreviewBuildsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IPreviewBuildsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IPreviewBuildsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -324,7 +324,7 @@ impl PreviewBuildsState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -349,161 +349,161 @@ impl WindowsUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFeatureUpdate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFeatureUpdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFeatureUpdate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMinorImpact(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMinorImpact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMinorImpact)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSecurity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSecurity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSecurity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCritical(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCritical)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCritical)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsForOS(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsForOS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsForOS)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDriver(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDriver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDriver)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMandatory(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMandatory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMandatory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsUrgent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUrgent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUrgent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSeeker(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSeeker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSeeker)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoreInfoUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEulaAccepted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEulaAccepted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEulaAccepted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EulaText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EulaText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EulaText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttentionRequiredInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttentionRequiredInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttentionRequiredInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActionResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentAction(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentAction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentAction)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActionProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionProgress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPropertyValue(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptEula(&self) -> ::windows_core::Result<()> { @@ -532,28 +532,28 @@ impl WindowsUpdateActionCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Action(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -578,14 +578,14 @@ impl WindowsUpdateActionProgress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -610,28 +610,28 @@ impl WindowsUpdateActionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Action(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -680,31 +680,31 @@ impl WindowsUpdateAdministrator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUpdates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRegisteredAdministrator(organizationname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWindowsUpdateAdministratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRegisteredAdministrator)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRegisteredAdministrator)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RegisterForAdministration(organizationname: &::windows_core::HSTRING, options: WindowsUpdateAdministratorOptions) -> ::windows_core::Result { Self::IWindowsUpdateAdministratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterForAdministration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterForAdministration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), options, &mut result__).map(|| result__) }) } pub fn UnregisterForAdministration(organizationname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWindowsUpdateAdministratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnregisterForAdministration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnregisterForAdministration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(organizationname), &mut result__).map(|| result__) }) } pub fn GetRegisteredAdministratorName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IWindowsUpdateAdministratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRegisteredAdministratorName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRegisteredAdministratorName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestRestart(restartoptions: P0) -> ::windows_core::Result<::windows_core::HSTRING> @@ -713,7 +713,7 @@ impl WindowsUpdateAdministrator { { Self::IWindowsUpdateAdministratorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRestart)(::windows_core::Interface::as_raw(this), restartoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRestart)(::windows_core::Interface::as_raw(this), restartoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CancelRestartRequest(requestrestarttoken: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -753,7 +753,7 @@ impl WindowsUpdateApprovalData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Seeker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Seeker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSeeker(&self, value: P0) -> ::windows_core::Result<()> @@ -767,7 +767,7 @@ impl WindowsUpdateApprovalData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowDownloadOnMetered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowDownloadOnMetered)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAllowDownloadOnMetered(&self, value: P0) -> ::windows_core::Result<()> @@ -781,7 +781,7 @@ impl WindowsUpdateApprovalData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComplianceDeadlineInDays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComplianceDeadlineInDays)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComplianceDeadlineInDays(&self, value: P0) -> ::windows_core::Result<()> @@ -795,7 +795,7 @@ impl WindowsUpdateApprovalData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComplianceGracePeriodInDays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComplianceGracePeriodInDays)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComplianceGracePeriodInDays(&self, value: P0) -> ::windows_core::Result<()> @@ -809,7 +809,7 @@ impl WindowsUpdateApprovalData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptOutOfAutoReboot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptOutOfAutoReboot)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOptOutOfAutoReboot(&self, value: P0) -> ::windows_core::Result<()> @@ -841,14 +841,14 @@ impl WindowsUpdateAttentionRequiredInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -873,14 +873,14 @@ impl WindowsUpdateAttentionRequiredReasonChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -905,14 +905,14 @@ impl WindowsUpdateGetAdministratorResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Administrator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Administrator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -937,56 +937,56 @@ impl WindowsUpdateItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoreInfoUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Category(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Operation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1014,7 +1014,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanningStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanningStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScanningStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1028,7 +1028,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkingStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkingStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWorkingStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1042,7 +1042,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgressChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgressChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProgressChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1056,7 +1056,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttentionRequiredReasonChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttentionRequiredReasonChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAttentionRequiredReasonChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1070,7 +1070,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActionCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1084,7 +1084,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScanCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1095,21 +1095,21 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScanning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScanning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsWorking(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWorking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWorking)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSuccessfulScanTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulScanTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulScanTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1117,7 +1117,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApplicableUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApplicableUpdates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1125,7 +1125,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMostRecentCompletedUpdates)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMostRecentCompletedUpdates)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1133,7 +1133,7 @@ impl WindowsUpdateManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMostRecentCompletedUpdatesAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMostRecentCompletedUpdatesAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartScan(&self, userinitiated: bool) -> ::windows_core::Result<()> { @@ -1143,7 +1143,7 @@ impl WindowsUpdateManager { pub fn CreateInstance(clientid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWindowsUpdateManagerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(clientid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(clientid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1173,14 +1173,14 @@ impl WindowsUpdateProgressChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Update)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActionProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionProgress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1212,7 +1212,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1223,7 +1223,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1234,7 +1234,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoreInfoUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMoreInfoUrl(&self, value: P0) -> ::windows_core::Result<()> @@ -1248,7 +1248,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComplianceDeadlineInDays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComplianceDeadlineInDays)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetComplianceDeadlineInDays(&self, value: i32) -> ::windows_core::Result<()> { @@ -1259,7 +1259,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComplianceGracePeriodInDays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComplianceGracePeriodInDays)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetComplianceGracePeriodInDays(&self, value: i32) -> ::windows_core::Result<()> { @@ -1270,7 +1270,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrganizationName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrganizationName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOrganizationName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1281,7 +1281,7 @@ impl WindowsUpdateRestartRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptOutOfAutoReboot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptOutOfAutoReboot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOptOutOfAutoReboot(&self, value: bool) -> ::windows_core::Result<()> { @@ -1294,7 +1294,7 @@ impl WindowsUpdateRestartRequestOptions { { Self::IWindowsUpdateRestartRequestOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(description), moreinfourl.into_param().abi(), compliancedeadlineindays, compliancegraceperiodindays, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(description), moreinfourl.into_param().abi(), compliancedeadlineindays, compliancegraceperiodindays, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1324,21 +1324,21 @@ impl WindowsUpdateScanCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1346,7 +1346,7 @@ impl WindowsUpdateScanCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Management/Workplace/mod.rs b/crates/libs/windows/src/Windows/Management/Workplace/mod.rs index 51badbc899..303f69f650 100644 --- a/crates/libs/windows/src/Windows/Management/Workplace/mod.rs +++ b/crates/libs/windows/src/Windows/Management/Workplace/mod.rs @@ -27,31 +27,31 @@ impl MdmPolicy { pub fn IsBrowserAllowed() -> ::windows_core::Result { Self::IMdmAllowPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBrowserAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBrowserAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsCameraAllowed() -> ::windows_core::Result { Self::IMdmAllowPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCameraAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCameraAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsMicrosoftAccountAllowed() -> ::windows_core::Result { Self::IMdmAllowPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMicrosoftAccountAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMicrosoftAccountAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsStoreAllowed() -> ::windows_core::Result { Self::IMdmAllowPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStoreAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStoreAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetMessagingSyncPolicy() -> ::windows_core::Result { Self::IMdmPolicyStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMessagingSyncPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMessagingSyncPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -73,7 +73,7 @@ impl WorkplaceSettings { pub fn IsMicrosoftAccountOptional() -> ::windows_core::Result { Self::IWorkplaceSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMicrosoftAccountOptional)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMicrosoftAccountOptional)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Management/mod.rs b/crates/libs/windows/src/Windows/Management/mod.rs index b45fa07e0e..5f9a837076 100644 --- a/crates/libs/windows/src/Windows/Management/mod.rs +++ b/crates/libs/windows/src/Windows/Management/mod.rs @@ -76,7 +76,7 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -87,7 +87,7 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: MdmAlertDataType) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mark)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mark)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMark(&self, value: MdmAlertMark) -> ::windows_core::Result<()> { @@ -109,7 +109,7 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -120,14 +120,14 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Target(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -138,7 +138,7 @@ impl MdmAlert { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -166,35 +166,35 @@ impl MdmSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Alerts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Alerts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttachAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Delete(&self) -> ::windows_core::Result<()> { @@ -205,7 +205,7 @@ impl MdmSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -216,7 +216,7 @@ impl MdmSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartWithAlertsAsync)(::windows_core::Interface::as_raw(this), alerts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartWithAlertsAsync)(::windows_core::Interface::as_raw(this), alerts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -236,13 +236,13 @@ impl MdmSessionManager { pub fn SessionIds() -> ::windows_core::Result> { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateSession() -> ::windows_core::Result { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeleteSessionById(sessionid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -251,7 +251,7 @@ impl MdmSessionManager { pub fn GetSessionById(sessionid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sessionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sessionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs b/crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs index 27bb2d2cc7..cb685e7ffb 100644 --- a/crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs +++ b/crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs @@ -64,7 +64,7 @@ impl AppBroadcastingMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCurrentAppBroadcastingChanged(&self, handler: P0) -> ::windows_core::Result @@ -74,7 +74,7 @@ impl AppBroadcastingMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentAppBroadcastingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentAppBroadcastingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsCurrentAppBroadcastingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -103,14 +103,14 @@ impl AppBroadcastingStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanStartBroadcast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanStartBroadcast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Details(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -135,56 +135,56 @@ impl AppBroadcastingStatusDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnyAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnyAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCaptureResourceUnavailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCaptureResourceUnavailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCaptureResourceUnavailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGameStreamInProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGameStreamInProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGameStreamInProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGpuConstrained(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAppInactive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppInactive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppInactive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBlockedForApp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlockedForApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlockedForApp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledByUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledBySystem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledBySystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledBySystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -209,7 +209,7 @@ impl AppBroadcastingUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowBroadcastUI(&self) -> ::windows_core::Result<()> { @@ -219,7 +219,7 @@ impl AppBroadcastingUI { pub fn GetDefault() -> ::windows_core::Result { Self::IAppBroadcastingUIStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -229,7 +229,7 @@ impl AppBroadcastingUI { { Self::IAppBroadcastingUIStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/AppRecording/mod.rs b/crates/libs/windows/src/Windows/Media/AppRecording/mod.rs index 4256aa628e..0e877c0793 100644 --- a/crates/libs/windows/src/Windows/Media/AppRecording/mod.rs +++ b/crates/libs/windows/src/Windows/Media/AppRecording/mod.rs @@ -95,7 +95,7 @@ impl AppRecordingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -106,7 +106,7 @@ impl AppRecordingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartRecordingToFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartRecordingToFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -117,7 +117,7 @@ impl AppRecordingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordTimeSpanToFileAsync)(::windows_core::Interface::as_raw(this), starttime, duration, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordTimeSpanToFileAsync)(::windows_core::Interface::as_raw(this), starttime, duration, file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -125,7 +125,7 @@ impl AppRecordingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedScreenshotMediaEncodingSubtypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedScreenshotMediaEncodingSubtypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -137,13 +137,13 @@ impl AppRecordingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveScreenshotToFilesAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filenameprefix), option, requestedformats.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveScreenshotToFilesAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), ::core::mem::transmute_copy(filenameprefix), option, requestedformats.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAppRecordingManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -173,28 +173,28 @@ impl AppRecordingResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFileTruncated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFileTruncated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFileTruncated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -219,14 +219,14 @@ impl AppRecordingSaveScreenshotResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -234,7 +234,7 @@ impl AppRecordingSaveScreenshotResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavedScreenshotInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavedScreenshotInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -260,14 +260,14 @@ impl AppRecordingSavedScreenshotInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaEncodingSubtype(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaEncodingSubtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaEncodingSubtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -292,28 +292,28 @@ impl AppRecordingStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRecord)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRecord)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanRecordTimeSpan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRecordTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRecordTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HistoricalBufferDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoricalBufferDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoricalBufferDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Details(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -338,63 +338,63 @@ impl AppRecordingStatusDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnyAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnyAppBroadcasting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCaptureResourceUnavailable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCaptureResourceUnavailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCaptureResourceUnavailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGameStreamInProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGameStreamInProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGameStreamInProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTimeSpanRecordingDisabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTimeSpanRecordingDisabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTimeSpanRecordingDisabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGpuConstrained(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAppInactive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppInactive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppInactive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBlockedForApp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBlockedForApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBlockedForApp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledByUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledBySystem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledBySystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledBySystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Audio/mod.rs b/crates/libs/windows/src/Windows/Media/Audio/mod.rs index b0815668db..3fb252cc9a 100644 --- a/crates/libs/windows/src/Windows/Media/Audio/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Audio/mod.rs @@ -278,7 +278,7 @@ impl IAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -307,7 +307,7 @@ impl IAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -318,7 +318,7 @@ impl IAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -326,14 +326,14 @@ impl IAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -396,7 +396,7 @@ impl IAudioInputNode2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -404,7 +404,7 @@ impl IAudioInputNode2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -433,7 +433,7 @@ impl IAudioInputNode2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -444,7 +444,7 @@ impl IAudioInputNode2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -452,14 +452,14 @@ impl IAudioInputNode2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -517,7 +517,7 @@ impl IAudioNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -528,7 +528,7 @@ impl IAudioNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -536,14 +536,14 @@ impl IAudioNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -766,7 +766,7 @@ impl IAudioNodeWithListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Listener)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Listener)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -774,7 +774,7 @@ impl IAudioNodeWithListener { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -785,7 +785,7 @@ impl IAudioNodeWithListener { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -793,14 +793,14 @@ impl IAudioNodeWithListener { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -1240,7 +1240,7 @@ impl AudioDeviceInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1248,7 +1248,7 @@ impl AudioDeviceInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -1276,7 +1276,7 @@ impl AudioDeviceInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -1284,7 +1284,7 @@ impl AudioDeviceInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -1295,7 +1295,7 @@ impl AudioDeviceInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1303,14 +1303,14 @@ impl AudioDeviceInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -1373,7 +1373,7 @@ impl AudioDeviceOutputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -1381,7 +1381,7 @@ impl AudioDeviceOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -1392,7 +1392,7 @@ impl AudioDeviceOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1400,14 +1400,14 @@ impl AudioDeviceOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -1453,7 +1453,7 @@ impl AudioDeviceOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Listener)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Listener)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -1487,14 +1487,14 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1505,7 +1505,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1519,7 +1519,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEndTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1533,7 +1533,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoopCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoopCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLoopCount(&self, value: P0) -> ::windows_core::Result<()> @@ -1547,7 +1547,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -1555,7 +1555,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FileCompleted(&self, handler: P0) -> ::windows_core::Result @@ -1565,7 +1565,7 @@ impl AudioFileInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFileCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1577,7 +1577,7 @@ impl AudioFileInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -1605,7 +1605,7 @@ impl AudioFileInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -1613,7 +1613,7 @@ impl AudioFileInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -1624,7 +1624,7 @@ impl AudioFileInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1632,14 +1632,14 @@ impl AudioFileInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -1702,7 +1702,7 @@ impl AudioFileOutputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -1710,7 +1710,7 @@ impl AudioFileOutputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileEncodingProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileEncodingProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Transcoding")] @@ -1718,7 +1718,7 @@ impl AudioFileOutputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalizeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalizeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -1726,7 +1726,7 @@ impl AudioFileOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -1737,7 +1737,7 @@ impl AudioFileOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1745,14 +1745,14 @@ impl AudioFileOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -1813,7 +1813,7 @@ impl AudioFrameCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1843,7 +1843,7 @@ impl AudioFrameInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddFrame(&self, frame: P0) -> ::windows_core::Result<()> @@ -1861,7 +1861,7 @@ impl AudioFrameInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueuedSampleCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueuedSampleCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioFrameCompleted(&self, handler: P0) -> ::windows_core::Result @@ -1871,7 +1871,7 @@ impl AudioFrameInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFrameCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFrameCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioFrameCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1885,7 +1885,7 @@ impl AudioFrameInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuantumStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuantumStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveQuantumStarted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1897,7 +1897,7 @@ impl AudioFrameInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -1925,7 +1925,7 @@ impl AudioFrameInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -1933,7 +1933,7 @@ impl AudioFrameInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -1944,7 +1944,7 @@ impl AudioFrameInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1952,14 +1952,14 @@ impl AudioFrameInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -2021,7 +2021,7 @@ impl AudioFrameOutputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -2029,7 +2029,7 @@ impl AudioFrameOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -2040,7 +2040,7 @@ impl AudioFrameOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2048,14 +2048,14 @@ impl AudioFrameOutputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -2117,7 +2117,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameInputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameInputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2128,7 +2128,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameInputNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameInputNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture")] @@ -2136,7 +2136,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceInputNodeAsync)(::windows_core::Interface::as_raw(this), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceInputNodeAsync)(::windows_core::Interface::as_raw(this), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -2147,7 +2147,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Enumeration", feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -2159,14 +2159,14 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatOnDeviceAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatOnDeviceAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFrameOutputNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2177,14 +2177,14 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameOutputNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameOutputNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDeviceOutputNodeAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceOutputNodeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceOutputNodeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -2195,7 +2195,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileInputNodeAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileInputNodeAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -2206,7 +2206,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileOutputNodeAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileOutputNodeAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage"))] @@ -2218,14 +2218,14 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileOutputNodeWithFileProfileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), fileencodingprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileOutputNodeWithFileProfileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), fileencodingprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSubmixNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSubmixNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSubmixNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2236,7 +2236,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSubmixNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSubmixNodeWithFormat)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -2258,7 +2258,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuantumStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuantumStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveQuantumStarted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2272,7 +2272,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuantumProcessed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuantumProcessed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveQuantumProcessed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2286,7 +2286,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnrecoverableErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnrecoverableErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnrecoverableErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2297,7 +2297,7 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletedQuantumCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletedQuantumCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2305,14 +2305,14 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LatencyInSamples(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LatencyInSamples)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LatencyInSamples)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -2320,21 +2320,21 @@ impl AudioGraph { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryRenderDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryRenderDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenderDeviceAudioProcessing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderDeviceAudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderDeviceAudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SamplesPerQuantum(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SamplesPerQuantum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SamplesPerQuantum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2346,7 +2346,7 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameInputNodeWithFormatAndEmitter)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), emitter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameInputNodeWithFormatAndEmitter)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), emitter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Enumeration", feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -2359,7 +2359,7 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), device.into_param().abi(), emitter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync)(::windows_core::Interface::as_raw(this), category, encodingproperties.into_param().abi(), device.into_param().abi(), emitter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -2371,7 +2371,7 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileInputNodeWithEmitterAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), emitter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileInputNodeWithEmitterAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), emitter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2383,14 +2383,14 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSubmixNodeWithFormatAndEmitter)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), emitter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSubmixNodeWithFormatAndEmitter)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), emitter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBatchUpdater(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBatchUpdater)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBatchUpdater)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -2401,7 +2401,7 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMediaSourceAudioInputNodeAsync)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMediaSourceAudioInputNodeAsync)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -2413,7 +2413,7 @@ impl AudioGraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMediaSourceAudioInputNodeWithEmitterAsync)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), emitter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMediaSourceAudioInputNodeWithEmitterAsync)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), emitter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAsync(settings: P0) -> ::windows_core::Result> @@ -2422,7 +2422,7 @@ impl AudioGraph { { Self::IAudioGraphStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -2479,7 +2479,7 @@ impl AudioGraphConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Destination)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Destination)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -2490,7 +2490,7 @@ impl AudioGraphConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2516,7 +2516,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2532,7 +2532,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryRenderDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryRenderDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -2547,7 +2547,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuantumSizeSelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuantumSizeSelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQuantumSizeSelectionMode(&self, value: QuantumSizeSelectionMode) -> ::windows_core::Result<()> { @@ -2558,7 +2558,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredSamplesPerQuantum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredSamplesPerQuantum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredSamplesPerQuantum(&self, value: i32) -> ::windows_core::Result<()> { @@ -2570,7 +2570,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioRenderCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioRenderCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Render")] @@ -2582,7 +2582,7 @@ impl AudioGraphSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredRenderDeviceAudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredRenderDeviceAudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredRenderDeviceAudioProcessing(&self, value: super::AudioProcessing) -> ::windows_core::Result<()> { @@ -2597,14 +2597,14 @@ impl AudioGraphSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Render")] pub fn Create(audiorendercategory: super::Render::AudioRenderCategory) -> ::windows_core::Result { Self::IAudioGraphSettingsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiorendercategory, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiorendercategory, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2634,7 +2634,7 @@ impl AudioGraphUnrecoverableErrorOccurredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2667,7 +2667,7 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2680,7 +2680,7 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2692,21 +2692,21 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DecayModel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecayModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecayModel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Gain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -2717,7 +2717,7 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDistanceScale(&self, value: f64) -> ::windows_core::Result<()> { @@ -2728,7 +2728,7 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DopplerScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DopplerScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDopplerScale(&self, value: f64) -> ::windows_core::Result<()> { @@ -2740,7 +2740,7 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DopplerVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DopplerVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2752,14 +2752,14 @@ impl AudioNodeEmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDopplerDisabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDopplerDisabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SpatialAudioModel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialAudioModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialAudioModel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpatialAudioModel(&self, value: SpatialAudioModel) -> ::windows_core::Result<()> { @@ -2773,7 +2773,7 @@ impl AudioNodeEmitter { { Self::IAudioNodeEmitterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioNodeEmitter)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), decaymodel.into_param().abi(), settings, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioNodeEmitter)(::windows_core::Interface::as_raw(this), shape.into_param().abi(), decaymodel.into_param().abi(), settings, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2803,21 +2803,21 @@ impl AudioNodeEmitterConeProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OuterAngle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OuterAngleGain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterAngleGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterAngleGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2842,40 +2842,40 @@ impl AudioNodeEmitterDecayModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinGain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxGain(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NaturalProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateNatural(mingain: f64, maxgain: f64, unitygaindistance: f64, cutoffdistance: f64) -> ::windows_core::Result { Self::IAudioNodeEmitterDecayModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNatural)(::windows_core::Interface::as_raw(this), mingain, maxgain, unitygaindistance, cutoffdistance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNatural)(::windows_core::Interface::as_raw(this), mingain, maxgain, unitygaindistance, cutoffdistance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCustom(mingain: f64, maxgain: f64) -> ::windows_core::Result { Self::IAudioNodeEmitterDecayModelStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCustom)(::windows_core::Interface::as_raw(this), mingain, maxgain, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCustom)(::windows_core::Interface::as_raw(this), mingain, maxgain, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2905,14 +2905,14 @@ impl AudioNodeEmitterNaturalDecayModelProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnityGainDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnityGainDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CutoffDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CutoffDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CutoffDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2937,26 +2937,26 @@ impl AudioNodeEmitterShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConeProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConeProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConeProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateCone(innerangle: f64, outerangle: f64, outeranglegain: f64) -> ::windows_core::Result { Self::IAudioNodeEmitterShapeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCone)(::windows_core::Interface::as_raw(this), innerangle, outerangle, outeranglegain, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCone)(::windows_core::Interface::as_raw(this), innerangle, outerangle, outeranglegain, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateOmnidirectional() -> ::windows_core::Result { Self::IAudioNodeEmitterShapeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOmnidirectional)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOmnidirectional)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2994,7 +2994,7 @@ impl AudioNodeListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3007,7 +3007,7 @@ impl AudioNodeListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3019,7 +3019,7 @@ impl AudioNodeListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeedOfSound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeedOfSound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpeedOfSound(&self, value: f64) -> ::windows_core::Result<()> { @@ -3031,7 +3031,7 @@ impl AudioNodeListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DopplerVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DopplerVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3066,35 +3066,35 @@ impl AudioPlaybackConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Open(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Open)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Open)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -3104,7 +3104,7 @@ impl AudioPlaybackConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3114,13 +3114,13 @@ impl AudioPlaybackConnection { pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAudioPlaybackConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateFromId(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAudioPlaybackConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -3154,14 +3154,14 @@ impl AudioPlaybackConnectionOpenResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3189,7 +3189,7 @@ impl AudioStateMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSoundLevelChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3200,61 +3200,61 @@ impl AudioStateMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateForRenderMonitoring() -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForRenderMonitoring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForRenderMonitoring)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Render")] pub fn CreateForRenderMonitoringWithCategory(category: super::Render::AudioRenderCategory) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategory)(::windows_core::Interface::as_raw(this), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategory)(::windows_core::Interface::as_raw(this), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Media_Devices", feature = "Media_Render"))] pub fn CreateForRenderMonitoringWithCategoryAndDeviceRole(category: super::Render::AudioRenderCategory, role: super::Devices::AudioDeviceRole) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategoryAndDeviceRole)(::windows_core::Interface::as_raw(this), category, role, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategoryAndDeviceRole)(::windows_core::Interface::as_raw(this), category, role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Render")] pub fn CreateForRenderMonitoringWithCategoryAndDeviceId(category: super::Render::AudioRenderCategory, deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategoryAndDeviceId)(::windows_core::Interface::as_raw(this), category, ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForRenderMonitoringWithCategoryAndDeviceId)(::windows_core::Interface::as_raw(this), category, ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateForCaptureMonitoring() -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCaptureMonitoring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCaptureMonitoring)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Capture")] pub fn CreateForCaptureMonitoringWithCategory(category: super::Capture::MediaCategory) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategory)(::windows_core::Interface::as_raw(this), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategory)(::windows_core::Interface::as_raw(this), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Media_Capture", feature = "Media_Devices"))] pub fn CreateForCaptureMonitoringWithCategoryAndDeviceRole(category: super::Capture::MediaCategory, role: super::Devices::AudioDeviceRole) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategoryAndDeviceRole)(::windows_core::Interface::as_raw(this), category, role, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategoryAndDeviceRole)(::windows_core::Interface::as_raw(this), category, role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Capture")] pub fn CreateForCaptureMonitoringWithCategoryAndDeviceId(category: super::Capture::MediaCategory, deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAudioStateMonitorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategoryAndDeviceId)(::windows_core::Interface::as_raw(this), category, ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCaptureMonitoringWithCategoryAndDeviceId)(::windows_core::Interface::as_raw(this), category, ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3286,7 +3286,7 @@ impl AudioSubmixNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -3314,7 +3314,7 @@ impl AudioSubmixNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -3322,7 +3322,7 @@ impl AudioSubmixNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -3333,7 +3333,7 @@ impl AudioSubmixNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3341,14 +3341,14 @@ impl AudioSubmixNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -3409,21 +3409,21 @@ impl CreateAudioDeviceInputNodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceInputNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3448,21 +3448,21 @@ impl CreateAudioDeviceOutputNodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceOutputNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3487,21 +3487,21 @@ impl CreateAudioFileInputNodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FileInputNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileInputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileInputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3526,21 +3526,21 @@ impl CreateAudioFileOutputNodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FileOutputNode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileOutputNode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3565,21 +3565,21 @@ impl CreateAudioGraphResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Graph(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Graph)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Graph)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3604,21 +3604,21 @@ impl CreateMediaSourceAudioInputNodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Node(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Node)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Node)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3646,7 +3646,7 @@ impl EchoEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -3654,7 +3654,7 @@ impl EchoEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWetDryMix(&self, value: f64) -> ::windows_core::Result<()> { @@ -3665,7 +3665,7 @@ impl EchoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetDryMix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetDryMix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFeedback(&self, value: f64) -> ::windows_core::Result<()> { @@ -3676,7 +3676,7 @@ impl EchoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Feedback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Feedback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelay(&self, value: f64) -> ::windows_core::Result<()> { @@ -3687,7 +3687,7 @@ impl EchoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(audiograph: P0) -> ::windows_core::Result @@ -3696,7 +3696,7 @@ impl EchoEffectDefinition { { Self::IEchoEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3726,7 +3726,7 @@ impl EqualizerBand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bandwidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bandwidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBandwidth(&self, value: f64) -> ::windows_core::Result<()> { @@ -3737,7 +3737,7 @@ impl EqualizerBand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrequencyCenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrequencyCenter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFrequencyCenter(&self, value: f64) -> ::windows_core::Result<()> { @@ -3748,7 +3748,7 @@ impl EqualizerBand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -3780,7 +3780,7 @@ impl EqualizerEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -3788,7 +3788,7 @@ impl EqualizerEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3796,7 +3796,7 @@ impl EqualizerEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(audiograph: P0) -> ::windows_core::Result @@ -3805,7 +3805,7 @@ impl EqualizerEffectDefinition { { Self::IEqualizerEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3835,7 +3835,7 @@ impl FrameInputNodeQuantumStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequiredSamples)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequiredSamples)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3863,7 +3863,7 @@ impl LimiterEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -3871,7 +3871,7 @@ impl LimiterEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRelease(&self, value: u32) -> ::windows_core::Result<()> { @@ -3882,7 +3882,7 @@ impl LimiterEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Release)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Release)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLoudness(&self, value: u32) -> ::windows_core::Result<()> { @@ -3893,7 +3893,7 @@ impl LimiterEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Loudness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Loudness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(audiograph: P0) -> ::windows_core::Result @@ -3902,7 +3902,7 @@ impl LimiterEffectDefinition { { Self::ILimiterEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3934,7 +3934,7 @@ impl MediaSourceAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOutgoingConnection(&self, destination: P0) -> ::windows_core::Result<()> @@ -3962,7 +3962,7 @@ impl MediaSourceAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -3970,7 +3970,7 @@ impl MediaSourceAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOutgoingGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -3981,7 +3981,7 @@ impl MediaSourceAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutgoingGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3989,14 +3989,14 @@ impl MediaSourceAudioInputNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConsumeInput(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConsumeInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConsumeInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -4043,14 +4043,14 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackSpeedFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4061,7 +4061,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: P0) -> ::windows_core::Result<()> @@ -4075,7 +4075,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEndTime(&self, value: P0) -> ::windows_core::Result<()> @@ -4089,7 +4089,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoopCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoopCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLoopCount(&self, value: P0) -> ::windows_core::Result<()> @@ -4103,7 +4103,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Core")] @@ -4111,7 +4111,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaSourceCompleted(&self, handler: P0) -> ::windows_core::Result @@ -4121,7 +4121,7 @@ impl MediaSourceAudioInputNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSourceCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSourceCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaSourceCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4153,7 +4153,7 @@ impl ReverbEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -4161,7 +4161,7 @@ impl ReverbEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWetDryMix(&self, value: f64) -> ::windows_core::Result<()> { @@ -4172,7 +4172,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetDryMix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetDryMix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReflectionsDelay(&self, value: u32) -> ::windows_core::Result<()> { @@ -4183,7 +4183,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReflectionsDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReflectionsDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReverbDelay(&self, value: u8) -> ::windows_core::Result<()> { @@ -4194,7 +4194,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReverbDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReverbDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRearDelay(&self, value: u8) -> ::windows_core::Result<()> { @@ -4205,7 +4205,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RearDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RearDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionLeft(&self, value: u8) -> ::windows_core::Result<()> { @@ -4216,7 +4216,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionLeft)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionLeft)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionRight(&self, value: u8) -> ::windows_core::Result<()> { @@ -4227,7 +4227,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionRight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionRight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionMatrixLeft(&self, value: u8) -> ::windows_core::Result<()> { @@ -4238,7 +4238,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionMatrixLeft)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionMatrixLeft)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionMatrixRight(&self, value: u8) -> ::windows_core::Result<()> { @@ -4249,7 +4249,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionMatrixRight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionMatrixRight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEarlyDiffusion(&self, value: u8) -> ::windows_core::Result<()> { @@ -4260,7 +4260,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EarlyDiffusion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EarlyDiffusion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLateDiffusion(&self, value: u8) -> ::windows_core::Result<()> { @@ -4271,7 +4271,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LateDiffusion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LateDiffusion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLowEQGain(&self, value: u8) -> ::windows_core::Result<()> { @@ -4282,7 +4282,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowEQGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowEQGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLowEQCutoff(&self, value: u8) -> ::windows_core::Result<()> { @@ -4293,7 +4293,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowEQCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowEQCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHighEQGain(&self, value: u8) -> ::windows_core::Result<()> { @@ -4304,7 +4304,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighEQGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighEQGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHighEQCutoff(&self, value: u8) -> ::windows_core::Result<()> { @@ -4315,7 +4315,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighEQCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighEQCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoomFilterFreq(&self, value: f64) -> ::windows_core::Result<()> { @@ -4326,7 +4326,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoomFilterFreq)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoomFilterFreq)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoomFilterMain(&self, value: f64) -> ::windows_core::Result<()> { @@ -4337,7 +4337,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoomFilterMain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoomFilterMain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoomFilterHF(&self, value: f64) -> ::windows_core::Result<()> { @@ -4348,7 +4348,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoomFilterHF)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoomFilterHF)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReflectionsGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -4359,7 +4359,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReflectionsGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReflectionsGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReverbGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -4370,7 +4370,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReverbGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReverbGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDecayTime(&self, value: f64) -> ::windows_core::Result<()> { @@ -4381,7 +4381,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDensity(&self, value: f64) -> ::windows_core::Result<()> { @@ -4392,7 +4392,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Density)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Density)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoomSize(&self, value: f64) -> ::windows_core::Result<()> { @@ -4403,7 +4403,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoomSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoomSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisableLateField(&self, value: bool) -> ::windows_core::Result<()> { @@ -4414,7 +4414,7 @@ impl ReverbEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableLateField)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableLateField)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(audiograph: P0) -> ::windows_core::Result @@ -4423,7 +4423,7 @@ impl ReverbEffectDefinition { { Self::IReverbEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audiograph.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4453,7 +4453,7 @@ impl SetDefaultSpatialAudioFormatResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4478,42 +4478,42 @@ impl SpatialAudioDeviceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSpatialAudioSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSpatialAudioSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSpatialAudioSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSpatialAudioFormatSupported(&self, subtype: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSpatialAudioFormatSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSpatialAudioFormatSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).map(|| result__) } } pub fn ActiveSpatialAudioFormat(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActiveSpatialAudioFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActiveSpatialAudioFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultSpatialAudioFormat(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultSpatialAudioFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultSpatialAudioFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultSpatialAudioFormatAsync(&self, subtype: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDefaultSpatialAudioFormatAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDefaultSpatialAudioFormatAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigurationChanged(&self, handler: P0) -> ::windows_core::Result @@ -4523,7 +4523,7 @@ impl SpatialAudioDeviceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfigurationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfigurationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConfigurationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4533,7 +4533,7 @@ impl SpatialAudioDeviceConfiguration { pub fn GetForDeviceId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISpatialAudioDeviceConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4563,21 +4563,21 @@ impl SpatialAudioFormatConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportLicenseChangedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportLicenseChangedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportConfigurationChangedAsync(&self, subtype: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportConfigurationChangedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportConfigurationChangedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MixedRealityExclusiveModePolicy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MixedRealityExclusiveModePolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MixedRealityExclusiveModePolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMixedRealityExclusiveModePolicy(&self, value: MixedRealitySpatialAudioFormatPolicy) -> ::windows_core::Result<()> { @@ -4587,7 +4587,7 @@ impl SpatialAudioFormatConfiguration { pub fn GetDefault() -> ::windows_core::Result { Self::ISpatialAudioFormatConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4613,43 +4613,43 @@ impl SpatialAudioFormatSubtype { pub fn WindowsSonic() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowsSonic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowsSonic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DolbyAtmosForHeadphones() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DolbyAtmosForHeadphones)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DolbyAtmosForHeadphones)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DolbyAtmosForHomeTheater() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DolbyAtmosForHomeTheater)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DolbyAtmosForHomeTheater)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DolbyAtmosForSpeakers() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DolbyAtmosForSpeakers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DolbyAtmosForSpeakers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DTSHeadphoneX() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DTSHeadphoneX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DTSHeadphoneX)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DTSXUltra() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DTSXUltra)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DTSXUltra)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DTSXForHomeTheater() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISpatialAudioFormatSubtypeStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DTSXForHomeTheater)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DTSXForHomeTheater)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs b/crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs index 1838e8c7ca..554f3365c2 100644 --- a/crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs @@ -37,28 +37,28 @@ impl VariablePhotoCapturedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureTimeOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsedFrameControllerIndex(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsedFrameControllerIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsedFrameControllerIndex)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CapturedFrameControlValues(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturedFrameControlValues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturedFrameControlValues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -83,21 +83,21 @@ impl VariablePhotoSequenceCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinishAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotoCaptured(&self, handler: P0) -> ::windows_core::Result @@ -107,7 +107,7 @@ impl VariablePhotoSequenceCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePhotoCaptured(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -121,7 +121,7 @@ impl VariablePhotoSequenceCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -132,7 +132,7 @@ impl VariablePhotoSequenceCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } 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 0a3dbd88b6..b8f4e2d11b 100644 --- a/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs @@ -344,7 +344,7 @@ impl AudioMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -352,14 +352,14 @@ impl AudioMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAudioFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -384,7 +384,7 @@ impl BufferMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -392,7 +392,7 @@ impl BufferMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -417,21 +417,21 @@ impl DepthMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DepthFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepthFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepthFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Devices_Core", feature = "Perception_Spatial"))] @@ -443,21 +443,21 @@ impl DepthMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateCoordinateMapper)(::windows_core::Interface::as_raw(this), cameraintrinsics.into_param().abi(), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateCoordinateMapper)(::windows_core::Interface::as_raw(this), cameraintrinsics.into_param().abi(), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxReliableDepth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxReliableDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxReliableDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinReliableDepth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinReliableDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinReliableDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -482,14 +482,14 @@ impl DepthMediaFrameFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DepthScaleInMeters(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepthScaleInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepthScaleInMeters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -514,21 +514,21 @@ impl InfraredMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsIlluminated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIlluminated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIlluminated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -570,14 +570,14 @@ impl MediaFrameFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MajorType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MajorType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subtype(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -585,7 +585,7 @@ impl MediaFrameFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -593,14 +593,14 @@ impl MediaFrameFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -608,7 +608,7 @@ impl MediaFrameFormat { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -641,7 +641,7 @@ impl MediaFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameArrived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -652,21 +652,21 @@ impl MediaFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireLatestFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireLatestFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAcquisitionMode(&self, value: MediaFrameReaderAcquisitionMode) -> ::windows_core::Result<()> { @@ -677,7 +677,7 @@ impl MediaFrameReader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquisitionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquisitionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -707,28 +707,28 @@ impl MediaFrameReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemRelativeTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -736,21 +736,21 @@ impl MediaFrameReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_Spatial")] @@ -758,14 +758,14 @@ impl MediaFrameReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioMediaFrame(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -790,14 +790,14 @@ impl MediaFrameSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Controller(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -805,14 +805,14 @@ impl MediaFrameSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormatAsync(&self, format: P0) -> ::windows_core::Result @@ -822,7 +822,7 @@ impl MediaFrameSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetFormatAsync)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetFormatAsync)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormatChanged(&self, handler: P0) -> ::windows_core::Result @@ -832,7 +832,7 @@ impl MediaFrameSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFormatChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -847,7 +847,7 @@ impl MediaFrameSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetCameraIntrinsics)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetCameraIntrinsics)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -872,7 +872,7 @@ impl MediaFrameSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPropertyAsync(&self, propertyid: &::windows_core::HSTRING, propertyvalue: P0) -> ::windows_core::Result> @@ -882,7 +882,7 @@ impl MediaFrameSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), propertyvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), propertyvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -890,7 +890,7 @@ impl MediaFrameSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPropertyByExtendedIdAsync(&self, extendedpropertyid: &[u8], maxpropertyvaluesize: P0) -> ::windows_core::Result> @@ -900,14 +900,14 @@ impl MediaFrameSourceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyByExtendedIdAsync)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), maxpropertyvaluesize.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyByExtendedIdAsync)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), maxpropertyvaluesize.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPropertyByExtendedIdAsync(&self, extendedpropertyid: &[u8], propertyvalue: &[u8]) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPropertyByExtendedIdAsync)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), propertyvalue.len().try_into().unwrap(), propertyvalue.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPropertyByExtendedIdAsync)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), propertyvalue.len().try_into().unwrap(), propertyvalue.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -915,7 +915,7 @@ impl MediaFrameSourceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -940,14 +940,14 @@ impl MediaFrameSourceGetPropertyResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -972,14 +972,14 @@ impl MediaFrameSourceGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -987,26 +987,26 @@ impl MediaFrameSourceGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsync() -> ::windows_core::Result>> { Self::IMediaFrameSourceGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(id: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMediaFrameSourceGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaFrameSourceGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1036,28 +1036,28 @@ impl MediaFrameSourceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaStreamType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaStreamType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaStreamType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourceKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourceGroup(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -1065,7 +1065,7 @@ impl MediaFrameSourceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1073,7 +1073,7 @@ impl MediaFrameSourceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_Spatial")] @@ -1081,14 +1081,14 @@ impl MediaFrameSourceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProfileId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1096,7 +1096,7 @@ impl MediaFrameSourceInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProfileMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProfileMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Devices_Enumeration", feature = "UI_WindowManagement"))] @@ -1107,14 +1107,14 @@ impl MediaFrameSourceInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRelativePanel)(::windows_core::Interface::as_raw(this), displayregion.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRelativePanel)(::windows_core::Interface::as_raw(this), displayregion.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsShareable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShareable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShareable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1164,7 +1164,7 @@ impl MultiSourceMediaFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameArrived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameArrived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1175,21 +1175,21 @@ impl MultiSourceMediaFrameReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireLatestFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireLatestFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAcquisitionMode(&self, value: MediaFrameReaderAcquisitionMode) -> ::windows_core::Result<()> { @@ -1200,7 +1200,7 @@ impl MultiSourceMediaFrameReader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquisitionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquisitionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1230,7 +1230,7 @@ impl MultiSourceMediaFrameReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetFrameReferenceBySourceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetFrameReferenceBySourceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1255,14 +1255,14 @@ impl VideoMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -1270,7 +1270,7 @@ impl VideoMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -1278,7 +1278,7 @@ impl VideoMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3DSurface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3DSurface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices_Core")] @@ -1286,28 +1286,28 @@ impl VideoMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraIntrinsics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraIntrinsics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InfraredMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InfraredMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InfraredMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DepthMediaFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepthMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepthMediaFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVideoFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1332,28 +1332,28 @@ impl VideoMediaFrameFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaFrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaFrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DepthFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepthFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepthFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Capture/mod.rs b/crates/libs/windows/src/Windows/Media/Capture/mod.rs index a4dbf848ce..f8b2b13611 100644 --- a/crates/libs/windows/src/Windows/Media/Capture/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Capture/mod.rs @@ -1640,7 +1640,7 @@ impl AdvancedCapturedPhoto { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -1648,21 +1648,21 @@ impl AdvancedCapturedPhoto { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Context(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameBoundsRelativeToReferencePhoto(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameBoundsRelativeToReferencePhoto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameBoundsRelativeToReferencePhoto)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1687,7 +1687,7 @@ impl AdvancedPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureWithContextAsync(&self, context: P0) -> ::windows_core::Result> @@ -1697,7 +1697,7 @@ impl AdvancedPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureWithContextAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureWithContextAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OptionalReferencePhotoCaptured(&self, handler: P0) -> ::windows_core::Result @@ -1707,7 +1707,7 @@ impl AdvancedPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionalReferencePhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionalReferencePhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionalReferencePhotoCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1721,7 +1721,7 @@ impl AdvancedPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllPhotosCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllPhotosCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAllPhotosCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1732,7 +1732,7 @@ impl AdvancedPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1761,7 +1761,7 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSignInInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -1775,7 +1775,7 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreamInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -1789,21 +1789,21 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BroadcastTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetViewerCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1814,7 +1814,7 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TerminateBroadcast(&self, reason: AppBroadcastTerminationReason, providerspecificreason: u32) -> ::windows_core::Result<()> { @@ -1828,7 +1828,7 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeartbeatRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeartbeatRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHeartbeatRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1839,7 +1839,7 @@ impl AppBroadcastBackgroundService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBroadcastTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1850,7 +1850,7 @@ impl AppBroadcastBackgroundService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBroadcastLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1861,7 +1861,7 @@ impl AppBroadcastBackgroundService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastChannel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastChannel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBroadcastChannel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1875,7 +1875,7 @@ impl AppBroadcastBackgroundService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastTitleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastTitleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBroadcastTitleChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1889,7 +1889,7 @@ impl AppBroadcastBackgroundService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastLanguageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastLanguageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBroadcastLanguageChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1903,7 +1903,7 @@ impl AppBroadcastBackgroundService { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastChannelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastChannelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBroadcastChannelChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1930,7 +1930,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOAuthRequestUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1944,7 +1944,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OAuthRequestUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OAuthRequestUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOAuthCallbackUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1958,7 +1958,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OAuthCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OAuthCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web")] @@ -1966,7 +1966,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1977,7 +1977,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignInStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -1987,7 +1987,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSignInStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2001,7 +2001,7 @@ impl AppBroadcastBackgroundServiceSignInInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserNameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserNameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserNameChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2028,7 +2028,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredVideoEncodingBitrate(&self, value: u64) -> ::windows_core::Result<()> { @@ -2039,7 +2039,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBandwidthTestBitrate(&self, value: u64) -> ::windows_core::Result<()> { @@ -2050,7 +2050,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthTestBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthTestBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioCodec(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2061,14 +2061,14 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioCodec)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioCodec)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BroadcastStreamReader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastStreamReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastStreamReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreamStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -2078,7 +2078,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2092,7 +2092,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingResolutionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingResolutionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoEncodingResolutionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2106,7 +2106,7 @@ impl AppBroadcastBackgroundServiceStreamInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoEncodingBitrateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2137,14 +2137,14 @@ impl AppBroadcastCameraCaptureStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2169,28 +2169,28 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBroadcastEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBroadcastEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledByPolicy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledByPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledByPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGpuConstrained(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasHardwareEncoder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasHardwareEncoder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasHardwareEncoder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAudioCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2201,7 +2201,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMicrophoneCaptureEnabledByDefault(&self, value: bool) -> ::windows_core::Result<()> { @@ -2212,7 +2212,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEchoCancellationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2223,7 +2223,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSystemAudioGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -2234,7 +2234,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemAudioGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemAudioGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMicrophoneGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -2245,7 +2245,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCameraCaptureEnabledByDefault(&self, value: bool) -> ::windows_core::Result<()> { @@ -2256,7 +2256,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCameraCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCameraCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectedCameraId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2267,7 +2267,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedCameraId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedCameraId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCameraOverlayLocation(&self, value: AppBroadcastCameraOverlayLocation) -> ::windows_core::Result<()> { @@ -2278,7 +2278,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraOverlayLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraOverlayLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCameraOverlaySize(&self, value: AppBroadcastCameraOverlaySize) -> ::windows_core::Result<()> { @@ -2289,7 +2289,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraOverlaySize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraOverlaySize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCursorImageCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2300,7 +2300,7 @@ impl AppBroadcastGlobalSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2327,7 +2327,7 @@ impl AppBroadcastHeartbeatRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2346,7 +2346,7 @@ impl AppBroadcastManager { pub fn GetGlobalSettings() -> ::windows_core::Result { Self::IAppBroadcastManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGlobalSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGlobalSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ApplyGlobalSettings(value: P0) -> ::windows_core::Result<()> @@ -2358,7 +2358,7 @@ impl AppBroadcastManager { pub fn GetProviderSettings() -> ::windows_core::Result { Self::IAppBroadcastManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProviderSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProviderSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ApplyProviderSettings(value: P0) -> ::windows_core::Result<()> @@ -2385,14 +2385,14 @@ impl AppBroadcastMicrophoneCaptureStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2417,14 +2417,14 @@ impl AppBroadcastPlugIn { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2432,14 +2432,14 @@ impl AppBroadcastPlugIn { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2464,7 +2464,7 @@ impl AppBroadcastPlugInManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBroadcastProviderAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBroadcastProviderAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2472,14 +2472,14 @@ impl AppBroadcastPlugInManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultPlugIn(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultPlugIn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultPlugIn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultPlugIn(&self, value: P0) -> ::windows_core::Result<()> @@ -2492,7 +2492,7 @@ impl AppBroadcastPlugInManager { pub fn GetDefault() -> ::windows_core::Result { Self::IAppBroadcastPlugInManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2502,7 +2502,7 @@ impl AppBroadcastPlugInManager { { Self::IAppBroadcastPlugInManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2532,7 +2532,7 @@ impl AppBroadcastPlugInStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2561,14 +2561,14 @@ impl AppBroadcastPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviewStateChanged(&self, value: P0) -> ::windows_core::Result @@ -2578,7 +2578,7 @@ impl AppBroadcastPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePreviewStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2589,7 +2589,7 @@ impl AppBroadcastPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewStreamReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewStreamReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2614,14 +2614,14 @@ impl AppBroadcastPreviewStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2646,21 +2646,21 @@ impl AppBroadcastPreviewStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoStride(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoStride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoStride)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -2668,7 +2668,7 @@ impl AppBroadcastPreviewStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoBitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoBitmapPixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -2676,14 +2676,14 @@ impl AppBroadcastPreviewStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoBitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoBitmapAlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryGetNextVideoFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetNextVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetNextVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoFrameArrived(&self, value: P0) -> ::windows_core::Result @@ -2693,7 +2693,7 @@ impl AppBroadcastPreviewStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2722,7 +2722,7 @@ impl AppBroadcastPreviewStreamVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2730,7 +2730,7 @@ impl AppBroadcastPreviewStreamVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2755,28 +2755,28 @@ impl AppBroadcastPreviewStreamVideoHeader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RelativeTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2805,7 +2805,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAudioEncodingBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -2816,7 +2816,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -2827,7 +2827,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -2838,7 +2838,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -2849,7 +2849,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVideoEncodingBitrateMode(&self, value: AppBroadcastVideoEncodingBitrateMode) -> ::windows_core::Result<()> { @@ -2860,7 +2860,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVideoEncodingResolutionMode(&self, value: AppBroadcastVideoEncodingResolutionMode) -> ::windows_core::Result<()> { @@ -2871,7 +2871,7 @@ impl AppBroadcastProviderSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2894,7 +2894,7 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTargetType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTargetType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCaptureTargetType(&self, value: AppBroadcastCaptureTargetType) -> ::windows_core::Result<()> { @@ -2905,7 +2905,7 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBroadcastTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2916,7 +2916,7 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBroadcastLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2927,14 +2927,14 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanCapture(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnterBroadcastModeAsync(&self, plugin: P0) -> ::windows_core::Result> @@ -2944,7 +2944,7 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterBroadcastModeAsync)(::windows_core::Interface::as_raw(this), plugin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterBroadcastModeAsync)(::windows_core::Interface::as_raw(this), plugin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExitBroadcastMode(&self, reason: AppBroadcastExitBroadcastModeReason) -> ::windows_core::Result<()> { @@ -2967,14 +2967,14 @@ impl AppBroadcastServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPreview)(::windows_core::Interface::as_raw(this), desiredsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPreview)(::windows_core::Interface::as_raw(this), desiredsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2999,14 +2999,14 @@ impl AppBroadcastSignInStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3029,21 +3029,21 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCaptureTargetRunning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCaptureTargetRunning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ViewerCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldCaptureMicrophone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldCaptureMicrophone(&self, value: bool) -> ::windows_core::Result<()> { @@ -3058,7 +3058,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldCaptureCamera)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldCaptureCamera)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldCaptureCamera(&self, value: bool) -> ::windows_core::Result<()> { @@ -3073,63 +3073,63 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodedVideoSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodedVideoSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MicrophoneCaptureState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MicrophoneCaptureError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CameraCaptureState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CameraCaptureError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StreamState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PlugInState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OAuthRequestUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OAuthRequestUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OAuthRequestUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OAuthCallbackUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OAuthCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OAuthCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web")] @@ -3137,7 +3137,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web")] @@ -3156,21 +3156,21 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TerminationReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminationReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminationReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TerminationReasonPlugInSpecific(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminationReasonPlugInSpecific)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminationReasonPlugInSpecific)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ViewerCountChanged(&self, value: P0) -> ::windows_core::Result @@ -3180,7 +3180,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewerCountChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewerCountChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveViewerCountChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3194,7 +3194,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMicrophoneCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3208,7 +3208,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCameraCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3222,7 +3222,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlugInStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3236,7 +3236,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3250,7 +3250,7 @@ impl AppBroadcastState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTargetClosed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTargetClosed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCaptureTargetClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3279,7 +3279,7 @@ impl AppBroadcastStreamAudioFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3287,7 +3287,7 @@ impl AppBroadcastStreamAudioFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3310,35 +3310,35 @@ impl AppBroadcastStreamAudioHeader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RelativeTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasDiscontinuity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasDiscontinuity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasDiscontinuity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3361,14 +3361,14 @@ impl AppBroadcastStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioChannels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioChannels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioSampleRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioSampleRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioSampleRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -3376,49 +3376,49 @@ impl AppBroadcastStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioAacSequence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioAacSequence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioBitrate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryGetNextAudioFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetNextAudioFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetNextAudioFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoBitrate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryGetNextVideoFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetNextVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetNextVideoFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioFrameArrived(&self, value: P0) -> ::windows_core::Result @@ -3428,7 +3428,7 @@ impl AppBroadcastStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3442,7 +3442,7 @@ impl AppBroadcastStreamReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFrameArrived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3469,7 +3469,7 @@ impl AppBroadcastStreamStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3492,7 +3492,7 @@ impl AppBroadcastStreamVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3500,7 +3500,7 @@ impl AppBroadcastStreamVideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3523,42 +3523,42 @@ impl AppBroadcastStreamVideoHeader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RelativeTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsKeyFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsKeyFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsKeyFrame)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasDiscontinuity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasDiscontinuity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasDiscontinuity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3581,7 +3581,7 @@ impl AppBroadcastTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundService)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundService)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3604,7 +3604,7 @@ impl AppBroadcastViewerCountChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewerCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3629,14 +3629,14 @@ impl AppCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCapturingAudio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCapturingAudio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCapturingVideo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCapturingVideo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCapturingVideo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CapturingChanged(&self, handler: P0) -> ::windows_core::Result @@ -3646,7 +3646,7 @@ impl AppCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturingChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCapturingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3656,13 +3656,13 @@ impl AppCapture { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IAppCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetAllowedAsync(allowed: bool) -> ::windows_core::Result { Self::IAppCaptureStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAllowedAsync)(::windows_core::Interface::as_raw(this), allowed, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAllowedAsync)(::windows_core::Interface::as_raw(this), allowed, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3701,7 +3701,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleGameBarKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleGameBarKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3714,7 +3714,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleGameBarKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleGameBarKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3727,7 +3727,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveHistoricalVideoKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveHistoricalVideoKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3740,7 +3740,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveHistoricalVideoKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveHistoricalVideoKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3753,7 +3753,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleRecordingKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleRecordingKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3766,7 +3766,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleRecordingKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleRecordingKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3779,7 +3779,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TakeScreenshotKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TakeScreenshotKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3792,7 +3792,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TakeScreenshotKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TakeScreenshotKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3805,7 +3805,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleRecordingIndicatorKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleRecordingIndicatorKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3818,7 +3818,7 @@ impl AppCaptureAlternateShortcutKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleRecordingIndicatorKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleRecordingIndicatorKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3831,7 +3831,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleMicrophoneCaptureKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleMicrophoneCaptureKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3844,7 +3844,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleMicrophoneCaptureKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleMicrophoneCaptureKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3857,7 +3857,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleCameraCaptureKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleCameraCaptureKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3870,7 +3870,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleCameraCaptureKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleCameraCaptureKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3883,7 +3883,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleBroadcastKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleBroadcastKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -3896,7 +3896,7 @@ impl AppCaptureAlternateShortcutKeys { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToggleBroadcastKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToggleBroadcastKeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3919,7 +3919,7 @@ impl AppCaptureDurationGeneratedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3945,7 +3945,7 @@ impl AppCaptureFileGeneratedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3966,7 +3966,7 @@ impl AppCaptureManager { pub fn GetCurrentSettings() -> ::windows_core::Result { Self::IAppCaptureManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ApplySettings(appcapturesettings: P0) -> ::windows_core::Result<()> @@ -4033,7 +4033,7 @@ impl AppCaptureMetadataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingStorageBytesAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingStorageBytesAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MetadataPurged(&self, handler: P0) -> ::windows_core::Result @@ -4043,7 +4043,7 @@ impl AppCaptureMetadataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MetadataPurged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MetadataPurged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMetadataPurged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4076,14 +4076,14 @@ impl AppCaptureMicrophoneCaptureStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4112,21 +4112,21 @@ impl AppCaptureRecordOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Duration(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -4134,14 +4134,14 @@ impl AppCaptureRecordOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsFileTruncated(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFileTruncated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFileTruncated)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChanged(&self, value: P0) -> ::windows_core::Result @@ -4151,7 +4151,7 @@ impl AppCaptureRecordOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4165,7 +4165,7 @@ impl AppCaptureRecordOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DurationGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DurationGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDurationGenerated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4179,7 +4179,7 @@ impl AppCaptureRecordOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFileGenerated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4208,14 +4208,14 @@ impl AppCaptureRecordingStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4240,28 +4240,28 @@ impl AppCaptureServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Record)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Record)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecordTimeSpan(&self, starttime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordTimeSpan)(::windows_core::Interface::as_raw(this), starttime, duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordTimeSpan)(::windows_core::Interface::as_raw(this), starttime, duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanCapture(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4295,7 +4295,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppCaptureDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppCaptureDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAudioEncodingBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -4306,7 +4306,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAudioCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4317,7 +4317,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -4328,7 +4328,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -4339,7 +4339,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomVideoEncodingWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -4350,7 +4350,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHistoricalBufferLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -4361,7 +4361,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoricalBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoricalBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHistoricalBufferLengthUnit(&self, value: AppCaptureHistoricalBufferLengthUnit) -> ::windows_core::Result<()> { @@ -4372,7 +4372,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HistoricalBufferLengthUnit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HistoricalBufferLengthUnit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHistoricalCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4383,7 +4383,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHistoricalCaptureOnBatteryAllowed(&self, value: bool) -> ::windows_core::Result<()> { @@ -4394,7 +4394,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHistoricalCaptureOnBatteryAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHistoricalCaptureOnBatteryAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHistoricalCaptureOnWirelessDisplayAllowed(&self, value: bool) -> ::windows_core::Result<()> { @@ -4405,7 +4405,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHistoricalCaptureOnWirelessDisplayAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHistoricalCaptureOnWirelessDisplayAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaximumRecordLength(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4416,7 +4416,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaximumRecordLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaximumRecordLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -4432,7 +4432,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenshotDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenshotDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideoEncodingBitrateMode(&self, value: AppCaptureVideoEncodingBitrateMode) -> ::windows_core::Result<()> { @@ -4443,7 +4443,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVideoEncodingResolutionMode(&self, value: AppCaptureVideoEncodingResolutionMode) -> ::windows_core::Result<()> { @@ -4454,7 +4454,7 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAppCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4465,49 +4465,49 @@ impl AppCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCpuConstrained(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDisabledByPolicy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledByPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledByPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMemoryConstrained(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMemoryConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMemoryConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasHardwareEncoder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasHardwareEncoder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasHardwareEncoder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGpuConstrained(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGpuConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AlternateShortcutKeys(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateShortcutKeys)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateShortcutKeys)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsMicrophoneCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4518,7 +4518,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMicrophoneCaptureEnabledByDefault(&self, value: bool) -> ::windows_core::Result<()> { @@ -4529,7 +4529,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSystemAudioGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -4540,7 +4540,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemAudioGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemAudioGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMicrophoneGain(&self, value: f64) -> ::windows_core::Result<()> { @@ -4551,7 +4551,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneGain)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVideoEncodingFrameRateMode(&self, value: AppCaptureVideoEncodingFrameRateMode) -> ::windows_core::Result<()> { @@ -4562,7 +4562,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEncodingFrameRateMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEncodingFrameRateMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEchoCancellationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4573,7 +4573,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCursorImageCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4584,7 +4584,7 @@ impl AppCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4607,21 +4607,21 @@ impl AppCaptureState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTargetRunning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTargetRunning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHistoricalCaptureEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldCaptureMicrophone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldCaptureMicrophone(&self, value: bool) -> ::windows_core::Result<()> { @@ -4636,14 +4636,14 @@ impl AppCaptureState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MicrophoneCaptureError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MicrophoneCaptureStateChanged(&self, value: P0) -> ::windows_core::Result @@ -4653,7 +4653,7 @@ impl AppCaptureState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMicrophoneCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4667,7 +4667,7 @@ impl AppCaptureState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTargetClosed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTargetClosed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCaptureTargetClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4703,14 +4703,14 @@ impl CameraCaptureUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -4718,7 +4718,7 @@ impl CameraCaptureUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureFileAsync)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureFileAsync)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4741,7 +4741,7 @@ impl CameraCaptureUIPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: CameraCaptureUIPhotoFormat) -> ::windows_core::Result<()> { @@ -4752,7 +4752,7 @@ impl CameraCaptureUIPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxResolution(&self, value: CameraCaptureUIMaxPhotoResolution) -> ::windows_core::Result<()> { @@ -4763,7 +4763,7 @@ impl CameraCaptureUIPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CroppedSizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CroppedSizeInPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCroppedSizeInPixels(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -4774,7 +4774,7 @@ impl CameraCaptureUIPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CroppedAspectRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CroppedAspectRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCroppedAspectRatio(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -4785,7 +4785,7 @@ impl CameraCaptureUIPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowCropping)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowCropping)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowCropping(&self, value: bool) -> ::windows_core::Result<()> { @@ -4814,7 +4814,7 @@ impl CameraCaptureUIVideoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: CameraCaptureUIVideoFormat) -> ::windows_core::Result<()> { @@ -4825,7 +4825,7 @@ impl CameraCaptureUIVideoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResolution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxResolution(&self, value: CameraCaptureUIMaxVideoResolution) -> ::windows_core::Result<()> { @@ -4836,7 +4836,7 @@ impl CameraCaptureUIVideoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDurationInSeconds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDurationInSeconds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxDurationInSeconds(&self, value: f32) -> ::windows_core::Result<()> { @@ -4847,7 +4847,7 @@ impl CameraCaptureUIVideoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowTrimming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowTrimming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowTrimming(&self, value: bool) -> ::windows_core::Result<()> { @@ -4895,21 +4895,21 @@ impl CapturedFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ControlValues(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlValues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlValues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))] @@ -4917,7 +4917,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -4925,7 +4925,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -4937,7 +4937,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4948,7 +4948,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4959,7 +4959,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4967,7 +4967,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4975,7 +4975,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -4988,7 +4988,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4996,7 +4996,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -5004,7 +5004,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -5017,7 +5017,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -5025,7 +5025,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -5033,7 +5033,7 @@ impl CapturedFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5058,28 +5058,28 @@ impl CapturedFrameControlValues { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposureCompensation(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureCompensation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureCompensation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoSpeed(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoSpeed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Focus(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5087,35 +5087,35 @@ impl CapturedFrameControlValues { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SceneMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SceneMode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Flashed(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flashed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flashed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlashPowerPercent(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlashPowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlashPowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WhiteBalance(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhiteBalance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhiteBalance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ZoomFactor(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZoomFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZoomFactor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5123,21 +5123,21 @@ impl CapturedFrameControlValues { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoDigitalGain(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoDigitalGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoDigitalGain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoAnalogGain(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoAnalogGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoAnalogGain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5145,14 +5145,14 @@ impl CapturedFrameControlValues { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SensorFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SensorFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WhiteBalanceGain(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhiteBalanceGain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhiteBalanceGain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5177,14 +5177,14 @@ impl CapturedPhoto { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Thumbnail(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5209,7 +5209,7 @@ impl GameBarServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetCapturePolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetCapturePolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnableCapture(&self) -> ::windows_core::Result<()> { @@ -5224,28 +5224,28 @@ impl GameBarServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppBroadcastServices(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppBroadcastServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppBroadcastServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppCaptureServices(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppCaptureServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppCaptureServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CommandReceived(&self, value: P0) -> ::windows_core::Result @@ -5255,7 +5255,7 @@ impl GameBarServices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCommandReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5284,14 +5284,14 @@ impl GameBarServicesCommandEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Origin(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5319,7 +5319,7 @@ impl GameBarServicesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameBarServicesCreated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameBarServicesCreated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGameBarServicesCreated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5329,7 +5329,7 @@ impl GameBarServicesManager { pub fn GetDefault() -> ::windows_core::Result { Self::IGameBarServicesManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5359,7 +5359,7 @@ impl GameBarServicesManagerGameBarServicesCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameBarServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameBarServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5384,28 +5384,28 @@ impl GameBarServicesTargetInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TitleId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5430,21 +5430,21 @@ impl LowLagMediaRecording { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinishAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5452,14 +5452,14 @@ impl LowLagMediaRecording { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResumeAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5467,14 +5467,14 @@ impl LowLagMediaRecording { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseWithResultAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseWithResultAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopWithResultAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5497,14 +5497,14 @@ impl LowLagPhotoCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinishAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5527,21 +5527,21 @@ impl LowLagPhotoSequenceCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinishAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotoCaptured(&self, handler: P0) -> ::windows_core::Result @@ -5551,7 +5551,7 @@ impl LowLagPhotoSequenceCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePhotoCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5590,7 +5590,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitializeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitializeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InitializeWithSettingsAsync(&self, mediacaptureinitializationsettings: P0) -> ::windows_core::Result @@ -5600,7 +5600,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitializeWithSettingsAsync)(::windows_core::Interface::as_raw(this), mediacaptureinitializationsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitializeWithSettingsAsync)(::windows_core::Interface::as_raw(this), mediacaptureinitializationsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage"))] @@ -5612,7 +5612,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartRecordToStorageFileAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartRecordToStorageFileAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage_Streams"))] @@ -5624,7 +5624,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartRecordToStreamAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartRecordToStreamAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5636,7 +5636,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartRecordToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartRecordToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -5648,14 +5648,14 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartRecordToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartRecordToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopRecordAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage"))] @@ -5667,7 +5667,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturePhotoToStorageFileAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturePhotoToStorageFileAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage_Streams"))] @@ -5679,7 +5679,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturePhotoToStreamAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturePhotoToStreamAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -5690,14 +5690,14 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddEffectAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, ::core::mem::transmute_copy(effectactivationid), effectsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddEffectAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, ::core::mem::transmute_copy(effectactivationid), effectsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearEffectsAsync(&self, mediastreamtype: MediaStreamType) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearEffectsAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearEffectsAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEncoderProperty(&self, mediastreamtype: MediaStreamType, propertyid: ::windows_core::GUID, propertyvalue: P0) -> ::windows_core::Result<()> @@ -5711,7 +5711,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEncoderProperty)(::windows_core::Interface::as_raw(this), mediastreamtype, propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEncoderProperty)(::windows_core::Interface::as_raw(this), mediastreamtype, propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Failed(&self, erroreventhandler: P0) -> ::windows_core::Result @@ -5721,7 +5721,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), erroreventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), erroreventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFailed(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5735,7 +5735,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordLimitationExceeded)(::windows_core::Interface::as_raw(this), recordlimitationexceededeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordLimitationExceeded)(::windows_core::Interface::as_raw(this), recordlimitationexceededeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRecordLimitationExceeded(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5746,7 +5746,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaCaptureSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaCaptureSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5754,7 +5754,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5762,7 +5762,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreviewMirroring(&self, value: bool) -> ::windows_core::Result<()> { @@ -5773,7 +5773,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreviewMirroring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreviewMirroring)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPreviewRotation(&self, value: VideoRotation) -> ::windows_core::Result<()> { @@ -5784,7 +5784,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreviewRotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreviewRotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRecordRotation(&self, value: VideoRotation) -> ::windows_core::Result<()> { @@ -5795,7 +5795,7 @@ impl MediaCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecordRotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecordRotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage"))] @@ -5807,7 +5807,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagRecordToStorageFileAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagRecordToStorageFileAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage_Streams"))] @@ -5819,7 +5819,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagRecordToStreamAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagRecordToStreamAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5831,7 +5831,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -5843,7 +5843,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5854,7 +5854,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagPhotoCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagPhotoCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5865,7 +5865,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareLowLagPhotoSequenceCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareLowLagPhotoSequenceCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -5877,7 +5877,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetEncodingPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), encoderproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetEncodingPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), encoderproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture_Core", feature = "Media_MediaProperties"))] @@ -5888,7 +5888,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareVariablePhotoSequenceCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareVariablePhotoSequenceCaptureAsync)(::windows_core::Interface::as_raw(this), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FocusChanged(&self, handler: P0) -> ::windows_core::Result @@ -5898,7 +5898,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFocusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5912,7 +5912,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoConfirmationCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoConfirmationCaptured)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePhotoConfirmationCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5927,7 +5927,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAudioEffectAsync)(::windows_core::Interface::as_raw(this), definition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAudioEffectAsync)(::windows_core::Interface::as_raw(this), definition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Effects")] @@ -5938,7 +5938,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddVideoEffectAsync)(::windows_core::Interface::as_raw(this), definition.into_param().abi(), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddVideoEffectAsync)(::windows_core::Interface::as_raw(this), definition.into_param().abi(), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -5946,14 +5946,14 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseRecordAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseRecordAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResumeRecordAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CameraStreamStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -5963,7 +5963,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraStreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraStreamStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCameraStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5975,14 +5975,14 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraStreamState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraStreamState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPreviewFrameAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreviewFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreviewFrameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPreviewFrameCopyAsync(&self, destination: P0) -> ::windows_core::Result> @@ -5992,7 +5992,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreviewFrameCopyAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreviewFrameCopyAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThermalStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -6002,7 +6002,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThermalStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThermalStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveThermalStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6013,7 +6013,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThermalStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThermalStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -6024,7 +6024,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareAdvancedPhotoCaptureAsync)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareAdvancedPhotoCaptureAsync)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveEffectAsync(&self, effect: P0) -> ::windows_core::Result @@ -6034,7 +6034,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveEffectAsync)(::windows_core::Interface::as_raw(this), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Devices")] @@ -6042,14 +6042,14 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseRecordWithResultAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseRecordWithResultAsync)(::windows_core::Interface::as_raw(this), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopRecordWithResultAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopRecordWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopRecordWithResultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))] @@ -6057,7 +6057,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameSources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameSources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture_Frames")] @@ -6068,7 +6068,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture_Frames")] @@ -6079,7 +6079,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderWithSubtypeAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), ::core::mem::transmute_copy(outputsubtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderWithSubtypeAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), ::core::mem::transmute_copy(outputsubtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Graphics_Imaging", feature = "Media_Capture_Frames"))] @@ -6090,7 +6090,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFrameReaderWithSubtypeAndSizeAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), ::core::mem::transmute_copy(outputsubtype), outputsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFrameReaderWithSubtypeAndSizeAsync)(::windows_core::Interface::as_raw(this), inputsource.into_param().abi(), ::core::mem::transmute_copy(outputsubtype), outputsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureDeviceExclusiveControlStatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -6100,7 +6100,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureDeviceExclusiveControlStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureDeviceExclusiveControlStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCaptureDeviceExclusiveControlStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6115,7 +6115,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMultiSourceFrameReaderAsync)(::windows_core::Interface::as_raw(this), inputsources.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMultiSourceFrameReaderAsync)(::windows_core::Interface::as_raw(this), inputsources.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_WindowManagement")] @@ -6126,41 +6126,41 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRelativePanelWatcher)(::windows_core::Interface::as_raw(this), capturemode, displayregion.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRelativePanelWatcher)(::windows_core::Interface::as_raw(this), capturemode, displayregion.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsVideoProfileSupported(videodeviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMediaCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoProfileSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoProfileSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllVideoProfiles(videodeviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMediaCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllVideoProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllVideoProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindConcurrentProfiles(videodeviceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IMediaCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindConcurrentProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindConcurrentProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindKnownVideoProfiles(videodeviceid: &::windows_core::HSTRING, name: KnownVideoProfile) -> ::windows_core::Result> { Self::IMediaCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindKnownVideoProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), name, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindKnownVideoProfiles)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), name, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StartPreviewAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -6172,7 +6172,7 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPreviewToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPreviewToCustomSinkAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), custommediasink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -6184,14 +6184,14 @@ impl MediaCapture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPreviewToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPreviewToCustomSinkIdAsync)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopPreviewAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopPreviewAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -6219,14 +6219,14 @@ impl MediaCaptureDeviceExclusiveControlStatusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6251,14 +6251,14 @@ impl MediaCaptureFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Code(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6282,7 +6282,7 @@ impl MediaCaptureFocusChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6318,7 +6318,7 @@ impl MediaCaptureInitializationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideoDeviceId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6329,7 +6329,7 @@ impl MediaCaptureInitializationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreamingCaptureMode(&self, value: StreamingCaptureMode) -> ::windows_core::Result<()> { @@ -6340,7 +6340,7 @@ impl MediaCaptureInitializationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamingCaptureMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamingCaptureMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPhotoCaptureSource(&self, value: PhotoCaptureSource) -> ::windows_core::Result<()> { @@ -6351,7 +6351,7 @@ impl MediaCaptureInitializationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoCaptureSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoCaptureSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMediaCategory(&self, value: MediaCategory) -> ::windows_core::Result<()> { @@ -6362,7 +6362,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioProcessing(&self, value: super::AudioProcessing) -> ::windows_core::Result<()> { @@ -6373,7 +6373,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Core")] @@ -6389,7 +6389,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -6405,14 +6405,14 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoProfile(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideoProfile(&self, value: P0) -> ::windows_core::Result<()> @@ -6426,7 +6426,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreviewMediaDescription(&self, value: P0) -> ::windows_core::Result<()> @@ -6440,7 +6440,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecordMediaDescription(&self, value: P0) -> ::windows_core::Result<()> @@ -6454,7 +6454,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPhotoMediaDescription(&self, value: P0) -> ::windows_core::Result<()> @@ -6469,7 +6469,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture_Frames")] @@ -6484,7 +6484,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSharingMode(&self, value: MediaCaptureSharingMode) -> ::windows_core::Result<()> { @@ -6495,7 +6495,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MemoryPreference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MemoryPreference)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMemoryPreference(&self, value: MediaCaptureMemoryPreference) -> ::windows_core::Result<()> { @@ -6506,7 +6506,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysPlaySystemShutterSound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysPlaySystemShutterSound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysPlaySystemShutterSound(&self, value: bool) -> ::windows_core::Result<()> { @@ -6518,7 +6518,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceUriPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceUriPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -6533,7 +6533,7 @@ impl MediaCaptureInitializationSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDeviceUri(&self, value: P0) -> ::windows_core::Result<()> @@ -6570,14 +6570,14 @@ impl MediaCapturePauseResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecordDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6606,7 +6606,7 @@ impl MediaCaptureRelativePanelWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativePanel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativePanel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -6616,7 +6616,7 @@ impl MediaCaptureRelativePanelWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6653,91 +6653,91 @@ impl MediaCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreamingCaptureMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamingCaptureMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamingCaptureMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhotoCaptureSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoCaptureSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoCaptureSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideoDeviceCharacteristic(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceCharacteristic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceCharacteristic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConcurrentRecordAndPhotoSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConcurrentRecordAndPhotoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConcurrentRecordAndPhotoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConcurrentRecordAndPhotoSequenceSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConcurrentRecordAndPhotoSequenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConcurrentRecordAndPhotoSequenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CameraSoundRequiredForRegion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraSoundRequiredForRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraSoundRequiredForRegion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Horizontal35mmEquivalentFocalLength(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Horizontal35mmEquivalentFocalLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Horizontal35mmEquivalentFocalLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PitchOffsetDegrees(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PitchOffsetDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PitchOffsetDegrees)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Vertical35mmEquivalentFocalLength(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Vertical35mmEquivalentFocalLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Vertical35mmEquivalentFocalLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaCategory(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -6745,7 +6745,7 @@ impl MediaCaptureSettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3D11Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6773,14 +6773,14 @@ impl MediaCaptureStopResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecordDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6803,14 +6803,14 @@ impl MediaCaptureVideoProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6818,7 +6818,7 @@ impl MediaCaptureVideoProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPreviewMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPreviewMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6826,7 +6826,7 @@ impl MediaCaptureVideoProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedRecordMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedRecordMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6834,7 +6834,7 @@ impl MediaCaptureVideoProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPhotoMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPhotoMediaDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6842,7 +6842,7 @@ impl MediaCaptureVideoProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConcurrency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConcurrency)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))] @@ -6850,7 +6850,7 @@ impl MediaCaptureVideoProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameSourceInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameSourceInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6858,7 +6858,7 @@ impl MediaCaptureVideoProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6883,21 +6883,21 @@ impl MediaCaptureVideoProfileMediaDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -6905,7 +6905,7 @@ impl MediaCaptureVideoProfileMediaDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVariablePhotoSequenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVariablePhotoSequenceSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -6913,14 +6913,14 @@ impl MediaCaptureVideoProfileMediaDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHdrVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHdrVideoSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Subtype(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6928,7 +6928,7 @@ impl MediaCaptureVideoProfileMediaDescription { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6953,14 +6953,14 @@ impl OptionalReferencePhotoCapturedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Context(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6985,21 +6985,21 @@ impl PhotoCapturedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Thumbnail(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureTimeOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -7024,14 +7024,14 @@ impl PhotoConfirmationCapturedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CaptureTimeOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureTimeOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -7057,7 +7057,7 @@ impl ScreenCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -7065,21 +7065,21 @@ impl ScreenCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAudioSuspended(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAudioSuspended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAudioSuspended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVideoSuspended(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoSuspended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoSuspended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SourceSuspensionChanged(&self, handler: P0) -> ::windows_core::Result @@ -7089,7 +7089,7 @@ impl ScreenCapture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceSuspensionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceSuspensionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceSuspensionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -7099,7 +7099,7 @@ impl ScreenCapture { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IScreenCaptureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -7129,14 +7129,14 @@ impl SourceSuspensionChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAudioSuspended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAudioSuspended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVideoSuspended(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoSuspended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoSuspended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -7162,7 +7162,7 @@ impl VideoStreamConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -7170,7 +7170,7 @@ impl VideoStreamConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/Casting/mod.rs b/crates/libs/windows/src/Windows/Media/Casting/mod.rs index c3c6d0036f..7b90002a16 100644 --- a/crates/libs/windows/src/Windows/Media/Casting/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Casting/mod.rs @@ -111,21 +111,21 @@ impl CastingConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Device(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -142,7 +142,7 @@ impl CastingConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -156,7 +156,7 @@ impl CastingConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -170,14 +170,14 @@ impl CastingConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStartCastingAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStartCastingAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisconnectAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -206,14 +206,14 @@ impl CastingConnectionErrorOccurredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -238,14 +238,14 @@ impl CastingDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -253,27 +253,27 @@ impl CastingDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSupportedCastingPlaybackTypesAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedCastingPlaybackTypesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedCastingPlaybackTypesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateCastingConnection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCastingConnection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCastingConnection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector(r#type: CastingPlaybackTypes) -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICastingDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelectorFromCastingSourceAsync(castingsource: P0) -> ::windows_core::Result> @@ -282,13 +282,13 @@ impl CastingDevice { { Self::ICastingDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelectorFromCastingSourceAsync)(::windows_core::Interface::as_raw(this), castingsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelectorFromCastingSourceAsync)(::windows_core::Interface::as_raw(this), castingsource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(value: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICastingDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Enumeration")] @@ -298,7 +298,7 @@ impl CastingDevice { { Self::ICastingDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInfoSupportsCastingAsync)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInfoSupportsCastingAsync)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -335,7 +335,7 @@ impl CastingDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -343,7 +343,7 @@ impl CastingDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CastingDeviceSelected(&self, handler: P0) -> ::windows_core::Result @@ -353,7 +353,7 @@ impl CastingDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CastingDeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CastingDeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCastingDeviceSelected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -367,7 +367,7 @@ impl CastingDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CastingDevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CastingDevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCastingDevicePickerDismissed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl CastingDevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportsAudio(&self, value: bool) -> ::windows_core::Result<()> { @@ -420,7 +420,7 @@ impl CastingDevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportsVideo(&self, value: bool) -> ::windows_core::Result<()> { @@ -431,7 +431,7 @@ impl CastingDevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsPictures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsPictures)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportsPictures(&self, value: bool) -> ::windows_core::Result<()> { @@ -443,7 +443,7 @@ impl CastingDevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCastingSources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCastingSources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -468,7 +468,7 @@ impl CastingDeviceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedCastingDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedCastingDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -493,7 +493,7 @@ impl CastingSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredSourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredSourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreferredSourceUri(&self, value: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs b/crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs index 80ad2e1050..a25c43d74b 100644 --- a/crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs +++ b/crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs @@ -38,76 +38,76 @@ impl ClosedCaptionProperties { pub fn FontColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI")] pub fn ComputedFontColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComputedFontColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComputedFontColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FontOpacity() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontOpacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FontSize() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FontStyle() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FontEffect() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontEffect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontEffect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BackgroundColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI")] pub fn ComputedBackgroundColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComputedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComputedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BackgroundOpacity() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundOpacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RegionColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegionColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegionColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI")] pub fn ComputedRegionColor() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComputedRegionColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComputedRegionColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RegionOpacity() -> ::windows_core::Result { Self::IClosedCaptionPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegionOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegionOpacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PropertiesChanged(handler: P0) -> ::windows_core::Result @@ -116,7 +116,7 @@ impl ClosedCaptionProperties { { Self::IClosedCaptionPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemovePropertiesChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs b/crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs index bff102e741..31fc795e46 100644 --- a/crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs +++ b/crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs @@ -69,21 +69,21 @@ impl ContentRestrictionsBrowsePolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxBrowsableAgeRating(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBrowsableAgeRating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBrowsableAgeRating)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreferredAgeRating(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredAgeRating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredAgeRating)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -108,7 +108,7 @@ impl RatedContentDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -119,7 +119,7 @@ impl RatedContentDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -131,7 +131,7 @@ impl RatedContentDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -146,7 +146,7 @@ impl RatedContentDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCategory(&self, value: RatedContentCategory) -> ::windows_core::Result<()> { @@ -158,7 +158,7 @@ impl RatedContentDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ratings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ratings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -172,7 +172,7 @@ impl RatedContentDescription { pub fn Create(id: &::windows_core::HSTRING, title: &::windows_core::HSTRING, category: RatedContentCategory) -> ::windows_core::Result { Self::IRatedContentDescriptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(title), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(title), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -209,7 +209,7 @@ impl RatedContentRestrictions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBrowsePolicyAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBrowsePolicyAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRestrictionLevelAsync(&self, ratedcontentdescription: P0) -> ::windows_core::Result> @@ -219,7 +219,7 @@ impl RatedContentRestrictions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRestrictionLevelAsync)(::windows_core::Interface::as_raw(this), ratedcontentdescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRestrictionLevelAsync)(::windows_core::Interface::as_raw(this), ratedcontentdescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestContentAccessAsync(&self, ratedcontentdescription: P0) -> ::windows_core::Result> @@ -229,7 +229,7 @@ impl RatedContentRestrictions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestContentAccessAsync)(::windows_core::Interface::as_raw(this), ratedcontentdescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestContentAccessAsync)(::windows_core::Interface::as_raw(this), ratedcontentdescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RestrictionsChanged(&self, handler: P0) -> ::windows_core::Result @@ -239,7 +239,7 @@ impl RatedContentRestrictions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RestrictionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RestrictionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRestrictionsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -249,7 +249,7 @@ impl RatedContentRestrictions { pub fn CreateWithMaxAgeRating(maxagerating: u32) -> ::windows_core::Result { Self::IRatedContentRestrictionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMaxAgeRating)(::windows_core::Interface::as_raw(this), maxagerating, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMaxAgeRating)(::windows_core::Interface::as_raw(this), maxagerating, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Control/mod.rs b/crates/libs/windows/src/Windows/Media/Control/mod.rs index f6f2b2ec5b..3b8a3e14d1 100644 --- a/crates/libs/windows/src/Windows/Media/Control/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Control/mod.rs @@ -174,133 +174,133 @@ impl GlobalSystemMediaTransportControlsSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceAppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceAppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetMediaPropertiesAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetMediaPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetMediaPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTimelineProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimelineProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimelineProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPlaybackInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPlaybackInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPlaybackInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPlayAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPlayAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPlayAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPauseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryStopAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRecordAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRecordAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryFastForwardAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryFastForwardAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryFastForwardAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRewindAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRewindAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRewindAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySkipNextAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySkipNextAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySkipNextAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySkipPreviousAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySkipPreviousAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySkipPreviousAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangeChannelUpAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangeChannelUpAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangeChannelUpAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangeChannelDownAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangeChannelDownAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangeChannelDownAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryTogglePlayPauseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryTogglePlayPauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryTogglePlayPauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangeAutoRepeatModeAsync(&self, requestedautorepeatmode: super::MediaPlaybackAutoRepeatMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangeAutoRepeatModeAsync)(::windows_core::Interface::as_raw(this), requestedautorepeatmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangeAutoRepeatModeAsync)(::windows_core::Interface::as_raw(this), requestedautorepeatmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangePlaybackRateAsync(&self, requestedplaybackrate: f64) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangePlaybackRateAsync)(::windows_core::Interface::as_raw(this), requestedplaybackrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangePlaybackRateAsync)(::windows_core::Interface::as_raw(this), requestedplaybackrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangeShuffleActiveAsync(&self, requestedshufflestate: bool) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangeShuffleActiveAsync)(::windows_core::Interface::as_raw(this), requestedshufflestate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangeShuffleActiveAsync)(::windows_core::Interface::as_raw(this), requestedshufflestate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryChangePlaybackPositionAsync(&self, requestedplaybackposition: i64) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryChangePlaybackPositionAsync)(::windows_core::Interface::as_raw(this), requestedplaybackposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryChangePlaybackPositionAsync)(::windows_core::Interface::as_raw(this), requestedplaybackposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimelinePropertiesChanged(&self, handler: P0) -> ::windows_core::Result @@ -310,7 +310,7 @@ impl GlobalSystemMediaTransportControlsSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimelinePropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimelinePropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTimelinePropertiesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -324,7 +324,7 @@ impl GlobalSystemMediaTransportControlsSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackInfoChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -338,7 +338,7 @@ impl GlobalSystemMediaTransportControlsSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPropertiesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaPropertiesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -367,7 +367,7 @@ impl GlobalSystemMediaTransportControlsSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -375,7 +375,7 @@ impl GlobalSystemMediaTransportControlsSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentSessionChanged(&self, handler: P0) -> ::windows_core::Result @@ -385,7 +385,7 @@ impl GlobalSystemMediaTransportControlsSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSessionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSessionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCurrentSessionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -399,7 +399,7 @@ impl GlobalSystemMediaTransportControlsSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSessionsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl GlobalSystemMediaTransportControlsSessionManager { pub fn RequestAsync() -> ::windows_core::Result> { Self::IGlobalSystemMediaTransportControlsSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -439,42 +439,42 @@ impl GlobalSystemMediaTransportControlsSessionMediaProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subtitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlbumArtist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Artist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlbumTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -482,21 +482,21 @@ impl GlobalSystemMediaTransportControlsSessionMediaProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlbumTrackCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumTrackCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumTrackCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PlaybackType(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -504,7 +504,7 @@ impl GlobalSystemMediaTransportControlsSessionMediaProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -529,105 +529,105 @@ impl GlobalSystemMediaTransportControlsSessionPlaybackControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlayEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlayEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPauseEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPauseEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPauseEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStopEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStopEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStopEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRecordEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRecordEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRecordEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFastForwardEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFastForwardEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFastForwardEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRewindEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRewindEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRewindEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNextEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNextEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNextEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPreviousEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPreviousEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPreviousEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsChannelUpEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelUpEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelUpEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsChannelDownEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelDownEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelDownEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPlayPauseToggleEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlayPauseToggleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlayPauseToggleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsShuffleEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRepeatEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRepeatEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRepeatEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPlaybackRateEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlaybackRateEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlaybackRateEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPlaybackPositionEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlaybackPositionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlaybackPositionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -652,42 +652,42 @@ impl GlobalSystemMediaTransportControlsSessionPlaybackInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlaybackStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PlaybackType(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoRepeatMode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlaybackRate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsShuffleActive(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShuffleActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShuffleActive)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -712,42 +712,42 @@ impl GlobalSystemMediaTransportControlsSessionTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinSeekTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxSeekTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastUpdatedTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Core/Preview/mod.rs b/crates/libs/windows/src/Windows/Media/Core/Preview/mod.rs index cbb11a2416..aaf3b8b1a1 100644 --- a/crates/libs/windows/src/Windows/Media/Core/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Core/Preview/mod.rs @@ -12,7 +12,7 @@ impl SoundLevelBroker { pub fn SoundLevel() -> ::windows_core::Result { Self::ISoundLevelBrokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SoundLevelChanged(handler: P0) -> ::windows_core::Result @@ -21,7 +21,7 @@ impl SoundLevelBroker { { Self::ISoundLevelBrokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveSoundLevelChanged(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Media/Core/mod.rs b/crates/libs/windows/src/Windows/Media/Core/mod.rs index 9d39b22da4..7365ec64fa 100644 --- a/crates/libs/windows/src/Windows/Media/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Core/mod.rs @@ -363,7 +363,7 @@ impl IMediaCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -374,7 +374,7 @@ impl IMediaCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -385,7 +385,7 @@ impl IMediaCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -578,7 +578,7 @@ impl IMediaStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -589,7 +589,7 @@ impl IMediaStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -600,7 +600,7 @@ impl IMediaStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -629,14 +629,14 @@ impl IMediaStreamDescriptor2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSelected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -647,7 +647,7 @@ impl IMediaStreamDescriptor2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -658,7 +658,7 @@ impl IMediaStreamDescriptor2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -925,21 +925,21 @@ impl IMediaTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -950,7 +950,7 @@ impl IMediaTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1105,7 +1105,7 @@ impl ISingleSelectMediaTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSelectedIndexChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1120,7 +1120,7 @@ impl ISingleSelectMediaTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1234,7 +1234,7 @@ impl ITimedMetadataTrackProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1573,7 +1573,7 @@ impl AudioStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLeadingEncoderPadding(&self, value: P0) -> ::windows_core::Result<()> @@ -1587,7 +1587,7 @@ impl AudioStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeadingEncoderPadding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeadingEncoderPadding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTrailingEncoderPadding(&self, value: P0) -> ::windows_core::Result<()> @@ -1601,14 +1601,14 @@ impl AudioStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrailingEncoderPadding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrailingEncoderPadding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -1618,14 +1618,14 @@ impl AudioStreamDescriptor { { Self::IAudioStreamDescriptorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSelected(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1636,7 +1636,7 @@ impl AudioStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1647,7 +1647,7 @@ impl AudioStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1658,7 +1658,7 @@ impl AudioStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1692,7 +1692,7 @@ impl AudioTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOpenFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1704,7 +1704,7 @@ impl AudioTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Playback")] @@ -1712,42 +1712,42 @@ impl AudioTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1758,7 +1758,7 @@ impl AudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1783,7 +1783,7 @@ impl AudioTrackOpenFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1808,28 +1808,28 @@ impl AudioTrackSupportInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecoderStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecoderStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Degradation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Degradation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Degradation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DegradationReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DegradationReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DegradationReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaSourceStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1866,7 +1866,7 @@ impl ChapterCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1877,7 +1877,7 @@ impl ChapterCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1888,7 +1888,7 @@ impl ChapterCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1899,7 +1899,7 @@ impl ChapterCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1924,14 +1924,14 @@ impl CodecInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Category(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1939,21 +1939,21 @@ impl CodecInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsTrusted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrusted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrusted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1986,7 +1986,7 @@ impl CodecQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), kind, category, ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), kind, category, ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2007,307 +2007,307 @@ impl CodecSubtypes { pub fn VideoFormatDV25() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDV25)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDV25)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDV50() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDV50)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDV50)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDvc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDvc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDvc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDvh1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDvh1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDvh1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDvhD() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDvhD)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDvhD)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDvsd() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDvsd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDvsd)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatDvsl() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatDvsl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatDvsl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatH263() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatH263)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatH263)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatH264() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatH264)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatH264)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatH265() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatH265)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatH265)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatH264ES() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatH264ES)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatH264ES)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatHevc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatHevc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatHevc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatHevcES() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatHevcES)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatHevcES)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatM4S2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatM4S2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatM4S2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMjpg() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMjpg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMjpg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMP43() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMP43)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMP43)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMP4S() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMP4S)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMP4S)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMP4V() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMP4V)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMP4V)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMpeg2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMpeg2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMpeg2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatVP80() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatVP80)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatVP80)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatVP90() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatVP90)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatVP90)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMpg1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMpg1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMpg1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMss1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMss1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMss1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatMss2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatMss2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatMss2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatWmv1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatWmv1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatWmv1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatWmv2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatWmv2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatWmv2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatWmv3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatWmv3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatWmv3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormatWvc1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormatWvc1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormatWvc1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideoFormat420O() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFormat420O)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFormat420O)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAdts() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAdts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAdts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAlac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAlac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAlac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAmrNB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAmrNB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAmrNB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAmrWB() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAmrWB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAmrWB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatAmrWP() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatAmrWP)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatAmrWP)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatDolbyAC3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatDolbyAC3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatDolbyAC3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatDolbyAC3Spdif() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatDolbyAC3Spdif)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatDolbyAC3Spdif)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatDolbyDDPlus() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatDolbyDDPlus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatDolbyDDPlus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatDrm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatDrm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatDrm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatDts() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatDts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatDts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatFlac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatFlac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatFlac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatFloat() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatFloat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatFloat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatMP3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatMP3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatMP3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatMPeg() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatMPeg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatMPeg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatMsp1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatMsp1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatMsp1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatOpus() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatOpus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatOpus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatPcm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatPcm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatPcm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatWmaSpdif() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatWmaSpdif)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatWmaSpdif)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatWMAudioLossless() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatWMAudioLossless)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatWMAudioLossless)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatWMAudioV8() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatWMAudioV8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatWMAudioV8)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AudioFormatWMAudioV9() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ICodecSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFormatWMAudioV9)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFormatWMAudioV9)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2345,7 +2345,7 @@ impl DataCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2353,7 +2353,7 @@ impl DataCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2364,7 +2364,7 @@ impl DataCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2375,7 +2375,7 @@ impl DataCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2386,7 +2386,7 @@ impl DataCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2411,7 +2411,7 @@ impl FaceDetectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2441,7 +2441,7 @@ impl FaceDetectionEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredDetectionInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2452,7 +2452,7 @@ impl FaceDetectionEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredDetectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredDetectionInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FaceDetected(&self, handler: P0) -> ::windows_core::Result @@ -2462,7 +2462,7 @@ impl FaceDetectionEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FaceDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FaceDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFaceDetected(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2515,7 +2515,7 @@ impl FaceDetectionEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSynchronousDetectionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2526,7 +2526,7 @@ impl FaceDetectionEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SynchronousDetectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SynchronousDetectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Effects")] @@ -2534,7 +2534,7 @@ impl FaceDetectionEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -2542,7 +2542,7 @@ impl FaceDetectionEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2578,21 +2578,21 @@ impl FaceDetectionEffectFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectedFaces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectedFaces)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2606,7 +2606,7 @@ impl FaceDetectionEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2620,7 +2620,7 @@ impl FaceDetectionEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -2634,7 +2634,7 @@ impl FaceDetectionEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -2645,7 +2645,7 @@ impl FaceDetectionEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2653,7 +2653,7 @@ impl FaceDetectionEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2682,7 +2682,7 @@ impl HighDynamicRangeControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2707,7 +2707,7 @@ impl HighDynamicRangeOutput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certainty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certainty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Devices_Core"))] @@ -2715,7 +2715,7 @@ impl HighDynamicRangeOutput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2748,7 +2748,7 @@ impl ImageCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: TimedTextPoint) -> ::windows_core::Result<()> { @@ -2759,7 +2759,7 @@ impl ImageCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtent(&self, value: TimedTextSize) -> ::windows_core::Result<()> { @@ -2779,7 +2779,7 @@ impl ImageCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2790,7 +2790,7 @@ impl ImageCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2801,7 +2801,7 @@ impl ImageCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2812,7 +2812,7 @@ impl ImageCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2837,7 +2837,7 @@ impl InitializeMediaStreamSourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2845,14 +2845,14 @@ impl InitializeMediaStreamSourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RandomAccessStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RandomAccessStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2874,13 +2874,13 @@ impl LowLightFusion { pub fn SupportedBitmapPixelFormats() -> ::windows_core::Result> { Self::ILowLightFusionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MaxSupportedFrameCount() -> ::windows_core::Result { Self::ILowLightFusionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSupportedFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSupportedFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))] @@ -2890,7 +2890,7 @@ impl LowLightFusion { { Self::ILowLightFusionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FuseAsync)(::windows_core::Interface::as_raw(this), frameset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FuseAsync)(::windows_core::Interface::as_raw(this), frameset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2917,7 +2917,7 @@ impl LowLightFusionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2952,7 +2952,7 @@ impl MediaBinder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Binding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBinding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2963,7 +2963,7 @@ impl MediaBinder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetToken(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2974,7 +2974,7 @@ impl MediaBinder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3002,7 +3002,7 @@ impl MediaBindingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanceled(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3013,14 +3013,14 @@ impl MediaBindingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaBinder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaBinder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, uri: P0) -> ::windows_core::Result<()> @@ -3092,7 +3092,7 @@ impl MediaCueEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3126,7 +3126,7 @@ impl MediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenOperationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenOperationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOpenOperationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3138,21 +3138,21 @@ impl MediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Duration(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsOpen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3160,7 +3160,7 @@ impl MediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExternalTimedTextSources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExternalTimedTextSources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3168,7 +3168,7 @@ impl MediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExternalTimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExternalTimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -3178,7 +3178,7 @@ impl MediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3189,7 +3189,7 @@ impl MediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Reset(&self) -> ::windows_core::Result<()> { @@ -3201,35 +3201,35 @@ impl MediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdaptiveMediaSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdaptiveMediaSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaStreamSource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MseStreamSource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MseStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MseStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_BackgroundTransfer")] @@ -3237,7 +3237,7 @@ impl MediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Streaming_Adaptive")] @@ -3247,7 +3247,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromAdaptiveMediaSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromAdaptiveMediaSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromMediaStreamSource(mediasource: P0) -> ::windows_core::Result @@ -3256,7 +3256,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMediaStreamSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMediaStreamSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromMseStreamSource(mediasource: P0) -> ::windows_core::Result @@ -3265,7 +3265,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMseStreamSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMseStreamSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromIMediaSource(mediasource: P0) -> ::windows_core::Result @@ -3274,7 +3274,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIMediaSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIMediaSource)(::windows_core::Interface::as_raw(this), mediasource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -3284,7 +3284,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStorageFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStorageFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3294,7 +3294,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3304,7 +3304,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamReference)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamReference)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUri(uri: P0) -> ::windows_core::Result @@ -3313,7 +3313,7 @@ impl MediaSource { { Self::IMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromMediaBinder(binder: P0) -> ::windows_core::Result @@ -3322,7 +3322,7 @@ impl MediaSource { { Self::IMediaSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMediaBinder)(::windows_core::Interface::as_raw(this), binder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMediaBinder)(::windows_core::Interface::as_raw(this), binder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Capture_Frames")] @@ -3332,7 +3332,7 @@ impl MediaSource { { Self::IMediaSourceStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMediaFrameSource)(::windows_core::Interface::as_raw(this), framesource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMediaFrameSource)(::windows_core::Interface::as_raw(this), framesource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking_BackgroundTransfer")] @@ -3342,7 +3342,7 @@ impl MediaSource { { Self::IMediaSourceStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDownloadOperation)(::windows_core::Interface::as_raw(this), downloadoperation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDownloadOperation)(::windows_core::Interface::as_raw(this), downloadoperation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3390,7 +3390,7 @@ impl MediaSourceAppServiceConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitializeMediaStreamSourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitializeMediaStreamSourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInitializeMediaStreamSourceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3408,7 +3408,7 @@ impl MediaSourceAppServiceConnection { { Self::IMediaSourceAppServiceConnectionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), appserviceconnection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), appserviceconnection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3436,7 +3436,7 @@ impl MediaSourceError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3461,7 +3461,7 @@ impl MediaSourceOpenOperationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3486,14 +3486,14 @@ impl MediaSourceStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3521,7 +3521,7 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Processed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Processed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProcessed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3533,14 +3533,14 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3548,14 +3548,14 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Protection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDecodeTimestamp(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3566,7 +3566,7 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3577,7 +3577,7 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyFrame(&self, value: bool) -> ::windows_core::Result<()> { @@ -3588,7 +3588,7 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrame)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -3599,7 +3599,7 @@ impl MediaStreamSample { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Discontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Discontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -3607,7 +3607,7 @@ impl MediaStreamSample { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3D11Surface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3D11Surface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3617,7 +3617,7 @@ impl MediaStreamSample { { Self::IMediaStreamSampleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), timestamp, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), timestamp, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3627,7 +3627,7 @@ impl MediaStreamSample { { Self::IMediaStreamSampleStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), count, timestamp, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), count, timestamp, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -3637,7 +3637,7 @@ impl MediaStreamSample { { Self::IMediaStreamSampleStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDirect3D11Surface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), timestamp, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDirect3D11Surface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), timestamp, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3678,7 +3678,7 @@ impl MediaStreamSamplePropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3686,7 +3686,7 @@ impl MediaStreamSamplePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3694,7 +3694,7 @@ impl MediaStreamSamplePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3702,7 +3702,7 @@ impl MediaStreamSamplePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3710,7 +3710,7 @@ impl MediaStreamSamplePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3721,7 +3721,7 @@ impl MediaStreamSamplePropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key, value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3823,7 +3823,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3837,7 +3837,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Starting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Starting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3851,7 +3851,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Paused)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Paused)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePaused(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3865,7 +3865,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SampleRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SampleRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSampleRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3879,7 +3879,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchStreamsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchStreamsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSwitchStreamsRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3910,7 +3910,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaProtectionManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaProtectionManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3921,7 +3921,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanSeek(&self, value: bool) -> ::windows_core::Result<()> { @@ -3932,7 +3932,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBufferTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3943,7 +3943,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBufferedRange(&self, startoffset: super::super::Foundation::TimeSpan, endoffset: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3955,7 +3955,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -3963,7 +3963,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3979,7 +3979,7 @@ impl MediaStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddProtectionKey(&self, streamdescriptor: P0, keyidentifier: &[u8], licensedata: &[u8]) -> ::windows_core::Result<()> @@ -3996,7 +3996,7 @@ impl MediaStreamSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SampleRendered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SampleRendered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSampleRendered(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4014,7 +4014,7 @@ impl MediaStreamSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSupportedPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSupportedPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsLive(&self, value: bool) -> ::windows_core::Result<()> { @@ -4025,7 +4025,7 @@ impl MediaStreamSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFromDescriptor(descriptor: P0) -> ::windows_core::Result @@ -4034,7 +4034,7 @@ impl MediaStreamSource { { Self::IMediaStreamSourceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDescriptor)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDescriptor)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromDescriptors(descriptor: P0, descriptor2: P1) -> ::windows_core::Result @@ -4044,7 +4044,7 @@ impl MediaStreamSource { { Self::IMediaStreamSourceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromDescriptors)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), descriptor2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromDescriptors)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), descriptor2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4074,7 +4074,7 @@ impl MediaStreamSourceClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4099,7 +4099,7 @@ impl MediaStreamSourceClosedRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4124,7 +4124,7 @@ impl MediaStreamSourceSampleRenderedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SampleLag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SampleLag)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4149,14 +4149,14 @@ impl MediaStreamSourceSampleRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSample(&self, value: P0) -> ::windows_core::Result<()> @@ -4170,7 +4170,7 @@ impl MediaStreamSourceSampleRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sample)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sample)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportSampleProgress(&self, progress: u32) -> ::windows_core::Result<()> { @@ -4221,7 +4221,7 @@ impl MediaStreamSourceSampleRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4246,7 +4246,7 @@ impl MediaStreamSourceStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4271,14 +4271,14 @@ impl MediaStreamSourceStartingRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetActualStartPosition(&self, position: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4329,21 +4329,21 @@ impl MediaStreamSourceSwitchStreamsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldStreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldStreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewStreamDescriptor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewStreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewStreamDescriptor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4390,7 +4390,7 @@ impl MediaStreamSourceSwitchStreamsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4418,7 +4418,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdateStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4432,7 +4432,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4446,7 +4446,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdateEnded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4460,7 +4460,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4474,7 +4474,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aborted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aborted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAborted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4485,7 +4485,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: MseAppendMode) -> ::windows_core::Result<()> { @@ -4496,7 +4496,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUpdating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUpdating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4504,14 +4504,14 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffered)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimestampOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimestampOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimestampOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimestampOffset(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4522,7 +4522,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendWindowStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendWindowStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAppendWindowStart(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4533,7 +4533,7 @@ impl MseSourceBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendWindowEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendWindowEnd)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppendWindowEnd(&self, value: P0) -> ::windows_core::Result<()> @@ -4603,7 +4603,7 @@ impl MseSourceBufferList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceBufferAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceBufferAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceBufferAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4617,7 +4617,7 @@ impl MseSourceBufferList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceBufferRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceBufferRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceBufferRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4629,7 +4629,7 @@ impl MseSourceBufferList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4665,7 +4665,7 @@ impl MseStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOpened(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4679,7 +4679,7 @@ impl MseStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ended)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ended)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4693,7 +4693,7 @@ impl MseStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4704,28 +4704,28 @@ impl MseStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceBuffers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceBuffers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActiveSourceBuffers(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActiveSourceBuffers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActiveSourceBuffers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadyState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadyState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadyState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -4739,7 +4739,7 @@ impl MseStreamSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddSourceBuffer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mimetype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddSourceBuffer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mimetype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveSourceBuffer(&self, buffer: P0) -> ::windows_core::Result<()> @@ -4757,7 +4757,7 @@ impl MseStreamSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LiveSeekableRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LiveSeekableRange)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLiveSeekableRange(&self, value: P0) -> ::windows_core::Result<()> @@ -4770,7 +4770,7 @@ impl MseStreamSource { pub fn IsContentTypeSupported(contenttype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMseStreamSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContentTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContentTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contenttype), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -4809,7 +4809,7 @@ impl SceneAnalysisEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighDynamicRangeAnalyzer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighDynamicRangeAnalyzer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredAnalysisInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4820,7 +4820,7 @@ impl SceneAnalysisEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredAnalysisInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredAnalysisInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SceneAnalyzed(&self, handler: P0) -> ::windows_core::Result @@ -4830,7 +4830,7 @@ impl SceneAnalysisEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SceneAnalyzed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SceneAnalyzed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSceneAnalyzed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4872,7 +4872,7 @@ impl SceneAnalysisEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -4880,7 +4880,7 @@ impl SceneAnalysisEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4915,14 +4915,14 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -4936,7 +4936,7 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -4950,7 +4950,7 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -4964,7 +4964,7 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -4975,7 +4975,7 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4983,7 +4983,7 @@ impl SceneAnalysisEffectFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture")] @@ -4991,21 +4991,21 @@ impl SceneAnalysisEffectFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameControlValues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameControlValues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HighDynamicRange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighDynamicRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighDynamicRange)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AnalysisRecommendation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnalysisRecommendation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnalysisRecommendation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5030,7 +5030,7 @@ impl SceneAnalyzedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5067,7 +5067,7 @@ impl SpeechCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -5078,7 +5078,7 @@ impl SpeechCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5089,14 +5089,14 @@ impl SpeechCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5107,7 +5107,7 @@ impl SpeechCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPositionInInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPositionInInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartPositionInInput(&self, value: P0) -> ::windows_core::Result<()> @@ -5121,7 +5121,7 @@ impl SpeechCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndPositionInInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndPositionInInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEndPositionInInput(&self, value: P0) -> ::windows_core::Result<()> @@ -5154,7 +5154,7 @@ impl TimedMetadataStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5165,7 +5165,7 @@ impl TimedMetadataStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5176,7 +5176,7 @@ impl TimedMetadataStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5187,7 +5187,7 @@ impl TimedMetadataStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5195,14 +5195,14 @@ impl TimedMetadataStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -5212,7 +5212,7 @@ impl TimedMetadataStreamDescriptor { { Self::ITimedMetadataStreamDescriptorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5243,21 +5243,21 @@ impl TimedMetadataTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5268,7 +5268,7 @@ impl TimedMetadataTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CueEntered(&self, handler: P0) -> ::windows_core::Result @@ -5278,7 +5278,7 @@ impl TimedMetadataTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CueEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CueEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCueEntered(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5292,7 +5292,7 @@ impl TimedMetadataTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CueExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CueExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCueExited(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5306,7 +5306,7 @@ impl TimedMetadataTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTrackFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5318,7 +5318,7 @@ impl TimedMetadataTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5326,21 +5326,21 @@ impl TimedMetadataTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActiveCues)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActiveCues)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimedMetadataKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimedMetadataKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimedMetadataKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DispatchType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatchType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatchType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddCue(&self, cue: P0) -> ::windows_core::Result<()> @@ -5362,20 +5362,20 @@ impl TimedMetadataTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(id: &::windows_core::HSTRING, language: &::windows_core::HSTRING, kind: TimedMetadataKind) -> ::windows_core::Result { Self::ITimedMetadataTrackFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(language), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(language), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5405,14 +5405,14 @@ impl TimedMetadataTrackError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5437,7 +5437,7 @@ impl TimedMetadataTrackFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5462,7 +5462,7 @@ impl TimedTextBouten { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: TimedTextBoutenType) -> ::windows_core::Result<()> { @@ -5474,7 +5474,7 @@ impl TimedTextBouten { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -5486,7 +5486,7 @@ impl TimedTextBouten { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: TimedTextBoutenPosition) -> ::windows_core::Result<()> { @@ -5527,7 +5527,7 @@ impl TimedTextCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -5538,7 +5538,7 @@ impl TimedTextCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5549,14 +5549,14 @@ impl TimedTextCue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CueRegion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CueRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CueRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCueRegion(&self, value: P0) -> ::windows_core::Result<()> @@ -5570,7 +5570,7 @@ impl TimedTextCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CueStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CueStyle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCueStyle(&self, value: P0) -> ::windows_core::Result<()> @@ -5585,7 +5585,7 @@ impl TimedTextCue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lines)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5617,7 +5617,7 @@ impl TimedTextLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5629,7 +5629,7 @@ impl TimedTextLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subformats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subformats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5661,7 +5661,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5672,7 +5672,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: TimedTextPoint) -> ::windows_core::Result<()> { @@ -5683,7 +5683,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtent(&self, value: TimedTextSize) -> ::windows_core::Result<()> { @@ -5695,7 +5695,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Background)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Background)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -5707,7 +5707,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WritingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WritingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWritingMode(&self, value: TimedTextWritingMode) -> ::windows_core::Result<()> { @@ -5718,7 +5718,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAlignment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAlignment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayAlignment(&self, value: TimedTextDisplayAlignment) -> ::windows_core::Result<()> { @@ -5729,7 +5729,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineHeight(&self, value: TimedTextDouble) -> ::windows_core::Result<()> { @@ -5740,7 +5740,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverflowClipped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverflowClipped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOverflowClipped(&self, value: bool) -> ::windows_core::Result<()> { @@ -5751,7 +5751,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Padding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Padding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPadding(&self, value: TimedTextPadding) -> ::windows_core::Result<()> { @@ -5762,7 +5762,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextWrapping)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextWrapping)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTextWrapping(&self, value: TimedTextWrapping) -> ::windows_core::Result<()> { @@ -5773,7 +5773,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetZIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -5784,7 +5784,7 @@ impl TimedTextRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScrollMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScrollMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScrollMode(&self, value: TimedTextScrollMode) -> ::windows_core::Result<()> { @@ -5813,7 +5813,7 @@ impl TimedTextRuby { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5824,7 +5824,7 @@ impl TimedTextRuby { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: TimedTextRubyPosition) -> ::windows_core::Result<()> { @@ -5835,7 +5835,7 @@ impl TimedTextRuby { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Align)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Align)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlign(&self, value: TimedTextRubyAlign) -> ::windows_core::Result<()> { @@ -5846,7 +5846,7 @@ impl TimedTextRuby { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reserve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reserve)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReserve(&self, value: TimedTextRubyReserve) -> ::windows_core::Result<()> { @@ -5878,7 +5878,7 @@ impl TimedTextSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Resolved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Resolved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResolved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5892,7 +5892,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUri(uri: P0) -> ::windows_core::Result @@ -5901,7 +5901,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -5911,7 +5911,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamWithLanguage)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamWithLanguage)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUriWithLanguage(uri: P0, defaultlanguage: &::windows_core::HSTRING) -> ::windows_core::Result @@ -5920,7 +5920,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUriWithLanguage)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUriWithLanguage)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -5931,7 +5931,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamWithIndex)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), indexstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamWithIndex)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), indexstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUriWithIndex(uri: P0, indexuri: P1) -> ::windows_core::Result @@ -5941,7 +5941,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUriWithIndex)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), indexuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUriWithIndex)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), indexuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -5952,7 +5952,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamWithIndexAndLanguage)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), indexstream.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamWithIndexAndLanguage)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), indexstream.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUriWithIndexAndLanguage(uri: P0, indexuri: P1, defaultlanguage: &::windows_core::HSTRING) -> ::windows_core::Result @@ -5962,7 +5962,7 @@ impl TimedTextSource { { Self::ITimedTextSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUriWithIndexAndLanguage)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), indexuri.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUriWithIndexAndLanguage)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), indexuri.into_param().abi(), ::core::mem::transmute_copy(defaultlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5997,7 +5997,7 @@ impl TimedTextSourceResolveResultEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6005,7 +6005,7 @@ impl TimedTextSourceResolveResultEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6037,7 +6037,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6048,7 +6048,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontFamily)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontFamily)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFontFamily(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6059,7 +6059,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontSize(&self, value: TimedTextDouble) -> ::windows_core::Result<()> { @@ -6070,7 +6070,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontWeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontWeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontWeight(&self, value: TimedTextWeight) -> ::windows_core::Result<()> { @@ -6082,7 +6082,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Foreground)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Foreground)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -6095,7 +6095,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Background)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Background)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -6107,7 +6107,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBackgroundAlwaysShown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBackgroundAlwaysShown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsBackgroundAlwaysShown(&self, value: bool) -> ::windows_core::Result<()> { @@ -6118,7 +6118,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFlowDirection(&self, value: TimedTextFlowDirection) -> ::windows_core::Result<()> { @@ -6129,7 +6129,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineAlignment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineAlignment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLineAlignment(&self, value: TimedTextLineAlignment) -> ::windows_core::Result<()> { @@ -6141,7 +6141,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutlineColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutlineColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -6153,7 +6153,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutlineThickness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutlineThickness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutlineThickness(&self, value: TimedTextDouble) -> ::windows_core::Result<()> { @@ -6164,7 +6164,7 @@ impl TimedTextStyle { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutlineRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutlineRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutlineRadius(&self, value: TimedTextDouble) -> ::windows_core::Result<()> { @@ -6175,7 +6175,7 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontStyle(&self, value: TimedTextFontStyle) -> ::windows_core::Result<()> { @@ -6186,7 +6186,7 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnderlineEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnderlineEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsUnderlineEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -6197,7 +6197,7 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLineThroughEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLineThroughEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLineThroughEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -6208,7 +6208,7 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverlineEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverlineEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOverlineEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -6219,21 +6219,21 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ruby)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ruby)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bouten(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bouten)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bouten)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsTextCombined(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTextCombined)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTextCombined)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsTextCombined(&self, value: bool) -> ::windows_core::Result<()> { @@ -6244,7 +6244,7 @@ impl TimedTextStyle { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontAngleInDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -6280,7 +6280,7 @@ impl TimedTextSubformat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -6291,7 +6291,7 @@ impl TimedTextSubformat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: i32) -> ::windows_core::Result<()> { @@ -6302,7 +6302,7 @@ impl TimedTextSubformat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubformatStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubformatStyle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubformatStyle(&self, value: P0) -> ::windows_core::Result<()> @@ -6347,7 +6347,7 @@ impl VideoStabilizationEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnabledChanged(&self, handler: P0) -> ::windows_core::Result @@ -6357,7 +6357,7 @@ impl VideoStabilizationEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnabledChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6373,7 +6373,7 @@ impl VideoStabilizationEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecommendedStreamConfiguration)(::windows_core::Interface::as_raw(this), controller.into_param().abi(), desiredproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecommendedStreamConfiguration)(::windows_core::Interface::as_raw(this), controller.into_param().abi(), desiredproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6411,7 +6411,7 @@ impl VideoStabilizationEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -6419,7 +6419,7 @@ impl VideoStabilizationEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6449,7 +6449,7 @@ impl VideoStabilizationEffectEnabledChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6475,7 +6475,7 @@ impl VideoStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6486,7 +6486,7 @@ impl VideoStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6497,7 +6497,7 @@ impl VideoStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6508,7 +6508,7 @@ impl VideoStreamDescriptor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -6516,14 +6516,14 @@ impl VideoStreamDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -6533,7 +6533,7 @@ impl VideoStreamDescriptor { { Self::IVideoStreamDescriptorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -6564,21 +6564,21 @@ impl VideoTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6589,7 +6589,7 @@ impl VideoTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenFailed(&self, handler: P0) -> ::windows_core::Result @@ -6599,7 +6599,7 @@ impl VideoTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOpenFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6611,7 +6611,7 @@ impl VideoTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Playback")] @@ -6619,21 +6619,21 @@ impl VideoTrack { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -6658,7 +6658,7 @@ impl VideoTrackOpenFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -6683,14 +6683,14 @@ impl VideoTrackSupportInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecoderStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecoderStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaSourceStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } 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 3497e54e0a..5977fe6319 100644 --- a/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs @@ -253,7 +253,7 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocalLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocalLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -261,7 +261,7 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrincipalPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrincipalPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -269,7 +269,7 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RadialDistortion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RadialDistortion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -277,21 +277,21 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TangentialDistortion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TangentialDistortion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ImageWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ImageHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -299,7 +299,7 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectOntoFrame)(::windows_core::Interface::as_raw(this), coordinate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectOntoFrame)(::windows_core::Interface::as_raw(this), coordinate, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -307,7 +307,7 @@ impl CameraIntrinsics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprojectAtUnitDepth)(::windows_core::Interface::as_raw(this), pixelcoordinate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprojectAtUnitDepth)(::windows_core::Interface::as_raw(this), pixelcoordinate, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -325,14 +325,14 @@ impl CameraIntrinsics { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndistortedProjectionTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndistortedProjectionTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DistortPoint(&self, input: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistortPoint)(::windows_core::Interface::as_raw(this), input, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistortPoint)(::windows_core::Interface::as_raw(this), input, &mut result__).map(|| result__) } } pub fn DistortPoints(&self, inputs: &[super::super::super::Foundation::Point], results: &mut [super::super::super::Foundation::Point]) -> ::windows_core::Result<()> { @@ -343,7 +343,7 @@ impl CameraIntrinsics { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndistortPoint)(::windows_core::Interface::as_raw(this), input, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndistortPoint)(::windows_core::Interface::as_raw(this), input, &mut result__).map(|| result__) } } pub fn UndistortPoints(&self, inputs: &[super::super::super::Foundation::Point], results: &mut [super::super::super::Foundation::Point]) -> ::windows_core::Result<()> { @@ -354,7 +354,7 @@ impl CameraIntrinsics { pub fn Create(focallength: super::super::super::Foundation::Numerics::Vector2, principalpoint: super::super::super::Foundation::Numerics::Vector2, radialdistortion: super::super::super::Foundation::Numerics::Vector3, tangentialdistortion: super::super::super::Foundation::Numerics::Vector2, imagewidth: u32, imageheight: u32) -> ::windows_core::Result { Self::ICameraIntrinsicsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), focallength, principalpoint, radialdistortion, tangentialdistortion, imagewidth, imageheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), focallength, principalpoint, radialdistortion, tangentialdistortion, imagewidth, imageheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -393,7 +393,7 @@ impl DepthCorrelatedCoordinateMapper { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprojectPoint)(::windows_core::Interface::as_raw(this), sourcepoint, targetcoordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprojectPoint)(::windows_core::Interface::as_raw(this), sourcepoint, targetcoordinatesystem.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -413,7 +413,7 @@ impl DepthCorrelatedCoordinateMapper { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapPoint)(::windows_core::Interface::as_raw(this), sourcepoint, targetcoordinatesystem.into_param().abi(), targetcameraintrinsics.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapPoint)(::windows_core::Interface::as_raw(this), sourcepoint, targetcoordinatesystem.into_param().abi(), targetcameraintrinsics.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -447,42 +447,42 @@ impl FrameControlCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposureCompensation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureCompensation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureCompensation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoSpeed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoSpeed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Focus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotoConfirmationSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoConfirmationSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoConfirmationSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Flash(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -512,35 +512,35 @@ impl FrameController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposureCompensationControl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureCompensationControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureCompensationControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoSpeedControl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoSpeedControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoSpeedControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FocusControl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotoConfirmationEnabled(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoConfirmationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoConfirmationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPhotoConfirmationEnabled(&self, value: P0) -> ::windows_core::Result<()> @@ -554,7 +554,7 @@ impl FrameController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlashControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlashControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -579,28 +579,28 @@ impl FrameExposureCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -623,28 +623,28 @@ impl FrameExposureCompensationCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -667,7 +667,7 @@ impl FrameExposureCompensationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -697,7 +697,7 @@ impl FrameExposureControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuto(&self, value: bool) -> ::windows_core::Result<()> { @@ -708,7 +708,7 @@ impl FrameExposureControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -738,21 +738,21 @@ impl FrameFlashCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedEyeReductionSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedEyeReductionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedEyeReductionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -775,7 +775,7 @@ impl FrameFlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: FrameFlashMode) -> ::windows_core::Result<()> { @@ -786,7 +786,7 @@ impl FrameFlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuto(&self, value: bool) -> ::windows_core::Result<()> { @@ -797,7 +797,7 @@ impl FrameFlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedEyeReduction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedEyeReduction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRedEyeReduction(&self, value: bool) -> ::windows_core::Result<()> { @@ -808,7 +808,7 @@ impl FrameFlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPowerPercent(&self, value: f32) -> ::windows_core::Result<()> { @@ -835,28 +835,28 @@ impl FrameFocusCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -879,7 +879,7 @@ impl FrameFocusControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -909,28 +909,28 @@ impl FrameIsoSpeedCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -953,7 +953,7 @@ impl FrameIsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuto(&self, value: bool) -> ::windows_core::Result<()> { @@ -964,7 +964,7 @@ impl FrameIsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -994,21 +994,21 @@ impl VariablePhotoSequenceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPhotosPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPhotosPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPhotosPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhotosPerSecondLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosPerSecondLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosPerSecondLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPhotosPerSecondLimit(&self, value: f32) -> ::windows_core::Result<()> { @@ -1023,7 +1023,7 @@ impl VariablePhotoSequenceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -1031,14 +1031,14 @@ impl VariablePhotoSequenceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameCapabilities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1046,7 +1046,7 @@ impl VariablePhotoSequenceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFrameControllers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFrameControllers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/Devices/mod.rs b/crates/libs/windows/src/Windows/Media/Devices/mod.rs index ce712bc69c..c5533a64c6 100644 --- a/crates/libs/windows/src/Windows/Media/Devices/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Devices/mod.rs @@ -250,14 +250,14 @@ impl IDefaultAudioDeviceChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Role(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -606,7 +606,7 @@ impl IMediaDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -614,7 +614,7 @@ impl IMediaDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -625,7 +625,7 @@ impl IMediaDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -906,7 +906,7 @@ impl AdvancedPhotoCaptureSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: AdvancedPhotoMode) -> ::windows_core::Result<()> { @@ -935,7 +935,7 @@ impl AdvancedPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -943,14 +943,14 @@ impl AdvancedPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Configure(&self, settings: P0) -> ::windows_core::Result<()> @@ -987,7 +987,7 @@ impl AudioDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Muted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Muted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVolumePercent(&self, value: f32) -> ::windows_core::Result<()> { @@ -998,7 +998,7 @@ impl AudioDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VolumePercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VolumePercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -1006,7 +1006,7 @@ impl AudioDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -1014,7 +1014,7 @@ impl AudioDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -1025,7 +1025,7 @@ impl AudioDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1048,35 +1048,35 @@ impl AudioDeviceModule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstanceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MajorVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MajorVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MajorVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinorVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinorVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinorVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1087,7 +1087,7 @@ impl AudioDeviceModule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendCommandAsync)(::windows_core::Interface::as_raw(this), command.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendCommandAsync)(::windows_core::Interface::as_raw(this), command.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1110,7 +1110,7 @@ impl AudioDeviceModuleNotificationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Module)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Module)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1118,7 +1118,7 @@ impl AudioDeviceModuleNotificationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1146,7 +1146,7 @@ impl AudioDeviceModulesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModuleNotificationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModuleNotificationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveModuleNotificationReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1158,7 +1158,7 @@ impl AudioDeviceModulesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(moduleid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(moduleid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1166,13 +1166,13 @@ impl AudioDeviceModulesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAudioDeviceModulesManagerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1202,14 +1202,14 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndicateNewIncomingCall)(::windows_core::Interface::as_raw(this), enableringer, ::core::mem::transmute_copy(callerid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndicateNewIncomingCall)(::windows_core::Interface::as_raw(this), enableringer, ::core::mem::transmute_copy(callerid), &mut result__).map(|| result__) } } pub fn IndicateNewOutgoingCall(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndicateNewOutgoingCall)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndicateNewOutgoingCall)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IndicateActiveCall(&self, calltoken: u64) -> ::windows_core::Result<()> { @@ -1224,7 +1224,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasRinger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasRinger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AnswerRequested(&self, handler: P0) -> ::windows_core::Result @@ -1234,7 +1234,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnswerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnswerRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAnswerRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1248,7 +1248,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HangUpRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HangUpRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHangUpRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1262,7 +1262,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDialRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1276,7 +1276,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedialRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedialRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRedialRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1290,7 +1290,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeypadPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeypadPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeypadPressed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1304,7 +1304,7 @@ impl CallControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioTransferRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioTransferRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioTransferRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1314,13 +1314,13 @@ impl CallControl { pub fn GetDefault() -> ::windows_core::Result { Self::ICallControlStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICallControlStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1350,14 +1350,14 @@ impl CameraOcclusionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsOcclusionKindSupported(&self, occlusionkind: CameraOcclusionKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOcclusionKindSupported)(::windows_core::Interface::as_raw(this), occlusionkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOcclusionKindSupported)(::windows_core::Interface::as_raw(this), occlusionkind, &mut result__).map(|| result__) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -1367,7 +1367,7 @@ impl CameraOcclusionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1396,14 +1396,14 @@ impl CameraOcclusionState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOccluded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOccluded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOcclusionKind(&self, occlusionkind: CameraOcclusionKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOcclusionKind)(::windows_core::Interface::as_raw(this), occlusionkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOcclusionKind)(::windows_core::Interface::as_raw(this), occlusionkind, &mut result__).map(|| result__) } } } @@ -1428,7 +1428,7 @@ impl CameraOcclusionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1454,14 +1454,14 @@ impl DefaultAudioCaptureDeviceChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Role(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1487,14 +1487,14 @@ impl DefaultAudioRenderDeviceChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Role(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1523,7 +1523,7 @@ impl DialRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1555,7 +1555,7 @@ impl DigitalWindowBounds { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedOriginTop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedOriginTop)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNormalizedOriginTop(&self, value: f64) -> ::windows_core::Result<()> { @@ -1566,7 +1566,7 @@ impl DigitalWindowBounds { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedOriginLeft)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedOriginLeft)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNormalizedOriginLeft(&self, value: f64) -> ::windows_core::Result<()> { @@ -1577,7 +1577,7 @@ impl DigitalWindowBounds { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScale(&self, value: f64) -> ::windows_core::Result<()> { @@ -1606,42 +1606,42 @@ impl DigitalWindowCapability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinScaleValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScaleValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScaleValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxScaleValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxScaleValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxScaleValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinScaleValueWithoutUpsampling(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScaleValueWithoutUpsampling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScaleValueWithoutUpsampling)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NormalizedFieldOfViewLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedFieldOfViewLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedFieldOfViewLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1666,28 +1666,28 @@ impl DigitalWindowControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedModes(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn CurrentMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetBounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBounds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configure(&self, digitalwindowmode: DigitalWindowMode) -> ::windows_core::Result<()> { @@ -1706,14 +1706,14 @@ impl DigitalWindowControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCapabilityForSize(&self, width: i32, height: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilityForSize)(::windows_core::Interface::as_raw(this), width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilityForSize)(::windows_core::Interface::as_raw(this), width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1738,42 +1738,42 @@ impl ExposureCompensationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, value: f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1796,56 +1796,56 @@ impl ExposureControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Auto(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoAsync(&self, value: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAutoAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAutoAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, shutterduration: super::super::Foundation::TimeSpan) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), shutterduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), shutterduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1868,14 +1868,14 @@ impl ExposurePriorityVideoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1904,28 +1904,28 @@ impl FlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RedEyeReductionSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedEyeReductionSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedEyeReductionSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1936,7 +1936,7 @@ impl FlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuto(&self, value: bool) -> ::windows_core::Result<()> { @@ -1947,7 +1947,7 @@ impl FlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedEyeReduction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedEyeReduction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRedEyeReduction(&self, value: bool) -> ::windows_core::Result<()> { @@ -1958,7 +1958,7 @@ impl FlashControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPowerPercent(&self, value: f32) -> ::windows_core::Result<()> { @@ -1969,14 +1969,14 @@ impl FlashControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AssistantLightSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AssistantLightSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AssistantLightEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AssistantLightEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AssistantLightEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAssistantLightEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2003,7 +2003,7 @@ impl FocusControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2011,84 +2011,84 @@ impl FocusControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPresets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPresets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Preset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPresetAsync(&self, preset: FocusPreset) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPresetWithCompletionOptionAsync(&self, preset: FocusPreset, completebeforefocus: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPresetWithCompletionOptionAsync)(::windows_core::Interface::as_raw(this), preset, completebeforefocus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPresetWithCompletionOptionAsync)(::windows_core::Interface::as_raw(this), preset, completebeforefocus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, focus: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), focus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), focus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FocusAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FocusChangedSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusChangedSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusChangedSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WaitForFocusSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitForFocusSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitForFocusSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2096,7 +2096,7 @@ impl FocusControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFocusModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFocusModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2104,7 +2104,7 @@ impl FocusControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFocusDistances)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFocusDistances)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2112,35 +2112,35 @@ impl FocusControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFocusRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedFocusRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FocusState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnlockAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnlockAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnlockAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LockAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Configure(&self, settings: P0) -> ::windows_core::Result<()> @@ -2177,7 +2177,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: FocusMode) -> ::windows_core::Result<()> { @@ -2188,7 +2188,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoFocusRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoFocusRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoFocusRange(&self, value: AutoFocusRange) -> ::windows_core::Result<()> { @@ -2199,7 +2199,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -2213,7 +2213,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Distance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Distance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDistance(&self, value: P0) -> ::windows_core::Result<()> @@ -2227,7 +2227,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitForFocus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitForFocus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWaitForFocus(&self, value: bool) -> ::windows_core::Result<()> { @@ -2238,7 +2238,7 @@ impl FocusSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableDriverFallback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableDriverFallback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisableDriverFallback(&self, value: bool) -> ::windows_core::Result<()> { @@ -2267,7 +2267,7 @@ impl HdrVideoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2275,14 +2275,14 @@ impl HdrVideoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: HdrVideoMode) -> ::windows_core::Result<()> { @@ -2311,7 +2311,7 @@ impl InfraredTorchControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2319,14 +2319,14 @@ impl InfraredTorchControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCurrentMode(&self, value: InfraredTorchMode) -> ::windows_core::Result<()> { @@ -2337,28 +2337,28 @@ impl InfraredTorchControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPower(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerStep(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Power(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Power)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Power)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPower(&self, value: i32) -> ::windows_core::Result<()> { @@ -2387,7 +2387,7 @@ impl IsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -2395,7 +2395,7 @@ impl IsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPresets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPresets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2403,7 +2403,7 @@ impl IsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2411,56 +2411,56 @@ impl IsoSpeedControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Min(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, isospeed: u32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), isospeed, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), isospeed, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Auto(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Auto)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAutoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAutoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2483,7 +2483,7 @@ impl KeypadPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TelephonyKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TelephonyKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2512,7 +2512,7 @@ impl LowLagPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2520,14 +2520,14 @@ impl LowLagPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThumbnailEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetThumbnailEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2539,7 +2539,7 @@ impl LowLagPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2551,7 +2551,7 @@ impl LowLagPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredThumbnailSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredThumbnailSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredThumbnailSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -2562,7 +2562,7 @@ impl LowLagPhotoControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareAcceleratedThumbnailSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareAcceleratedThumbnailSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2585,28 +2585,28 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPastPhotos(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPastPhotos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPastPhotos)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPhotosPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPhotosPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPhotosPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PastPhotoLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PastPhotoLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PastPhotoLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPastPhotoLimit(&self, value: u32) -> ::windows_core::Result<()> { @@ -2617,7 +2617,7 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosPerSecondLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosPerSecondLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPhotosPerSecondLimit(&self, value: f32) -> ::windows_core::Result<()> { @@ -2632,7 +2632,7 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHighestConcurrentFrameRate)(::windows_core::Interface::as_raw(this), captureproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -2640,14 +2640,14 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentFrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThumbnailEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetThumbnailEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2659,7 +2659,7 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -2671,7 +2671,7 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredThumbnailSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredThumbnailSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredThumbnailSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -2682,7 +2682,7 @@ impl LowLagPhotoSequenceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareAcceleratedThumbnailSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareAcceleratedThumbnailSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2701,31 +2701,31 @@ impl MediaDevice { pub fn GetAudioCaptureSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioCaptureSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioCaptureSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetAudioRenderSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioRenderSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioRenderSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetVideoCaptureSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoCaptureSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoCaptureSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAudioCaptureId(role: AudioDeviceRole) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAudioCaptureId)(::windows_core::Interface::as_raw(this), role, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAudioCaptureId)(::windows_core::Interface::as_raw(this), role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefaultAudioRenderId(role: AudioDeviceRole) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultAudioRenderId)(::windows_core::Interface::as_raw(this), role, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultAudioRenderId)(::windows_core::Interface::as_raw(this), role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DefaultAudioCaptureDeviceChanged(handler: P0) -> ::windows_core::Result @@ -2734,7 +2734,7 @@ impl MediaDevice { { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultAudioCaptureDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultAudioCaptureDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveDefaultAudioCaptureDeviceChanged(cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2746,7 +2746,7 @@ impl MediaDevice { { Self::IMediaDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultAudioRenderDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultAudioRenderDeviceChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveDefaultAudioRenderDeviceChanged(cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2770,35 +2770,35 @@ impl MediaDeviceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetValue(&self, value: &mut f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetValue)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetValue)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn TrySetValue(&self, value: f64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetValue)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn TryGetAuto(&self, value: &mut bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAuto)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAuto)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn TrySetAuto(&self, value: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetAuto)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetAuto)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -2821,42 +2821,42 @@ impl MediaDeviceControlCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Default(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoModeSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoModeSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoModeSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2879,7 +2879,7 @@ impl ModuleCommandResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2887,7 +2887,7 @@ impl ModuleCommandResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2910,7 +2910,7 @@ impl OpticalImageStabilizationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2918,14 +2918,14 @@ impl OpticalImageStabilizationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: OpticalImageStabilizationMode) -> ::windows_core::Result<()> { @@ -2954,7 +2954,7 @@ impl PanelBasedOptimizationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -2962,7 +2962,7 @@ impl PanelBasedOptimizationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Panel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Panel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Enumeration")] @@ -2992,14 +2992,14 @@ impl PhotoConfirmationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3011,7 +3011,7 @@ impl PhotoConfirmationControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3068,7 +3068,7 @@ impl RegionOfInterest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoFocusEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoFocusEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoFocusEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3079,7 +3079,7 @@ impl RegionOfInterest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoWhiteBalanceEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoWhiteBalanceEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoWhiteBalanceEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3090,7 +3090,7 @@ impl RegionOfInterest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoExposureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoExposureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoExposureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3101,7 +3101,7 @@ impl RegionOfInterest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBounds(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -3112,7 +3112,7 @@ impl RegionOfInterest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: RegionOfInterestType) -> ::windows_core::Result<()> { @@ -3123,7 +3123,7 @@ impl RegionOfInterest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundsNormalized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundsNormalized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBoundsNormalized(&self, value: bool) -> ::windows_core::Result<()> { @@ -3134,7 +3134,7 @@ impl RegionOfInterest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -3163,7 +3163,7 @@ impl RegionsOfInterestControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxRegions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxRegions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3174,7 +3174,7 @@ impl RegionsOfInterestControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetRegionsAsync)(::windows_core::Interface::as_raw(this), regions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetRegionsAsync)(::windows_core::Interface::as_raw(this), regions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3185,35 +3185,35 @@ impl RegionsOfInterestControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetRegionsWithLockAsync)(::windows_core::Interface::as_raw(this), regions.into_param().abi(), lockvalues, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetRegionsWithLockAsync)(::windows_core::Interface::as_raw(this), regions.into_param().abi(), lockvalues, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearRegionsAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearRegionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearRegionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoFocusSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoFocusSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoFocusSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoWhiteBalanceSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoWhiteBalanceSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoWhiteBalanceSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoExposureSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoExposureSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoExposureSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3237,21 +3237,21 @@ impl SceneModeControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, scenemode: CaptureSceneMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), scenemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), scenemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3274,21 +3274,21 @@ impl TorchControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3299,7 +3299,7 @@ impl TorchControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerPercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPowerPercent(&self, value: f32) -> ::windows_core::Result<()> { @@ -3334,14 +3334,14 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceProperty)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CameraOcclusionInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraOcclusionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraOcclusionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture")] @@ -3349,91 +3349,91 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAcquireExclusiveControl)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAcquireExclusiveControl)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), mode, &mut result__).map(|| result__) } } pub fn LowLagPhotoSequence(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowLagPhotoSequence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowLagPhotoSequence)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LowLagPhoto(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowLagPhoto)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowLagPhoto)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SceneModeControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SceneModeControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SceneModeControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TorchControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TorchControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TorchControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlashControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlashControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlashControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WhiteBalanceControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhiteBalanceControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhiteBalanceControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposureControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FocusControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposureCompensationControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposureCompensationControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposureCompensationControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsoSpeedControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsoSpeedControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsoSpeedControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegionsOfInterestControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegionsOfInterestControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegionsOfInterestControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrimaryUse(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryUse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryUse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPrimaryUse(&self, value: CaptureUse) -> ::windows_core::Result<()> { @@ -3445,35 +3445,35 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VariablePhotoSequenceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VariablePhotoSequenceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotoConfirmationControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotoConfirmationControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotoConfirmationControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ZoomControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZoomControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZoomControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExposurePriorityVideoControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExposurePriorityVideoControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExposurePriorityVideoControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DesiredOptimization(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredOptimization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredOptimization)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredOptimization(&self, value: MediaCaptureOptimization) -> ::windows_core::Result<()> { @@ -3484,28 +3484,28 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HdrVideoControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HdrVideoControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpticalImageStabilizationControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpticalImageStabilizationControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpticalImageStabilizationControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdvancedPhotoControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvancedPhotoControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvancedPhotoControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDevicePropertyById(&self, propertyid: &::windows_core::HSTRING, maxpropertyvaluesize: P0) -> ::windows_core::Result @@ -3515,7 +3515,7 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDevicePropertyById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), maxpropertyvaluesize.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDevicePropertyById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), maxpropertyvaluesize.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDevicePropertyById(&self, propertyid: &::windows_core::HSTRING, propertyvalue: P0) -> ::windows_core::Result @@ -3525,7 +3525,7 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDevicePropertyById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), propertyvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDevicePropertyById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyid), propertyvalue.into_param().abi(), &mut result__).map(|| result__) } } pub fn GetDevicePropertyByExtendedId(&self, extendedpropertyid: &[u8], maxpropertyvaluesize: P0) -> ::windows_core::Result @@ -3535,42 +3535,42 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDevicePropertyByExtendedId)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), maxpropertyvaluesize.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDevicePropertyByExtendedId)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), maxpropertyvaluesize.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::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__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDevicePropertyByExtendedId)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), propertyvalue.len().try_into().unwrap(), propertyvalue.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDevicePropertyByExtendedId)(::windows_core::Interface::as_raw(this), extendedpropertyid.len().try_into().unwrap(), extendedpropertyid.as_ptr(), propertyvalue.len().try_into().unwrap(), propertyvalue.as_ptr(), &mut result__).map(|| result__) } } pub fn VideoTemporalDenoisingControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoTemporalDenoisingControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoTemporalDenoisingControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InfraredTorchControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InfraredTorchControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InfraredTorchControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PanelBasedOptimizationControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PanelBasedOptimizationControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PanelBasedOptimizationControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DigitalWindowControl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DigitalWindowControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DigitalWindowControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -3578,7 +3578,7 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAvailableMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -3586,7 +3586,7 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMediaStreamProperties)(::windows_core::Interface::as_raw(this), mediastreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Capture", feature = "Media_MediaProperties"))] @@ -3597,84 +3597,84 @@ impl VideoDeviceController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetMediaStreamPropertiesAsync)(::windows_core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Brightness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brightness)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Contrast(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contrast)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Hue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WhiteBalance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhiteBalance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhiteBalance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BacklightCompensation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BacklightCompensation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BacklightCompensation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Pan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pan)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Tilt(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tilt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tilt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Zoom(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Zoom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Zoom)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Roll(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Roll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Roll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Exposure(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exposure)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Focus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Focus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Capture")] @@ -3682,7 +3682,7 @@ impl VideoDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetPowerlineFrequency)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetPowerlineFrequency)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } #[cfg(feature = "Media_Capture")] @@ -3690,7 +3690,7 @@ impl VideoDeviceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPowerlineFrequency)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPowerlineFrequency)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } } @@ -3713,14 +3713,14 @@ impl VideoDeviceControllerGetDevicePropertyResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3745,7 +3745,7 @@ impl VideoTemporalDenoisingControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3753,14 +3753,14 @@ impl VideoTemporalDenoisingControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: VideoTemporalDenoisingMode) -> ::windows_core::Result<()> { @@ -3789,56 +3789,56 @@ impl WhiteBalanceControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Preset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Preset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPresetAsync(&self, preset: ColorTemperaturePreset) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPresetAsync)(::windows_core::Interface::as_raw(this), preset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValueAsync(&self, temperature: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), temperature, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetValueAsync)(::windows_core::Interface::as_raw(this), temperature, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3861,35 +3861,35 @@ impl ZoomControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Supported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Min(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Max(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Step(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Step)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: f32) -> ::windows_core::Result<()> { @@ -3901,14 +3901,14 @@ impl ZoomControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedModes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Configure(&self, settings: P0) -> ::windows_core::Result<()> @@ -3945,7 +3945,7 @@ impl ZoomSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: ZoomTransitionMode) -> ::windows_core::Result<()> { @@ -3956,7 +3956,7 @@ impl ZoomSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: f32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs b/crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs index 6548b9429d..63936db413 100644 --- a/crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs +++ b/crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs @@ -137,28 +137,28 @@ impl DialApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestLaunchAsync(&self, appargument: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestLaunchAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appargument), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestLaunchAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appargument), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppStateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -183,14 +183,14 @@ impl DialAppStateDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FullXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -215,21 +215,21 @@ impl DialDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDialApp(&self, appname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDialApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDialApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -237,19 +237,19 @@ impl DialDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector(appname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IDialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromIdAsync(value: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Enumeration")] @@ -259,7 +259,7 @@ impl DialDevice { { Self::IDialDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInfoSupportsDialAsync)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInfoSupportsDialAsync)(::windows_core::Interface::as_raw(this), device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -296,7 +296,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Filter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -304,7 +304,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appearance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DialDeviceSelected(&self, handler: P0) -> ::windows_core::Result @@ -314,7 +314,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialDeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialDeviceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDialDeviceSelected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -328,7 +328,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisconnectButtonClicked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -342,7 +342,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DialDevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DialDevicePickerDismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDialDevicePickerDismissed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -362,7 +362,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleDialDeviceAsync)(::windows_core::Interface::as_raw(this), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleDialDeviceAsync)(::windows_core::Interface::as_raw(this), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -370,7 +370,7 @@ impl DialDevicePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleDialDeviceAsyncWithPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleDialDeviceAsyncWithPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Hide(&self) -> ::windows_core::Result<()> { @@ -407,7 +407,7 @@ impl DialDevicePickerFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedAppNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedAppNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -432,7 +432,7 @@ impl DialDeviceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedDialDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedDialDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -457,7 +457,7 @@ impl DialDisconnectButtonClickedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Device)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -483,7 +483,7 @@ impl DialReceiverApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAdditionalDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAdditionalDataAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -494,20 +494,20 @@ impl DialReceiverApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAdditionalDataAsync)(::windows_core::Interface::as_raw(this), additionaldata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAdditionalDataAsync)(::windows_core::Interface::as_raw(this), additionaldata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetUniqueDeviceNameAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUniqueDeviceNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUniqueDeviceNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IDialReceiverAppStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Editing/mod.rs b/crates/libs/windows/src/Windows/Media/Editing/mod.rs index 2887d7fdda..302a23bf76 100644 --- a/crates/libs/windows/src/Windows/Media/Editing/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Editing/mod.rs @@ -253,7 +253,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimTimeFromStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimTimeFromStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimTimeFromStart(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -264,7 +264,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimTimeFromEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimTimeFromEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimTimeFromEnd(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -275,14 +275,14 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrimmedDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimmedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimmedDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -290,7 +290,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDelay(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -301,7 +301,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVolume(&self, value: f64) -> ::windows_core::Result<()> { @@ -312,14 +312,14 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -327,7 +327,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -335,7 +335,7 @@ impl BackgroundAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromEmbeddedAudioTrack(embeddedaudiotrack: P0) -> ::windows_core::Result @@ -344,7 +344,7 @@ impl BackgroundAudioTrack { { Self::IBackgroundAudioTrackStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromEmbeddedAudioTrack)(::windows_core::Interface::as_raw(this), embeddedaudiotrack.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromEmbeddedAudioTrack)(::windows_core::Interface::as_raw(this), embeddedaudiotrack.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -354,7 +354,7 @@ impl BackgroundAudioTrack { { Self::IBackgroundAudioTrackStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -385,7 +385,7 @@ impl EmbeddedAudioTrack { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -410,7 +410,7 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimTimeFromStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimTimeFromStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimTimeFromStart(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -421,7 +421,7 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimTimeFromEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimTimeFromEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimTimeFromEnd(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -432,14 +432,14 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrimmedDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimmedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimmedDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -447,28 +447,28 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTimeInComposition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTimeInComposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTimeInComposition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndTimeInComposition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTimeInComposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTimeInComposition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -476,14 +476,14 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmbeddedAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmbeddedAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectedEmbeddedAudioTrackIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedEmbeddedAudioTrackIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedEmbeddedAudioTrackIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelectedEmbeddedAudioTrackIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -498,7 +498,7 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -506,7 +506,7 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -514,7 +514,7 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Effects"))] @@ -522,14 +522,14 @@ impl MediaClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoEffectDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] pub fn CreateFromColor(color: super::super::UI::Color, originalduration: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IMediaClipStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromColor)(::windows_core::Interface::as_raw(this), color, originalduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromColor)(::windows_core::Interface::as_raw(this), color, originalduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -539,7 +539,7 @@ impl MediaClip { { Self::IMediaClipStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -549,7 +549,7 @@ impl MediaClip { { Self::IMediaClipStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromImageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), originalduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromImageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), originalduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -559,7 +559,7 @@ impl MediaClip { { Self::IMediaClipStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSurface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), originalduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSurface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), originalduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -601,7 +601,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -609,7 +609,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clips)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clips)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -617,7 +617,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -625,14 +625,14 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -643,7 +643,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Graphics_Imaging", feature = "Storage_Streams"))] @@ -651,7 +651,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), timefromstart, scaledwidth, scaledheight, frameprecision, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), timefromstart, scaledwidth, scaledheight, frameprecision, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging", feature = "Storage_Streams"))] @@ -662,7 +662,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailsAsync)(::windows_core::Interface::as_raw(this), timesfromstart.into_param().abi(), scaledwidth, scaledheight, frameprecision, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailsAsync)(::windows_core::Interface::as_raw(this), timesfromstart.into_param().abi(), scaledwidth, scaledheight, frameprecision, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Transcoding", feature = "Storage"))] @@ -673,7 +673,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderToFileAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderToFileAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Transcoding", feature = "Storage"))] @@ -684,7 +684,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderToFileWithTrimmingPreferenceAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), trimmingpreference, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderToFileWithTrimmingPreferenceAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), trimmingpreference, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Media_Transcoding", feature = "Storage"))] @@ -696,7 +696,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderToFileWithProfileAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), trimmingpreference, encodingprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderToFileWithProfileAsync)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), trimmingpreference, encodingprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -704,7 +704,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDefaultEncodingProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDefaultEncodingProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -712,7 +712,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateMediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateMediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Core", feature = "Media_MediaProperties"))] @@ -723,7 +723,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateMediaStreamSourceWithProfile)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateMediaStreamSourceWithProfile)(::windows_core::Interface::as_raw(this), encodingprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -731,7 +731,7 @@ impl MediaComposition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GeneratePreviewMediaStreamSource)(::windows_core::Interface::as_raw(this), scaledwidth, scaledheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GeneratePreviewMediaStreamSource)(::windows_core::Interface::as_raw(this), scaledwidth, scaledheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -739,7 +739,7 @@ impl MediaComposition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OverlayLayers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OverlayLayers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -749,7 +749,7 @@ impl MediaComposition { { Self::IMediaCompositionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -779,7 +779,7 @@ impl MediaOverlay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -794,14 +794,14 @@ impl MediaOverlay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Opacity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f64) -> ::windows_core::Result<()> { @@ -812,21 +812,21 @@ impl MediaOverlay { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clip(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -839,7 +839,7 @@ impl MediaOverlay { { Self::IMediaOverlayFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), clip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), clip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithPositionAndOpacity(clip: P0, position: super::super::Foundation::Rect, opacity: f64) -> ::windows_core::Result @@ -848,7 +848,7 @@ impl MediaOverlay { { Self::IMediaOverlayFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPositionAndOpacity)(::windows_core::Interface::as_raw(this), clip.into_param().abi(), position, opacity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPositionAndOpacity)(::windows_core::Interface::as_raw(this), clip.into_param().abi(), position, opacity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -885,7 +885,7 @@ impl MediaOverlayLayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -893,7 +893,7 @@ impl MediaOverlayLayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Overlays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Overlays)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Effects")] @@ -901,7 +901,7 @@ impl MediaOverlayLayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomCompositorDefinition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomCompositorDefinition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Effects")] @@ -911,7 +911,7 @@ impl MediaOverlayLayer { { Self::IMediaOverlayLayerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithCompositorDefinition)(::windows_core::Interface::as_raw(this), compositordefinition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithCompositorDefinition)(::windows_core::Interface::as_raw(this), compositordefinition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Effects/mod.rs b/crates/libs/windows/src/Windows/Media/Effects/mod.rs index 864aba323e..54dd75f830 100644 --- a/crates/libs/windows/src/Windows/Media/Effects/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Effects/mod.rs @@ -24,7 +24,7 @@ impl IAudioEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -32,7 +32,7 @@ impl IAudioEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -122,7 +122,7 @@ impl IBasicAudioEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseInputFrameForOutput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseInputFrameForOutput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -130,7 +130,7 @@ impl IBasicAudioEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_MediaProperties")] @@ -193,21 +193,21 @@ impl IBasicVideoEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedMemoryTypes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedMemoryTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedMemoryTypes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TimeIndependent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] @@ -215,7 +215,7 @@ impl IBasicVideoEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] @@ -321,7 +321,7 @@ impl IVideoCompositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] @@ -380,7 +380,7 @@ impl IVideoCompositorDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -388,7 +388,7 @@ impl IVideoCompositorDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -423,7 +423,7 @@ impl IVideoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -431,7 +431,7 @@ impl IVideoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -554,7 +554,7 @@ impl AudioCaptureEffectsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioCaptureEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioCaptureEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioCaptureEffectsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -566,7 +566,7 @@ impl AudioCaptureEffectsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioCaptureEffects)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioCaptureEffects)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -591,7 +591,7 @@ impl AudioEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEffectType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEffectType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -617,7 +617,7 @@ impl AudioEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -625,13 +625,13 @@ impl AudioEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAudioEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -641,7 +641,7 @@ impl AudioEffectDefinition { { Self::IAudioEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -668,28 +668,28 @@ impl AudioEffectsManager { pub fn CreateAudioRenderEffectsManager(deviceid: &::windows_core::HSTRING, category: super::Render::AudioRenderCategory) -> ::windows_core::Result { Self::IAudioEffectsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Render")] pub fn CreateAudioRenderEffectsManagerWithMode(deviceid: &::windows_core::HSTRING, category: super::Render::AudioRenderCategory, mode: super::AudioProcessing) -> ::windows_core::Result { Self::IAudioEffectsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Capture")] pub fn CreateAudioCaptureEffectsManager(deviceid: &::windows_core::HSTRING, category: super::Capture::MediaCategory) -> ::windows_core::Result { Self::IAudioEffectsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Capture")] pub fn CreateAudioCaptureEffectsManagerWithMode(deviceid: &::windows_core::HSTRING, category: super::Capture::MediaCategory, mode: super::AudioProcessing) -> ::windows_core::Result { Self::IAudioEffectsManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -713,7 +713,7 @@ impl AudioRenderEffectsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioRenderEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioRenderEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioRenderEffectsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -725,7 +725,7 @@ impl AudioRenderEffectsManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioRenderEffects)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioRenderEffects)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -733,7 +733,7 @@ impl AudioRenderEffectsManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectsProviderThumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectsProviderThumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -741,7 +741,7 @@ impl AudioRenderEffectsManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EffectsProviderSettingsLabel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EffectsProviderSettingsLabel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -772,21 +772,21 @@ impl CompositeVideoFrameContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SurfacesToOverlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SurfacesToOverlay)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BackgroundFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OutputFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_Editing"))] @@ -797,7 +797,7 @@ impl CompositeVideoFrameContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOverlayForSurface)(::windows_core::Interface::as_raw(this), surfacetooverlay.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOverlayForSurface)(::windows_core::Interface::as_raw(this), surfacetooverlay.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -822,14 +822,14 @@ impl ProcessAudioFrameContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OutputFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -854,14 +854,14 @@ impl ProcessVideoFrameContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OutputFrame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -894,7 +894,7 @@ impl SlowMotionEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeStretchRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeStretchRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimeStretchRate(&self, value: f64) -> ::windows_core::Result<()> { @@ -905,7 +905,7 @@ impl SlowMotionEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -913,7 +913,7 @@ impl SlowMotionEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -939,7 +939,7 @@ impl VideoCompositorDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -947,13 +947,13 @@ impl VideoCompositorDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IVideoCompositorDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -963,7 +963,7 @@ impl VideoCompositorDefinition { { Self::IVideoCompositorDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -994,7 +994,7 @@ impl VideoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1002,13 +1002,13 @@ impl VideoEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IVideoEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1018,7 +1018,7 @@ impl VideoEffectDefinition { { Self::IVideoEffectDefinitionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1056,7 +1056,7 @@ impl VideoTransformEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1064,7 +1064,7 @@ impl VideoTransformEffectDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -1072,7 +1072,7 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaddingColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaddingColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -1084,7 +1084,7 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutputSize(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -1095,7 +1095,7 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CropRectangle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CropRectangle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCropRectangle(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -1107,7 +1107,7 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1120,7 +1120,7 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mirror)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mirror)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1138,14 +1138,14 @@ impl VideoTransformEffectDefinition { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SphericalProjection(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SphericalProjection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SphericalProjection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1170,7 +1170,7 @@ impl VideoTransformSphericalProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1182,7 +1182,7 @@ impl VideoTransformSphericalProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -1195,7 +1195,7 @@ impl VideoTransformSphericalProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Playback")] @@ -1207,7 +1207,7 @@ impl VideoTransformSphericalProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHorizontalFieldOfViewInDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -1219,7 +1219,7 @@ impl VideoTransformSphericalProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] diff --git a/crates/libs/windows/src/Windows/Media/FaceAnalysis/mod.rs b/crates/libs/windows/src/Windows/Media/FaceAnalysis/mod.rs index a4423dae43..9d6ac746bc 100644 --- a/crates/libs/windows/src/Windows/Media/FaceAnalysis/mod.rs +++ b/crates/libs/windows/src/Windows/Media/FaceAnalysis/mod.rs @@ -106,7 +106,7 @@ impl DetectedFace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FaceBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FaceBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -135,7 +135,7 @@ impl FaceDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectFacesAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectFacesAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))] @@ -146,7 +146,7 @@ impl FaceDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetectFacesWithSearchAreaAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), searcharea, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetectFacesWithSearchAreaAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), searcharea, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -154,7 +154,7 @@ impl FaceDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -167,7 +167,7 @@ impl FaceDetector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -178,27 +178,27 @@ impl FaceDetector { pub fn CreateAsync() -> ::windows_core::Result> { Self::IFaceDetectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))] pub fn GetSupportedBitmapPixelFormats() -> ::windows_core::Result> { Self::IFaceDetectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_Imaging")] pub fn IsBitmapPixelFormatSupported(bitmappixelformat: super::super::Graphics::Imaging::BitmapPixelFormat) -> ::windows_core::Result { Self::IFaceDetectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBitmapPixelFormatSupported)(::windows_core::Interface::as_raw(this), bitmappixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBitmapPixelFormatSupported)(::windows_core::Interface::as_raw(this), bitmappixelformat, &mut result__).map(|| result__) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IFaceDetectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -232,7 +232,7 @@ impl FaceTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessNextFrameAsync)(::windows_core::Interface::as_raw(this), videoframe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessNextFrameAsync)(::windows_core::Interface::as_raw(this), videoframe.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -240,7 +240,7 @@ impl FaceTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -253,7 +253,7 @@ impl FaceTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDetectableFaceSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_Imaging")] @@ -264,27 +264,27 @@ impl FaceTracker { pub fn CreateAsync() -> ::windows_core::Result> { Self::IFaceTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))] pub fn GetSupportedBitmapPixelFormats() -> ::windows_core::Result> { Self::IFaceTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSupportedBitmapPixelFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_Imaging")] pub fn IsBitmapPixelFormatSupported(bitmappixelformat: super::super::Graphics::Imaging::BitmapPixelFormat) -> ::windows_core::Result { Self::IFaceTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBitmapPixelFormatSupported)(::windows_core::Interface::as_raw(this), bitmappixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBitmapPixelFormatSupported)(::windows_core::Interface::as_raw(this), bitmappixelformat, &mut result__).map(|| result__) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IFaceTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Import/mod.rs b/crates/libs/windows/src/Windows/Media/Import/mod.rs index f7e917ae48..316b92a9e5 100644 --- a/crates/libs/windows/src/Windows/Media/Import/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Import/mod.rs @@ -292,14 +292,14 @@ impl PhotoImportDeleteImportedItemsFromSourceResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasSucceeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -307,77 +307,77 @@ impl PhotoImportDeleteImportedItemsFromSourceResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeletedItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeletedItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhotosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -402,14 +402,14 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasSucceeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -417,77 +417,77 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FoundItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FoundItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhotosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectAll(&self) -> ::windows_core::Result<()> { @@ -502,7 +502,7 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectNewAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectNewAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImportMode(&self, value: PhotoImportImportMode) -> ::windows_core::Result<()> { @@ -513,77 +513,77 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedPhotosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedPhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedPhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedPhotosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedPhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedPhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedVideosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedVideosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedVideosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedVideosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedVideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedVideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedSidecarsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedSidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedSidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedSidecarsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedSidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedSidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedSiblingsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedSiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedSiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedSiblingsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedSiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedSiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedTotalCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedTotalCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedTotalCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectedTotalSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedTotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedTotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectionChanged(&self, value: P0) -> ::windows_core::Result @@ -593,7 +593,7 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSelectionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -604,7 +604,7 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ItemImported(&self, value: P0) -> ::windows_core::Result @@ -614,7 +614,7 @@ impl PhotoImportFindItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemImported)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemImported)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemImported(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -647,14 +647,14 @@ impl PhotoImportImportItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasSucceeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasSucceeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -662,84 +662,84 @@ impl PhotoImportImportItemsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportedItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportedItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhotosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhotosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhotosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VideosSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SidecarsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SidecarsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SiblingsSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SiblingsSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeleteImportedItemsFromSourceAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteImportedItemsFromSourceAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteImportedItemsFromSourceAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -764,42 +764,42 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ItemKey(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContentType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Date(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Sibling(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -807,7 +807,7 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sidecars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sidecars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -815,14 +815,14 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoSegments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoSegments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSelected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsSelected(&self, value: bool) -> ::windows_core::Result<()> { @@ -834,7 +834,7 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -842,7 +842,7 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportedFileNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportedFileNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -850,14 +850,14 @@ impl PhotoImportItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeletedFileNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeletedFileNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -882,7 +882,7 @@ impl PhotoImportItemImportedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportedItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportedItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -903,21 +903,21 @@ impl PhotoImportManager { pub fn IsSupportedAsync() -> ::windows_core::Result> { Self::IPhotoImportManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllSourcesAsync() -> ::windows_core::Result>> { Self::IPhotoImportManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllSourcesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllSourcesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetPendingOperations() -> ::windows_core::Result> { Self::IPhotoImportManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPendingOperations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPendingOperations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -938,35 +938,35 @@ impl PhotoImportOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Session(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContinueFindingItemsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinueFindingItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinueFindingItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContinueImportingItemsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinueImportingItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinueImportingItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContinueDeletingImportedItemsFromSourceAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinueDeletingImportedItemsFromSourceAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinueDeletingImportedItemsFromSourceAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -991,7 +991,7 @@ impl PhotoImportSelectionChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelectionEmpty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelectionEmpty)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1021,14 +1021,14 @@ impl PhotoImportSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -1044,7 +1044,7 @@ impl PhotoImportSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppendSessionDateToDestinationFolder(&self, value: bool) -> ::windows_core::Result<()> { @@ -1055,7 +1055,7 @@ impl PhotoImportSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendSessionDateToDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendSessionDateToDestinationFolder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSubfolderCreationMode(&self, value: PhotoImportSubfolderCreationMode) -> ::windows_core::Result<()> { @@ -1066,7 +1066,7 @@ impl PhotoImportSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubfolderCreationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubfolderCreationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDestinationFileNamePrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1077,14 +1077,14 @@ impl PhotoImportSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DestinationFileNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DestinationFileNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindItemsAsync(&self, contenttypefilter: PhotoImportContentTypeFilter, itemselectionmode: PhotoImportItemSelectionMode) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindItemsAsync)(::windows_core::Interface::as_raw(this), contenttypefilter, itemselectionmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindItemsAsync)(::windows_core::Interface::as_raw(this), contenttypefilter, itemselectionmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubfolderDateFormat(&self, value: PhotoImportSubfolderDateFormat) -> ::windows_core::Result<()> { @@ -1095,7 +1095,7 @@ impl PhotoImportSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubfolderDateFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubfolderDateFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRememberDeselectedItems(&self, value: bool) -> ::windows_core::Result<()> { @@ -1106,7 +1106,7 @@ impl PhotoImportSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RememberDeselectedItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RememberDeselectedItems)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1131,21 +1131,21 @@ impl PhotoImportSidecar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Date(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1170,84 +1170,84 @@ impl PhotoImportSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Manufacturer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Manufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Manufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Model(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SerialNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionProtocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionProtocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionProtocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionTransport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionTransport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionTransport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PowerSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSource)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BatteryLevelPercent(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatteryLevelPercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatteryLevelPercent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1255,21 +1255,21 @@ impl PhotoImportSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageMedia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageMedia)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsLocked(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLocked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsMassStorage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMassStorage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMassStorage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1277,20 +1277,20 @@ impl PhotoImportSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateImportSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateImportSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateImportSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FromIdAsync(sourceid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPhotoImportSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -1300,7 +1300,7 @@ impl PhotoImportSource { { Self::IPhotoImportSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromFolderAsync)(::windows_core::Interface::as_raw(this), sourcerootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromFolderAsync)(::windows_core::Interface::as_raw(this), sourcerootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1330,49 +1330,49 @@ impl PhotoImportStorageMedium { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SerialNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StorageMediumType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageMediumType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageMediumType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SupportedAccessMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedAccessMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedAccessMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CapacityInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapacityInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapacityInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AvailableSpaceInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableSpaceInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableSpaceInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Refresh(&self) -> ::windows_core::Result<()> { @@ -1401,28 +1401,28 @@ impl PhotoImportVideoSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Date(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Sibling(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sibling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sibling)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1430,7 +1430,7 @@ impl PhotoImportVideoSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sidecars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sidecars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs b/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs index 1f8ad1af6c..04fabc44c5 100644 --- a/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs +++ b/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs @@ -269,14 +269,14 @@ impl IMediaEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -287,7 +287,7 @@ impl IMediaEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -540,7 +540,7 @@ impl AudioEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetChannelCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -551,7 +551,7 @@ impl AudioEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSampleRate(&self, value: u32) -> ::windows_core::Result<()> { @@ -562,7 +562,7 @@ impl AudioEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SampleRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SampleRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBitsPerSample(&self, value: u32) -> ::windows_core::Result<()> { @@ -573,63 +573,63 @@ impl AudioEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitsPerSample)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitsPerSample)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSpatial(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSpatial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSpatial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAac(samplerate: u32, channelcount: u32, bitrate: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAacAdts(samplerate: u32, channelcount: u32, bitrate: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAacAdts)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAacAdts)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMp3(samplerate: u32, channelcount: u32, bitrate: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMp3)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMp3)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePcm(samplerate: u32, channelcount: u32, bitspersample: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePcm)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePcm)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWma(samplerate: u32, channelcount: u32, bitrate: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWma)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWma)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAlac(samplerate: u32, channelcount: u32, bitspersample: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAlac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAlac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFlac(samplerate: u32, channelcount: u32, bitspersample: u32) -> ::windows_core::Result { Self::IAudioEncodingPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFlac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFlac)(::windows_core::Interface::as_raw(this), samplerate, channelcount, bitspersample, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -645,14 +645,14 @@ impl AudioEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -663,7 +663,7 @@ impl AudioEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -694,73 +694,73 @@ impl Av1ProfileIds { pub fn MainChromaSubsampling420BitDepth8() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling420BitDepth10() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling400BitDepth8() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling400BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling400BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling400BitDepth10() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling400BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling400BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HighChromaSubsampling444BitDepth8() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HighChromaSubsampling444BitDepth10() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling420BitDepth12() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling400BitDepth12() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling400BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling400BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling444BitDepth12() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling422BitDepth8() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling422BitDepth10() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProfessionalChromaSubsampling422BitDepth12() -> ::windows_core::Result { Self::IAv1ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfessionalChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -789,7 +789,7 @@ impl ContainerEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -797,14 +797,14 @@ impl ContainerEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -815,7 +815,7 @@ impl ContainerEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -836,61 +836,61 @@ impl H264ProfileIds { pub fn ConstrainedBaseline() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConstrainedBaseline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConstrainedBaseline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Baseline() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Baseline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Baseline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Extended() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Main() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Main)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Main)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn High() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).High)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).High)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn High10() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).High10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).High10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn High422() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).High422)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).High422)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn High444() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).High444)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).High444)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn StereoHigh() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoHigh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoHigh)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MultiviewHigh() -> ::windows_core::Result { Self::IH264ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MultiviewHigh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MultiviewHigh)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -907,133 +907,133 @@ impl HevcProfileIds { pub fn MainChromaSubsampling420BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling420BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling420BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling422BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling422BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling444BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling444BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainChromaSubsampling444BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MonochromeBitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonochromeBitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonochromeBitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MonochromeBitDepth16() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MonochromeBitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MonochromeBitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling420BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling420BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling420BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling422BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling422BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling422BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling422BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling444BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling444BitDepth10() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling444BitDepth12() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainIntraChromaSubsampling444BitDepth16() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainIntraChromaSubsampling444BitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainStillChromaSubsampling420BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainStillChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainStillChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainStillChromaSubsampling444BitDepth8() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainStillChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainStillChromaSubsampling444BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MainStillChromaSubsampling444BitDepth16() -> ::windows_core::Result { Self::IHevcProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MainStillChromaSubsampling444BitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MainStillChromaSubsampling444BitDepth16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1066,7 +1066,7 @@ impl ImageEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -1077,50 +1077,50 @@ impl ImageEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateJpeg() -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJpeg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJpeg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePng() -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePng)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePng)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateJpegXR() -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateJpegXR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateJpegXR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUncompressed(format: MediaPixelFormat) -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUncompressed)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUncompressed)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBmp() -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBmp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBmp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateHeif() -> ::windows_core::Result { Self::IImageEncodingPropertiesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHeif)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHeif)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1128,14 +1128,14 @@ impl ImageEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1146,7 +1146,7 @@ impl ImageEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1200,7 +1200,7 @@ impl MediaEncodingProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Audio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Audio)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideo(&self, value: P0) -> ::windows_core::Result<()> @@ -1214,7 +1214,7 @@ impl MediaEncodingProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Video)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Video)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContainer(&self, value: P0) -> ::windows_core::Result<()> @@ -1228,7 +1228,7 @@ impl MediaEncodingProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Container)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Container)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1244,7 +1244,7 @@ impl MediaEncodingProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1260,7 +1260,7 @@ impl MediaEncodingProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1276,37 +1276,37 @@ impl MediaEncodingProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateM4a(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateM4a)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateM4a)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMp3(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMp3)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMp3)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWma(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWma)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWma)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMp4(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMp4)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMp4)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWmv(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWmv)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWmv)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -1316,7 +1316,7 @@ impl MediaEncodingProfile { { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1326,49 +1326,49 @@ impl MediaEncodingProfile { { Self::IMediaEncodingProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWav(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWav)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWav)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAvi(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAvi)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAvi)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAlac(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAlac)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAlac)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFlac(quality: AudioEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFlac)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFlac)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateHevc(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHevc)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHevc)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateVp9(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVp9)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVp9)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAv1(quality: VideoEncodingQuality) -> ::windows_core::Result { Self::IMediaEncodingProfileStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAv1)(::windows_core::Interface::as_raw(this), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAv1)(::windows_core::Interface::as_raw(this), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1409,319 +1409,319 @@ impl MediaEncodingSubtypes { pub fn Aac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AacAdts() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AacAdts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AacAdts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ac3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ac3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ac3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AmrNb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AmrNb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AmrNb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AmrWb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AmrWb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AmrWb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Argb32() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Argb32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Argb32)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Asf() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Asf)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Asf)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Avi() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Avi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Avi)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Bgra8() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bgra8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bgra8)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Bmp() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bmp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bmp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Eac3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Eac3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Eac3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Float() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Float)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Float)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Gif() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gif)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gif)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn H263() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).H263)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).H263)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn H264() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).H264)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).H264)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn H264Es() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).H264Es)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).H264Es)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Hevc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hevc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hevc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HevcEs() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HevcEs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HevcEs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Iyuv() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Iyuv)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Iyuv)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Jpeg() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Jpeg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Jpeg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JpegXr() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JpegXr)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JpegXr)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mjpg() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mjpg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mjpg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mpeg() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mpeg)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mpeg)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mpeg1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mpeg1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mpeg1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mpeg2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mpeg2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mpeg2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mp3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mp3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mp3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Mpeg4() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mpeg4)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mpeg4)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Nv12() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nv12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nv12)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pcm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pcm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pcm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Png() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Png)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Png)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rgb24() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rgb24)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rgb24)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rgb32() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rgb32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rgb32)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Tiff() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tiff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tiff)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wave() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wave)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wave)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wma8() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wma8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wma8)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wma9() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wma9)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wma9)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wmv3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wmv3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wmv3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wvc1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wvc1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wvc1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Yuy2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Yuy2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Yuy2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Yv12() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Yv12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Yv12)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Vp9() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Vp9)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Vp9)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn L8() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).L8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).L8)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn L16() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).L16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).L16)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn D16() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).D16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).D16)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Alac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Alac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Alac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Flac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Flac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Flac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn P010() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).P010)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).P010)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Heif() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Heif)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Heif)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pgs() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics6(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Srt() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics6(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Srt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Srt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ssa() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics6(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ssa)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ssa)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VobSub() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics6(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VobSub)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VobSub)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Av1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaEncodingSubtypesStatics7(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Av1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Av1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1785,7 +1785,7 @@ impl MediaPropertySet { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1793,7 +1793,7 @@ impl MediaPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1801,7 +1801,7 @@ impl MediaPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1809,7 +1809,7 @@ impl MediaPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), key, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1817,7 +1817,7 @@ impl MediaPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1828,7 +1828,7 @@ impl MediaPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), key, value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1888,7 +1888,7 @@ impl MediaRatio { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Numerator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Numerator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDenominator(&self, value: u32) -> ::windows_core::Result<()> { @@ -1899,7 +1899,7 @@ impl MediaRatio { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Denominator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Denominator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1920,31 +1920,31 @@ impl Mpeg2ProfileIds { pub fn Simple() -> ::windows_core::Result { Self::IMpeg2ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Simple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Simple)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Main() -> ::windows_core::Result { Self::IMpeg2ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Main)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Main)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SignalNoiseRatioScalable() -> ::windows_core::Result { Self::IMpeg2ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalNoiseRatioScalable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalNoiseRatioScalable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SpatiallyScalable() -> ::windows_core::Result { Self::IMpeg2ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatiallyScalable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatiallyScalable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn High() -> ::windows_core::Result { Self::IMpeg2ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).High)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).High)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1974,14 +1974,14 @@ impl TimedMetadataEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1992,7 +1992,7 @@ impl TimedMetadataEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -2007,31 +2007,31 @@ impl TimedMetadataEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePgs() -> ::windows_core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSrt() -> ::windows_core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSrt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSrt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSsa(formatuserdata: &[u8]) -> ::windows_core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSsa)(::windows_core::Interface::as_raw(this), formatuserdata.len().try_into().unwrap(), formatuserdata.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSsa)(::windows_core::Interface::as_raw(this), formatuserdata.len().try_into().unwrap(), formatuserdata.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateVobSub(formatuserdata: &[u8]) -> ::windows_core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVobSub)(::windows_core::Interface::as_raw(this), formatuserdata.len().try_into().unwrap(), formatuserdata.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVobSub)(::windows_core::Interface::as_raw(this), formatuserdata.len().try_into().unwrap(), formatuserdata.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2070,14 +2070,14 @@ impl VideoEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtype(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2088,7 +2088,7 @@ impl VideoEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtype)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -2099,7 +2099,7 @@ impl VideoEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWidth(&self, value: u32) -> ::windows_core::Result<()> { @@ -2110,7 +2110,7 @@ impl VideoEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHeight(&self, value: u32) -> ::windows_core::Result<()> { @@ -2121,21 +2121,21 @@ impl VideoEncodingProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PixelAspectRatio(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelAspectRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelAspectRatio)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -2154,64 +2154,64 @@ impl VideoEncodingProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StereoscopicVideoPackingMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoscopicVideoPackingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoscopicVideoPackingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SphericalVideoFrameFormat(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SphericalVideoFrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SphericalVideoFrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Copy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Copy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateH264() -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateH264)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateH264)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMpeg2() -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMpeg2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMpeg2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateUncompressed(subtype: &::windows_core::HSTRING, width: u32, height: u32) -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUncompressed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUncompressed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateHevc() -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHevc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHevc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateVp9() -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVp9)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVp9)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateAv1() -> ::windows_core::Result { Self::IVideoEncodingPropertiesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAv1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAv1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2247,19 +2247,19 @@ impl Vp9ProfileIds { pub fn Profile0ChromaSubsampling420BitDepth8() -> ::windows_core::Result { Self::IVp9ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Profile0ChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Profile0ChromaSubsampling420BitDepth8)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Profile2ChromaSubsampling420BitDepth10() -> ::windows_core::Result { Self::IVp9ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Profile2ChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Profile2ChromaSubsampling420BitDepth10)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Profile2ChromaSubsampling420BitDepth12() -> ::windows_core::Result { Self::IVp9ProfileIdsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Profile2ChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Profile2ChromaSubsampling420BitDepth12)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Media/Miracast/mod.rs b/crates/libs/windows/src/Windows/Media/Miracast/mod.rs index 523ab1a1e6..3fc07c0adb 100644 --- a/crates/libs/windows/src/Windows/Media/Miracast/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Miracast/mod.rs @@ -265,21 +265,21 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentSettingsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisconnectAllAndApplySettings(&self, settings: P0) -> ::windows_core::Result @@ -289,7 +289,7 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectAllAndApplySettings)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectAllAndApplySettings)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisconnectAllAndApplySettingsAsync(&self, settings: P0) -> ::windows_core::Result> @@ -299,21 +299,21 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectAllAndApplySettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectAllAndApplySettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStatusAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusChanged(&self, handler: P0) -> ::windows_core::Result @@ -323,7 +323,7 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -338,7 +338,7 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSession)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSession)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -349,7 +349,7 @@ impl MiracastReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSessionAsync)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSessionAsync)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearKnownTransmitters(&self) -> ::windows_core::Result<()> { @@ -385,14 +385,14 @@ impl MiracastReceiverApplySettingsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -434,7 +434,7 @@ impl MiracastReceiverConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Resume(&self) -> ::windows_core::Result<()> { @@ -445,35 +445,35 @@ impl MiracastReceiverConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Transmitter(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transmitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transmitter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InputDevices(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputDevices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputDevices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CursorImageChannel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CursorImageChannel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CursorImageChannel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreamControl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -498,21 +498,21 @@ impl MiracastReceiverConnectionCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Pin(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -537,7 +537,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -545,7 +545,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxImageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxImageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -553,7 +553,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -561,7 +561,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageStreamChanged(&self, handler: P0) -> ::windows_core::Result @@ -571,7 +571,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageStreamChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageStreamChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveImageStreamChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -585,7 +585,7 @@ impl MiracastReceiverCursorImageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -614,7 +614,7 @@ impl MiracastReceiverCursorImageChannelSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -626,7 +626,7 @@ impl MiracastReceiverCursorImageChannelSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxImageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxImageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -656,7 +656,7 @@ impl MiracastReceiverDisconnectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -681,7 +681,7 @@ impl MiracastReceiverGameControllerDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransmitInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -692,21 +692,21 @@ impl MiracastReceiverGameControllerDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequestedByTransmitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequestedByTransmitter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTransmittingInput(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransmittingInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransmittingInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Mode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: MiracastReceiverGameControllerDeviceUsageMode) -> ::windows_core::Result<()> { @@ -720,7 +720,7 @@ impl MiracastReceiverGameControllerDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -749,14 +749,14 @@ impl MiracastReceiverInputDevices { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keyboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keyboard)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GameController(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GameController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GameController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -781,7 +781,7 @@ impl MiracastReceiverKeyboardDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransmitInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -792,14 +792,14 @@ impl MiracastReceiverKeyboardDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRequestedByTransmitter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRequestedByTransmitter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTransmittingInput(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransmittingInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransmittingInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -809,7 +809,7 @@ impl MiracastReceiverKeyboardDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -838,7 +838,7 @@ impl MiracastReceiverMediaSourceCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -846,21 +846,21 @@ impl MiracastReceiverMediaSourceCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CursorImageChannelSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CursorImageChannelSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CursorImageChannelSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -893,7 +893,7 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionCreated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -907,7 +907,7 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSourceCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSourceCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaSourceCreated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -921,7 +921,7 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -932,7 +932,7 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowConnectionTakeover)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowConnectionTakeover)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowConnectionTakeover(&self, value: bool) -> ::windows_core::Result<()> { @@ -943,7 +943,7 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSimultaneousConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSimultaneousConnections)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxSimultaneousConnections(&self, value: i32) -> ::windows_core::Result<()> { @@ -954,14 +954,14 @@ impl MiracastReceiverSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -986,14 +986,14 @@ impl MiracastReceiverSessionStartResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1018,7 +1018,7 @@ impl MiracastReceiverSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1029,7 +1029,7 @@ impl MiracastReceiverSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetModelName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1040,7 +1040,7 @@ impl MiracastReceiverSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetModelNumber(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1051,7 +1051,7 @@ impl MiracastReceiverSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthorizationMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthorizationMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuthorizationMethod(&self, value: MiracastReceiverAuthorizationMethod) -> ::windows_core::Result<()> { @@ -1062,7 +1062,7 @@ impl MiracastReceiverSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequireAuthorizationFromKnownTransmitters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequireAuthorizationFromKnownTransmitters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequireAuthorizationFromKnownTransmitters(&self, value: bool) -> ::windows_core::Result<()> { @@ -1091,28 +1091,28 @@ impl MiracastReceiverStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListeningStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListeningStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WiFiStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WiFiStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WiFiStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConnectionTakeoverSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnectionTakeoverSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnectionTakeoverSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxSimultaneousConnections(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSimultaneousConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSimultaneousConnections)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1120,7 +1120,7 @@ impl MiracastReceiverStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownTransmitters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownTransmitters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1145,14 +1145,14 @@ impl MiracastReceiverStreamControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoStreamSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoStreamSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVideoStreamSettingsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoStreamSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoStreamSettingsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SuggestVideoStreamSettings(&self, settings: P0) -> ::windows_core::Result<()> @@ -1169,14 +1169,14 @@ impl MiracastReceiverStreamControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestVideoStreamSettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestVideoStreamSettingsAsync)(::windows_core::Interface::as_raw(this), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MuteAudio(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MuteAudio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MuteAudio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMuteAudio(&self, value: bool) -> ::windows_core::Result<()> { @@ -1206,7 +1206,7 @@ impl MiracastReceiverVideoStreamSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -1218,7 +1218,7 @@ impl MiracastReceiverVideoStreamSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBitrate(&self, value: i32) -> ::windows_core::Result<()> { @@ -1247,7 +1247,7 @@ impl MiracastTransmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1258,7 +1258,7 @@ impl MiracastTransmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthorizationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthorizationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuthorizationStatus(&self, value: MiracastTransmitterAuthorizationStatus) -> ::windows_core::Result<()> { @@ -1270,21 +1270,21 @@ impl MiracastTransmitter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MacAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MacAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MacAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastConnectionTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastConnectionTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastConnectionTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Ocr/mod.rs b/crates/libs/windows/src/Windows/Media/Ocr/mod.rs index 1b4ca1a70b..e90db94205 100644 --- a/crates/libs/windows/src/Windows/Media/Ocr/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Ocr/mod.rs @@ -76,7 +76,7 @@ impl OcrEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Globalization")] @@ -84,20 +84,20 @@ impl OcrEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizerLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizerLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxImageDimension() -> ::windows_core::Result { Self::IOcrEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxImageDimension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxImageDimension)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] pub fn AvailableRecognizerLanguages() -> ::windows_core::Result> { Self::IOcrEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableRecognizerLanguages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableRecognizerLanguages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Globalization")] @@ -107,7 +107,7 @@ impl OcrEngine { { Self::IOcrEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLanguageSupported)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLanguageSupported)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Globalization")] @@ -117,13 +117,13 @@ impl OcrEngine { { Self::IOcrEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromLanguage)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromLanguage)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateFromUserProfileLanguages() -> ::windows_core::Result { Self::IOcrEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromUserProfileLanguages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromUserProfileLanguages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -154,14 +154,14 @@ impl OcrLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Words)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Words)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -187,21 +187,21 @@ impl OcrResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lines)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TextAngle(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextAngle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -226,14 +226,14 @@ impl OcrWord { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/PlayTo/mod.rs b/crates/libs/windows/src/Windows/Media/PlayTo/mod.rs index 2849975278..b0cb4b7b84 100644 --- a/crates/libs/windows/src/Windows/Media/PlayTo/mod.rs +++ b/crates/libs/windows/src/Windows/Media/PlayTo/mod.rs @@ -358,7 +358,7 @@ impl CurrentTimeChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -381,7 +381,7 @@ impl MuteChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -408,7 +408,7 @@ impl PlayToConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -419,7 +419,7 @@ impl PlayToConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -435,7 +435,7 @@ impl PlayToConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transferred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transferred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -451,7 +451,7 @@ impl PlayToConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -490,7 +490,7 @@ impl PlayToConnectionErrorEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -498,7 +498,7 @@ impl PlayToConnectionErrorEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -532,7 +532,7 @@ impl PlayToConnectionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -540,7 +540,7 @@ impl PlayToConnectionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -574,7 +574,7 @@ impl PlayToConnectionTransferredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -582,7 +582,7 @@ impl PlayToConnectionTransferredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -619,7 +619,7 @@ impl PlayToManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -635,7 +635,7 @@ impl PlayToManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceSelected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -653,14 +653,14 @@ impl PlayToManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultSourceSelection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultSourceSelection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] pub fn GetForCurrentView() -> ::windows_core::Result { Self::IPlayToManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -710,7 +710,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlayRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -724,7 +724,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePauseRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -738,7 +738,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceChangeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -752,7 +752,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRateChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRateChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackRateChangeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -766,7 +766,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentTimeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentTimeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCurrentTimeChangeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -780,7 +780,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MuteChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MuteChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMuteChangeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -794,7 +794,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VolumeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VolumeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVolumeChangeRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -808,7 +808,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeUpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeUpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTimeUpdateRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -822,7 +822,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -881,7 +881,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -896,7 +896,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsImage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportsAudio(&self, value: bool) -> ::windows_core::Result<()> { @@ -907,7 +907,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSupportsVideo(&self, value: bool) -> ::windows_core::Result<()> { @@ -918,7 +918,7 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -926,21 +926,21 @@ impl PlayToReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -967,7 +967,7 @@ impl PlayToSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -975,7 +975,7 @@ impl PlayToSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Next)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Next)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -996,7 +996,7 @@ impl PlayToSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredSourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredSourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1069,7 +1069,7 @@ impl PlayToSourceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1082,7 +1082,7 @@ impl PlayToSourceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1124,7 +1124,7 @@ impl PlayToSourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1158,7 +1158,7 @@ impl PlayToSourceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -1166,7 +1166,7 @@ impl PlayToSourceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1174,7 +1174,7 @@ impl PlayToSourceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsImage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1182,7 +1182,7 @@ impl PlayToSourceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsAudio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1190,7 +1190,7 @@ impl PlayToSourceSelectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsVideo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1220,7 +1220,7 @@ impl PlaybackRateChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1244,49 +1244,49 @@ impl SourceChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Author(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Album(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Genre(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Date(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1294,14 +1294,14 @@ impl SourceChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Rating(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1309,7 +1309,7 @@ impl SourceChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1332,7 +1332,7 @@ impl VolumeChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Playback/mod.rs b/crates/libs/windows/src/Windows/Media/Playback/mod.rs index 873e1d8926..058a3b1499 100644 --- a/crates/libs/windows/src/Windows/Media/Playback/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Playback/mod.rs @@ -161,7 +161,7 @@ impl IMediaEnginePlaybackSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1061,7 +1061,7 @@ impl BackgroundMediaPlayer { pub fn Current() -> ::windows_core::Result { Self::IBackgroundMediaPlayerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -1071,7 +1071,7 @@ impl BackgroundMediaPlayer { { Self::IBackgroundMediaPlayerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceivedFromBackground)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceivedFromBackground)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1085,7 +1085,7 @@ impl BackgroundMediaPlayer { { Self::IBackgroundMediaPlayerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceivedFromForeground)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceivedFromForeground)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1110,7 +1110,7 @@ impl BackgroundMediaPlayer { pub fn IsMediaPlaying() -> ::windows_core::Result { Self::IBackgroundMediaPlayerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMediaPlaying)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMediaPlaying)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1137,21 +1137,21 @@ impl CurrentMediaPlaybackItemChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OldItem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reason(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1176,21 +1176,21 @@ impl MediaBreak { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PresentationPosition(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationPosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InsertionMethod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InsertionMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InsertionMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1198,14 +1198,14 @@ impl MediaBreak { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanStart(&self, value: bool) -> ::windows_core::Result<()> { @@ -1215,13 +1215,13 @@ impl MediaBreak { pub fn Create(insertionmethod: MediaBreakInsertionMethod) -> ::windows_core::Result { Self::IMediaBreakFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), insertionmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), insertionmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithPresentationPosition(insertionmethod: MediaBreakInsertionMethod, presentationposition: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IMediaBreakFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPresentationPosition)(::windows_core::Interface::as_raw(this), insertionmethod, presentationposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPresentationPosition)(::windows_core::Interface::as_raw(this), insertionmethod, presentationposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1251,7 +1251,7 @@ impl MediaBreakEndedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1279,7 +1279,7 @@ impl MediaBreakManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreaksSeekedOver)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreaksSeekedOver)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBreaksSeekedOver(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1293,7 +1293,7 @@ impl MediaBreakManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBreakStarted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1307,7 +1307,7 @@ impl MediaBreakManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBreakEnded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1321,7 +1321,7 @@ impl MediaBreakManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakSkipped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakSkipped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBreakSkipped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1332,14 +1332,14 @@ impl MediaBreakManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlaybackSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlayBreak(&self, value: P0) -> ::windows_core::Result<()> @@ -1378,7 +1378,7 @@ impl MediaBreakSchedule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScheduleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScheduleChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScheduleChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1404,7 +1404,7 @@ impl MediaBreakSchedule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MidrollBreaks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MidrollBreaks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPrerollBreak(&self, value: P0) -> ::windows_core::Result<()> @@ -1418,7 +1418,7 @@ impl MediaBreakSchedule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrerollBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrerollBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPostrollBreak(&self, value: P0) -> ::windows_core::Result<()> @@ -1432,14 +1432,14 @@ impl MediaBreakSchedule { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostrollBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostrollBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlaybackItem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1465,21 +1465,21 @@ impl MediaBreakSeekedOverEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeekedOverBreaks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeekedOverBreaks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OldPosition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewPosition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1504,7 +1504,7 @@ impl MediaBreakSkippedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1529,7 +1529,7 @@ impl MediaBreakStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaBreak)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1554,7 +1554,7 @@ impl MediaItemDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: super::MediaPlaybackType) -> ::windows_core::Result<()> { @@ -1565,14 +1565,14 @@ impl MediaItemDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1580,7 +1580,7 @@ impl MediaItemDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1623,7 +1623,7 @@ impl MediaPlaybackAudioTrackList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -1634,7 +1634,7 @@ impl MediaPlaybackAudioTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Core")] @@ -1652,7 +1652,7 @@ impl MediaPlaybackAudioTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1660,7 +1660,7 @@ impl MediaPlaybackAudioTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1668,7 +1668,7 @@ impl MediaPlaybackAudioTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1679,7 +1679,7 @@ impl MediaPlaybackAudioTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -1687,7 +1687,7 @@ impl MediaPlaybackAudioTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -1733,7 +1733,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1744,77 +1744,77 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlayBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PauseBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FastForwardBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FastForwardBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FastForwardBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RewindBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RewindBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RewindBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShuffleBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffleBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffleBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoRepeatModeBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatModeBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatModeBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PositionBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RateBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RateBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RateBehavior)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PlayReceived(&self, handler: P0) -> ::windows_core::Result @@ -1824,7 +1824,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlayReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1838,7 +1838,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePauseReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1852,7 +1852,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNextReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1866,7 +1866,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePreviousReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1880,7 +1880,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FastForwardReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FastForwardReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFastForwardReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1894,7 +1894,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RewindReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RewindReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRewindReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1908,7 +1908,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffleReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffleReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShuffleReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1922,7 +1922,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatModeReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatModeReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutoRepeatModeReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1936,7 +1936,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1950,7 +1950,7 @@ impl MediaPlaybackCommandManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RateReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RateReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRateReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1979,7 +1979,7 @@ impl MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1990,14 +1990,14 @@ impl MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2022,21 +2022,21 @@ impl MediaPlaybackCommandManagerCommandBehavior { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnablingRule(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnablingRule)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnablingRule)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnablingRule(&self, value: MediaCommandEnablingRule) -> ::windows_core::Result<()> { @@ -2050,7 +2050,7 @@ impl MediaPlaybackCommandManagerCommandBehavior { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsEnabledChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2079,7 +2079,7 @@ impl MediaPlaybackCommandManagerFastForwardReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2090,7 +2090,7 @@ impl MediaPlaybackCommandManagerFastForwardReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2115,7 +2115,7 @@ impl MediaPlaybackCommandManagerNextReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2126,7 +2126,7 @@ impl MediaPlaybackCommandManagerNextReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2151,7 +2151,7 @@ impl MediaPlaybackCommandManagerPauseReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2162,7 +2162,7 @@ impl MediaPlaybackCommandManagerPauseReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2187,7 +2187,7 @@ impl MediaPlaybackCommandManagerPlayReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2198,7 +2198,7 @@ impl MediaPlaybackCommandManagerPlayReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2223,7 +2223,7 @@ impl MediaPlaybackCommandManagerPositionReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2234,14 +2234,14 @@ impl MediaPlaybackCommandManagerPositionReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2266,7 +2266,7 @@ impl MediaPlaybackCommandManagerPreviousReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2277,7 +2277,7 @@ impl MediaPlaybackCommandManagerPreviousReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2302,7 +2302,7 @@ impl MediaPlaybackCommandManagerRateReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2313,14 +2313,14 @@ impl MediaPlaybackCommandManagerRateReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2345,7 +2345,7 @@ impl MediaPlaybackCommandManagerRewindReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2356,7 +2356,7 @@ impl MediaPlaybackCommandManagerRewindReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2381,7 +2381,7 @@ impl MediaPlaybackCommandManagerShuffleReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2392,14 +2392,14 @@ impl MediaPlaybackCommandManagerShuffleReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShuffleRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShuffleRequested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2429,7 +2429,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioTracksChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2444,7 +2444,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoTracksChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2459,7 +2459,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimedMetadataTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimedMetadataTracksChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTimedMetadataTracksChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2471,7 +2471,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -2479,7 +2479,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -2487,7 +2487,7 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -2495,35 +2495,35 @@ impl MediaPlaybackItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BreakSchedule(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakSchedule)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakSchedule)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DurationLimit(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DurationLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DurationLimit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanSkip(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSkip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSkip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanSkip(&self, value: bool) -> ::windows_core::Result<()> { @@ -2534,7 +2534,7 @@ impl MediaPlaybackItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyDisplayProperties(&self, value: P0) -> ::windows_core::Result<()> @@ -2548,7 +2548,7 @@ impl MediaPlaybackItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisabledInPlaybackList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisabledInPlaybackList)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDisabledInPlaybackList(&self, value: bool) -> ::windows_core::Result<()> { @@ -2559,14 +2559,14 @@ impl MediaPlaybackItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalDownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalDownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoLoadedDisplayProperties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoLoadedDisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoLoadedDisplayProperties)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoLoadedDisplayProperties(&self, value: AutoLoadedDisplayPropertyKind) -> ::windows_core::Result<()> { @@ -2580,7 +2580,7 @@ impl MediaPlaybackItem { { Self::IMediaPlaybackItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Core")] @@ -2590,7 +2590,7 @@ impl MediaPlaybackItem { { Self::IMediaPlaybackItemFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithStartTime)(::windows_core::Interface::as_raw(this), source.into_param().abi(), starttime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithStartTime)(::windows_core::Interface::as_raw(this), source.into_param().abi(), starttime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Core")] @@ -2600,7 +2600,7 @@ impl MediaPlaybackItem { { Self::IMediaPlaybackItemFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithStartTimeAndDurationLimit)(::windows_core::Interface::as_raw(this), source.into_param().abi(), starttime, durationlimit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithStartTimeAndDurationLimit)(::windows_core::Interface::as_raw(this), source.into_param().abi(), starttime, durationlimit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Media_Core")] @@ -2610,7 +2610,7 @@ impl MediaPlaybackItem { { Self::IMediaPlaybackItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindFromMediaSource)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindFromMediaSource)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2650,14 +2650,14 @@ impl MediaPlaybackItemError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2682,14 +2682,14 @@ impl MediaPlaybackItemFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Error(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2714,7 +2714,7 @@ impl MediaPlaybackItemOpenedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2750,7 +2750,7 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2764,7 +2764,7 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentItemChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentItemChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCurrentItemChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2778,7 +2778,7 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemOpened(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2790,14 +2790,14 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AutoRepeatEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoRepeatEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2808,7 +2808,7 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShuffleEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2819,42 +2819,42 @@ impl MediaPlaybackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentItemIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentItemIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentItemIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MovePrevious(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MovePrevious)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MovePrevious)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveTo(&self, itemindex: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveTo)(::windows_core::Interface::as_raw(this), itemindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveTo)(::windows_core::Interface::as_raw(this), itemindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxPrefetchTime(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPrefetchTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPrefetchTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxPrefetchTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2868,7 +2868,7 @@ impl MediaPlaybackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartingItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartingItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStartingItem(&self, value: P0) -> ::windows_core::Result<()> @@ -2883,7 +2883,7 @@ impl MediaPlaybackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffledItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffledItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2898,7 +2898,7 @@ impl MediaPlaybackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPlayedItemsToKeepOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPlayedItemsToKeepOpen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxPlayedItemsToKeepOpen(&self, value: P0) -> ::windows_core::Result<()> @@ -2933,7 +2933,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2947,7 +2947,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackRateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2961,7 +2961,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeekCompleted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeekCompleted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSeekCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2975,7 +2975,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingStarted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingStarted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBufferingStarted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2989,7 +2989,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBufferingEnded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3003,7 +3003,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingProgressChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingProgressChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBufferingProgressChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3017,7 +3017,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadProgressChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadProgressChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadProgressChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3031,7 +3031,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalDurationChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalDurationChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNaturalDurationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3045,7 +3045,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3059,7 +3059,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalVideoSizeChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalVideoSizeChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNaturalVideoSizeChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3070,21 +3070,21 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NaturalDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3095,35 +3095,35 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanSeek(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanPause(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPause)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPause)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsProtected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PlaybackRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPlaybackRate(&self, value: f64) -> ::windows_core::Result<()> { @@ -3134,35 +3134,35 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DownloadProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NaturalVideoHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalVideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalVideoHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NaturalVideoWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalVideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalVideoWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NormalizedSourceRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedSourceRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedSourceRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNormalizedSourceRect(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -3174,7 +3174,7 @@ impl MediaPlaybackSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoscopicVideoPackingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoscopicVideoPackingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3189,7 +3189,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferedRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferedRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBufferedRangesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3203,7 +3203,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayedRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayedRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlayedRangesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3217,7 +3217,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeekableRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeekableRangesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSeekableRangesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3231,7 +3231,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPlaybackRatesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPlaybackRatesChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSupportedPlaybackRatesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3242,14 +3242,14 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SphericalVideoProjection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SphericalVideoProjection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsMirroring(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMirroring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMirroring)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMirroring(&self, value: bool) -> ::windows_core::Result<()> { @@ -3261,7 +3261,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBufferedRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBufferedRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3269,7 +3269,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPlayedRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPlayedRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3277,14 +3277,14 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSeekableRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSeekableRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSupportedPlaybackRateRange(&self, rate1: f64, rate2: f64) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedPlaybackRateRange)(::windows_core::Interface::as_raw(this), rate1, rate2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedPlaybackRateRange)(::windows_core::Interface::as_raw(this), rate1, rate2, &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3292,7 +3292,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3304,7 +3304,7 @@ impl MediaPlaybackSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputDegradationPolicyState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputDegradationPolicyState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3329,7 +3329,7 @@ impl MediaPlaybackSessionBufferingStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlaybackInterruption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlaybackInterruption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3354,7 +3354,7 @@ impl MediaPlaybackSessionOutputDegradationPolicyState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoConstrictionReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoConstrictionReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3379,7 +3379,7 @@ impl MediaPlaybackSphericalVideoProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3391,7 +3391,7 @@ impl MediaPlaybackSphericalVideoProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Media_MediaProperties")] @@ -3403,7 +3403,7 @@ impl MediaPlaybackSphericalVideoProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHorizontalFieldOfViewInDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -3415,7 +3415,7 @@ impl MediaPlaybackSphericalVideoProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3427,7 +3427,7 @@ impl MediaPlaybackSphericalVideoProjection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProjectionMode(&self, value: SphericalVideoProjectionMode) -> ::windows_core::Result<()> { @@ -3462,7 +3462,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3473,7 +3473,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePresentationModeChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3484,7 +3484,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPresentationMode)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPresentationMode)(::windows_core::Interface::as_raw(this), index, &mut result__).map(|| result__) } } pub fn SetPresentationMode(&self, index: u32, value: TimedMetadataTrackPresentationMode) -> ::windows_core::Result<()> { @@ -3496,7 +3496,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3504,7 +3504,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3515,7 +3515,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3523,7 +3523,7 @@ impl MediaPlaybackTimedMetadataTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -3575,7 +3575,7 @@ impl MediaPlaybackVideoTrackList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Core")] @@ -3586,7 +3586,7 @@ impl MediaPlaybackVideoTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Media_Core")] @@ -3604,7 +3604,7 @@ impl MediaPlaybackVideoTrackList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3612,7 +3612,7 @@ impl MediaPlaybackVideoTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3620,7 +3620,7 @@ impl MediaPlaybackVideoTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3631,7 +3631,7 @@ impl MediaPlaybackVideoTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -3639,7 +3639,7 @@ impl MediaPlaybackVideoTrackList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -3697,7 +3697,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoPlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoPlay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoPlay(&self, value: bool) -> ::windows_core::Result<()> { @@ -3709,7 +3709,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3717,7 +3717,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3730,7 +3730,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3738,7 +3738,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3746,7 +3746,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3754,14 +3754,14 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPause)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPause)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLoopingEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLoopingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLoopingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLoopingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3773,14 +3773,14 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMuted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsMuted(&self, value: bool) -> ::windows_core::Result<()> { @@ -3792,7 +3792,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3804,7 +3804,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Volume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVolume(&self, value: f64) -> ::windows_core::Result<()> { @@ -3816,7 +3816,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackMediaMarkers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackMediaMarkers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaOpened(&self, value: P0) -> ::windows_core::Result @@ -3826,7 +3826,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaOpened)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaOpened)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaOpened(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3840,7 +3840,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaEnded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3854,7 +3854,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaFailed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaFailed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMediaFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3869,7 +3869,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentStateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3885,7 +3885,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackMediaMarkerReached)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackMediaMarkerReached)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3901,7 +3901,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlayerRateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlayerRateChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3916,7 +3916,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VolumeChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VolumeChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVolumeChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3931,7 +3931,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeekCompleted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeekCompleted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3947,7 +3947,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingStarted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingStarted)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3963,7 +3963,7 @@ impl MediaPlayer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferingEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferingEnded)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -3991,14 +3991,14 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemMediaTransportControls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemMediaTransportControls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioCategory(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioCategory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioCategory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioCategory(&self, value: MediaPlayerAudioCategory) -> ::windows_core::Result<()> { @@ -4009,7 +4009,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioDeviceType(&self, value: MediaPlayerAudioDeviceType) -> ::windows_core::Result<()> { @@ -4023,7 +4023,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMutedChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMutedChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsMutedChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4037,7 +4037,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4048,7 +4048,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioBalance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioBalance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioBalance(&self, value: f64) -> ::windows_core::Result<()> { @@ -4059,7 +4059,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RealTimePlayback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RealTimePlayback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRealTimePlayback(&self, value: bool) -> ::windows_core::Result<()> { @@ -4070,7 +4070,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StereoscopicVideoRenderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StereoscopicVideoRenderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStereoscopicVideoRenderMode(&self, value: StereoscopicVideoRenderMode) -> ::windows_core::Result<()> { @@ -4081,14 +4081,14 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BreakManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BreakManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CommandManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -4096,7 +4096,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Enumeration")] @@ -4111,7 +4111,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimelineController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimelineController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTimelineController(&self, value: P0) -> ::windows_core::Result<()> @@ -4125,7 +4125,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimelineControllerPositionOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimelineControllerPositionOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimelineControllerPositionOffset(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4136,7 +4136,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StepForwardOneFrame(&self) -> ::windows_core::Result<()> { @@ -4152,7 +4152,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsCastingSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsCastingSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSurfaceSize(&self, size: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -4167,7 +4167,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSurface)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSurface)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoFrameAvailable(&self, value: P0) -> ::windows_core::Result @@ -4177,7 +4177,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoFrameAvailable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoFrameAvailable)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVideoFrameAvailable(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4188,7 +4188,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVideoFrameServerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVideoFrameServerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVideoFrameServerEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -4227,7 +4227,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubtitleFrameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubtitleFrameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSubtitleFrameChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4242,7 +4242,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderSubtitlesToSurface)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderSubtitlesToSurface)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -4253,7 +4253,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderSubtitlesToSurfaceWithTargetRectangle)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), targetrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderSubtitlesToSurfaceWithTargetRectangle)(::windows_core::Interface::as_raw(this), destination.into_param().abi(), targetrectangle, &mut result__).map(|| result__) } } #[cfg(feature = "Media_Audio")] @@ -4261,7 +4261,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioStateMonitor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioStateMonitor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4289,7 +4289,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Protection")] @@ -4328,7 +4328,7 @@ impl MediaPlayer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -4361,7 +4361,7 @@ impl MediaPlayerDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4386,21 +4386,21 @@ impl MediaPlayerFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorMessage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4425,7 +4425,7 @@ impl MediaPlayerRateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4456,7 +4456,7 @@ impl MediaPlayerSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositionSurface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositionSurface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Composition")] @@ -4464,14 +4464,14 @@ impl MediaPlayerSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaPlayer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlayer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4496,33 +4496,33 @@ impl PlaybackMediaMarker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaMarkerType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaMarkerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaMarkerType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromTime(value: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IPlaybackMediaMarkerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromTime)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromTime)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Create(value: super::super::Foundation::TimeSpan, mediamarkettype: &::windows_core::HSTRING, text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPlaybackMediaMarkerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value, ::core::mem::transmute_copy(mediamarkettype), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), value, ::core::mem::transmute_copy(mediamarkettype), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4552,7 +4552,7 @@ impl PlaybackMediaMarkerReachedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackMediaMarker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackMediaMarker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4580,14 +4580,14 @@ impl PlaybackMediaMarkerSequence { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Insert(&self, value: P0) -> ::windows_core::Result<()> @@ -4640,21 +4640,21 @@ impl TimedMetadataPresentationModeChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OldPresentationMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldPresentationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldPresentationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewPresentationMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewPresentationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewPresentationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Playlists/mod.rs b/crates/libs/windows/src/Windows/Media/Playlists/mod.rs index 7aaa5b56b6..73c854e298 100644 --- a/crates/libs/windows/src/Windows/Media/Playlists/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Playlists/mod.rs @@ -44,14 +44,14 @@ impl Playlist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -62,7 +62,7 @@ impl Playlist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsAsync)(::windows_core::Interface::as_raw(this), savelocation.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsAsync)(::windows_core::Interface::as_raw(this), savelocation.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -73,7 +73,7 @@ impl Playlist { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsWithFormatAsync)(::windows_core::Interface::as_raw(this), savelocation.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, playlistformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsWithFormatAsync)(::windows_core::Interface::as_raw(this), savelocation.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, playlistformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -83,7 +83,7 @@ impl Playlist { { Self::IPlaylistStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] 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 423853d27d..65629f2e87 100644 --- a/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs @@ -85,7 +85,7 @@ impl INDClosedCaptionDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosedCaptionDataFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosedCaptionDataFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -93,7 +93,7 @@ impl INDClosedCaptionDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -101,7 +101,7 @@ impl INDClosedCaptionDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).ClosedCaptionData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).ClosedCaptionData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -138,7 +138,7 @@ impl INDCustomData { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).CustomDataTypeID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).CustomDataTypeID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -146,7 +146,7 @@ impl INDCustomData { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).CustomData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).CustomData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -219,7 +219,7 @@ impl INDDownloadEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSeek)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -227,7 +227,7 @@ impl INDDownloadEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferFullMinThresholdInSamples)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferFullMinThresholdInSamples)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -235,7 +235,7 @@ impl INDDownloadEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferFullMaxThresholdInSamples)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferFullMaxThresholdInSamples)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -243,7 +243,7 @@ impl INDDownloadEngine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -378,7 +378,7 @@ impl INDLicenseFetchCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -407,7 +407,7 @@ impl INDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentIDType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentIDType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -415,7 +415,7 @@ impl INDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).ContentID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).ContentID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -423,7 +423,7 @@ impl INDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseFetchChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseFetchChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -484,7 +484,7 @@ impl INDLicenseFetchResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -513,7 +513,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -521,7 +521,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -529,7 +529,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), responsedatabytes.len().try_into().unwrap(), responsedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), responsedatabytes.len().try_into().unwrap(), responsedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -537,7 +537,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -578,7 +578,7 @@ impl INDProximityDetectionCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProximityDetectionRetryCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProximityDetectionRetryCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -607,7 +607,7 @@ impl INDRegistrationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -615,7 +615,7 @@ impl INDRegistrationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitterProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitterProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -623,7 +623,7 @@ impl INDRegistrationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmitterCertificateAccepted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmitterCertificateAccepted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -669,7 +669,7 @@ impl INDSendResult { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -698,7 +698,7 @@ impl INDStartResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaStreamSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -730,7 +730,7 @@ impl INDStorageFileHelper { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileURLs)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileURLs)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -767,7 +767,7 @@ impl INDStreamParser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStreamInformation)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), streamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStreamInformation)(::windows_core::Interface::as_raw(this), descriptor.into_param().abi(), streamtype, &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -785,7 +785,7 @@ impl INDStreamParser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -908,7 +908,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CertificateType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CertificateType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -916,7 +916,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlatformIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlatformIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -924,7 +924,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).SupportedFeatures)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).SupportedFeatures)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -932,7 +932,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -940,7 +940,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecurityVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecurityVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -948,7 +948,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -956,7 +956,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).ClientID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).ClientID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -964,7 +964,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).ModelDigest)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).ModelDigest)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -972,7 +972,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -980,7 +980,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -988,7 +988,7 @@ impl INDTransmitterProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1100,35 +1100,35 @@ impl IPlayReadyDomain { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Revision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DomainJoinUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainJoinUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainJoinUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1200,49 +1200,49 @@ impl IPlayReadyLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullyEvaluated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullyEvaluated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsableForPlay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsableForPlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsableForPlay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpireAfterFirstPlay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpireAfterFirstPlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpireAfterFirstPlay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DomainAccountID(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainAccountID)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainAccountID)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChainDepth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChainDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChainDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetKIDAtChainDepth(&self, chaindepth: u32) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKIDAtChainDepth)(::windows_core::Interface::as_raw(this), chaindepth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKIDAtChainDepth)(::windows_core::Interface::as_raw(this), chaindepth, &mut result__).map(|| result__) } } } @@ -1279,7 +1279,7 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentHeader(&self, value: P0) -> ::windows_core::Result<()> @@ -1293,7 +1293,7 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainServiceId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1304,21 +1304,21 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1332,14 +1332,14 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1350,28 +1350,28 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -1428,7 +1428,7 @@ impl IPlayReadyLicenseSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigureMediaProtectionManager(&self, mpm: P0) -> ::windows_core::Result<()> @@ -1461,14 +1461,14 @@ impl IPlayReadyLicenseSession2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLAServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigureMediaProtectionManager(&self, mpm: P0) -> ::windows_core::Result<()> @@ -1533,56 +1533,56 @@ impl IPlayReadySecureStopServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionID)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionID)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stopped(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PublisherCertificate(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).PublisherCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).PublisherCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn ProtectionSystem(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1596,14 +1596,14 @@ impl IPlayReadySecureStopServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1614,28 +1614,28 @@ impl IPlayReadySecureStopServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -1668,7 +1668,7 @@ impl IPlayReadyServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1682,14 +1682,14 @@ impl IPlayReadyServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1700,42 +1700,42 @@ impl IPlayReadyServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } pub fn ProtectionSystem(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1830,7 +1830,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegistrationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegistrationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1846,7 +1846,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProximityDetectionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProximityDetectionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1862,7 +1862,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseFetchCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseFetchCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1878,7 +1878,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReRegistrationNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReRegistrationNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1894,7 +1894,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosedCaptionDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosedCaptionDataReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1912,7 +1912,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), contenturl.into_param().abi(), startasyncoptions, registrationcustomdata.into_param().abi(), licensefetchdescriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), contenturl.into_param().abi(), startasyncoptions, registrationcustomdata.into_param().abi(), licensefetchdescriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1923,7 +1923,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseFetchAsync)(::windows_core::Interface::as_raw(this), licensefetchdescriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseFetchAsync)(::windows_core::Interface::as_raw(this), licensefetchdescriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1934,7 +1934,7 @@ impl NDClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReRegistrationAsync)(::windows_core::Interface::as_raw(this), registrationcustomdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReRegistrationAsync)(::windows_core::Interface::as_raw(this), registrationcustomdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1951,7 +1951,7 @@ impl NDClient { { Self::INDClientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), downloadengine.into_param().abi(), streamparser.into_param().abi(), pmessenger.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), downloadengine.into_param().abi(), streamparser.into_param().abi(), pmessenger.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1989,7 +1989,7 @@ impl NDCustomData { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).CustomDataTypeID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).CustomDataTypeID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -1997,14 +1997,14 @@ impl NDCustomData { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).CustomData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).CustomData)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] pub fn CreateInstance(customdatatypeidbytes: &[u8], customdatabytes: &[u8]) -> ::windows_core::Result { Self::INDCustomDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), customdatatypeidbytes.len().try_into().unwrap(), customdatatypeidbytes.as_ptr(), customdatabytes.len().try_into().unwrap(), customdatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), customdatatypeidbytes.len().try_into().unwrap(), customdatatypeidbytes.as_ptr(), customdatabytes.len().try_into().unwrap(), customdatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2106,7 +2106,7 @@ impl NDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentIDType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentIDType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -2114,7 +2114,7 @@ impl NDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).ContentID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).ContentID)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "deprecated")] @@ -2122,7 +2122,7 @@ impl NDLicenseFetchDescriptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseFetchChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseFetchChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2140,7 +2140,7 @@ impl NDLicenseFetchDescriptor { { Self::INDLicenseFetchDescriptorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), contentidtype, contentidbytes.len().try_into().unwrap(), contentidbytes.as_ptr(), licensefetchchallengecustomdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), contentidtype, contentidbytes.len().try_into().unwrap(), contentidbytes.as_ptr(), licensefetchchallengecustomdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2188,7 +2188,7 @@ impl NDStorageFileHelper { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileURLs)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileURLs)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2284,7 +2284,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2292,7 +2292,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2300,7 +2300,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), responsedatabytes.len().try_into().unwrap(), responsedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows_core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len().try_into().unwrap(), transmitterchannelbytes.as_ptr(), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), responsedatabytes.len().try_into().unwrap(), responsedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -2308,14 +2308,14 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows_core::Interface::as_raw(this), sessionidbytes.len().try_into().unwrap(), sessionidbytes.as_ptr(), challengedatabytes.len().try_into().unwrap(), challengedatabytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn CreateInstance(remotehostname: &::windows_core::HSTRING, remotehostport: u32) -> ::windows_core::Result { Self::INDTCPMessengerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remotehostname), remotehostport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(remotehostname), remotehostport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2347,84 +2347,84 @@ impl PlayReadyContentHeader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyIdString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyIdString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyIdString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LicenseAcquisitionUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseAcquisitionUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseAcquisitionUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LicenseAcquisitionUserInterfaceUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseAcquisitionUserInterfaceUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseAcquisitionUserInterfaceUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DomainServiceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EncryptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncryptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncryptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CustomAttributes(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DecryptorSetup(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecryptorSetup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecryptorSetup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSerializedHeader(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetSerializedHeader)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetSerializedHeader)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn HeaderWithEmbeddedUpdates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderWithEmbeddedUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderWithEmbeddedUpdates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KeyIds(&self) -> ::windows_core::Result<::windows_core::Array<::windows_core::GUID>> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).KeyIds)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::GUID>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).KeyIds)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::GUID>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn KeyIdStrings(&self) -> ::windows_core::Result<::windows_core::Array<::windows_core::HSTRING>> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).KeyIdStrings)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::HSTRING>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).KeyIdStrings)(::windows_core::Interface::as_raw(this), ::windows_core::Array::<::windows_core::HSTRING>::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn CreateInstanceFromWindowsMediaDrmHeader(headerbytes: &[u8], licenseacquisitionurl: P0, licenseacquisitionuserinterfaceurl: P1, customattributes: &::windows_core::HSTRING, domainserviceid: ::windows_core::GUID) -> ::windows_core::Result @@ -2434,7 +2434,7 @@ impl PlayReadyContentHeader { { Self::IPlayReadyContentHeaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromWindowsMediaDrmHeader)(::windows_core::Interface::as_raw(this), headerbytes.len().try_into().unwrap(), headerbytes.as_ptr(), licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromWindowsMediaDrmHeader)(::windows_core::Interface::as_raw(this), headerbytes.len().try_into().unwrap(), headerbytes.as_ptr(), licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstanceFromComponents(contentkeyid: ::windows_core::GUID, contentkeyidstring: &::windows_core::HSTRING, contentencryptionalgorithm: PlayReadyEncryptionAlgorithm, licenseacquisitionurl: P0, licenseacquisitionuserinterfaceurl: P1, customattributes: &::windows_core::HSTRING, domainserviceid: ::windows_core::GUID) -> ::windows_core::Result @@ -2444,13 +2444,13 @@ impl PlayReadyContentHeader { { Self::IPlayReadyContentHeaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromComponents)(::windows_core::Interface::as_raw(this), contentkeyid, ::core::mem::transmute_copy(contentkeyidstring), contentencryptionalgorithm, licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromComponents)(::windows_core::Interface::as_raw(this), contentkeyid, ::core::mem::transmute_copy(contentkeyidstring), contentencryptionalgorithm, licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstanceFromPlayReadyHeader(headerbytes: &[u8]) -> ::windows_core::Result { Self::IPlayReadyContentHeaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromPlayReadyHeader)(::windows_core::Interface::as_raw(this), headerbytes.len().try_into().unwrap(), headerbytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromPlayReadyHeader)(::windows_core::Interface::as_raw(this), headerbytes.len().try_into().unwrap(), headerbytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstanceFromComponents2(dwflags: u32, contentkeyids: &[::windows_core::GUID], contentkeyidstrings: &[::windows_core::HSTRING], contentencryptionalgorithm: PlayReadyEncryptionAlgorithm, licenseacquisitionurl: P0, licenseacquisitionuserinterfaceurl: P1, customattributes: &::windows_core::HSTRING, domainserviceid: ::windows_core::GUID) -> ::windows_core::Result @@ -2460,7 +2460,7 @@ impl PlayReadyContentHeader { { Self::IPlayReadyContentHeaderFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromComponents2)(::windows_core::Interface::as_raw(this), dwflags, contentkeyids.len().try_into().unwrap(), contentkeyids.as_ptr(), contentkeyidstrings.len().try_into().unwrap(), ::core::mem::transmute(contentkeyidstrings.as_ptr()), contentencryptionalgorithm, licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromComponents2)(::windows_core::Interface::as_raw(this), dwflags, contentkeyids.len().try_into().unwrap(), contentkeyids.as_ptr(), contentkeyidstrings.len().try_into().unwrap(), ::core::mem::transmute(contentkeyidstrings.as_ptr()), contentencryptionalgorithm, licenseacquisitionurl.into_param().abi(), licenseacquisitionuserinterfaceurl.into_param().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2492,7 +2492,7 @@ impl PlayReadyContentResolver { { Self::IPlayReadyContentResolver(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceRequest)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceRequest)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2514,35 +2514,35 @@ impl PlayReadyDomain { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Revision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DomainJoinUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainJoinUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainJoinUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2571,14 +2571,14 @@ impl PlayReadyDomainIterable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn CreateInstance(domainaccountid: ::windows_core::GUID) -> ::windows_core::Result { Self::IPlayReadyDomainIterableFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), domainaccountid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), domainaccountid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2631,7 +2631,7 @@ impl PlayReadyDomainIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2639,7 +2639,7 @@ impl PlayReadyDomainIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2647,7 +2647,7 @@ impl PlayReadyDomainIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2655,7 +2655,7 @@ impl PlayReadyDomainIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -2689,21 +2689,21 @@ impl PlayReadyDomainJoinServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DomainAccountId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainAccountId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainAccountId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2714,7 +2714,7 @@ impl PlayReadyDomainJoinServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainFriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDomainFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2725,7 +2725,7 @@ impl PlayReadyDomainJoinServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainServiceId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2736,7 +2736,7 @@ impl PlayReadyDomainJoinServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2750,14 +2750,14 @@ impl PlayReadyDomainJoinServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2768,28 +2768,28 @@ impl PlayReadyDomainJoinServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -2820,21 +2820,21 @@ impl PlayReadyDomainLeaveServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DomainAccountId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainAccountId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainAccountId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2845,7 +2845,7 @@ impl PlayReadyDomainLeaveServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainServiceId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2856,7 +2856,7 @@ impl PlayReadyDomainLeaveServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2870,14 +2870,14 @@ impl PlayReadyDomainLeaveServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2888,28 +2888,28 @@ impl PlayReadyDomainLeaveServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -2943,7 +2943,7 @@ impl PlayReadyITADataGenerator { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GenerateData)(::windows_core::Interface::as_raw(this), guidcpsystemid, countofstreams, configuration.into_param().abi(), format, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GenerateData)(::windows_core::Interface::as_raw(this), guidcpsystemid, countofstreams, configuration.into_param().abi(), format, ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } } @@ -2974,21 +2974,21 @@ impl PlayReadyIndividualizationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3002,14 +3002,14 @@ impl PlayReadyIndividualizationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3020,28 +3020,28 @@ impl PlayReadyIndividualizationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -3065,77 +3065,77 @@ impl PlayReadyLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullyEvaluated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullyEvaluated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UsableForPlay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UsableForPlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UsableForPlay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpireAfterFirstPlay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpireAfterFirstPlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpireAfterFirstPlay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DomainAccountID(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainAccountID)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainAccountID)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ChainDepth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChainDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChainDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetKIDAtChainDepth(&self, chaindepth: u32) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKIDAtChainDepth)(::windows_core::Interface::as_raw(this), chaindepth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKIDAtChainDepth)(::windows_core::Interface::as_raw(this), chaindepth, &mut result__).map(|| result__) } } pub fn SecureStopId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecureStopId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecureStopId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SecurityLevel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InMemoryOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InMemoryOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InMemoryOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpiresInRealTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpiresInRealTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpiresInRealTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3166,21 +3166,21 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContentHeader(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentHeader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentHeader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentHeader(&self, value: P0) -> ::windows_core::Result<()> @@ -3194,7 +3194,7 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDomainServiceId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -3205,7 +3205,7 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3216,14 +3216,14 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3237,14 +3237,14 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3255,28 +3255,28 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -3312,7 +3312,7 @@ impl PlayReadyLicenseIterable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3322,7 +3322,7 @@ impl PlayReadyLicenseIterable { { Self::IPlayReadyLicenseIterableFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3375,7 +3375,7 @@ impl PlayReadyLicenseIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3383,7 +3383,7 @@ impl PlayReadyLicenseIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3391,7 +3391,7 @@ impl PlayReadyLicenseIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3399,7 +3399,7 @@ impl PlayReadyLicenseIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -3424,7 +3424,7 @@ impl PlayReadyLicenseManagement { { Self::IPlayReadyLicenseManagement(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteLicenses)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteLicenses)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3446,7 +3446,7 @@ impl PlayReadyLicenseSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLAServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigureMediaProtectionManager(&self, mpm: P0) -> ::windows_core::Result<()> @@ -3464,7 +3464,7 @@ impl PlayReadyLicenseSession { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLicenseIterable)(::windows_core::Interface::as_raw(this), contentheader.into_param().abi(), fullyevaluated, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3474,7 +3474,7 @@ impl PlayReadyLicenseSession { { Self::IPlayReadyLicenseSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3510,21 +3510,21 @@ impl PlayReadyMeteringReportServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MeteringCertificate(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).MeteringCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).MeteringCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn SetMeteringCertificate(&self, meteringcertbytes: &[u8]) -> ::windows_core::Result<()> { @@ -3535,7 +3535,7 @@ impl PlayReadyMeteringReportServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3549,14 +3549,14 @@ impl PlayReadyMeteringReportServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3567,28 +3567,28 @@ impl PlayReadyMeteringReportServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -3619,21 +3619,21 @@ impl PlayReadyRevocationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3647,14 +3647,14 @@ impl PlayReadyRevocationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3665,28 +3665,28 @@ impl PlayReadyRevocationServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } } @@ -3715,14 +3715,14 @@ impl PlayReadySecureStopIterable { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn CreateInstance(publishercertbytes: &[u8]) -> ::windows_core::Result { Self::IPlayReadySecureStopIterableFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3775,7 +3775,7 @@ impl PlayReadySecureStopIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3783,7 +3783,7 @@ impl PlayReadySecureStopIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCurrent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3791,7 +3791,7 @@ impl PlayReadySecureStopIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3799,7 +3799,7 @@ impl PlayReadySecureStopIterator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -3826,68 +3826,68 @@ impl PlayReadySecureStopServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SessionID(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionID)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionID)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stopped(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PublisherCertificate(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).PublisherCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).PublisherCertificate)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn CreateInstance(publishercertbytes: &[u8]) -> ::windows_core::Result { Self::IPlayReadySecureStopServiceRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstanceFromSessionID(sessionid: ::windows_core::GUID, publishercertbytes: &[u8]) -> ::windows_core::Result { Self::IPlayReadySecureStopServiceRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromSessionID)(::windows_core::Interface::as_raw(this), sessionid, publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromSessionID)(::windows_core::Interface::as_raw(this), sessionid, publishercertbytes.len().try_into().unwrap(), publishercertbytes.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Uri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3901,14 +3901,14 @@ impl PlayReadySecureStopServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChallengeCustomData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChallengeCustomData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetChallengeCustomData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3919,28 +3919,28 @@ impl PlayReadySecureStopServiceRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextServiceRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextServiceRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GenerateManualEnablingChallenge(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateManualEnablingChallenge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessManualEnablingResponse(&self, responsebytes: &[u8]) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows_core::Interface::as_raw(this), responsebytes.len().try_into().unwrap(), responsebytes.as_ptr(), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -3968,7 +3968,7 @@ impl PlayReadySoapMessage { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetMessageBody)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetMessageBody)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "Foundation_Collections")] @@ -3976,14 +3976,14 @@ impl PlayReadySoapMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageHeaders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageHeaders)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4002,91 +4002,91 @@ impl PlayReadyStatics { pub fn DomainJoinServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainJoinServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainJoinServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DomainLeaveServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainLeaveServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainLeaveServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IndividualizationServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndividualizationServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndividualizationServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LicenseAcquirerServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseAcquirerServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseAcquirerServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MeteringReportServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeteringReportServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeteringReportServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RevocationServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RevocationServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RevocationServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediaProtectionSystemId() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaProtectionSystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaProtectionSystemId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PlayReadySecurityVersion() -> ::windows_core::Result { Self::IPlayReadyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayReadySecurityVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayReadySecurityVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PlayReadyCertificateSecurityLevel() -> ::windows_core::Result { Self::IPlayReadyStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayReadyCertificateSecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayReadyCertificateSecurityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SecureStopServiceRequestType() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecureStopServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecureStopServiceRequestType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CheckSupportedHardware(hwdrmfeature: PlayReadyHardwareDRMFeatures) -> ::windows_core::Result { Self::IPlayReadyStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckSupportedHardware)(::windows_core::Interface::as_raw(this), hwdrmfeature, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckSupportedHardware)(::windows_core::Interface::as_raw(this), hwdrmfeature, &mut result__).map(|| result__) }) } pub fn InputTrustAuthorityToCreate() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPlayReadyStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputTrustAuthorityToCreate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputTrustAuthorityToCreate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProtectionSystemId() -> ::windows_core::Result<::windows_core::GUID> { Self::IPlayReadyStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystemId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HardwareDRMDisabledAtTime() -> ::windows_core::Result> { Self::IPlayReadyStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareDRMDisabledAtTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareDRMDisabledAtTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HardwareDRMDisabledUntilTime() -> ::windows_core::Result> { Self::IPlayReadyStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareDRMDisabledUntilTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareDRMDisabledUntilTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ResetHardwareDRMDisabled() -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Media/Protection/mod.rs b/crates/libs/windows/src/Windows/Media/Protection/mod.rs index 3c6ebd67e8..433a5e3a59 100644 --- a/crates/libs/windows/src/Windows/Media/Protection/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Protection/mod.rs @@ -76,14 +76,14 @@ impl IMediaProtectionServiceRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -152,14 +152,14 @@ impl ComponentLoadFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Completion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -183,7 +183,7 @@ impl ComponentRenewal { { Self::IComponentRenewalStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenewSystemComponentsAsync)(::windows_core::Interface::as_raw(this), information.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenewSystemComponentsAsync)(::windows_core::Interface::as_raw(this), information.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -216,21 +216,21 @@ impl HdcpSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEffectiveProtectionAtLeast)(::windows_core::Interface::as_raw(this), protection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEffectiveProtectionAtLeast)(::windows_core::Interface::as_raw(this), protection, &mut result__).map(|| result__) } } pub fn GetEffectiveProtection(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEffectiveProtection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEffectiveProtection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredMinProtectionAsync(&self, protection: HdcpProtection) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDesiredMinProtectionAsync)(::windows_core::Interface::as_raw(this), protection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDesiredMinProtectionAsync)(::windows_core::Interface::as_raw(this), protection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProtectionChanged(&self, handler: P0) -> ::windows_core::Result @@ -240,7 +240,7 @@ impl HdcpSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProtectionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -279,7 +279,7 @@ impl MediaProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServiceRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -293,7 +293,7 @@ impl MediaProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RebootNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RebootNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRebootNeeded(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -307,7 +307,7 @@ impl MediaProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComponentLoadFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComponentLoadFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveComponentLoadFailed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -319,7 +319,7 @@ impl MediaProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -345,7 +345,7 @@ impl MediaProtectionPMPServer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -355,7 +355,7 @@ impl MediaProtectionPMPServer { { Self::IMediaProtectionPMPServerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePMPServer)(::windows_core::Interface::as_raw(this), pproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePMPServer)(::windows_core::Interface::as_raw(this), pproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -414,7 +414,7 @@ impl ProtectionCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), ::core::mem::transmute_copy(keysystem), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), ::core::mem::transmute_copy(keysystem), &mut result__).map(|| result__) } } } @@ -440,7 +440,7 @@ impl RevocationAndRenewalInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -465,35 +465,35 @@ impl RevocationAndRenewalItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reasons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reasons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HeaderHash(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderHash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicKeyHash(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicKeyHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicKeyHash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenewalId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenewalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenewalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -518,14 +518,14 @@ impl ServiceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Completion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Media_Playback")] @@ -533,7 +533,7 @@ impl ServiceRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlaybackItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs b/crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs index a0bc141ed4..10c04abf03 100644 --- a/crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs +++ b/crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs @@ -44,7 +44,7 @@ impl ISpeechRecognitionConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -55,7 +55,7 @@ impl ISpeechRecognitionConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -66,14 +66,14 @@ impl ISpeechRecognitionConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Probability(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProbability(&self, value: SpeechRecognitionConstraintProbability) -> ::windows_core::Result<()> { @@ -365,7 +365,7 @@ impl SpeechContinuousRecognitionCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -390,7 +390,7 @@ impl SpeechContinuousRecognitionResultGeneratedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -415,7 +415,7 @@ impl SpeechContinuousRecognitionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoStopSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoStopSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoStopSilenceTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -426,35 +426,35 @@ impl SpeechContinuousRecognitionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartWithModeAsync(&self, mode: SpeechContinuousRecognitionMode) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartWithModeAsync)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartWithModeAsync)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PauseAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Resume(&self) -> ::windows_core::Result<()> { @@ -468,7 +468,7 @@ impl SpeechContinuousRecognitionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -482,7 +482,7 @@ impl SpeechContinuousRecognitionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResultGenerated(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -511,7 +511,7 @@ impl SpeechRecognitionCompilationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -537,7 +537,7 @@ impl SpeechRecognitionGrammarFileConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -548,7 +548,7 @@ impl SpeechRecognitionGrammarFileConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -559,14 +559,14 @@ impl SpeechRecognitionGrammarFileConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Probability(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProbability(&self, value: SpeechRecognitionConstraintProbability) -> ::windows_core::Result<()> { @@ -578,7 +578,7 @@ impl SpeechRecognitionGrammarFileConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GrammarFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GrammarFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -588,7 +588,7 @@ impl SpeechRecognitionGrammarFileConstraint { { Self::ISpeechRecognitionGrammarFileConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -598,7 +598,7 @@ impl SpeechRecognitionGrammarFileConstraint { { Self::ISpeechRecognitionGrammarFileConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -628,7 +628,7 @@ impl SpeechRecognitionHypothesis { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -653,7 +653,7 @@ impl SpeechRecognitionHypothesisGeneratedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hypothesis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hypothesis)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -679,7 +679,7 @@ impl SpeechRecognitionListConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -690,7 +690,7 @@ impl SpeechRecognitionListConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -701,14 +701,14 @@ impl SpeechRecognitionListConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Probability(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProbability(&self, value: SpeechRecognitionConstraintProbability) -> ::windows_core::Result<()> { @@ -720,7 +720,7 @@ impl SpeechRecognitionListConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -730,7 +730,7 @@ impl SpeechRecognitionListConstraint { { Self::ISpeechRecognitionListConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), commands.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), commands.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -740,7 +740,7 @@ impl SpeechRecognitionListConstraint { { Self::ISpeechRecognitionListConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), commands.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), commands.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -770,7 +770,7 @@ impl SpeechRecognitionQualityDegradingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Problem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Problem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -795,28 +795,28 @@ impl SpeechRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Confidence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Confidence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Confidence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SemanticInterpretation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SemanticInterpretation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SemanticInterpretation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -824,14 +824,14 @@ impl SpeechRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAlternates)(::windows_core::Interface::as_raw(this), maxalternates, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAlternates)(::windows_core::Interface::as_raw(this), maxalternates, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Constraint(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Constraint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Constraint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -839,28 +839,28 @@ impl SpeechRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RulePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RulePath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawConfidence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawConfidence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawConfidence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhraseStartTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhraseStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhraseStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhraseDuration(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhraseDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhraseDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -886,7 +886,7 @@ impl SpeechRecognitionSemanticInterpretation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -912,7 +912,7 @@ impl SpeechRecognitionTopicConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -923,7 +923,7 @@ impl SpeechRecognitionTopicConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -934,14 +934,14 @@ impl SpeechRecognitionTopicConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Probability(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProbability(&self, value: SpeechRecognitionConstraintProbability) -> ::windows_core::Result<()> { @@ -952,26 +952,26 @@ impl SpeechRecognitionTopicConstraint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scenario)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scenario)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TopicHint(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopicHint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopicHint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(scenario: SpeechRecognitionScenario, topichint: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISpeechRecognitionTopicConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), scenario, ::core::mem::transmute_copy(topichint), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), scenario, ::core::mem::transmute_copy(topichint), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTag(scenario: SpeechRecognitionScenario, topichint: &::windows_core::HSTRING, tag: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISpeechRecognitionTopicConstraintFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), scenario, ::core::mem::transmute_copy(topichint), ::core::mem::transmute_copy(tag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTag)(::windows_core::Interface::as_raw(this), scenario, ::core::mem::transmute_copy(topichint), ::core::mem::transmute_copy(tag), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1002,7 +1002,7 @@ impl SpeechRecognitionVoiceCommandDefinitionConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1013,7 +1013,7 @@ impl SpeechRecognitionVoiceCommandDefinitionConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1024,14 +1024,14 @@ impl SpeechRecognitionVoiceCommandDefinitionConstraint { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Probability(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Probability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProbability(&self, value: SpeechRecognitionConstraintProbability) -> ::windows_core::Result<()> { @@ -1073,7 +1073,7 @@ impl SpeechRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1081,42 +1081,42 @@ impl SpeechRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Constraints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Constraints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timeouts(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timeouts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timeouts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UIOptions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CompileConstraintsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompileConstraintsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompileConstraintsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognizeAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognizeWithUIAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeWithUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeWithUIAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognitionQualityDegrading(&self, speechrecognitionqualitydegradinghandler: P0) -> ::windows_core::Result @@ -1126,7 +1126,7 @@ impl SpeechRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognitionQualityDegrading)(::windows_core::Interface::as_raw(this), speechrecognitionqualitydegradinghandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognitionQualityDegrading)(::windows_core::Interface::as_raw(this), speechrecognitionqualitydegradinghandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRecognitionQualityDegrading(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1140,7 +1140,7 @@ impl SpeechRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), statechangedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), statechangedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1151,21 +1151,21 @@ impl SpeechRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuousRecognitionSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuousRecognitionSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopRecognitionAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopRecognitionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopRecognitionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HypothesisGenerated(&self, value: P0) -> ::windows_core::Result @@ -1175,7 +1175,7 @@ impl SpeechRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HypothesisGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HypothesisGenerated)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHypothesisGenerated(&self, value: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1189,28 +1189,28 @@ impl SpeechRecognizer { { Self::ISpeechRecognizerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), language.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Globalization")] pub fn SystemSpeechLanguage() -> ::windows_core::Result { Self::ISpeechRecognizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemSpeechLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemSpeechLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] pub fn SupportedTopicLanguages() -> ::windows_core::Result> { Self::ISpeechRecognizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedTopicLanguages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedTopicLanguages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] pub fn SupportedGrammarLanguages() -> ::windows_core::Result> { Self::ISpeechRecognizerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedGrammarLanguages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedGrammarLanguages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Globalization")] @@ -1220,7 +1220,7 @@ impl SpeechRecognizer { { Self::ISpeechRecognizerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetSystemSpeechLanguageAsync)(::windows_core::Interface::as_raw(this), speechlanguage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetSystemSpeechLanguageAsync)(::windows_core::Interface::as_raw(this), speechlanguage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1260,7 +1260,7 @@ impl SpeechRecognizerStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1285,7 +1285,7 @@ impl SpeechRecognizerTimeouts { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialSilenceTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1296,7 +1296,7 @@ impl SpeechRecognizerTimeouts { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndSilenceTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEndSilenceTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1307,7 +1307,7 @@ impl SpeechRecognizerTimeouts { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BabbleTimeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BabbleTimeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBabbleTimeout(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1336,7 +1336,7 @@ impl SpeechRecognizerUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExampleText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExampleText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExampleText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1347,7 +1347,7 @@ impl SpeechRecognizerUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudiblePrompt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudiblePrompt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAudiblePrompt(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1358,7 +1358,7 @@ impl SpeechRecognizerUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadBackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadBackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsReadBackEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1369,7 +1369,7 @@ impl SpeechRecognizerUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowConfirmation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowConfirmation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowConfirmation(&self, value: bool) -> ::windows_core::Result<()> { @@ -1398,14 +1398,14 @@ impl VoiceCommandManager { { Self::IVoiceCommandManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallCommandSetsFromStorageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallCommandSetsFromStorageFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn InstalledCommandSets() -> ::windows_core::Result> { Self::IVoiceCommandManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstalledCommandSets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstalledCommandSets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1426,14 +1426,14 @@ impl VoiceCommandSet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1444,7 +1444,7 @@ impl VoiceCommandSet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPhraseListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phraselistname), phraselist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPhraseListAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(phraselistname), phraselist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs b/crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs index c08e10b103..2624b7bb46 100644 --- a/crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs +++ b/crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs @@ -102,7 +102,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -113,7 +113,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -124,7 +124,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -132,7 +132,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -140,7 +140,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -153,7 +153,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -161,7 +161,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -169,7 +169,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -182,7 +182,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -190,7 +190,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -198,7 +198,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -206,7 +206,7 @@ impl SpeechSynthesisStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Markers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Markers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))] @@ -214,7 +214,7 @@ impl SpeechSynthesisStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimedMetadataTracks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -251,13 +251,13 @@ impl SpeechSynthesizer { pub fn AllVoices() -> ::windows_core::Result> { Self::IInstalledVoicesStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllVoices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllVoices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DefaultVoice() -> ::windows_core::Result { Self::IInstalledVoicesStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultVoice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultVoice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TrySetDefaultVoiceAsync(voice: P0) -> ::windows_core::Result> @@ -266,21 +266,21 @@ impl SpeechSynthesizer { { Self::IInstalledVoicesStatic2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetDefaultVoiceAsync)(::windows_core::Interface::as_raw(this), voice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetDefaultVoiceAsync)(::windows_core::Interface::as_raw(this), voice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SynthesizeTextToStreamAsync(&self, text: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SynthesizeTextToStreamAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SynthesizeTextToStreamAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SynthesizeSsmlToStreamAsync(&self, ssml: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SynthesizeSsmlToStreamAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(ssml), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SynthesizeSsmlToStreamAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(ssml), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVoice(&self, value: P0) -> ::windows_core::Result<()> @@ -294,14 +294,14 @@ impl SpeechSynthesizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Voice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Voice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -336,7 +336,7 @@ impl SpeechSynthesizerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeWordBoundaryMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeWordBoundaryMetadata)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeWordBoundaryMetadata(&self, value: bool) -> ::windows_core::Result<()> { @@ -347,7 +347,7 @@ impl SpeechSynthesizerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeSentenceBoundaryMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeSentenceBoundaryMetadata)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeSentenceBoundaryMetadata(&self, value: bool) -> ::windows_core::Result<()> { @@ -358,7 +358,7 @@ impl SpeechSynthesizerOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioVolume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioVolume(&self, value: f64) -> ::windows_core::Result<()> { @@ -369,7 +369,7 @@ impl SpeechSynthesizerOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeakingRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeakingRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpeakingRate(&self, value: f64) -> ::windows_core::Result<()> { @@ -380,7 +380,7 @@ impl SpeechSynthesizerOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioPitch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioPitch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioPitch(&self, value: f64) -> ::windows_core::Result<()> { @@ -391,7 +391,7 @@ impl SpeechSynthesizerOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendedSilence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendedSilence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAppendedSilence(&self, value: SpeechAppendedSilence) -> ::windows_core::Result<()> { @@ -402,7 +402,7 @@ impl SpeechSynthesizerOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PunctuationSilence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PunctuationSilence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPunctuationSilence(&self, value: SpeechPunctuationSilence) -> ::windows_core::Result<()> { @@ -431,35 +431,35 @@ impl VoiceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Gender(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gender)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs b/crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs index f988620e93..f91c2dfada 100644 --- a/crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs @@ -331,14 +331,14 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredLiveOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredLiveOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredLiveOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredLiveOffset(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -349,7 +349,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialBitrate(&self, value: u32) -> ::windows_core::Result<()> { @@ -360,14 +360,14 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentDownloadBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentDownloadBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentPlaybackBitrate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPlaybackBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPlaybackBitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -375,14 +375,14 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableBitrates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableBitrates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DesiredMinBitrate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredMinBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredMinBitrate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredMinBitrate(&self, value: P0) -> ::windows_core::Result<()> @@ -396,7 +396,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredMaxBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredMaxBitrate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredMaxBitrate(&self, value: P0) -> ::windows_core::Result<()> @@ -410,21 +410,21 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioOnlyPlayback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioOnlyPlayback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InboundBitsPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InboundBitsPerSecondWindow(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundBitsPerSecondWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundBitsPerSecondWindow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInboundBitsPerSecondWindow(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -438,7 +438,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadBitrateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -452,7 +452,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackBitrateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackBitrateChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -466,7 +466,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -480,7 +480,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -494,7 +494,7 @@ impl AdaptiveMediaSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDownloadFailed(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -505,28 +505,28 @@ impl AdaptiveMediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvancedSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvancedSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinLiveOffset(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLiveOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLiveOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxSeekableWindowSize(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSeekableWindowSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSeekableWindowSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DesiredSeekableWindowSize(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredSeekableWindowSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredSeekableWindowSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredSeekableWindowSize(&self, value: P0) -> ::windows_core::Result<()> @@ -540,20 +540,20 @@ impl AdaptiveMediaSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Diagnostics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Diagnostics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCorrelatedTimes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCorrelatedTimes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCorrelatedTimes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsContentTypeSupported(contenttype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAdaptiveMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContentTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContentTypeSupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contenttype), &mut result__).map(|| result__) }) } pub fn CreateFromUriAsync(uri: P0) -> ::windows_core::Result> @@ -562,7 +562,7 @@ impl AdaptiveMediaSource { { Self::IAdaptiveMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Web_Http")] @@ -573,7 +573,7 @@ impl AdaptiveMediaSource { { Self::IAdaptiveMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUriWithDownloaderAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), httpclient.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUriWithDownloaderAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), httpclient.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -584,7 +584,7 @@ impl AdaptiveMediaSource { { Self::IAdaptiveMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), uri.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), uri.into_param().abi(), ::core::mem::transmute_copy(contenttype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_Streams", feature = "Web_Http"))] @@ -596,7 +596,7 @@ impl AdaptiveMediaSource { { Self::IAdaptiveMediaSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStreamWithDownloaderAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), uri.into_param().abi(), ::core::mem::transmute_copy(contenttype), httpclient.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStreamWithDownloaderAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), uri.into_param().abi(), ::core::mem::transmute_copy(contenttype), httpclient.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -630,7 +630,7 @@ impl AdaptiveMediaSourceAdvancedSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllSegmentsIndependent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllSegmentsIndependent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllSegmentsIndependent(&self, value: bool) -> ::windows_core::Result<()> { @@ -641,7 +641,7 @@ impl AdaptiveMediaSourceAdvancedSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredBitrateHeadroomRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredBitrateHeadroomRatio)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDesiredBitrateHeadroomRatio(&self, value: P0) -> ::windows_core::Result<()> @@ -655,7 +655,7 @@ impl AdaptiveMediaSourceAdvancedSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitrateDowngradeTriggerRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitrateDowngradeTriggerRatio)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBitrateDowngradeTriggerRatio(&self, value: P0) -> ::windows_core::Result<()> @@ -687,21 +687,21 @@ impl AdaptiveMediaSourceCorrelatedTimes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PresentationTimeStamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresentationTimeStamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresentationTimeStamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProgramDateTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgramDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgramDateTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -726,14 +726,14 @@ impl AdaptiveMediaSourceCreationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -741,14 +741,14 @@ impl AdaptiveMediaSourceCreationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -773,84 +773,84 @@ impl AdaptiveMediaSourceDiagnosticAvailableEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiagnosticType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiagnosticType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SegmentId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SegmentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SegmentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceType(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeOffset(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bitrate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResourceDuration(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -878,7 +878,7 @@ impl AdaptiveMediaSourceDiagnostics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiagnosticAvailable)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiagnosticAvailable)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDiagnosticAvailable(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -907,21 +907,21 @@ impl AdaptiveMediaSourceDownloadBitrateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Reason(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -946,28 +946,28 @@ impl AdaptiveMediaSourceDownloadCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResourceUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeOffset(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -975,42 +975,42 @@ impl AdaptiveMediaSourceDownloadCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Statistics(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Statistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Statistics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceDuration(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1035,28 +1035,28 @@ impl AdaptiveMediaSourceDownloadFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResourceUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeOffset(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -1064,49 +1064,49 @@ impl AdaptiveMediaSourceDownloadFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HttpResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Statistics(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Statistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Statistics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceDuration(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1153,70 +1153,70 @@ impl AdaptiveMediaSourceDownloadRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResourceUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeOffset(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceByteRangeLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceDuration(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResourceContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1241,7 +1241,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResourceUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1256,7 +1256,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1272,7 +1272,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1287,7 +1287,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1298,7 +1298,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendedStatus(&self, value: u32) -> ::windows_core::Result<()> { @@ -1309,7 +1309,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeOffset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResourceByteRangeOffset(&self, value: P0) -> ::windows_core::Result<()> @@ -1323,7 +1323,7 @@ impl AdaptiveMediaSourceDownloadResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceByteRangeLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResourceByteRangeLength(&self, value: P0) -> ::windows_core::Result<()> @@ -1355,28 +1355,28 @@ impl AdaptiveMediaSourceDownloadStatistics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentBytesReceivedCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentBytesReceivedCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TimeToHeadersReceived(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToHeadersReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToHeadersReceived)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeToFirstByteReceived(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToFirstByteReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToFirstByteReceived)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeToLastByteReceived(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToLastByteReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToLastByteReceived)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1401,21 +1401,21 @@ impl AdaptiveMediaSourcePlaybackBitrateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewValue(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AudioOnly(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Media/Transcoding/mod.rs b/crates/libs/windows/src/Windows/Media/Transcoding/mod.rs index 86f75aa328..95fe5b9968 100644 --- a/crates/libs/windows/src/Windows/Media/Transcoding/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Transcoding/mod.rs @@ -72,7 +72,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStopTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -83,7 +83,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStopTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStopTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysReencode(&self, value: bool) -> ::windows_core::Result<()> { @@ -94,7 +94,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysReencode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysReencode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHardwareAccelerationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -105,7 +105,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareAccelerationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareAccelerationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddAudioEffect(&self, activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -146,7 +146,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareFileTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareFileTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_MediaProperties", feature = "Storage_Streams"))] @@ -159,7 +159,7 @@ impl MediaTranscoder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareStreamTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareStreamTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Media_Core", feature = "Media_MediaProperties", feature = "Storage_Streams"))] @@ -172,7 +172,7 @@ impl MediaTranscoder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareMediaStreamSourceTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareMediaStreamSourceTranscodeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVideoProcessingAlgorithm(&self, value: MediaVideoProcessingAlgorithm) -> ::windows_core::Result<()> { @@ -183,7 +183,7 @@ impl MediaTranscoder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProcessingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProcessingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -208,21 +208,21 @@ impl PrepareTranscodeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanTranscode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanTranscode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FailureReason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FailureReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FailureReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TranscodeAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TranscodeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TranscodeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Media/mod.rs b/crates/libs/windows/src/Windows/Media/mod.rs index 21a2752914..868aaaca39 100644 --- a/crates/libs/windows/src/Windows/Media/mod.rs +++ b/crates/libs/windows/src/Windows/Media/mod.rs @@ -310,14 +310,14 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -331,7 +331,7 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -345,7 +345,7 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -359,7 +359,7 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -370,7 +370,7 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -378,7 +378,7 @@ impl IMediaFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -415,21 +415,21 @@ impl IMediaMarker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Time)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaMarkerType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaMarkerType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaMarkerType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -459,7 +459,7 @@ impl IMediaMarkers { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Markers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Markers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -798,14 +798,14 @@ impl AudioBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -820,7 +820,7 @@ impl AudioBuffer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -846,13 +846,13 @@ impl AudioFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockBuffer)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockBuffer)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(capacity: u32) -> ::windows_core::Result { Self::IAudioFrameFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -863,14 +863,14 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -884,7 +884,7 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -898,7 +898,7 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -912,7 +912,7 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -923,7 +923,7 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -931,7 +931,7 @@ impl AudioFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -961,7 +961,7 @@ impl AutoRepeatModeChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedAutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedAutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -986,7 +986,7 @@ impl ImageDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -997,7 +997,7 @@ impl ImageDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1028,7 +1028,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1042,7 +1042,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1056,7 +1056,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PausePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PausePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1070,7 +1070,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1084,7 +1084,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlayPauseTogglePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlayPauseTogglePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1098,7 +1098,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1112,7 +1112,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextTrackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextTrackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1126,7 +1126,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousTrackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousTrackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1140,7 +1140,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FastForwardPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FastForwardPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1154,7 +1154,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RewindPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RewindPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1168,7 +1168,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelUpPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelUpPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1182,7 +1182,7 @@ impl MediaControl { { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelDownPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelDownPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1193,7 +1193,7 @@ impl MediaControl { pub fn SoundLevel() -> ::windows_core::Result { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1204,7 +1204,7 @@ impl MediaControl { pub fn TrackName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -1215,7 +1215,7 @@ impl MediaControl { pub fn ArtistName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ArtistName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ArtistName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -1226,7 +1226,7 @@ impl MediaControl { pub fn IsPlaying() -> ::windows_core::Result { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlaying)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlaying)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -1240,7 +1240,7 @@ impl MediaControl { pub fn AlbumArt() -> ::windows_core::Result { Self::IMediaControl(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumArt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumArt)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1365,7 +1365,7 @@ impl MediaMarkerTypes { pub fn Bookmark() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMediaMarkerTypesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bookmark)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bookmark)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1387,7 +1387,7 @@ impl MediaProcessingTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1431,7 +1431,7 @@ impl MediaTimelineController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1442,7 +1442,7 @@ impl MediaTimelineController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClockRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClockRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClockRate(&self, value: f64) -> ::windows_core::Result<()> { @@ -1453,7 +1453,7 @@ impl MediaTimelineController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PositionChanged(&self, positionchangedeventhandler: P0) -> ::windows_core::Result @@ -1463,7 +1463,7 @@ impl MediaTimelineController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), positionchangedeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionChanged)(::windows_core::Interface::as_raw(this), positionchangedeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionChanged(&self, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1477,7 +1477,7 @@ impl MediaTimelineController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), statechangedeventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), statechangedeventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1488,7 +1488,7 @@ impl MediaTimelineController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -1502,7 +1502,7 @@ impl MediaTimelineController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLoopingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLoopingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsLoopingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1516,7 +1516,7 @@ impl MediaTimelineController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFailed(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1530,7 +1530,7 @@ impl MediaTimelineController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ended)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ended)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnded(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1559,7 +1559,7 @@ impl MediaTimelineControllerFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1584,7 +1584,7 @@ impl MusicDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1595,7 +1595,7 @@ impl MusicDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlbumArtist(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1606,7 +1606,7 @@ impl MusicDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetArtist(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1617,7 +1617,7 @@ impl MusicDisplayProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlbumTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1628,7 +1628,7 @@ impl MusicDisplayProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrackNumber(&self, value: u32) -> ::windows_core::Result<()> { @@ -1640,14 +1640,14 @@ impl MusicDisplayProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlbumTrackCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumTrackCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumTrackCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlbumTrackCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1676,7 +1676,7 @@ impl PlaybackPositionChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedPlaybackPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedPlaybackPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1701,7 +1701,7 @@ impl PlaybackRateChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1726,7 +1726,7 @@ impl ShuffleEnabledChangeRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1751,7 +1751,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPlaybackStatus(&self, value: MediaPlaybackStatus) -> ::windows_core::Result<()> { @@ -1762,21 +1762,21 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayUpdater)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayUpdater)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SoundLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoundLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1787,7 +1787,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPlayEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPlayEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPlayEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1798,7 +1798,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStopEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStopEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsStopEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1809,7 +1809,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPauseEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPauseEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPauseEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1820,7 +1820,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRecordEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRecordEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRecordEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1831,7 +1831,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFastForwardEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFastForwardEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsFastForwardEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1842,7 +1842,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRewindEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRewindEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRewindEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1853,7 +1853,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPreviousEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPreviousEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPreviousEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1864,7 +1864,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNextEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNextEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsNextEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1875,7 +1875,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelUpEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelUpEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsChannelUpEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1886,7 +1886,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChannelDownEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChannelDownEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsChannelDownEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1900,7 +1900,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveButtonPressed(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1914,7 +1914,7 @@ impl SystemMediaTransportControls { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePropertyChanged(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1925,7 +1925,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoRepeatMode(&self, value: MediaPlaybackAutoRepeatMode) -> ::windows_core::Result<()> { @@ -1936,7 +1936,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffleEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShuffleEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1947,7 +1947,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPlaybackRate(&self, value: f64) -> ::windows_core::Result<()> { @@ -1968,7 +1968,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackPositionChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackPositionChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackPositionChangeRequested(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1982,7 +1982,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRateChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRateChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePlaybackRateChangeRequested(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1996,7 +1996,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShuffleEnabledChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShuffleEnabledChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShuffleEnabledChangeRequested(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2010,7 +2010,7 @@ impl SystemMediaTransportControls { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoRepeatModeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoRepeatModeChangeRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutoRepeatModeChangeRequested(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2020,7 +2020,7 @@ impl SystemMediaTransportControls { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISystemMediaTransportControlsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2050,7 +2050,7 @@ impl SystemMediaTransportControlsButtonPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Button)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Button)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2075,7 +2075,7 @@ impl SystemMediaTransportControlsDisplayUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: MediaPlaybackType) -> ::windows_core::Result<()> { @@ -2086,7 +2086,7 @@ impl SystemMediaTransportControlsDisplayUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMediaId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMediaId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppMediaId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2098,7 +2098,7 @@ impl SystemMediaTransportControlsDisplayUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2113,21 +2113,21 @@ impl SystemMediaTransportControlsDisplayUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageProperties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -2138,7 +2138,7 @@ impl SystemMediaTransportControlsDisplayUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyFromFileAsync)(::windows_core::Interface::as_raw(this), r#type, source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyFromFileAsync)(::windows_core::Interface::as_raw(this), r#type, source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearAll(&self) -> ::windows_core::Result<()> { @@ -2171,7 +2171,7 @@ impl SystemMediaTransportControlsPropertyChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Property)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Property)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2203,7 +2203,7 @@ impl SystemMediaTransportControlsTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartTime(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2214,7 +2214,7 @@ impl SystemMediaTransportControlsTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEndTime(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2225,7 +2225,7 @@ impl SystemMediaTransportControlsTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinSeekTime(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2236,7 +2236,7 @@ impl SystemMediaTransportControlsTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSeekTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxSeekTime(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2247,7 +2247,7 @@ impl SystemMediaTransportControlsTimelineProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2276,7 +2276,7 @@ impl VideoDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2287,7 +2287,7 @@ impl VideoDisplayProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2299,7 +2299,7 @@ impl VideoDisplayProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genres)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2320,7 +2320,7 @@ impl VideoEffects { pub fn VideoStabilization() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IVideoEffectsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoStabilization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoStabilization)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2346,14 +2346,14 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2367,7 +2367,7 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemRelativeTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2381,7 +2381,7 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -2395,7 +2395,7 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows_core::Result<()> { @@ -2406,7 +2406,7 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscontinuous)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2414,7 +2414,7 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -2422,7 +2422,7 @@ impl VideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareBitmap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyToAsync(&self, frame: P0) -> ::windows_core::Result @@ -2432,7 +2432,7 @@ impl VideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyToAsync)(::windows_core::Interface::as_raw(this), frame.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyToAsync)(::windows_core::Interface::as_raw(this), frame.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -2440,7 +2440,7 @@ impl VideoFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direct3DSurface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direct3DSurface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -2453,28 +2453,28 @@ impl VideoFrame { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyToWithBoundsAsync)(::windows_core::Interface::as_raw(this), frame.into_param().abi(), sourcebounds.into_param().abi(), destinationbounds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyToWithBoundsAsync)(::windows_core::Interface::as_raw(this), frame.into_param().abi(), sourcebounds.into_param().abi(), destinationbounds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] pub fn Create(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32) -> ::windows_core::Result { Self::IVideoFrameFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_Imaging")] pub fn CreateWithAlpha(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32, alpha: super::Graphics::Imaging::BitmapAlphaMode) -> ::windows_core::Result { Self::IVideoFrameFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithAlpha)(::windows_core::Interface::as_raw(this), format, width, height, alpha, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithAlpha)(::windows_core::Interface::as_raw(this), format, width, height, alpha, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX")] pub fn CreateAsDirect3D11SurfaceBacked(format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32) -> ::windows_core::Result { Self::IVideoFrameStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsDirect3D11SurfaceBacked)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsDirect3D11SurfaceBacked)(::windows_core::Interface::as_raw(this), format, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -2484,7 +2484,7 @@ impl VideoFrame { { Self::IVideoFrameStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsDirect3D11SurfaceBackedWithDevice)(::windows_core::Interface::as_raw(this), format, width, height, device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsDirect3D11SurfaceBackedWithDevice)(::windows_core::Interface::as_raw(this), format, width, height, device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_Imaging")] @@ -2494,7 +2494,7 @@ impl VideoFrame { { Self::IVideoFrameStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSoftwareBitmap)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSoftwareBitmap)(::windows_core::Interface::as_raw(this), bitmap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Graphics_DirectX_Direct3D11")] @@ -2504,7 +2504,7 @@ impl VideoFrame { { Self::IVideoFrameStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithDirect3D11Surface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithDirect3D11Surface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs b/crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs index d01b1746d6..8c34c65ec1 100644 --- a/crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs @@ -118,7 +118,7 @@ impl IBackgroundTransferBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -134,7 +134,7 @@ impl IBackgroundTransferBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -149,7 +149,7 @@ impl IBackgroundTransferBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMethod(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -161,7 +161,7 @@ impl IBackgroundTransferBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -173,7 +173,7 @@ impl IBackgroundTransferBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -263,14 +263,14 @@ impl IBackgroundTransferContentPartFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithNameAndFileName(&self, name: &::windows_core::HSTRING, filename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithNameAndFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(filename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithNameAndFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(filename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -317,21 +317,21 @@ impl IBackgroundTransferOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestedUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Method(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -339,14 +339,14 @@ impl IBackgroundTransferOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CostPolicy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -358,14 +358,14 @@ impl IBackgroundTransferOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResponseInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -398,7 +398,7 @@ impl IBackgroundTransferOperationPriority { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: BackgroundTransferPriority) -> ::windows_core::Result<()> { @@ -709,7 +709,7 @@ impl BackgroundDownloader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDownload)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDownload)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -722,7 +722,7 @@ impl BackgroundDownloader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDownloadFromFile)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), requestbodyfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDownloadFromFile)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), requestbodyfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -735,14 +735,14 @@ impl BackgroundDownloader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDownloadAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), requestbodystream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDownloadAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), resultfile.into_param().abi(), requestbodystream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransferGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransferGroup(&self, value: P0) -> ::windows_core::Result<()> @@ -757,7 +757,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuccessToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuccessToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -773,7 +773,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FailureToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FailureToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -789,7 +789,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuccessTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuccessTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -805,7 +805,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FailureTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FailureTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -820,7 +820,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletionGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletionGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithCompletionGroup(completiongroup: P0) -> ::windows_core::Result @@ -829,21 +829,21 @@ impl BackgroundDownloader { { Self::IBackgroundDownloaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithCompletionGroup)(::windows_core::Interface::as_raw(this), completiongroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithCompletionGroup)(::windows_core::Interface::as_raw(this), completiongroup.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetCurrentDownloadsAsync() -> ::windows_core::Result>> { Self::IBackgroundDownloaderStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDownloadsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDownloadsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] pub fn GetCurrentDownloadsForGroupAsync(group: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IBackgroundDownloaderStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDownloadsForGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(group), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDownloadsForGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(group), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -853,7 +853,7 @@ impl BackgroundDownloader { { Self::IBackgroundDownloaderStaticMethods2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDownloadsForTransferGroupAsync)(::windows_core::Interface::as_raw(this), group.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDownloadsForTransferGroupAsync)(::windows_core::Interface::as_raw(this), group.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -863,7 +863,7 @@ impl BackgroundDownloader { { Self::IBackgroundDownloaderUserConsent(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnconstrainedDownloadsAsync)(::windows_core::Interface::as_raw(this), operations.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnconstrainedDownloadsAsync)(::windows_core::Interface::as_raw(this), operations.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetRequestHeader(&self, headername: &::windows_core::HSTRING, headervalue: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -875,7 +875,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -891,7 +891,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -906,7 +906,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMethod(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -918,7 +918,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -930,7 +930,7 @@ impl BackgroundDownloader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -988,14 +988,14 @@ impl BackgroundTransferCompletionGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enable(&self) -> ::windows_core::Result<()> { @@ -1025,7 +1025,7 @@ impl BackgroundTransferCompletionGroupTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Downloads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Downloads)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1033,7 +1033,7 @@ impl BackgroundTransferCompletionGroupTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uploads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uploads)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1080,13 +1080,13 @@ impl BackgroundTransferContentPart { pub fn CreateWithName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTransferContentPartFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithNameAndFileName(name: &::windows_core::HSTRING, filename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTransferContentPartFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithNameAndFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(filename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithNameAndFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(filename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1113,7 +1113,7 @@ impl BackgroundTransferError { pub fn GetStatus(hresult: i32) -> ::windows_core::Result { Self::IBackgroundTransferErrorStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1134,14 +1134,14 @@ impl BackgroundTransferGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransferBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransferBehavior(&self, value: BackgroundTransferBehavior) -> ::windows_core::Result<()> { @@ -1151,7 +1151,7 @@ impl BackgroundTransferGroup { pub fn CreateGroup(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBackgroundTransferGroupStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGroup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1181,7 +1181,7 @@ impl BackgroundTransferRangesDownloadedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasDownloadRestarted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasDownloadRestarted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1189,14 +1189,14 @@ impl BackgroundTransferRangesDownloadedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddedRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddedRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1234,7 +1234,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1250,7 +1250,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1265,7 +1265,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMethod(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1277,7 +1277,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1289,7 +1289,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -1305,7 +1305,7 @@ impl BackgroundUploader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUpload)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), sourcefile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUpload)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), sourcefile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1317,7 +1317,7 @@ impl BackgroundUploader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUploadFromStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), sourcestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUploadFromStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), sourcestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1329,7 +1329,7 @@ impl BackgroundUploader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUploadWithFormDataAndAutoBoundaryAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUploadWithFormDataAndAutoBoundaryAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1341,7 +1341,7 @@ impl BackgroundUploader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUploadWithSubTypeAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUploadWithSubTypeAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1353,14 +1353,14 @@ impl BackgroundUploader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateUploadWithSubTypeAndBoundaryAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), ::core::mem::transmute_copy(subtype), ::core::mem::transmute_copy(boundary), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateUploadWithSubTypeAndBoundaryAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), parts.into_param().abi(), ::core::mem::transmute_copy(subtype), ::core::mem::transmute_copy(boundary), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransferGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransferGroup(&self, value: P0) -> ::windows_core::Result<()> @@ -1375,7 +1375,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuccessToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuccessToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -1391,7 +1391,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FailureToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FailureToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -1407,7 +1407,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuccessTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuccessTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -1423,7 +1423,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FailureTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FailureTileNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -1438,7 +1438,7 @@ impl BackgroundUploader { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompletionGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompletionGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithCompletionGroup(completiongroup: P0) -> ::windows_core::Result @@ -1447,21 +1447,21 @@ impl BackgroundUploader { { Self::IBackgroundUploaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithCompletionGroup)(::windows_core::Interface::as_raw(this), completiongroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithCompletionGroup)(::windows_core::Interface::as_raw(this), completiongroup.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetCurrentUploadsAsync() -> ::windows_core::Result>> { Self::IBackgroundUploaderStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentUploadsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentUploadsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] pub fn GetCurrentUploadsForGroupAsync(group: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IBackgroundUploaderStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentUploadsForGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(group), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentUploadsForGroupAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(group), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1471,7 +1471,7 @@ impl BackgroundUploader { { Self::IBackgroundUploaderStaticMethods2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentUploadsForTransferGroupAsync)(::windows_core::Interface::as_raw(this), group.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentUploadsForTransferGroupAsync)(::windows_core::Interface::as_raw(this), group.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -1481,7 +1481,7 @@ impl BackgroundUploader { { Self::IBackgroundUploaderUserConsent(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnconstrainedUploadsAsync)(::windows_core::Interface::as_raw(this), operations.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnconstrainedUploadsAsync)(::windows_core::Interface::as_raw(this), operations.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1524,7 +1524,7 @@ impl ContentPrefetcher { pub fn ContentUris() -> ::windows_core::Result> { Self::IContentPrefetcher(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetIndirectContentUri(value: P0) -> ::windows_core::Result<()> @@ -1536,13 +1536,13 @@ impl ContentPrefetcher { pub fn IndirectContentUri() -> ::windows_core::Result { Self::IContentPrefetcher(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndirectContentUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndirectContentUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LastSuccessfulPrefetchTime() -> ::windows_core::Result> { Self::IContentPrefetcherTime(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSuccessfulPrefetchTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSuccessfulPrefetchTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1569,21 +1569,21 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestedUri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Method(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1591,14 +1591,14 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CostPolicy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -1610,21 +1610,21 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResponseInformation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Priority(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: BackgroundTransferPriority) -> ::windows_core::Result<()> { @@ -1636,28 +1636,28 @@ impl DownloadOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttachAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Pause(&self) -> ::windows_core::Result<()> { @@ -1672,14 +1672,14 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRandomAccessRequired(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRandomAccessRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRandomAccessRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRandomAccessRequired(&self, value: bool) -> ::windows_core::Result<()> { @@ -1691,7 +1691,7 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResultRandomAccessStreamReference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResultRandomAccessStreamReference)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1699,7 +1699,7 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDownloadedRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDownloadedRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RangesDownloaded(&self, eventhandler: P0) -> ::windows_core::Result @@ -1709,7 +1709,7 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RangesDownloaded)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RangesDownloaded)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRangesDownloaded(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1728,7 +1728,7 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecoverableWebErrorStatuses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecoverableWebErrorStatuses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web")] @@ -1736,7 +1736,7 @@ impl DownloadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentWebErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentWebErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MakeCurrentInTransferGroup(&self) -> ::windows_core::Result<()> { @@ -1773,21 +1773,21 @@ impl ResponseInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResumable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResumable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActualUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1795,7 +1795,7 @@ impl ResponseInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1824,7 +1824,7 @@ impl UnconstrainedTransferRequestResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUnconstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUnconstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1855,21 +1855,21 @@ impl UploadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Guid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestedUri(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Method(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -1877,14 +1877,14 @@ impl UploadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CostPolicy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CostPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCostPolicy(&self, value: BackgroundTransferCostPolicy) -> ::windows_core::Result<()> { @@ -1896,21 +1896,21 @@ impl UploadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResultStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResponseInformation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResponseInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Priority(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: BackgroundTransferPriority) -> ::windows_core::Result<()> { @@ -1922,35 +1922,35 @@ impl UploadOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Progress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttachAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TransferGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MakeCurrentInTransferGroup(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs b/crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs index 2d10e56220..cc172479fd 100644 --- a/crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs @@ -429,28 +429,28 @@ impl AttributedNetworkUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesReceived(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttributionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AttributionName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -458,7 +458,7 @@ impl AttributedNetworkUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributionThumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributionThumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -490,7 +490,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProviderId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -501,7 +501,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAccessPointName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -512,7 +512,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -523,7 +523,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPassword(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -534,7 +534,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCompressionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCompressionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCompressionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -545,7 +545,7 @@ impl CellularApnContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuthenticationType(&self, value: CellularApnAuthenticationType) -> ::windows_core::Result<()> { @@ -556,7 +556,7 @@ impl CellularApnContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProfileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -585,35 +585,35 @@ impl ConnectionCost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkCostType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkCostType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Roaming(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Roaming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Roaming)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OverDataLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OverDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OverDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ApproachingDataLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApproachingDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApproachingDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BackgroundDataUsageRestricted(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundDataUsageRestricted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundDataUsageRestricted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -638,14 +638,14 @@ impl ConnectionProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNetworkConnectivityLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -653,28 +653,28 @@ impl ConnectionProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConnectionCost(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionCost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionCost)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDataPlanStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataPlanStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataPlanStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkAdapter(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -682,7 +682,7 @@ impl ConnectionProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLocalUsage)(::windows_core::Interface::as_raw(this), starttime, endtime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLocalUsage)(::windows_core::Interface::as_raw(this), starttime, endtime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -690,63 +690,63 @@ impl ConnectionProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLocalUsagePerRoamingStates)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLocalUsagePerRoamingStates)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkSecuritySettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkSecuritySettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkSecuritySettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWwanConnectionProfile(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWwanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWwanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsWlanConnectionProfile(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWlanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWlanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WwanConnectionProfileDetails(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WwanConnectionProfileDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WwanConnectionProfileDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WlanConnectionProfileDetails(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WlanConnectionProfileDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WlanConnectionProfileDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceProviderGuid(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSignalBars(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSignalBars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSignalBars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDomainConnectivityLevel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDomainConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDomainConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -754,7 +754,7 @@ impl ConnectionProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, granularity, states, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, granularity, states, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -762,7 +762,7 @@ impl ConnectionProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectivityIntervalsAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectivityIntervalsAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -770,7 +770,7 @@ impl ConnectionProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttributedNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttributedNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -778,28 +778,28 @@ impl ConnectionProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProviderNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProviderNetworkUsageAsync)(::windows_core::Interface::as_raw(this), starttime, endtime, states, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanDelete(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDelete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDelete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryDeleteAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDomainAuthenticatedBy(&self, kind: DomainAuthenticationKind) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(this), kind, &mut result__).map(|| result__) } } } @@ -835,7 +835,7 @@ impl ConnectionProfileFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsWwanConnectionProfile(&self, value: bool) -> ::windows_core::Result<()> { @@ -846,7 +846,7 @@ impl ConnectionProfileFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWwanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWwanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsWlanConnectionProfile(&self, value: bool) -> ::windows_core::Result<()> { @@ -857,7 +857,7 @@ impl ConnectionProfileFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWlanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWlanConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNetworkCostType(&self, value: NetworkCostType) -> ::windows_core::Result<()> { @@ -868,7 +868,7 @@ impl ConnectionProfileFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkCostType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkCostType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetServiceProviderGuid(&self, value: P0) -> ::windows_core::Result<()> @@ -882,7 +882,7 @@ impl ConnectionProfileFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsRoaming(&self, value: P0) -> ::windows_core::Result<()> @@ -896,7 +896,7 @@ impl ConnectionProfileFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoaming)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoaming)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsOverDataLimit(&self, value: P0) -> ::windows_core::Result<()> @@ -910,7 +910,7 @@ impl ConnectionProfileFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOverDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOverDataLimit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsBackgroundDataUsageRestricted(&self, value: P0) -> ::windows_core::Result<()> @@ -924,7 +924,7 @@ impl ConnectionProfileFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBackgroundDataUsageRestricted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBackgroundDataUsageRestricted)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -932,7 +932,7 @@ impl ConnectionProfileFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPurposeGuid(&self, value: P0) -> ::windows_core::Result<()> @@ -946,7 +946,7 @@ impl ConnectionProfileFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PurposeGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PurposeGuid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -976,7 +976,7 @@ impl ConnectionSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1001,14 +1001,14 @@ impl ConnectivityInterval { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1032,7 +1032,7 @@ impl ConnectivityManager { { Self::IConnectivityManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquireConnectionAsync)(::windows_core::Interface::as_raw(this), cellularapncontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquireConnectionAsync)(::windows_core::Interface::as_raw(this), cellularapncontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AddHttpRoutePolicy(routepolicy: P0) -> ::windows_core::Result<()> @@ -1065,42 +1065,42 @@ impl DataPlanStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataPlanUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataPlanUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataLimitInMegabytes(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataLimitInMegabytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataLimitInMegabytes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InboundBitsPerSecond(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OutboundBitsPerSecond(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextBillingCycle(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextBillingCycle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextBillingCycle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxTransferSizeInMegabytes(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxTransferSizeInMegabytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxTransferSizeInMegabytes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1125,14 +1125,14 @@ impl DataPlanUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MegabytesUsed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MegabytesUsed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LastSyncTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastSyncTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1161,7 +1161,7 @@ impl DataUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -1169,7 +1169,7 @@ impl DataUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1199,14 +1199,14 @@ impl IPInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrefixLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrefixLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrefixLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1231,21 +1231,21 @@ impl LanIdentifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InfrastructureId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InfrastructureId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PortId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PortId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PortId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkAdapterId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1270,7 +1270,7 @@ impl LanIdentifierData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1278,7 +1278,7 @@ impl LanIdentifierData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1303,42 +1303,42 @@ impl NetworkAdapter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundMaxBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundMaxBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InboundMaxBitsPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundMaxBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundMaxBitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IanaInterfaceType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IanaInterfaceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IanaInterfaceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkItem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkAdapterId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapterId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetConnectedProfileAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectedProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectedProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1360,27 +1360,27 @@ impl NetworkInformation { pub fn GetConnectionProfiles() -> ::windows_core::Result> { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetInternetConnectionProfile() -> ::windows_core::Result { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInternetConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInternetConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetLanIdentifiers() -> ::windows_core::Result> { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLanIdentifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLanIdentifiers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetHostNames() -> ::windows_core::Result> { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHostNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHostNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetProxyConfigurationAsync(uri: P0) -> ::windows_core::Result> @@ -1389,7 +1389,7 @@ impl NetworkInformation { { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProxyConfigurationAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProxyConfigurationAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1399,7 +1399,7 @@ impl NetworkInformation { { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSortedEndpointPairs)(::windows_core::Interface::as_raw(this), destinationlist.into_param().abi(), sortoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSortedEndpointPairs)(::windows_core::Interface::as_raw(this), destinationlist.into_param().abi(), sortoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NetworkStatusChanged(networkstatushandler: P0) -> ::windows_core::Result @@ -1408,7 +1408,7 @@ impl NetworkInformation { { Self::INetworkInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkStatusChanged)(::windows_core::Interface::as_raw(this), networkstatushandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkStatusChanged)(::windows_core::Interface::as_raw(this), networkstatushandler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveNetworkStatusChanged(eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1421,7 +1421,7 @@ impl NetworkInformation { { Self::INetworkInformationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindConnectionProfilesAsync)(::windows_core::Interface::as_raw(this), pprofilefilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindConnectionProfilesAsync)(::windows_core::Interface::as_raw(this), pprofilefilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1447,14 +1447,14 @@ impl NetworkItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetNetworkTypes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkTypes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1479,14 +1479,14 @@ impl NetworkSecuritySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkEncryptionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkEncryptionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkEncryptionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1511,56 +1511,56 @@ impl NetworkStateChangeEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewInternetConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewInternetConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewConnectionCost(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewConnectionCost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewConnectionCost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewNetworkConnectivityLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewNetworkConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewNetworkConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewDomainConnectivityLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewDomainConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewDomainConnectivityLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewHostNameList(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewHostNameList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewHostNameList)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewWwanRegistrationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewWwanRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewWwanRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewTetheringOperationalState(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewTetheringOperationalState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewTetheringOperationalState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNewTetheringClientCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNewTetheringClientCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNewTetheringClientCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1585,21 +1585,21 @@ impl NetworkUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesReceived(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1624,21 +1624,21 @@ impl ProviderNetworkUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesSent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesReceived(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReceived)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1664,14 +1664,14 @@ impl ProxyConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanConnectDirectly(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanConnectDirectly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanConnectDirectly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1696,21 +1696,21 @@ impl RoutePolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionProfile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HostName(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HostNameType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostNameType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostNameType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateRoutePolicy(connectionprofile: P0, hostname: P1, r#type: super::DomainNameType) -> ::windows_core::Result @@ -1720,7 +1720,7 @@ impl RoutePolicy { { Self::IRoutePolicyFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRoutePolicy)(::windows_core::Interface::as_raw(this), connectionprofile.into_param().abi(), hostname.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRoutePolicy)(::windows_core::Interface::as_raw(this), connectionprofile.into_param().abi(), hostname.into_param().abi(), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1750,7 +1750,7 @@ impl WlanConnectionProfileDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectedSsid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectedSsid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1775,35 +1775,35 @@ impl WwanConnectionProfileDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessPointName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNetworkRegistrationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNetworkRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNetworkRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentDataClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentDataClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentDataClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IPKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IPKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IPKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1811,7 +1811,7 @@ impl WwanConnectionProfileDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PurposeGuids)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PurposeGuids)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs b/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs index 85defc18b9..2d7423f73d 100644 --- a/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs @@ -1315,42 +1315,42 @@ impl ESim { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableMemoryInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableMemoryInBytes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Eid(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Eid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Eid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirmwareVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MobileBroadbandModemDeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MobileBroadbandModemDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MobileBroadbandModemDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Policy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1358,28 +1358,28 @@ impl ESim { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteProfileAsync(&self, profileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteProfileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteProfileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(profileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DownloadProfileMetadataAsync(&self, activationcode: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadProfileMetadataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activationcode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadProfileMetadataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activationcode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResetAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProfileChanged(&self, handler: P0) -> ::windows_core::Result @@ -1389,7 +1389,7 @@ impl ESim { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProfileChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1400,35 +1400,35 @@ impl ESim { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Discover)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Discover)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DiscoverWithServerAddressAndMatchingId(&self, serveraddress: &::windows_core::HSTRING, matchingid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscoverWithServerAddressAndMatchingId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serveraddress), ::core::mem::transmute_copy(matchingid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscoverWithServerAddressAndMatchingId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serveraddress), ::core::mem::transmute_copy(matchingid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DiscoverAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscoverAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscoverAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DiscoverWithServerAddressAndMatchingIdAsync(&self, serveraddress: &::windows_core::HSTRING, matchingid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscoverWithServerAddressAndMatchingIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serveraddress), ::core::mem::transmute_copy(matchingid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscoverWithServerAddressAndMatchingIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serveraddress), ::core::mem::transmute_copy(matchingid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SlotIndex(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1453,7 +1453,7 @@ impl ESimAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1478,14 +1478,14 @@ impl ESimDiscoverEvent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MatchingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MatchingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RspServerAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RspServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RspServerAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1511,28 +1511,28 @@ impl ESimDiscoverResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Events)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Events)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProfileMetadata(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileMetadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1557,14 +1557,14 @@ impl ESimDownloadProfileMetadataResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProfileMetadata(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileMetadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1585,13 +1585,13 @@ impl ESimManager { pub fn ServiceInfo() -> ::windows_core::Result { Self::IESimManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateESimWatcher() -> ::windows_core::Result { Self::IESimManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateESimWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateESimWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ServiceInfoChanged(handler: P0) -> ::windows_core::Result @@ -1600,7 +1600,7 @@ impl ESimManager { { Self::IESimManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveServiceInfoChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1624,7 +1624,7 @@ impl ESimOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1649,7 +1649,7 @@ impl ESimPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldEnableManagingUi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldEnableManagingUi)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1674,28 +1674,28 @@ impl ESimProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Class)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Class)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Nickname(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Policy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1703,49 +1703,49 @@ impl ESimProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderIcon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderIcon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNicknameAsync(&self, newnickname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetNicknameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(newnickname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetNicknameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(newnickname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1770,21 +1770,21 @@ impl ESimProfileMetadata { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConfirmationCodeRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConfirmationCodeRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Policy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1792,56 +1792,56 @@ impl ESimProfileMetadata { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderIcon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderIcon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DenyInstallAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DenyInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DenyInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfirmInstallAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfirmInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfirmInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfirmInstallWithConfirmationCodeAsync(&self, confirmationcode: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfirmInstallWithConfirmationCodeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(confirmationcode), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfirmInstallWithConfirmationCodeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(confirmationcode), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostponeInstallAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostponeInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostponeInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StateChanged(&self, handler: P0) -> ::windows_core::Result @@ -1851,7 +1851,7 @@ impl ESimProfileMetadata { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1880,21 +1880,21 @@ impl ESimProfilePolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDelete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDelete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanDisable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDisable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDisable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsManagedByEnterprise(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsManagedByEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsManagedByEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1919,7 +1919,7 @@ impl ESimRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1944,14 +1944,14 @@ impl ESimServiceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationPreference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationPreference)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsESimUiEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsESimUiEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsESimUiEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1976,7 +1976,7 @@ impl ESimUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ESim)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2001,7 +2001,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -2019,7 +2019,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2033,7 +2033,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2047,7 +2047,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2061,7 +2061,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2075,7 +2075,7 @@ impl ESimWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2100,7 +2100,7 @@ impl FdnAccessManager { pub fn RequestUnlockAsync(contactlistid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IFdnAccessManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnlockAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnlockAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contactlistid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2121,7 +2121,7 @@ impl HotspotAuthenticationContext { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).WirelessNetworkId)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).WirelessNetworkId)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "Networking_Connectivity")] @@ -2129,14 +2129,14 @@ impl HotspotAuthenticationContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RedirectMessageUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedirectMessageUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedirectMessageUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2144,14 +2144,14 @@ impl HotspotAuthenticationContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RedirectMessageXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RedirectMessageXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AuthenticationUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IssueCredentials(&self, username: &::windows_core::HSTRING, password: &::windows_core::HSTRING, extraparameters: &::windows_core::HSTRING, markasmanualconnectonfailure: bool) -> ::windows_core::Result<()> { @@ -2174,13 +2174,13 @@ impl HotspotAuthenticationContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IssueCredentialsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), ::core::mem::transmute_copy(password), ::core::mem::transmute_copy(extraparameters), markasmanualconnectonfailure, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IssueCredentialsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), ::core::mem::transmute_copy(password), ::core::mem::transmute_copy(extraparameters), markasmanualconnectonfailure, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAuthenticationContext(eventoken: &::windows_core::HSTRING, context: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHotspotAuthenticationContextStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAuthenticationContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(eventoken), context as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAuthenticationContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(eventoken), context as *mut _ as _, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2208,7 +2208,7 @@ impl HotspotAuthenticationEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2231,21 +2231,21 @@ impl HotspotCredentialsAuthenticationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNetworkErrorOccurred)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNetworkErrorOccurred)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResponseCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LogoffUrl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LogoffUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LogoffUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2253,7 +2253,7 @@ impl HotspotCredentialsAuthenticationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationReplyXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationReplyXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2273,21 +2273,21 @@ impl KnownCSimFilePaths { pub fn EFSpn() -> ::windows_core::Result> { Self::IKnownCSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid1() -> ::windows_core::Result> { Self::IKnownCSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid2() -> ::windows_core::Result> { Self::IKnownCSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2305,21 +2305,21 @@ impl KnownRuimFilePaths { pub fn EFSpn() -> ::windows_core::Result> { Self::IKnownRuimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid1() -> ::windows_core::Result> { Self::IKnownRuimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid2() -> ::windows_core::Result> { Self::IKnownRuimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2337,28 +2337,28 @@ impl KnownSimFilePaths { pub fn EFOns() -> ::windows_core::Result> { Self::IKnownSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFOns)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFOns)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn EFSpn() -> ::windows_core::Result> { Self::IKnownSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid1() -> ::windows_core::Result> { Self::IKnownSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid2() -> ::windows_core::Result> { Self::IKnownSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2376,35 +2376,35 @@ impl KnownUSimFilePaths { pub fn EFSpn() -> ::windows_core::Result> { Self::IKnownUSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFSpn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn EFOpl() -> ::windows_core::Result> { Self::IKnownUSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFOpl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFOpl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn EFPnn() -> ::windows_core::Result> { Self::IKnownUSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EFPnn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EFPnn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid1() -> ::windows_core::Result> { Self::IKnownUSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Gid2() -> ::windows_core::Result> { Self::IKnownUSimFilePathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gid2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2425,35 +2425,35 @@ impl MobileBroadbandAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceProviderGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceProviderGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentNetwork(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentNetwork)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentNetwork)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentDeviceInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentDeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentDeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Networking_Connectivity"))] @@ -2461,27 +2461,27 @@ impl MobileBroadbandAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConnectionProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConnectionProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccountExperienceUrl(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountExperienceUrl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountExperienceUrl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn AvailableNetworkAccountIds() -> ::windows_core::Result> { Self::IMobileBroadbandAccountStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableNetworkAccountIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableNetworkAccountIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNetworkAccountId(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMobileBroadbandAccountStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2509,7 +2509,7 @@ impl MobileBroadbandAccountEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2532,21 +2532,21 @@ impl MobileBroadbandAccountUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasDeviceInformationChanged(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasDeviceInformationChanged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasDeviceInformationChanged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasNetworkChanged(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNetworkChanged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNetworkChanged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2579,7 +2579,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccountAdded(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2593,7 +2593,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccountUpdated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2607,7 +2607,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccountRemoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2621,7 +2621,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2635,7 +2635,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2646,7 +2646,7 @@ impl MobileBroadbandAccountWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -2677,20 +2677,20 @@ impl MobileBroadbandAntennaSar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AntennaIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AntennaIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SarBackoffIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SarBackoffIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SarBackoffIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateWithIndex(antennaindex: i32, sarbackoffindex: i32) -> ::windows_core::Result { Self::IMobileBroadbandAntennaSarFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithIndex)(::windows_core::Interface::as_raw(this), antennaindex, sarbackoffindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithIndex)(::windows_core::Interface::as_raw(this), antennaindex, sarbackoffindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2720,56 +2720,56 @@ impl MobileBroadbandCellCdma { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BaseStationPNCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationPNCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationPNCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BaseStationLatitude(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationLatitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationLatitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BaseStationLongitude(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationLongitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationLongitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BaseStationLastBroadcastGpsTime(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationLastBroadcastGpsTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationLastBroadcastGpsTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PilotSignalStrengthInDB(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PilotSignalStrengthInDB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PilotSignalStrengthInDB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2794,49 +2794,49 @@ impl MobileBroadbandCellGsm { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseStationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseStationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelNumber(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocationAreaCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReceivedSignalStrengthInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivedSignalStrengthInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivedSignalStrengthInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimingAdvanceInBitPeriods(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2861,56 +2861,56 @@ impl MobileBroadbandCellLte { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelNumber(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalCellId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalCellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalCellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReferenceSignalReceivedPowerInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceSignalReceivedPowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceSignalReceivedPowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReferenceSignalReceivedQualityInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceSignalReceivedQualityInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceSignalReceivedQualityInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimingAdvanceInBitPeriods(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackingAreaCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackingAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackingAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2935,63 +2935,63 @@ impl MobileBroadbandCellNR { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelNumber(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhysicalCellId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhysicalCellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhysicalCellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReferenceSignalReceivedPowerInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceSignalReceivedPowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceSignalReceivedPowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReferenceSignalReceivedQualityInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReferenceSignalReceivedQualityInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReferenceSignalReceivedQualityInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimingAdvanceInNanoseconds(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimingAdvanceInNanoseconds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimingAdvanceInNanoseconds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackingAreaCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackingAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackingAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignalToNoiseRatioInDB(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalToNoiseRatioInDB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalToNoiseRatioInDB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3016,56 +3016,56 @@ impl MobileBroadbandCellTdscdma { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CellParameterId(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellParameterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellParameterId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelNumber(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocationAreaCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PathLossInDB(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PathLossInDB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PathLossInDB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReceivedSignalCodePowerInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivedSignalCodePowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivedSignalCodePowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimingAdvanceInBitPeriods(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimingAdvanceInBitPeriods)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3090,56 +3090,56 @@ impl MobileBroadbandCellUmts { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelNumber(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocationAreaCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocationAreaCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PathLossInDB(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PathLossInDB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PathLossInDB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrimaryScramblingCode(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryScramblingCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryScramblingCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReceivedSignalCodePowerInDBm(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivedSignalCodePowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivedSignalCodePowerInDBm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignalToNoiseRatioInDB(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignalToNoiseRatioInDB)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignalToNoiseRatioInDB)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3165,7 +3165,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsCdma)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsCdma)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3173,7 +3173,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsGsm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsGsm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3181,7 +3181,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsLte)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsLte)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3189,7 +3189,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsTdscdma)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsTdscdma)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3197,7 +3197,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsUmts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsUmts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3205,7 +3205,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsCdma)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsCdma)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3213,7 +3213,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsGsm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsGsm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3221,7 +3221,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsLte)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsLte)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3229,7 +3229,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsTdscdma)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsTdscdma)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3237,7 +3237,7 @@ impl MobileBroadbandCellsInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsUmts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsUmts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3245,7 +3245,7 @@ impl MobileBroadbandCellsInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringCellsNR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringCellsNR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3253,7 +3253,7 @@ impl MobileBroadbandCellsInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServingCellsNR)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServingCellsNR)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3278,7 +3278,7 @@ impl MobileBroadbandCurrentSlotIndexChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3303,28 +3303,28 @@ impl MobileBroadbandDeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkDeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkDeviceStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Manufacturer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Manufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Manufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Model(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Model)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirmwareInformation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirmwareInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirmwareInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Sms")] @@ -3332,28 +3332,28 @@ impl MobileBroadbandDeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CellularClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DataClasses(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataClasses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataClasses)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CustomDataClass(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomDataClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomDataClass)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MobileEquipmentId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MobileEquipmentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MobileEquipmentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3361,91 +3361,91 @@ impl MobileBroadbandDeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TelephoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TelephoneNumbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubscriberId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscriberId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscriberId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SimIccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentRadioState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentRadioState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentRadioState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PinManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Revision(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SerialNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SimSpn(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimSpn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimSpn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SimPnn(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimPnn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimPnn)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SimGid1(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimGid1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimGid1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SlotManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlotManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlotManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3468,7 +3468,7 @@ impl MobileBroadbandDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3476,21 +3476,21 @@ impl MobileBroadbandDeviceService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenDataSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenDataSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenDataSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenCommandSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenCommandSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenCommandSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3515,7 +3515,7 @@ impl MobileBroadbandDeviceServiceCommandResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -3523,7 +3523,7 @@ impl MobileBroadbandDeviceServiceCommandResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3552,7 +3552,7 @@ impl MobileBroadbandDeviceServiceCommandSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendQueryCommandAsync)(::windows_core::Interface::as_raw(this), commandid, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendQueryCommandAsync)(::windows_core::Interface::as_raw(this), commandid, data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3563,7 +3563,7 @@ impl MobileBroadbandDeviceServiceCommandSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendSetCommandAsync)(::windows_core::Interface::as_raw(this), commandid, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendSetCommandAsync)(::windows_core::Interface::as_raw(this), commandid, data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloseSession(&self) -> ::windows_core::Result<()> { @@ -3593,7 +3593,7 @@ impl MobileBroadbandDeviceServiceDataReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3622,7 +3622,7 @@ impl MobileBroadbandDeviceServiceDataSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteDataAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteDataAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloseSession(&self) -> ::windows_core::Result<()> { @@ -3636,7 +3636,7 @@ impl MobileBroadbandDeviceServiceDataSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataReceived(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3665,21 +3665,21 @@ impl MobileBroadbandDeviceServiceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDataReadSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDataReadSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDataReadSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsDataWriteSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDataWriteSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDataWriteSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3704,14 +3704,14 @@ impl MobileBroadbandDeviceServiceTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceServiceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServiceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -3719,14 +3719,14 @@ impl MobileBroadbandDeviceServiceTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EventId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3751,28 +3751,28 @@ impl MobileBroadbandModem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxDeviceServiceCommandSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDeviceServiceCommandSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDeviceServiceCommandSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxDeviceServiceDataSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxDeviceServiceDataSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxDeviceServiceDataSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3780,70 +3780,70 @@ impl MobileBroadbandModem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceServices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceServices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceService(&self, deviceserviceid: ::windows_core::GUID) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceService)(::windows_core::Interface::as_raw(this), deviceserviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceService)(::windows_core::Interface::as_raw(this), deviceserviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsResetSupported(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResetSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResetSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResetAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentConfigurationAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentNetwork(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentNetwork)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentNetwork)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsPassthroughEnabledAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsPassthroughEnabledAsync(&self, value: bool) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledAsync)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetPcoAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPcoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPcoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInEmergencyCallMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInEmergencyCallMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInEmergencyCallMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInEmergencyCallModeChanged(&self, handler: P0) -> ::windows_core::Result @@ -3853,7 +3853,7 @@ impl MobileBroadbandModem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInEmergencyCallModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInEmergencyCallModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsInEmergencyCallModeChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3864,46 +3864,46 @@ impl MobileBroadbandModem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledWithSlotIndexAsync)(::windows_core::Interface::as_raw(this), value, slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledWithSlotIndexAsync)(::windows_core::Interface::as_raw(this), value, slotindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsPassthroughEnabledWithSlotIndexAsync(&self, slotindex: i32) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledWithSlotIndexAsync)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledWithSlotIndexAsync)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsPassthroughEnabledWithSlotIndex(&self, value: bool, slotindex: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledWithSlotIndex)(::windows_core::Interface::as_raw(this), value, slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetIsPassthroughEnabledWithSlotIndex)(::windows_core::Interface::as_raw(this), value, slotindex, &mut result__).map(|| result__) } } pub fn GetIsPassthroughEnabledWithSlotIndex(&self, slotindex: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledWithSlotIndex)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsPassthroughEnabledWithSlotIndex)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).map(|| result__) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMobileBroadbandModemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMobileBroadbandModemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IMobileBroadbandModemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3933,28 +3933,28 @@ impl MobileBroadbandModemConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uicc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uicc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HomeProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HomeProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SarManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SarManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SarManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3992,20 +3992,20 @@ impl MobileBroadbandModemIsolation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearConfigurationAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearConfigurationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(modemdeviceid: &::windows_core::HSTRING, rulegroupid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMobileBroadbandModemIsolationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(modemdeviceid), ::core::mem::transmute_copy(rulegroupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(modemdeviceid), ::core::mem::transmute_copy(rulegroupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4036,63 +4036,63 @@ impl MobileBroadbandNetwork { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAdapter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NetworkRegistrationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkRegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RegistrationNetworkError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegistrationNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegistrationNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PacketAttachNetworkError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PacketAttachNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PacketAttachNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActivationNetworkError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationNetworkError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccessPointName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessPointName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisteredDataClass(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisteredDataClass)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisteredDataClass)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RegisteredProviderId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisteredProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisteredProviderId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegisteredProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisteredProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisteredProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowConnectionUI(&self) -> ::windows_core::Result<()> { @@ -4103,7 +4103,7 @@ impl MobileBroadbandNetwork { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVoiceCallSupportAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVoiceCallSupportAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4111,14 +4111,14 @@ impl MobileBroadbandNetwork { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegistrationUiccApps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegistrationUiccApps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCellsInfoAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCellsInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCellsInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4141,14 +4141,14 @@ impl MobileBroadbandNetworkRegistrationStateChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Network(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Network)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Network)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4174,7 +4174,7 @@ impl MobileBroadbandNetworkRegistrationStateChangeTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkRegistrationStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkRegistrationStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4200,21 +4200,21 @@ impl MobileBroadbandPco { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsComplete(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4239,7 +4239,7 @@ impl MobileBroadbandPcoDataChangeTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdatedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdatedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4264,84 +4264,84 @@ impl MobileBroadbandPin { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LockState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Format(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Enabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttemptsRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttemptsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttemptsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnableAsync(&self, currentpin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableAsync(&self, currentpin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnterAsync(&self, currentpin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeAsync(&self, currentpin: &::windows_core::HSTRING, newpin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), ::core::mem::transmute_copy(newpin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(currentpin), ::core::mem::transmute_copy(newpin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnblockAsync(&self, pinunblockkey: &::windows_core::HSTRING, newpin: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnblockAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pinunblockkey), ::core::mem::transmute_copy(newpin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnblockAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pinunblockkey), ::core::mem::transmute_copy(newpin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4366,21 +4366,21 @@ impl MobileBroadbandPinLockStateChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PinType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PinLockState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinLockState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinLockState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4406,7 +4406,7 @@ impl MobileBroadbandPinLockStateChangeTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PinLockStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PinLockStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4432,14 +4432,14 @@ impl MobileBroadbandPinManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedPins)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedPins)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPin(&self, pintype: MobileBroadbandPinType) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPin)(::windows_core::Interface::as_raw(this), pintype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPin)(::windows_core::Interface::as_raw(this), pintype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4464,14 +4464,14 @@ impl MobileBroadbandPinOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuccessful)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuccessful)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttemptsRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttemptsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttemptsRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4496,14 +4496,14 @@ impl MobileBroadbandRadioStateChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RadioState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RadioState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RadioState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4529,7 +4529,7 @@ impl MobileBroadbandRadioStateChangeTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RadioStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RadioStateChanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4554,21 +4554,21 @@ impl MobileBroadbandSarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBackoffEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBackoffEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsWiFiHardwareIntegrated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWiFiHardwareIntegrated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWiFiHardwareIntegrated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSarControlledByHardware(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSarControlledByHardware)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSarControlledByHardware)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4576,14 +4576,14 @@ impl MobileBroadbandSarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Antennas)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Antennas)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HysteresisTimerPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HysteresisTimerPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HysteresisTimerPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransmissionStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -4593,7 +4593,7 @@ impl MobileBroadbandSarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransmissionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransmissionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTransmissionStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4604,14 +4604,14 @@ impl MobileBroadbandSarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableBackoffAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableBackoffAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisableBackoffAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableBackoffAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableBackoffAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4622,28 +4622,28 @@ impl MobileBroadbandSarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetConfigurationAsync)(::windows_core::Interface::as_raw(this), antennas.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetConfigurationAsync)(::windows_core::Interface::as_raw(this), antennas.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RevertSarToHardwareControlAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RevertSarToHardwareControlAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RevertSarToHardwareControlAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransmissionStateChangedHysteresisAsync(&self, timerperiod: super::super::Foundation::TimeSpan) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetTransmissionStateChangedHysteresisAsync)(::windows_core::Interface::as_raw(this), timerperiod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetTransmissionStateChangedHysteresisAsync)(::windows_core::Interface::as_raw(this), timerperiod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsTransmittingAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsTransmittingAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsTransmittingAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTransmissionStateMonitoring(&self) -> ::windows_core::Result<()> { @@ -4676,21 +4676,21 @@ impl MobileBroadbandSlotInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Index)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IccId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4715,7 +4715,7 @@ impl MobileBroadbandSlotInfoChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlotInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlotInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4741,28 +4741,28 @@ impl MobileBroadbandSlotManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlotInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlotInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentSlotIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSlotIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCurrentSlot(&self, slotindex: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCurrentSlot)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCurrentSlot)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).map(|| result__) } } pub fn SetCurrentSlotAsync(&self, slotindex: i32) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCurrentSlotAsync)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCurrentSlotAsync)(::windows_core::Interface::as_raw(this), slotindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SlotInfoChanged(&self, handler: P0) -> ::windows_core::Result @@ -4772,7 +4772,7 @@ impl MobileBroadbandSlotManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlotInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlotInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSlotInfoChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4786,7 +4786,7 @@ impl MobileBroadbandSlotManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSlotIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSlotIndexChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCurrentSlotIndexChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4815,7 +4815,7 @@ impl MobileBroadbandTransmissionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransmitting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransmitting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -4840,14 +4840,14 @@ impl MobileBroadbandUicc { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimIccId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetUiccAppsAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUiccAppsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUiccAppsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4873,14 +4873,14 @@ impl MobileBroadbandUiccApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4891,7 +4891,7 @@ impl MobileBroadbandUiccApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecordDetailsAsync)(::windows_core::Interface::as_raw(this), uiccfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecordDetailsAsync)(::windows_core::Interface::as_raw(this), uiccfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4902,7 +4902,7 @@ impl MobileBroadbandUiccApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadRecordAsync)(::windows_core::Interface::as_raw(this), uiccfilepath.into_param().abi(), recordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadRecordAsync)(::windows_core::Interface::as_raw(this), uiccfilepath.into_param().abi(), recordindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4927,7 +4927,7 @@ impl MobileBroadbandUiccAppReadRecordResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -4935,7 +4935,7 @@ impl MobileBroadbandUiccAppReadRecordResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4960,42 +4960,42 @@ impl MobileBroadbandUiccAppRecordDetailsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RecordCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RecordSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadAccessCondition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAccessCondition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAccessCondition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WriteAccessCondition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAccessCondition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAccessCondition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5020,7 +5020,7 @@ impl MobileBroadbandUiccAppsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -5028,7 +5028,7 @@ impl MobileBroadbandUiccAppsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UiccApps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UiccApps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5053,7 +5053,7 @@ impl NetworkOperatorDataUsageTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -5078,35 +5078,35 @@ impl NetworkOperatorNotificationEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkAccountId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EncodingType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RuleId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RuleId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RuleId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Sms")] @@ -5114,7 +5114,7 @@ impl NetworkOperatorNotificationEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmsMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmsMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AuthorizeTethering(&self, allow: bool, entitlementfailurereason: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5150,7 +5150,7 @@ impl NetworkOperatorTetheringAccessPointConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ssid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSsid(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5161,7 +5161,7 @@ impl NetworkOperatorTetheringAccessPointConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Passphrase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Passphrase)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPassphrase(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5172,21 +5172,21 @@ impl NetworkOperatorTetheringAccessPointConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBandSupported)(::windows_core::Interface::as_raw(this), band, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBandSupported)(::windows_core::Interface::as_raw(this), band, &mut result__).map(|| result__) } } pub fn IsBandSupportedAsync(&self, band: TetheringWiFiBand) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBandSupportedAsync)(::windows_core::Interface::as_raw(this), band, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBandSupportedAsync)(::windows_core::Interface::as_raw(this), band, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Band(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Band)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Band)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBand(&self, value: TetheringWiFiBand) -> ::windows_core::Result<()> { @@ -5215,7 +5215,7 @@ impl NetworkOperatorTetheringClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MacAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MacAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -5223,7 +5223,7 @@ impl NetworkOperatorTetheringClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5249,35 +5249,35 @@ impl NetworkOperatorTetheringManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTetheringClients)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTetheringClients)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxClientCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxClientCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxClientCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ClientCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TetheringOperationalState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TetheringOperationalState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TetheringOperationalState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentAccessPointConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentAccessPointConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentAccessPointConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConfigureAccessPointAsync(&self, configuration: P0) -> ::windows_core::Result @@ -5287,33 +5287,33 @@ impl NetworkOperatorTetheringManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConfigureAccessPointAsync)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConfigureAccessPointAsync)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTetheringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTetheringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTetheringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StopTetheringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopTetheringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopTetheringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTetheringCapability(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::INetworkOperatorTetheringManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTetheringCapability)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTetheringCapability)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).map(|| result__) }) } pub fn CreateFromNetworkAccountId(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::INetworkOperatorTetheringManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking_Connectivity")] @@ -5323,7 +5323,7 @@ impl NetworkOperatorTetheringManager { { Self::INetworkOperatorTetheringManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTetheringCapabilityFromConnectionProfile)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTetheringCapabilityFromConnectionProfile)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Networking_Connectivity")] @@ -5333,7 +5333,7 @@ impl NetworkOperatorTetheringManager { { Self::INetworkOperatorTetheringManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromConnectionProfile)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromConnectionProfile)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking_Connectivity")] @@ -5344,13 +5344,13 @@ impl NetworkOperatorTetheringManager { { Self::INetworkOperatorTetheringManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromConnectionProfileWithTargetAdapter)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromConnectionProfileWithTargetAdapter)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsNoConnectionsTimeoutEnabled() -> ::windows_core::Result { Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNoConnectionsTimeoutEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNoConnectionsTimeoutEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EnableNoConnectionsTimeout() -> ::windows_core::Result<()> { @@ -5359,7 +5359,7 @@ impl NetworkOperatorTetheringManager { pub fn EnableNoConnectionsTimeoutAsync() -> ::windows_core::Result { Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableNoConnectionsTimeoutAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableNoConnectionsTimeoutAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DisableNoConnectionsTimeout() -> ::windows_core::Result<()> { @@ -5368,7 +5368,7 @@ impl NetworkOperatorTetheringManager { pub fn DisableNoConnectionsTimeoutAsync() -> ::windows_core::Result { Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableNoConnectionsTimeoutAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableNoConnectionsTimeoutAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5411,14 +5411,14 @@ impl NetworkOperatorTetheringOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdditionalErrorMessage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5441,14 +5441,14 @@ impl ProvisionFromXmlDocumentResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllElementsProvisioned)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllElementsProvisioned)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProvisionResultsXml(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionResultsXml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionResultsXml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5503,20 +5503,20 @@ impl ProvisioningAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProvisionFromXmlDocumentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(provisioningxmldocument), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProvisionFromXmlDocumentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(provisioningxmldocument), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetProvisionedProfile(&self, mediatype: ProfileMediaType, profilename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProvisionedProfile)(::windows_core::Interface::as_raw(this), mediatype, ::core::mem::transmute_copy(profilename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProvisionedProfile)(::windows_core::Interface::as_raw(this), mediatype, ::core::mem::transmute_copy(profilename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromNetworkAccountId(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProvisioningAgentStaticMethods(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5544,7 +5544,7 @@ impl TetheringEntitlementCheckTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowTethering(&self) -> ::windows_core::Result<()> { @@ -5577,7 +5577,7 @@ impl UssdMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataCodingScheme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataCodingScheme)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataCodingScheme(&self, value: u8) -> ::windows_core::Result<()> { @@ -5588,7 +5588,7 @@ impl UssdMessage { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetPayload)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetPayload)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn SetPayload(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -5599,7 +5599,7 @@ impl UssdMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PayloadAsText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PayloadAsText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPayloadAsText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5609,7 +5609,7 @@ impl UssdMessage { pub fn CreateMessage(messagetext: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUssdMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetext), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetext), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5639,14 +5639,14 @@ impl UssdReply { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResultCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResultCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5672,7 +5672,7 @@ impl UssdSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendMessageAndGetReplyAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendMessageAndGetReplyAsync)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -5682,13 +5682,13 @@ impl UssdSession { pub fn CreateFromNetworkAccountId(networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUssdSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNetworkAccountId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNetworkInterfaceId(networkinterfaceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUssdSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNetworkInterfaceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkinterfaceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNetworkInterfaceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(networkinterfaceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Networking/Proximity/mod.rs b/crates/libs/windows/src/Windows/Networking/Proximity/mod.rs index 75feced57c..5c8283b6ad 100644 --- a/crates/libs/windows/src/Windows/Networking/Proximity/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/Proximity/mod.rs @@ -172,7 +172,7 @@ impl ConnectionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeerInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeerInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -193,7 +193,7 @@ impl PeerFinder { pub fn AllowBluetooth() -> ::windows_core::Result { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowBluetooth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowBluetooth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetAllowBluetooth(value: bool) -> ::windows_core::Result<()> { @@ -202,7 +202,7 @@ impl PeerFinder { pub fn AllowInfrastructure() -> ::windows_core::Result { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowInfrastructure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowInfrastructure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetAllowInfrastructure(value: bool) -> ::windows_core::Result<()> { @@ -211,7 +211,7 @@ impl PeerFinder { pub fn AllowWiFiDirect() -> ::windows_core::Result { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWiFiDirect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWiFiDirect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetAllowWiFiDirect(value: bool) -> ::windows_core::Result<()> { @@ -220,7 +220,7 @@ impl PeerFinder { pub fn DisplayName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetDisplayName(value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -229,14 +229,14 @@ impl PeerFinder { pub fn SupportedDiscoveryTypes() -> ::windows_core::Result { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedDiscoveryTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedDiscoveryTypes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn AlternateIdentities() -> ::windows_core::Result> { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateIdentities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateIdentities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Start() -> ::windows_core::Result<()> { @@ -254,7 +254,7 @@ impl PeerFinder { { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggeredConnectionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggeredConnectionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveTriggeredConnectionStateChanged(cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -266,7 +266,7 @@ impl PeerFinder { { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveConnectionRequested(cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -276,7 +276,7 @@ impl PeerFinder { pub fn FindAllPeersAsync() -> ::windows_core::Result>> { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllPeersAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllPeersAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking_Sockets")] @@ -286,13 +286,13 @@ impl PeerFinder { { Self::IPeerFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), peerinformation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), peerinformation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Role() -> ::windows_core::Result { Self::IPeerFinderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Role)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetRole(value: PeerRole) -> ::windows_core::Result<()> { @@ -302,7 +302,7 @@ impl PeerFinder { pub fn DiscoveryData() -> ::windows_core::Result { Self::IPeerFinderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscoveryData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscoveryData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -315,7 +315,7 @@ impl PeerFinder { pub fn CreateWatcher() -> ::windows_core::Result { Self::IPeerFinderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -341,14 +341,14 @@ impl PeerInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -356,21 +356,21 @@ impl PeerInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiscoveryData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiscoveryData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HostName(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -398,7 +398,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -412,7 +412,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -426,7 +426,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -440,7 +440,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -454,7 +454,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -465,7 +465,7 @@ impl PeerWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -501,14 +501,14 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscribeForMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), messagereceivedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscribeForMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), messagereceivedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn PublishMessage(&self, messagetype: &::windows_core::HSTRING, message: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), ::core::mem::transmute_copy(message), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), ::core::mem::transmute_copy(message), &mut result__).map(|| result__) } } pub fn PublishMessageWithCallback(&self, messagetype: &::windows_core::HSTRING, message: &::windows_core::HSTRING, messagetransmittedhandler: P0) -> ::windows_core::Result @@ -518,7 +518,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishMessageWithCallback)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), ::core::mem::transmute_copy(message), messagetransmittedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishMessageWithCallback)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), ::core::mem::transmute_copy(message), messagetransmittedhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -529,7 +529,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishBinaryMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishBinaryMessage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), message.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -541,7 +541,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishBinaryMessageWithCallback)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), message.into_param().abi(), messagetransmittedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishBinaryMessageWithCallback)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(messagetype), message.into_param().abi(), messagetransmittedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn PublishUriMessage(&self, message: P0) -> ::windows_core::Result @@ -551,7 +551,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishUriMessage)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishUriMessage)(::windows_core::Interface::as_raw(this), message.into_param().abi(), &mut result__).map(|| result__) } } pub fn PublishUriMessageWithCallback(&self, message: P0, messagetransmittedhandler: P1) -> ::windows_core::Result @@ -562,7 +562,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishUriMessageWithCallback)(::windows_core::Interface::as_raw(this), message.into_param().abi(), messagetransmittedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishUriMessageWithCallback)(::windows_core::Interface::as_raw(this), message.into_param().abi(), messagetransmittedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn StopSubscribingForMessage(&self, subscriptionid: i64) -> ::windows_core::Result<()> { @@ -580,7 +580,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceArrived)(::windows_core::Interface::as_raw(this), arrivedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceArrived)(::windows_core::Interface::as_raw(this), arrivedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeviceArrived(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -594,7 +594,7 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceDeparted)(::windows_core::Interface::as_raw(this), departedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceDeparted)(::windows_core::Interface::as_raw(this), departedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDeviceDeparted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -605,39 +605,39 @@ impl ProximityDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMessageBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMessageBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BitsPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IProximityDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IProximityDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProximityDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -667,14 +667,14 @@ impl ProximityMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubscriptionId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscriptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscriptionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -682,14 +682,14 @@ impl ProximityMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataAsString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataAsString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -714,14 +714,14 @@ impl TriggeredConnectionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Networking_Sockets")] @@ -729,7 +729,7 @@ impl TriggeredConnectionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs b/crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs index 87714bdfea..f532799829 100644 --- a/crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs @@ -135,14 +135,14 @@ impl PushNotificationChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExpirationTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -156,7 +156,7 @@ impl PushNotificationChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PushNotificationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PushNotificationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePushNotificationReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -181,19 +181,19 @@ impl PushNotificationChannelManager { pub fn CreatePushNotificationChannelForApplicationAsync() -> ::windows_core::Result> { Self::IPushNotificationChannelManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePushNotificationChannelForApplicationAsyncWithId(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPushNotificationChannelManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePushNotificationChannelForSecondaryTileAsync(tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPushNotificationChannelManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -203,13 +203,13 @@ impl PushNotificationChannelManager { { Self::IPushNotificationChannelManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IPushNotificationChannelManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ChannelsRevoked(handler: P0) -> ::windows_core::Result @@ -218,7 +218,7 @@ impl PushNotificationChannelManager { { Self::IPushNotificationChannelManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelsRevoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelsRevoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveChannelsRevoked(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -257,21 +257,21 @@ impl PushNotificationChannelManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePushNotificationChannelForApplicationAsyncWithId(&self, applicationid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePushNotificationChannelForSecondaryTileAsync(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePushNotificationChannelForSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -279,7 +279,7 @@ impl PushNotificationChannelManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -290,7 +290,7 @@ impl PushNotificationChannelManagerForUser { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync)(::windows_core::Interface::as_raw(this), appserverkey.into_param().abi(), ::core::mem::transmute_copy(channelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync)(::windows_core::Interface::as_raw(this), appserverkey.into_param().abi(), ::core::mem::transmute_copy(channelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -301,7 +301,7 @@ impl PushNotificationChannelManagerForUser { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), appserverkey.into_param().abi(), ::core::mem::transmute_copy(channelid), ::core::mem::transmute_copy(appid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsyncWithId)(::windows_core::Interface::as_raw(this), appserverkey.into_param().abi(), ::core::mem::transmute_copy(channelid), ::core::mem::transmute_copy(appid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -347,14 +347,14 @@ impl PushNotificationReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotificationType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Notifications")] @@ -362,7 +362,7 @@ impl PushNotificationReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -370,7 +370,7 @@ impl PushNotificationReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Notifications")] @@ -378,14 +378,14 @@ impl PushNotificationReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BadgeNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BadgeNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawNotification(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -410,7 +410,7 @@ impl RawNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -418,14 +418,14 @@ impl RawNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChannelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChannelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChannelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -433,7 +433,7 @@ impl RawNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentBytes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs b/crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs index d403cb7c5f..822c53c4e7 100644 --- a/crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs @@ -82,28 +82,28 @@ impl DnssdRegistrationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IPAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IPAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IPAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasInstanceNameChanged(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasInstanceNameChanged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasInstanceNameChanged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -129,7 +129,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DnssdServiceInstanceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DnssdServiceInstanceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDnssdServiceInstanceName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -140,7 +140,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHostName(&self, value: P0) -> ::windows_core::Result<()> @@ -154,7 +154,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Port)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Port)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPort(&self, value: u16) -> ::windows_core::Result<()> { @@ -165,7 +165,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: u16) -> ::windows_core::Result<()> { @@ -176,7 +176,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWeight(&self, value: u16) -> ::windows_core::Result<()> { @@ -188,7 +188,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -199,7 +199,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterStreamSocketListenerAsync1)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterStreamSocketListenerAsync1)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Connectivity", feature = "Networking_Sockets"))] @@ -211,7 +211,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterStreamSocketListenerAsync2)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterStreamSocketListenerAsync2)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -222,7 +222,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterDatagramSocketAsync1)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterDatagramSocketAsync1)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Connectivity", feature = "Networking_Sockets"))] @@ -234,7 +234,7 @@ impl DnssdServiceInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterDatagramSocketAsync2)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterDatagramSocketAsync2)(::windows_core::Interface::as_raw(this), socket.into_param().abi(), adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(dnssdserviceinstancename: &::windows_core::HSTRING, hostname: P0, port: u16) -> ::windows_core::Result @@ -243,14 +243,14 @@ impl DnssdServiceInstance { { Self::IDnssdServiceInstanceFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(dnssdserviceinstancename), hostname.into_param().abi(), port, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(dnssdserviceinstancename), hostname.into_param().abi(), port, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -286,7 +286,7 @@ impl DnssdServiceInstanceCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -294,7 +294,7 @@ impl DnssdServiceInstanceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -302,7 +302,7 @@ impl DnssdServiceInstanceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -313,7 +313,7 @@ impl DnssdServiceInstanceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -321,7 +321,7 @@ impl DnssdServiceInstanceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -370,7 +370,7 @@ impl DnssdServiceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -384,7 +384,7 @@ impl DnssdServiceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -398,7 +398,7 @@ impl DnssdServiceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl DnssdServiceWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Networking/Sockets/mod.rs b/crates/libs/windows/src/Windows/Networking/Sockets/mod.rs index 14d3f17a44..e533f0787e 100644 --- a/crates/libs/windows/src/Windows/Networking/Sockets/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/Sockets/mod.rs @@ -35,7 +35,7 @@ impl IControlChannelTriggerEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlChannelTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlChannelTrigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -63,21 +63,21 @@ impl IControlChannelTriggerResetEventDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResetReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResetReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HardwareSlotReset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareSlotReset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareSlotReset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SoftwareSlotReset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareSlotReset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareSlotReset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -681,7 +681,7 @@ impl IWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self, uri: P0) -> ::windows_core::Result @@ -691,7 +691,7 @@ impl IWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestHeader(&self, headername: &::windows_core::HSTRING, headervalue: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -705,7 +705,7 @@ impl IWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -753,7 +753,7 @@ impl IWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -765,7 +765,7 @@ impl IWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -781,7 +781,7 @@ impl IWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -797,7 +797,7 @@ impl IWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -840,14 +840,14 @@ impl IWebSocketControl2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OutboundBufferSizeInBytes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -859,7 +859,7 @@ impl IWebSocketControl2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -875,7 +875,7 @@ impl IWebSocketControl2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -891,7 +891,7 @@ impl IWebSocketControl2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -924,21 +924,21 @@ impl IWebSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BandwidthStatistics(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -962,14 +962,14 @@ impl IWebSocketInformation2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCertificateErrorSeverity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -977,7 +977,7 @@ impl IWebSocketInformation2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -985,28 +985,28 @@ impl IWebSocketInformation2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAddress(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BandwidthStatistics(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1066,14 +1066,14 @@ impl ControlChannelTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlChannelTriggerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlChannelTriggerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerKeepAliveIntervalInMinutes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerKeepAliveIntervalInMinutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerKeepAliveIntervalInMinutes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetServerKeepAliveIntervalInMinutes(&self, value: u32) -> ::windows_core::Result<()> { @@ -1084,14 +1084,14 @@ impl ControlChannelTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentKeepAliveIntervalInMinutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentKeepAliveIntervalInMinutes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TransportObject(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1099,7 +1099,7 @@ impl ControlChannelTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepAliveTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepAliveTrigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1107,7 +1107,7 @@ impl ControlChannelTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PushNotificationTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PushNotificationTrigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UsingTransport(&self, transport: P0) -> ::windows_core::Result<()> @@ -1121,7 +1121,7 @@ impl ControlChannelTrigger { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitForPushEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitForPushEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DecreaseNetworkKeepAliveInterval(&self) -> ::windows_core::Result<()> { @@ -1136,19 +1136,19 @@ impl ControlChannelTrigger { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWakeFromLowPowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWakeFromLowPowerSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateControlChannelTrigger(channelid: &::windows_core::HSTRING, serverkeepaliveintervalinminutes: u32) -> ::windows_core::Result { Self::IControlChannelTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateControlChannelTrigger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(channelid), serverkeepaliveintervalinminutes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateControlChannelTrigger)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(channelid), serverkeepaliveintervalinminutes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateControlChannelTriggerEx(channelid: &::windows_core::HSTRING, serverkeepaliveintervalinminutes: u32, resourcerequesttype: ControlChannelTriggerResourceType) -> ::windows_core::Result { Self::IControlChannelTriggerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateControlChannelTriggerEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(channelid), serverkeepaliveintervalinminutes, resourcerequesttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateControlChannelTriggerEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(channelid), serverkeepaliveintervalinminutes, resourcerequesttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1190,14 +1190,14 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1205,7 +1205,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self, remotehostname: P0, remoteservicename: &::windows_core::HSTRING) -> ::windows_core::Result @@ -1215,7 +1215,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectWithEndpointPairAsync(&self, endpointpair: P0) -> ::windows_core::Result @@ -1225,14 +1225,14 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BindServiceNameAsync(&self, localservicename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindServiceNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindServiceNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BindEndpointAsync(&self, localhostname: P0, localservicename: &::windows_core::HSTRING) -> ::windows_core::Result @@ -1242,7 +1242,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindEndpointAsync)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindEndpointAsync)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JoinMulticastGroup(&self, host: P0) -> ::windows_core::Result<()> @@ -1260,7 +1260,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1271,7 +1271,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageReceived(&self, eventhandler: P0) -> ::windows_core::Result @@ -1281,7 +1281,7 @@ impl DatagramSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1296,14 +1296,14 @@ impl DatagramSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindServiceNameAndAdapterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindServiceNameAndAdapterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelIOAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableTransferOwnership(&self, taskid: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1339,7 +1339,7 @@ impl DatagramSocket { { Self::IDatagramSocketStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEndpointPairsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEndpointPairsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1349,7 +1349,7 @@ impl DatagramSocket { { Self::IDatagramSocketStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEndpointPairsWithSortOptionsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), sortoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEndpointPairsWithSortOptionsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), sortoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1379,7 +1379,7 @@ impl DatagramSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQualityOfService(&self, value: SocketQualityOfService) -> ::windows_core::Result<()> { @@ -1390,7 +1390,7 @@ impl DatagramSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundUnicastHopLimit(&self, value: u8) -> ::windows_core::Result<()> { @@ -1401,7 +1401,7 @@ impl DatagramSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -1412,7 +1412,7 @@ impl DatagramSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DontFragment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DontFragment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDontFragment(&self, value: bool) -> ::windows_core::Result<()> { @@ -1423,7 +1423,7 @@ impl DatagramSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MulticastOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MulticastOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMulticastOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -1452,28 +1452,28 @@ impl DatagramSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalPort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemotePort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1498,21 +1498,21 @@ impl DatagramSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemotePort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1520,7 +1520,7 @@ impl DatagramSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1528,7 +1528,7 @@ impl DatagramSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1565,14 +1565,14 @@ impl MessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageReceived(&self, eventhandler: P0) -> ::windows_core::Result @@ -1582,7 +1582,7 @@ impl MessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1596,7 +1596,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServerCustomValidationRequested(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1611,7 +1611,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendNonfinalFrameAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendNonfinalFrameAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1622,7 +1622,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendFinalFrameAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendFinalFrameAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1630,7 +1630,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self, uri: P0) -> ::windows_core::Result @@ -1640,7 +1640,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestHeader(&self, headername: &::windows_core::HSTRING, headervalue: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1654,7 +1654,7 @@ impl MessageWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1688,7 +1688,7 @@ impl MessageWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxMessageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxMessageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxMessageSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -1699,7 +1699,7 @@ impl MessageWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMessageType(&self, value: SocketMessageType) -> ::windows_core::Result<()> { @@ -1710,7 +1710,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredUnsolicitedPongInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1721,14 +1721,14 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReceiveMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceiveMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceiveMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReceiveMode(&self, value: MessageWebSocketReceiveMode) -> ::windows_core::Result<()> { @@ -1740,7 +1740,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -1755,7 +1755,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -1767,7 +1767,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1783,7 +1783,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1799,7 +1799,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -1807,7 +1807,7 @@ impl MessageWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1833,21 +1833,21 @@ impl MessageWebSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BandwidthStatistics(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -1855,14 +1855,14 @@ impl MessageWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCertificateErrorSeverity(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -1870,7 +1870,7 @@ impl MessageWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -1878,7 +1878,7 @@ impl MessageWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1903,7 +1903,7 @@ impl MessageWebSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1911,7 +1911,7 @@ impl MessageWebSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1919,14 +1919,14 @@ impl MessageWebSocketMessageReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDataStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDataStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsMessageComplete(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMessageComplete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMessageComplete)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1959,7 +1959,7 @@ impl ServerMessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageReceived)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1970,14 +1970,14 @@ impl ServerMessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1985,7 +1985,7 @@ impl ServerMessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Closed(&self, value: P0) -> ::windows_core::Result @@ -1995,7 +1995,7 @@ impl ServerMessageWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2028,7 +2028,7 @@ impl ServerMessageWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMessageType(&self, value: SocketMessageType) -> ::windows_core::Result<()> { @@ -2057,21 +2057,21 @@ impl ServerMessageWebSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2101,7 +2101,7 @@ impl ServerStreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2109,7 +2109,7 @@ impl ServerStreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2117,7 +2117,7 @@ impl ServerStreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Closed(&self, value: P0) -> ::windows_core::Result @@ -2127,7 +2127,7 @@ impl ServerStreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2160,21 +2160,21 @@ impl ServerStreamWebSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2200,7 +2200,7 @@ impl SocketActivityContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2210,7 +2210,7 @@ impl SocketActivityContext { { Self::ISocketActivityContextFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2240,56 +2240,56 @@ impl SocketActivityInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SocketKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SocketKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SocketKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Context(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DatagramSocket(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DatagramSocket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DatagramSocket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreamSocket(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamSocket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamSocket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreamSocketListener(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamSocketListener)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamSocketListener)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn AllSockets() -> ::windows_core::Result> { Self::ISocketActivityInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllSockets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllSockets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2319,14 +2319,14 @@ impl SocketActivityTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SocketInformation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SocketInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SocketInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2347,7 +2347,7 @@ impl SocketError { pub fn GetStatus(hresult: i32) -> ::windows_core::Result { Self::ISocketErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2380,14 +2380,14 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2395,7 +2395,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2403,7 +2403,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectWithEndpointPairAsync(&self, endpointpair: P0) -> ::windows_core::Result @@ -2413,7 +2413,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self, remotehostname: P0, remoteservicename: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2423,7 +2423,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectWithEndpointPairAndProtectionLevelAsync(&self, endpointpair: P0, protectionlevel: SocketProtectionLevel) -> ::windows_core::Result @@ -2433,7 +2433,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAndProtectionLevelAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), protectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithEndpointPairAndProtectionLevelAsync)(::windows_core::Interface::as_raw(this), endpointpair.into_param().abi(), protectionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectWithProtectionLevelAsync(&self, remotehostname: P0, remoteservicename: &::windows_core::HSTRING, protectionlevel: SocketProtectionLevel) -> ::windows_core::Result @@ -2443,7 +2443,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), protectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), protectionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpgradeToSslAsync(&self, protectionlevel: SocketProtectionLevel, validationhostname: P0) -> ::windows_core::Result @@ -2453,7 +2453,7 @@ impl StreamSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpgradeToSslAsync)(::windows_core::Interface::as_raw(this), protectionlevel, validationhostname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpgradeToSslAsync)(::windows_core::Interface::as_raw(this), protectionlevel, validationhostname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Connectivity")] @@ -2465,14 +2465,14 @@ impl StreamSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectWithProtectionLevelAndAdapterAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), protectionlevel, adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectWithProtectionLevelAndAdapterAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), protectionlevel, adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelIOAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableTransferOwnership(&self, taskid: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2508,7 +2508,7 @@ impl StreamSocket { { Self::IStreamSocketStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEndpointPairsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEndpointPairsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2518,7 +2518,7 @@ impl StreamSocket { { Self::IStreamSocketStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEndpointPairsWithSortOptionsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), sortoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEndpointPairsWithSortOptionsAsync)(::windows_core::Interface::as_raw(this), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), sortoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2548,7 +2548,7 @@ impl StreamSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNoDelay(&self, value: bool) -> ::windows_core::Result<()> { @@ -2559,7 +2559,7 @@ impl StreamSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepAlive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepAlive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeepAlive(&self, value: bool) -> ::windows_core::Result<()> { @@ -2570,7 +2570,7 @@ impl StreamSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -2581,7 +2581,7 @@ impl StreamSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQualityOfService(&self, value: SocketQualityOfService) -> ::windows_core::Result<()> { @@ -2592,7 +2592,7 @@ impl StreamSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundUnicastHopLimit(&self, value: u8) -> ::windows_core::Result<()> { @@ -2604,14 +2604,14 @@ impl StreamSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SerializeConnectionAttempts(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerializeConnectionAttempts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerializeConnectionAttempts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSerializeConnectionAttempts(&self, value: bool) -> ::windows_core::Result<()> { @@ -2623,7 +2623,7 @@ impl StreamSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -2638,7 +2638,7 @@ impl StreamSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinProtectionLevel(&self, value: SocketProtectionLevel) -> ::windows_core::Result<()> { @@ -2667,63 +2667,63 @@ impl StreamSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalPort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteHostName(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteServiceName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemotePort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoundTripTimeStatistics(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoundTripTimeStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoundTripTimeStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BandwidthStatistics(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProtectionLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2731,14 +2731,14 @@ impl StreamSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionKey)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCertificateErrorSeverity(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -2746,7 +2746,7 @@ impl StreamSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -2754,7 +2754,7 @@ impl StreamSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -2762,7 +2762,7 @@ impl StreamSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2799,21 +2799,21 @@ impl StreamSocketListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BindServiceNameAsync(&self, localservicename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindServiceNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindServiceNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BindEndpointAsync(&self, localhostname: P0, localservicename: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2823,7 +2823,7 @@ impl StreamSocketListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindEndpointAsync)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindEndpointAsync)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionReceived(&self, eventhandler: P0) -> ::windows_core::Result @@ -2833,7 +2833,7 @@ impl StreamSocketListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionReceived)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionReceived(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2844,7 +2844,7 @@ impl StreamSocketListener { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindServiceNameWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), protectionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindServiceNameWithProtectionLevelAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), protectionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Connectivity")] @@ -2855,14 +2855,14 @@ impl StreamSocketListener { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BindServiceNameWithProtectionLevelAndAdapterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), protectionlevel, adapter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BindServiceNameWithProtectionLevelAndAdapterAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(localservicename), protectionlevel, adapter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelIOAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelIOAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnableTransferOwnership(&self, taskid: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -2906,7 +2906,7 @@ impl StreamSocketListenerConnectionReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Socket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2931,7 +2931,7 @@ impl StreamSocketListenerControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QualityOfService)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQualityOfService(&self, value: SocketQualityOfService) -> ::windows_core::Result<()> { @@ -2942,7 +2942,7 @@ impl StreamSocketListenerControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNoDelay(&self, value: bool) -> ::windows_core::Result<()> { @@ -2953,7 +2953,7 @@ impl StreamSocketListenerControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepAlive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepAlive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeepAlive(&self, value: bool) -> ::windows_core::Result<()> { @@ -2964,7 +2964,7 @@ impl StreamSocketListenerControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -2975,7 +2975,7 @@ impl StreamSocketListenerControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundUnicastHopLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundUnicastHopLimit(&self, value: u8) -> ::windows_core::Result<()> { @@ -3004,7 +3004,7 @@ impl StreamSocketListenerInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3041,14 +3041,14 @@ impl StreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Information(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Information)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3056,7 +3056,7 @@ impl StreamWebSocket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCustomValidationRequested(&self, eventhandler: P0) -> ::windows_core::Result @@ -3066,7 +3066,7 @@ impl StreamWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServerCustomValidationRequested(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3078,7 +3078,7 @@ impl StreamWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutputStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectAsync(&self, uri: P0) -> ::windows_core::Result @@ -3088,7 +3088,7 @@ impl StreamWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestHeader(&self, headername: &::windows_core::HSTRING, headervalue: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3102,7 +3102,7 @@ impl StreamWebSocket { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3136,7 +3136,7 @@ impl StreamWebSocketControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNoDelay(&self, value: bool) -> ::windows_core::Result<()> { @@ -3147,7 +3147,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDesiredUnsolicitedPongInterval(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3158,7 +3158,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActualUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActualUnsolicitedPongInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -3166,7 +3166,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -3181,7 +3181,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutboundBufferSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutboundBufferSizeInBytes(&self, value: u32) -> ::windows_core::Result<()> { @@ -3193,7 +3193,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -3209,7 +3209,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -3225,7 +3225,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedProtocols)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3233,7 +3233,7 @@ impl StreamWebSocketControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3259,21 +3259,21 @@ impl StreamWebSocketInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BandwidthStatistics(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BandwidthStatistics)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Protocol(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -3281,14 +3281,14 @@ impl StreamWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCertificateErrorSeverity(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3296,7 +3296,7 @@ impl StreamWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3304,7 +3304,7 @@ impl StreamWebSocketInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3329,14 +3329,14 @@ impl WebSocketClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Reason(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3358,7 +3358,7 @@ impl WebSocketError { pub fn GetStatus(hresult: i32) -> ::windows_core::Result { Self::IWebSocketErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -3423,14 +3423,14 @@ impl WebSocketServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServerCertificateErrorSeverity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3438,7 +3438,7 @@ impl WebSocketServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -3446,7 +3446,7 @@ impl WebSocketServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reject(&self) -> ::windows_core::Result<()> { @@ -3457,7 +3457,7 @@ impl WebSocketServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs b/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs index 143e46be9f..4189168ae1 100644 --- a/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs @@ -182,7 +182,7 @@ impl IVpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -190,14 +190,14 @@ impl IVpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CertificateCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CertificateCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdditionalPin(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -205,7 +205,7 @@ impl IVpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -282,7 +282,7 @@ impl IVpnCustomPrompt { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -293,7 +293,7 @@ impl IVpnCustomPrompt { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -304,7 +304,7 @@ impl IVpnCustomPrompt { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -342,7 +342,7 @@ impl IVpnCustomPromptElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -353,7 +353,7 @@ impl IVpnCustomPromptElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmphasized(&self, value: bool) -> ::windows_core::Result<()> { @@ -364,7 +364,7 @@ impl IVpnCustomPromptElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -472,7 +472,7 @@ impl IVpnDomainNameInfoFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnDomainNameInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), nametype, dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnDomainNameInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), nametype, dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -524,7 +524,7 @@ impl IVpnInterfaceIdFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnInterfaceId)(::windows_core::Interface::as_raw(this), address.len().try_into().unwrap(), address.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnInterfaceId)(::windows_core::Interface::as_raw(this), address.len().try_into().unwrap(), address.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -610,7 +610,7 @@ impl IVpnNamespaceInfoFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnNamespaceInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnNamespaceInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -694,7 +694,7 @@ impl IVpnPacketBufferFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnPacketBuffer)(::windows_core::Interface::as_raw(this), parentbuffer.into_param().abi(), offset, length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnPacketBuffer)(::windows_core::Interface::as_raw(this), parentbuffer.into_param().abi(), offset, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -833,7 +833,7 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProfileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -845,7 +845,7 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -853,7 +853,7 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -861,7 +861,7 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -869,14 +869,14 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RememberCredentials(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRememberCredentials(&self, value: bool) -> ::windows_core::Result<()> { @@ -887,7 +887,7 @@ impl IVpnProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysOn(&self, value: bool) -> ::windows_core::Result<()> { @@ -985,7 +985,7 @@ impl IVpnRouteFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnRoute)(::windows_core::Interface::as_raw(this), address.into_param().abi(), prefixsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnRoute)(::windows_core::Interface::as_raw(this), address.into_param().abi(), prefixsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1070,7 +1070,7 @@ impl VpnAppId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetType(&self, value: VpnAppIdType) -> ::windows_core::Result<()> { @@ -1081,7 +1081,7 @@ impl VpnAppId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1091,7 +1091,7 @@ impl VpnAppId { pub fn Create(r#type: VpnAppIdType, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IVpnAppIdFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), r#type, ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), r#type, ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1151,7 +1151,7 @@ impl VpnChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCredentials)(::windows_core::Interface::as_raw(this), credtype, isretry, issinglesignoncredential, certificate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCredentials)(::windows_core::Interface::as_raw(this), credtype, isretry, issinglesignoncredential, certificate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestVpnPacketBuffer(&self, r#type: VpnDataPathType, vpnpacketbuffer: &mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -1166,14 +1166,14 @@ impl VpnChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Configuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivityChange(&self, handler: P0) -> ::windows_core::Result @@ -1183,7 +1183,7 @@ impl VpnChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityChange)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityChange)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivityChange(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1201,14 +1201,14 @@ impl VpnChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlugInContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlugInContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemHealth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemHealth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemHealth)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1262,7 +1262,7 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityStateChange)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityStateChange)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivityStateChange(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1273,14 +1273,14 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVpnSendPacketBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVpnSendPacketBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVpnReceivePacketBuffer(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVpnReceivePacketBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVpnReceivePacketBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1291,7 +1291,7 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCustomPromptAsync)(::windows_core::Interface::as_raw(this), custompromptelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCustomPromptAsync)(::windows_core::Interface::as_raw(this), custompromptelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -1302,21 +1302,21 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCredentialsWithCertificateAsync)(::windows_core::Interface::as_raw(this), credtype, credoptions, certificate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCredentialsWithCertificateAsync)(::windows_core::Interface::as_raw(this), credtype, credoptions, certificate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCredentialsWithOptionsAsync(&self, credtype: VpnCredentialType, credoptions: u32) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCredentialsWithOptionsAsync)(::windows_core::Interface::as_raw(this), credtype, credoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCredentialsWithOptionsAsync)(::windows_core::Interface::as_raw(this), credtype, credoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCredentialsSimpleAsync(&self, credtype: VpnCredentialType) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCredentialsSimpleAsync)(::windows_core::Interface::as_raw(this), credtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCredentialsSimpleAsync)(::windows_core::Interface::as_raw(this), credtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TerminateConnection(&self, message: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1384,14 +1384,14 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSlotTypeForTransportContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSlotTypeForTransportContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).map(|| result__) } } pub fn CurrentRequestTransportContext(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentRequestTransportContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentRequestTransportContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppendVpnReceivePacketBuffer(&self, decapsulatedpacketbuffer: P0) -> ::windows_core::Result<()> @@ -1424,7 +1424,7 @@ impl VpnChannel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivateForeground)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagerelativeappid), sharedcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivateForeground)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagerelativeappid), sharedcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessEventAsync(thirdpartyplugin: P0, event: P1) -> ::windows_core::Result<()> @@ -1461,7 +1461,7 @@ impl VpnChannelActivityEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1486,7 +1486,7 @@ impl VpnChannelActivityStateChangedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1511,7 +1511,7 @@ impl VpnChannelConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1519,14 +1519,14 @@ impl VpnChannelConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerHostNameList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerHostNameList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CustomField(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomField)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomField)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1534,7 +1534,7 @@ impl VpnChannelConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1561,7 +1561,7 @@ impl VpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -1569,14 +1569,14 @@ impl VpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CertificateCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CertificateCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdditionalPin(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -1584,7 +1584,7 @@ impl VpnCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1621,14 +1621,14 @@ impl VpnCustomCheckBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialCheckState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialCheckState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Checked(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Checked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Checked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1639,7 +1639,7 @@ impl VpnCustomCheckBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -1650,7 +1650,7 @@ impl VpnCustomCheckBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -1661,7 +1661,7 @@ impl VpnCustomCheckBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1703,14 +1703,14 @@ impl VpnCustomComboBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionsText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionsText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Selected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1721,7 +1721,7 @@ impl VpnCustomComboBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -1732,7 +1732,7 @@ impl VpnCustomComboBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -1743,7 +1743,7 @@ impl VpnCustomComboBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1780,7 +1780,7 @@ impl VpnCustomEditBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNoEcho(&self, value: bool) -> ::windows_core::Result<()> { @@ -1791,14 +1791,14 @@ impl VpnCustomEditBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoEcho)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoEcho)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1809,7 +1809,7 @@ impl VpnCustomEditBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -1820,7 +1820,7 @@ impl VpnCustomEditBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -1831,7 +1831,7 @@ impl VpnCustomEditBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1868,7 +1868,7 @@ impl VpnCustomErrorBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -1879,7 +1879,7 @@ impl VpnCustomErrorBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -1890,7 +1890,7 @@ impl VpnCustomErrorBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1927,14 +1927,14 @@ impl VpnCustomPromptBooleanInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1945,7 +1945,7 @@ impl VpnCustomPromptBooleanInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -1956,7 +1956,7 @@ impl VpnCustomPromptBooleanInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmphasized(&self, value: bool) -> ::windows_core::Result<()> { @@ -1967,7 +1967,7 @@ impl VpnCustomPromptBooleanInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2004,7 +2004,7 @@ impl VpnCustomPromptOptionSelector { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -2015,7 +2015,7 @@ impl VpnCustomPromptOptionSelector { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmphasized(&self, value: bool) -> ::windows_core::Result<()> { @@ -2026,7 +2026,7 @@ impl VpnCustomPromptOptionSelector { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2034,14 +2034,14 @@ impl VpnCustomPromptOptionSelector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectedIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectedIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2078,7 +2078,7 @@ impl VpnCustomPromptText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -2089,7 +2089,7 @@ impl VpnCustomPromptText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmphasized(&self, value: bool) -> ::windows_core::Result<()> { @@ -2100,7 +2100,7 @@ impl VpnCustomPromptText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2111,7 +2111,7 @@ impl VpnCustomPromptText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2148,7 +2148,7 @@ impl VpnCustomPromptTextInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -2159,7 +2159,7 @@ impl VpnCustomPromptTextInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEmphasized(&self, value: bool) -> ::windows_core::Result<()> { @@ -2170,7 +2170,7 @@ impl VpnCustomPromptTextInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Emphasized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPlaceholderText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2181,7 +2181,7 @@ impl VpnCustomPromptTextInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaceholderText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaceholderText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsTextHidden(&self, value: bool) -> ::windows_core::Result<()> { @@ -2192,14 +2192,14 @@ impl VpnCustomPromptTextInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTextHidden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTextHidden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2236,7 +2236,7 @@ impl VpnCustomTextBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCompulsory(&self, value: bool) -> ::windows_core::Result<()> { @@ -2247,7 +2247,7 @@ impl VpnCustomTextBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compulsory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBordered(&self, value: bool) -> ::windows_core::Result<()> { @@ -2258,7 +2258,7 @@ impl VpnCustomTextBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bordered)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2269,7 +2269,7 @@ impl VpnCustomTextBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2302,7 +2302,7 @@ impl VpnDomainNameAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainNameList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainNameList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProxyAutoConfigurationUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2316,7 +2316,7 @@ impl VpnDomainNameAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyAutoConfigurationUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyAutoConfigurationUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2348,7 +2348,7 @@ impl VpnDomainNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDomainNameType(&self, value: VpnDomainNameType) -> ::windows_core::Result<()> { @@ -2359,7 +2359,7 @@ impl VpnDomainNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainNameType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainNameType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2367,7 +2367,7 @@ impl VpnDomainNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DnsServers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DnsServers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2375,7 +2375,7 @@ impl VpnDomainNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebProxyServers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebProxyServers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2383,7 +2383,7 @@ impl VpnDomainNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebProxyUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebProxyUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2394,7 +2394,7 @@ impl VpnDomainNameInfo { { Self::IVpnDomainNameInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnDomainNameInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), nametype, dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnDomainNameInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), nametype, dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2427,7 +2427,7 @@ impl VpnForegroundActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2435,7 +2435,7 @@ impl VpnForegroundActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2443,7 +2443,7 @@ impl VpnForegroundActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2451,14 +2451,14 @@ impl VpnForegroundActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProfileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2466,14 +2466,14 @@ impl VpnForegroundActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivationOperation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2527,7 +2527,7 @@ impl VpnInterfaceId { pub fn CreateVpnInterfaceId(address: &[u8]) -> ::windows_core::Result { Self::IVpnInterfaceIdFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnInterfaceId)(::windows_core::Interface::as_raw(this), address.len().try_into().unwrap(), address.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnInterfaceId)(::windows_core::Interface::as_raw(this), address.len().try_into().unwrap(), address.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2564,7 +2564,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddProfileFromXmlAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xml), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddProfileFromXmlAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xml), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddProfileFromObjectAsync(&self, profile: P0) -> ::windows_core::Result> @@ -2574,14 +2574,14 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddProfileFromObjectAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddProfileFromObjectAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateProfileFromXmlAsync(&self, xml: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateProfileFromXmlAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xml), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateProfileFromXmlAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(xml), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateProfileFromObjectAsync(&self, profile: P0) -> ::windows_core::Result> @@ -2591,7 +2591,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateProfileFromObjectAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateProfileFromObjectAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2599,7 +2599,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProfilesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProfilesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteProfileAsync(&self, profile: P0) -> ::windows_core::Result> @@ -2609,7 +2609,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectProfileAsync(&self, profile: P0) -> ::windows_core::Result> @@ -2619,7 +2619,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -2631,7 +2631,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectProfileWithPasswordCredentialAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), passwordcredential.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectProfileWithPasswordCredentialAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), passwordcredential.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisconnectProfileAsync(&self, profile: P0) -> ::windows_core::Result> @@ -2641,7 +2641,7 @@ impl VpnManagementAgent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisconnectProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisconnectProfileAsync)(::windows_core::Interface::as_raw(this), profile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2682,7 +2682,7 @@ impl VpnNamespaceAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NamespaceList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NamespaceList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProxyAutoConfigUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2696,7 +2696,7 @@ impl VpnNamespaceAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyAutoConfigUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyAutoConfigUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2725,7 +2725,7 @@ impl VpnNamespaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2741,7 +2741,7 @@ impl VpnNamespaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DnsServers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DnsServers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2757,7 +2757,7 @@ impl VpnNamespaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebProxyServers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebProxyServers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2768,7 +2768,7 @@ impl VpnNamespaceInfo { { Self::IVpnNamespaceInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnNamespaceInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnNamespaceInfo)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), dnsserverlist.into_param().abi(), proxyserverlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2807,14 +2807,14 @@ impl VpnNativeProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Servers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Servers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoutingPolicyType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoutingPolicyType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoutingPolicyType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoutingPolicyType(&self, value: VpnRoutingPolicyType) -> ::windows_core::Result<()> { @@ -2825,7 +2825,7 @@ impl VpnNativeProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NativeProtocolType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NativeProtocolType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNativeProtocolType(&self, value: VpnNativeProtocolType) -> ::windows_core::Result<()> { @@ -2836,7 +2836,7 @@ impl VpnNativeProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserAuthenticationMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserAuthenticationMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUserAuthenticationMethod(&self, value: VpnAuthenticationMethod) -> ::windows_core::Result<()> { @@ -2847,7 +2847,7 @@ impl VpnNativeProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TunnelAuthenticationMethod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TunnelAuthenticationMethod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTunnelAuthenticationMethod(&self, value: VpnAuthenticationMethod) -> ::windows_core::Result<()> { @@ -2858,7 +2858,7 @@ impl VpnNativeProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EapConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EapConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEapConfiguration(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2869,7 +2869,7 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequireVpnClientAppUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequireVpnClientAppUI)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequireVpnClientAppUI(&self, value: bool) -> ::windows_core::Result<()> { @@ -2880,14 +2880,14 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProfileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProfileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2899,7 +2899,7 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2907,7 +2907,7 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2915,7 +2915,7 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2923,14 +2923,14 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RememberCredentials(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRememberCredentials(&self, value: bool) -> ::windows_core::Result<()> { @@ -2941,7 +2941,7 @@ impl VpnNativeProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysOn(&self, value: bool) -> ::windows_core::Result<()> { @@ -2971,7 +2971,7 @@ impl VpnPacketBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStatus(&self, value: VpnPacketBufferStatus) -> ::windows_core::Result<()> { @@ -2982,7 +2982,7 @@ impl VpnPacketBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransportAffinity(&self, value: u32) -> ::windows_core::Result<()> { @@ -2993,14 +2993,14 @@ impl VpnPacketBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportAffinity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportAffinity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTransportContext(&self, value: P0) -> ::windows_core::Result<()> @@ -3014,7 +3014,7 @@ impl VpnPacketBuffer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVpnPacketBuffer(parentbuffer: P0, offset: u32, length: u32) -> ::windows_core::Result @@ -3023,7 +3023,7 @@ impl VpnPacketBuffer { { Self::IVpnPacketBufferFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnPacketBuffer)(::windows_core::Interface::as_raw(this), parentbuffer.into_param().abi(), offset, length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnPacketBuffer)(::windows_core::Interface::as_raw(this), parentbuffer.into_param().abi(), offset, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3056,7 +3056,7 @@ impl VpnPacketBufferList { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Append(&self, nextvpnpacketbuffer: P0) -> ::windows_core::Result<()> @@ -3077,14 +3077,14 @@ impl VpnPacketBufferList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAtEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAtEnd)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveAtBegin(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAtBegin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAtBegin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clear(&self) -> ::windows_core::Result<()> { @@ -3099,14 +3099,14 @@ impl VpnPacketBufferList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3148,14 +3148,14 @@ impl VpnPickedCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasskeyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AdditionalPin(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalPin)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -3163,7 +3163,7 @@ impl VpnPickedCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldPasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3197,14 +3197,14 @@ impl VpnPlugInProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerUris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerUris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CustomConfiguration(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCustomConfiguration(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3215,7 +3215,7 @@ impl VpnPlugInProfile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VpnPluginPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VpnPluginPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVpnPluginPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3226,7 +3226,7 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequireVpnClientAppUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequireVpnClientAppUI)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequireVpnClientAppUI(&self, value: bool) -> ::windows_core::Result<()> { @@ -3237,14 +3237,14 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProfileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProfileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3256,7 +3256,7 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppTriggers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3264,7 +3264,7 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Routes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3272,7 +3272,7 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainNameInfoList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3280,14 +3280,14 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficFilters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RememberCredentials(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RememberCredentials)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRememberCredentials(&self, value: bool) -> ::windows_core::Result<()> { @@ -3298,7 +3298,7 @@ impl VpnPlugInProfile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlwaysOn(&self, value: bool) -> ::windows_core::Result<()> { @@ -3334,7 +3334,7 @@ impl VpnRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPrefixSize(&self, value: u8) -> ::windows_core::Result<()> { @@ -3345,7 +3345,7 @@ impl VpnRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrefixSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrefixSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateVpnRoute(address: P0, prefixsize: u8) -> ::windows_core::Result @@ -3354,7 +3354,7 @@ impl VpnRoute { { Self::IVpnRouteFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVpnRoute)(::windows_core::Interface::as_raw(this), address.into_param().abi(), prefixsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVpnRoute)(::windows_core::Interface::as_raw(this), address.into_param().abi(), prefixsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3408,7 +3408,7 @@ impl VpnRouteAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ipv4InclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ipv4InclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3416,7 +3416,7 @@ impl VpnRouteAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ipv6InclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ipv6InclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3440,7 +3440,7 @@ impl VpnRouteAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ipv4ExclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ipv4ExclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3448,7 +3448,7 @@ impl VpnRouteAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ipv6ExclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ipv6ExclusionRoutes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExcludeLocalSubnets(&self, value: bool) -> ::windows_core::Result<()> { @@ -3459,7 +3459,7 @@ impl VpnRouteAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExcludeLocalSubnets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExcludeLocalSubnets)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3485,7 +3485,7 @@ impl VpnSystemHealth { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatementOfHealth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatementOfHealth)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3510,7 +3510,7 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAppId(&self, value: P0) -> ::windows_core::Result<()> @@ -3525,14 +3525,14 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppClaims)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppClaims)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Protocol(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Protocol)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtocol(&self, value: VpnIPProtocol) -> ::windows_core::Result<()> { @@ -3544,7 +3544,7 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPortRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPortRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3552,7 +3552,7 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePortRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePortRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3560,7 +3560,7 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAddressRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAddressRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3568,14 +3568,14 @@ impl VpnTrafficFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteAddressRanges)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteAddressRanges)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoutingPolicyType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoutingPolicyType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoutingPolicyType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoutingPolicyType(&self, value: VpnRoutingPolicyType) -> ::windows_core::Result<()> { @@ -3588,7 +3588,7 @@ impl VpnTrafficFilter { { Self::IVpnTrafficFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), appid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), appid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3626,14 +3626,14 @@ impl VpnTrafficFilterAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficFilterList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficFilterList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowOutbound(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowOutbound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowOutbound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowOutbound(&self, value: bool) -> ::windows_core::Result<()> { @@ -3644,7 +3644,7 @@ impl VpnTrafficFilterAssignment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowInbound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowInbound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowInbound(&self, value: bool) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs b/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs index edca674139..160691587c 100644 --- a/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs @@ -211,7 +211,7 @@ impl XboxLiveDeviceAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SnapshotChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SnapshotChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSnapshotChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -222,7 +222,7 @@ impl XboxLiveDeviceAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSnapshotAsBase64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSnapshotAsBase64)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -230,7 +230,7 @@ impl XboxLiveDeviceAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSnapshotAsBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSnapshotAsBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetSnapshotAsBytes(&self, buffer: &mut [u8], byteswritten: &mut u32) -> ::windows_core::Result<()> { @@ -244,34 +244,34 @@ impl XboxLiveDeviceAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), otherdeviceaddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), otherdeviceaddress.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsValid(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLocal(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLocal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLocal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NetworkAccessKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkAccessKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkAccessKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateFromSnapshotBase64(base64: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSnapshotBase64)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(base64), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSnapshotBase64)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(base64), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -281,25 +281,25 @@ impl XboxLiveDeviceAddress { { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSnapshotBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSnapshotBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromSnapshotBytes(buffer: &[u8]) -> ::windows_core::Result { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSnapshotBytes)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSnapshotBytes)(::windows_core::Interface::as_raw(this), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetLocal() -> ::windows_core::Result { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLocal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLocal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MaxSnapshotBytesSize() -> ::windows_core::Result { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSnapshotBytesSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSnapshotBytesSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -332,7 +332,7 @@ impl XboxLiveEndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -343,7 +343,7 @@ impl XboxLiveEndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRemoteSocketAddressBytes(&self, socketaddress: &mut [u8]) -> ::windows_core::Result<()> { @@ -358,55 +358,55 @@ impl XboxLiveEndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Template(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteDeviceAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteDeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteDeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteHostName(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemotePort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemotePort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalHostName(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalPort(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPort)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindEndpointPairBySocketAddressBytes(localsocketaddress: &[u8], remotesocketaddress: &[u8]) -> ::windows_core::Result { Self::IXboxLiveEndpointPairStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindEndpointPairBySocketAddressBytes)(::windows_core::Interface::as_raw(this), localsocketaddress.len().try_into().unwrap(), localsocketaddress.as_ptr(), remotesocketaddress.len().try_into().unwrap(), remotesocketaddress.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindEndpointPairBySocketAddressBytes)(::windows_core::Interface::as_raw(this), localsocketaddress.len().try_into().unwrap(), localsocketaddress.as_ptr(), remotesocketaddress.len().try_into().unwrap(), remotesocketaddress.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FindEndpointPairByHostNamesAndPorts(localhostname: P0, localport: &::windows_core::HSTRING, remotehostname: P1, remoteport: &::windows_core::HSTRING) -> ::windows_core::Result @@ -416,7 +416,7 @@ impl XboxLiveEndpointPair { { Self::IXboxLiveEndpointPairStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindEndpointPairByHostNamesAndPorts)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localport), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteport), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindEndpointPairByHostNamesAndPorts)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localport), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteport), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -446,28 +446,28 @@ impl XboxLiveEndpointPairCreationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsExistingPathEvaluation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExistingPathEvaluation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExistingPathEvaluation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndpointPair(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointPair)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointPair)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -492,14 +492,14 @@ impl XboxLiveEndpointPairStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -527,7 +527,7 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InboundEndpointPairCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InboundEndpointPairCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInboundEndpointPairCreated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -541,7 +541,7 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEndpointPairDefaultAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEndpointPairDefaultAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEndpointPairWithBehaviorsAsync(&self, deviceaddress: P0, behaviors: XboxLiveEndpointPairCreationBehaviors) -> ::windows_core::Result> @@ -551,7 +551,7 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEndpointPairWithBehaviorsAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), behaviors, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEndpointPairWithBehaviorsAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), behaviors, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEndpointPairForPortsDefaultAsync(&self, deviceaddress: P0, initiatorport: &::windows_core::HSTRING, acceptorport: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -561,7 +561,7 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEndpointPairForPortsDefaultAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), ::core::mem::transmute_copy(initiatorport), ::core::mem::transmute_copy(acceptorport), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEndpointPairForPortsDefaultAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), ::core::mem::transmute_copy(initiatorport), ::core::mem::transmute_copy(acceptorport), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEndpointPairForPortsWithBehaviorsAsync(&self, deviceaddress: P0, initiatorport: &::windows_core::HSTRING, acceptorport: &::windows_core::HSTRING, behaviors: XboxLiveEndpointPairCreationBehaviors) -> ::windows_core::Result> @@ -571,49 +571,49 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEndpointPairForPortsWithBehaviorsAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), ::core::mem::transmute_copy(initiatorport), ::core::mem::transmute_copy(acceptorport), behaviors, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEndpointPairForPortsWithBehaviorsAsync)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), ::core::mem::transmute_copy(initiatorport), ::core::mem::transmute_copy(acceptorport), behaviors, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SocketKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SocketKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SocketKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InitiatorBoundPortRangeLower(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitiatorBoundPortRangeLower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitiatorBoundPortRangeLower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InitiatorBoundPortRangeUpper(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitiatorBoundPortRangeUpper)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitiatorBoundPortRangeUpper)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AcceptorBoundPortRangeLower(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptorBoundPortRangeLower)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptorBoundPortRangeLower)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AcceptorBoundPortRangeUpper(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptorBoundPortRangeUpper)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptorBoundPortRangeUpper)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -621,20 +621,20 @@ impl XboxLiveEndpointPairTemplate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointPairs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTemplateByName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IXboxLiveEndpointPairTemplateStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTemplateByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTemplateByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Templates() -> ::windows_core::Result> { Self::IXboxLiveEndpointPairTemplateStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Templates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Templates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -664,7 +664,7 @@ impl XboxLiveInboundEndpointPairCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndpointPair)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndpointPair)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -696,7 +696,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeasureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeasureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -707,7 +707,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMetricResultsForDevice)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMetricResultsForDevice)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -715,7 +715,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMetricResultsForMetric)(::windows_core::Interface::as_raw(this), metric, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMetricResultsForMetric)(::windows_core::Interface::as_raw(this), metric, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMetricResult(&self, deviceaddress: P0, metric: XboxLiveQualityOfServiceMetric) -> ::windows_core::Result @@ -725,7 +725,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMetricResult)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), metric, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMetricResult)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), metric, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPrivatePayloadResult(&self, deviceaddress: P0) -> ::windows_core::Result @@ -735,7 +735,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrivatePayloadResult)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrivatePayloadResult)(::windows_core::Interface::as_raw(this), deviceaddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -743,7 +743,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Metrics)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Metrics)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -751,14 +751,14 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShouldRequestPrivatePayloads(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldRequestPrivatePayloads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldRequestPrivatePayloads)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShouldRequestPrivatePayloads(&self, value: bool) -> ::windows_core::Result<()> { @@ -769,7 +769,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeoutInMilliseconds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeoutInMilliseconds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimeoutInMilliseconds(&self, value: u32) -> ::windows_core::Result<()> { @@ -780,7 +780,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfProbesToAttempt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfProbesToAttempt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNumberOfProbesToAttempt(&self, value: u32) -> ::windows_core::Result<()> { @@ -791,7 +791,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberOfResultsPending)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberOfResultsPending)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -799,7 +799,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MetricResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MetricResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -807,7 +807,7 @@ impl XboxLiveQualityOfServiceMeasurement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivatePayloadResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivatePayloadResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublishPrivatePayloadBytes(payload: &[u8]) -> ::windows_core::Result<()> { @@ -819,7 +819,7 @@ impl XboxLiveQualityOfServiceMeasurement { pub fn MaxSimultaneousProbeConnections() -> ::windows_core::Result { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSimultaneousProbeConnections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSimultaneousProbeConnections)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetMaxSimultaneousProbeConnections(value: u32) -> ::windows_core::Result<()> { @@ -828,7 +828,7 @@ impl XboxLiveQualityOfServiceMeasurement { pub fn IsSystemOutboundBandwidthConstrained() -> ::windows_core::Result { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSystemOutboundBandwidthConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSystemOutboundBandwidthConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetIsSystemOutboundBandwidthConstrained(value: bool) -> ::windows_core::Result<()> { @@ -837,7 +837,7 @@ impl XboxLiveQualityOfServiceMeasurement { pub fn IsSystemInboundBandwidthConstrained() -> ::windows_core::Result { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSystemInboundBandwidthConstrained)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSystemInboundBandwidthConstrained)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetIsSystemInboundBandwidthConstrained(value: bool) -> ::windows_core::Result<()> { @@ -847,7 +847,7 @@ impl XboxLiveQualityOfServiceMeasurement { pub fn PublishedPrivatePayload() -> ::windows_core::Result { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishedPrivatePayload)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishedPrivatePayload)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -860,7 +860,7 @@ impl XboxLiveQualityOfServiceMeasurement { pub fn MaxPrivatePayloadSize() -> ::windows_core::Result { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPrivatePayloadSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPrivatePayloadSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -890,28 +890,28 @@ impl XboxLiveQualityOfServiceMetricResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Metric(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Metric)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Metric)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -936,14 +936,14 @@ impl XboxLiveQualityOfServicePrivatePayloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceAddress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -951,7 +951,7 @@ impl XboxLiveQualityOfServicePrivatePayloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Networking/mod.rs b/crates/libs/windows/src/Windows/Networking/mod.rs index e0b981bbc3..04b2d3914f 100644 --- a/crates/libs/windows/src/Windows/Networking/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/mod.rs @@ -75,7 +75,7 @@ impl EndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocalHostName(&self, value: P0) -> ::windows_core::Result<()> @@ -89,7 +89,7 @@ impl EndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocalServiceName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -100,7 +100,7 @@ impl EndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteHostName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteHostName(&self, value: P0) -> ::windows_core::Result<()> @@ -114,7 +114,7 @@ impl EndpointPair { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteServiceName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteServiceName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteServiceName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -128,7 +128,7 @@ impl EndpointPair { { Self::IEndpointPairFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEndpointPair)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEndpointPair)(::windows_core::Interface::as_raw(this), localhostname.into_param().abi(), ::core::mem::transmute_copy(localservicename), remotehostname.into_param().abi(), ::core::mem::transmute_copy(remoteservicename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -160,35 +160,35 @@ impl HostName { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IPInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IPInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanonicalName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanonicalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanonicalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEqual(&self, hostname: P0) -> ::windows_core::Result @@ -198,26 +198,26 @@ impl HostName { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).map(|| result__) } } pub fn CreateHostName(hostname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHostNameFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHostName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHostName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Compare(value1: &::windows_core::HSTRING, value2: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHostNameStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value1), ::core::mem::transmute_copy(value2), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value1), ::core::mem::transmute_copy(value2), &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Perception/People/mod.rs b/crates/libs/windows/src/Windows/Perception/People/mod.rs index 23dcb26226..92120a6778 100644 --- a/crates/libs/windows/src/Windows/Perception/People/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/People/mod.rs @@ -102,7 +102,7 @@ impl EyesPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCalibrationValid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCalibrationValid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -110,27 +110,27 @@ impl EyesPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gaze)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gaze)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSupported() -> ::windows_core::Result { Self::IEyesPoseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI_Input")] pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IEyesPoseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -161,21 +161,21 @@ impl HandMeshObserver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TriangleIndexCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriangleIndexCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriangleIndexCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VertexCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetTriangleIndices(&self, indices: &mut [u16]) -> ::windows_core::Result<()> { @@ -189,28 +189,28 @@ impl HandMeshObserver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVertexStateForPose)(::windows_core::Interface::as_raw(this), handpose.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVertexStateForPose)(::windows_core::Interface::as_raw(this), handpose.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NeutralPose(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeutralPose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeutralPose)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NeutralPoseVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeutralPoseVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeutralPoseVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ModelId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -236,7 +236,7 @@ impl HandMeshVertexState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -248,7 +248,7 @@ impl HandMeshVertexState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,7 +277,7 @@ impl HandPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetJoint)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), joint, jointpose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetJoint)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), joint, jointpose, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -288,7 +288,7 @@ impl HandPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetJoints)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), joints.len().try_into().unwrap(), joints.as_ptr(), jointposes.len().try_into().unwrap(), jointposes.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetJoints)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), joints.len().try_into().unwrap(), joints.as_ptr(), jointposes.len().try_into().unwrap(), jointposes.as_mut_ptr(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -296,7 +296,7 @@ impl HandPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRelativeJoint)(::windows_core::Interface::as_raw(this), joint, referencejoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRelativeJoint)(::windows_core::Interface::as_raw(this), joint, referencejoint, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -327,7 +327,7 @@ impl HeadPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -335,7 +335,7 @@ impl HeadPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -343,7 +343,7 @@ impl HeadPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Perception/Spatial/Preview/mod.rs b/crates/libs/windows/src/Windows/Perception/Spatial/Preview/mod.rs index 34bbee2370..e8b58a307c 100644 --- a/crates/libs/windows/src/Windows/Perception/Spatial/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/Spatial/Preview/mod.rs @@ -50,14 +50,14 @@ impl SpatialGraphInteropFrameOfReferencePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NodeId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -65,7 +65,7 @@ impl SpatialGraphInteropFrameOfReferencePreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystemToNodeTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystemToNodeTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -86,27 +86,27 @@ impl SpatialGraphInteropPreview { pub fn CreateCoordinateSystemForNode(nodeid: ::windows_core::GUID) -> ::windows_core::Result { Self::ISpatialGraphInteropPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNode)(::windows_core::Interface::as_raw(this), nodeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNode)(::windows_core::Interface::as_raw(this), nodeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] pub fn CreateCoordinateSystemForNodeWithPosition(nodeid: ::windows_core::GUID, relativeposition: super::super::super::Foundation::Numerics::Vector3) -> ::windows_core::Result { Self::ISpatialGraphInteropPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNodeWithPosition)(::windows_core::Interface::as_raw(this), nodeid, relativeposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNodeWithPosition)(::windows_core::Interface::as_raw(this), nodeid, relativeposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] pub fn CreateCoordinateSystemForNodeWithPositionAndOrientation(nodeid: ::windows_core::GUID, relativeposition: super::super::super::Foundation::Numerics::Vector3, relativeorientation: super::super::super::Foundation::Numerics::Quaternion) -> ::windows_core::Result { Self::ISpatialGraphInteropPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNodeWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), nodeid, relativeposition, relativeorientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCoordinateSystemForNodeWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), nodeid, relativeposition, relativeorientation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateLocatorForNode(nodeid: ::windows_core::GUID) -> ::windows_core::Result { Self::ISpatialGraphInteropPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLocatorForNode)(::windows_core::Interface::as_raw(this), nodeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLocatorForNode)(::windows_core::Interface::as_raw(this), nodeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateFrameOfReference(coordinatesystem: P0) -> ::windows_core::Result @@ -115,7 +115,7 @@ impl SpatialGraphInteropPreview { { Self::ISpatialGraphInteropPreviewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFrameOfReference)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFrameOfReference)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -125,7 +125,7 @@ impl SpatialGraphInteropPreview { { Self::ISpatialGraphInteropPreviewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFrameOfReferenceWithPosition)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), relativeposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFrameOfReferenceWithPosition)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), relativeposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -135,7 +135,7 @@ impl SpatialGraphInteropPreview { { Self::ISpatialGraphInteropPreviewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFrameOfReferenceWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), relativeposition, relativeorientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFrameOfReferenceWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), relativeposition, relativeorientation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs b/crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs index 97fbfb5ce5..508424893b 100644 --- a/crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs @@ -133,14 +133,14 @@ impl SpatialSurfaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -151,14 +151,14 @@ impl SpatialSurfaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBounds)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBounds)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLatestMeshAsync(&self, maxtrianglespercubicmeter: f64) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLatestMeshAsync)(::windows_core::Interface::as_raw(this), maxtrianglespercubicmeter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLatestMeshAsync)(::windows_core::Interface::as_raw(this), maxtrianglespercubicmeter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLatestMeshWithOptionsAsync(&self, maxtrianglespercubicmeter: f64, options: P0) -> ::windows_core::Result> @@ -168,7 +168,7 @@ impl SpatialSurfaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLatestMeshWithOptionsAsync)(::windows_core::Interface::as_raw(this), maxtrianglespercubicmeter, options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLatestMeshWithOptionsAsync)(::windows_core::Interface::as_raw(this), maxtrianglespercubicmeter, options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -193,28 +193,28 @@ impl SpatialSurfaceMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SurfaceInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SurfaceInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CoordinateSystem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TriangleIndices(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriangleIndices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriangleIndices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VertexPositions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexPositions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexPositions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -222,14 +222,14 @@ impl SpatialSurfaceMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexPositionScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexPositionScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VertexNormals(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -255,21 +255,21 @@ impl SpatialSurfaceMeshBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Stride(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stride)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ElementCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -277,7 +277,7 @@ impl SpatialSurfaceMeshBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -310,7 +310,7 @@ impl SpatialSurfaceMeshOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexPositionFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexPositionFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -323,7 +323,7 @@ impl SpatialSurfaceMeshOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriangleIndexFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriangleIndexFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -336,7 +336,7 @@ impl SpatialSurfaceMeshOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VertexNormalFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VertexNormalFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -348,7 +348,7 @@ impl SpatialSurfaceMeshOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeVertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeVertexNormals)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeVertexNormals(&self, value: bool) -> ::windows_core::Result<()> { @@ -359,21 +359,21 @@ impl SpatialSurfaceMeshOptions { pub fn SupportedVertexPositionFormats() -> ::windows_core::Result> { Self::ISpatialSurfaceMeshOptionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedVertexPositionFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedVertexPositionFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX"))] pub fn SupportedTriangleIndexFormats() -> ::windows_core::Result> { Self::ISpatialSurfaceMeshOptionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedTriangleIndexFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedTriangleIndexFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX"))] pub fn SupportedVertexNormalFormats() -> ::windows_core::Result> { Self::ISpatialSurfaceMeshOptionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedVertexNormalFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedVertexNormalFormats)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -411,7 +411,7 @@ impl SpatialSurfaceObserver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetObservedSurfaces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetObservedSurfaces)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBoundingVolume(&self, bounds: P0) -> ::windows_core::Result<()> @@ -436,7 +436,7 @@ impl SpatialSurfaceObserver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ObservedSurfacesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ObservedSurfacesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveObservedSurfacesChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -446,13 +446,13 @@ impl SpatialSurfaceObserver { pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::ISpatialSurfaceObserverStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::ISpatialSurfaceObserverStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Perception/Spatial/mod.rs b/crates/libs/windows/src/Windows/Perception/Spatial/mod.rs index 3eed89224d..7664d7a097 100644 --- a/crates/libs/windows/src/Windows/Perception/Spatial/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/Spatial/mod.rs @@ -393,14 +393,14 @@ impl SpatialAnchor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawCoordinateSystem(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawCoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawCoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawCoordinateSystemAdjusted(&self, handler: P0) -> ::windows_core::Result @@ -410,7 +410,7 @@ impl SpatialAnchor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawCoordinateSystemAdjusted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawCoordinateSystemAdjusted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRawCoordinateSystemAdjusted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -421,7 +421,7 @@ impl SpatialAnchor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovedByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovedByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryCreateRelativeTo(coordinatesystem: P0) -> ::windows_core::Result @@ -430,7 +430,7 @@ impl SpatialAnchor { { Self::ISpatialAnchorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -440,7 +440,7 @@ impl SpatialAnchor { { Self::ISpatialAnchorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateWithPositionRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateWithPositionRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -450,7 +450,7 @@ impl SpatialAnchor { { Self::ISpatialAnchorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateWithPositionAndOrientationRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), position, orientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateWithPositionAndOrientationRelativeTo)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), position, orientation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -480,21 +480,21 @@ impl SpatialAnchorExportSufficiency { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMinimallySufficient)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMinimallySufficient)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SufficiencyLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SufficiencyLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SufficiencyLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RecommendedSufficiencyLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecommendedSufficiencyLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecommendedSufficiencyLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -522,7 +522,7 @@ impl SpatialAnchorExporter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAnchorExportSufficiencyAsync)(::windows_core::Interface::as_raw(this), anchor.into_param().abi(), purpose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAnchorExportSufficiencyAsync)(::windows_core::Interface::as_raw(this), anchor.into_param().abi(), purpose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -534,19 +534,19 @@ impl SpatialAnchorExporter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryExportAnchorAsync)(::windows_core::Interface::as_raw(this), anchor.into_param().abi(), purpose, stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryExportAnchorAsync)(::windows_core::Interface::as_raw(this), anchor.into_param().abi(), purpose, stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ISpatialAnchorExporterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::ISpatialAnchorExporterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -572,7 +572,7 @@ impl SpatialAnchorManager { pub fn RequestStoreAsync() -> ::windows_core::Result> { Self::ISpatialAnchorManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -594,7 +594,7 @@ impl SpatialAnchorRawCoordinateSystemAdjustedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldRawCoordinateSystemToNewRawCoordinateSystemTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldRawCoordinateSystemToNewRawCoordinateSystemTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -620,7 +620,7 @@ impl SpatialAnchorStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllSavedAnchors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllSavedAnchors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySave(&self, id: &::windows_core::HSTRING, anchor: P0) -> ::windows_core::Result @@ -630,7 +630,7 @@ impl SpatialAnchorStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySave)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), anchor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySave)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), anchor.into_param().abi(), &mut result__).map(|| result__) } } pub fn Remove(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -665,7 +665,7 @@ impl SpatialAnchorTransferManager { { Self::ISpatialAnchorTransferManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryImportAnchorsAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryImportAnchorsAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams", feature = "deprecated"))] @@ -676,14 +676,14 @@ impl SpatialAnchorTransferManager { { Self::ISpatialAnchorTransferManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryExportAnchorsAsync)(::windows_core::Interface::as_raw(this), anchors.into_param().abi(), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryExportAnchorsAsync)(::windows_core::Interface::as_raw(this), anchors.into_param().abi(), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::ISpatialAnchorTransferManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -709,7 +709,7 @@ impl SpatialBoundingVolume { { Self::ISpatialBoundingVolumeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBox)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), r#box, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBox)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), r#box, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -719,7 +719,7 @@ impl SpatialBoundingVolume { { Self::ISpatialBoundingVolumeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromOrientedBox)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), r#box, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromOrientedBox)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), r#box, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -729,7 +729,7 @@ impl SpatialBoundingVolume { { Self::ISpatialBoundingVolumeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromSphere)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), sphere, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromSphere)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), sphere, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -739,7 +739,7 @@ impl SpatialBoundingVolume { { Self::ISpatialBoundingVolumeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), frustum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromFrustum)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), frustum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -773,7 +773,7 @@ impl SpatialCoordinateSystem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetTransformTo)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetTransformTo)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -798,14 +798,14 @@ impl SpatialEntity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Anchor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Anchor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Anchor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -813,7 +813,7 @@ impl SpatialEntity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithSpatialAnchor(spatialanchor: P0) -> ::windows_core::Result @@ -822,7 +822,7 @@ impl SpatialEntity { { Self::ISpatialEntityFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSpatialAnchor)(::windows_core::Interface::as_raw(this), spatialanchor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSpatialAnchor)(::windows_core::Interface::as_raw(this), spatialanchor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -833,7 +833,7 @@ impl SpatialEntity { { Self::ISpatialEntityFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSpatialAnchorAndProperties)(::windows_core::Interface::as_raw(this), spatialanchor.into_param().abi(), propertyset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSpatialAnchorAndProperties)(::windows_core::Interface::as_raw(this), spatialanchor.into_param().abi(), propertyset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -863,7 +863,7 @@ impl SpatialEntityAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -888,7 +888,7 @@ impl SpatialEntityRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -916,7 +916,7 @@ impl SpatialEntityStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), entity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), entity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveAsync(&self, entity: P0) -> ::windows_core::Result @@ -926,20 +926,20 @@ impl SpatialEntityStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAsync)(::windows_core::Interface::as_raw(this), entity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAsync)(::windows_core::Interface::as_raw(this), entity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEntityWatcher(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEntityWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEntityWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSupported() -> ::windows_core::Result { Self::ISpatialEntityStoreStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "System_RemoteSystems")] @@ -949,7 +949,7 @@ impl SpatialEntityStore { { Self::ISpatialEntityStoreStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetForRemoteSystemSession)(::windows_core::Interface::as_raw(this), session.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetForRemoteSystemSession)(::windows_core::Interface::as_raw(this), session.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -979,7 +979,7 @@ impl SpatialEntityUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1004,7 +1004,7 @@ impl SpatialEntityWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Added(&self, handler: P0) -> ::windows_core::Result @@ -1014,7 +1014,7 @@ impl SpatialEntityWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1028,7 +1028,7 @@ impl SpatialEntityWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1042,7 +1042,7 @@ impl SpatialEntityWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1056,7 +1056,7 @@ impl SpatialEntityWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1094,7 +1094,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1102,7 +1102,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1110,7 +1110,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteLinearVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteLinearVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1118,7 +1118,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteLinearAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteLinearAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "deprecated"))] @@ -1126,7 +1126,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteAngularVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteAngularVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Numerics", feature = "deprecated"))] @@ -1134,7 +1134,7 @@ impl SpatialLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteAngularAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteAngularAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1142,7 +1142,7 @@ impl SpatialLocation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteAngularVelocityAxisAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteAngularVelocityAxisAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1150,7 +1150,7 @@ impl SpatialLocation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AbsoluteAngularAccelerationAxisAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AbsoluteAngularAccelerationAxisAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1175,7 +1175,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locatability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locatability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LocatabilityChanged(&self, handler: P0) -> ::windows_core::Result @@ -1185,7 +1185,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocatabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocatabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLocatabilityChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1199,7 +1199,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionalTrackingDeactivating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionalTrackingDeactivating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePositionalTrackingDeactivating(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1214,14 +1214,14 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryLocateAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryLocateAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAttachedFrameOfReferenceAtCurrentHeading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1229,7 +1229,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPosition)(::windows_core::Interface::as_raw(this), relativeposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPosition)(::windows_core::Interface::as_raw(this), relativeposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1237,7 +1237,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1245,14 +1245,14 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientationAndRelativeHeading)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, relativeheadinginradians, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientationAndRelativeHeading)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, relativeheadinginradians, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateStationaryFrameOfReferenceAtCurrentLocation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1260,7 +1260,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPosition)(::windows_core::Interface::as_raw(this), relativeposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPosition)(::windows_core::Interface::as_raw(this), relativeposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1268,7 +1268,7 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientation)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1276,13 +1276,13 @@ impl SpatialLocator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientationAndRelativeHeading)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, relativeheadinginradians, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientationAndRelativeHeading)(::windows_core::Interface::as_raw(this), relativeposition, relativeorientation, relativeheadinginradians, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ISpatialLocatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1313,7 +1313,7 @@ impl SpatialLocatorAttachedFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativePosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativePosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1326,7 +1326,7 @@ impl SpatialLocatorAttachedFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOrientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1345,7 +1345,7 @@ impl SpatialLocatorAttachedFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStationaryCoordinateSystemAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStationaryCoordinateSystemAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetRelativeHeadingAtTimestamp(&self, timestamp: P0) -> ::windows_core::Result> @@ -1355,7 +1355,7 @@ impl SpatialLocatorAttachedFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetRelativeHeadingAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetRelativeHeadingAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1380,7 +1380,7 @@ impl SpatialLocatorPositionalTrackingDeactivatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCanceled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1409,21 +1409,21 @@ impl SpatialStageFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MovementRange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MovementRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MovementRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LookDirectionRange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LookDirectionRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LookDirectionRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCoordinateSystemAtCurrentLocation(&self, locator: P0) -> ::windows_core::Result @@ -1433,7 +1433,7 @@ impl SpatialStageFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCoordinateSystemAtCurrentLocation)(::windows_core::Interface::as_raw(this), locator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCoordinateSystemAtCurrentLocation)(::windows_core::Interface::as_raw(this), locator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1444,13 +1444,13 @@ impl SpatialStageFrameOfReference { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).TryGetMovementBounds)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).TryGetMovementBounds)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn Current() -> ::windows_core::Result { Self::ISpatialStageFrameOfReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CurrentChanged(handler: P0) -> ::windows_core::Result @@ -1459,7 +1459,7 @@ impl SpatialStageFrameOfReference { { Self::ISpatialStageFrameOfReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCurrentChanged(cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1468,7 +1468,7 @@ impl SpatialStageFrameOfReference { pub fn RequestNewStageAsync() -> ::windows_core::Result> { Self::ISpatialStageFrameOfReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestNewStageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestNewStageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1498,7 +1498,7 @@ impl SpatialStationaryFrameOfReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Perception/mod.rs b/crates/libs/windows/src/Windows/Perception/mod.rs index 5c59e062a5..56ae63e3e1 100644 --- a/crates/libs/windows/src/Windows/Perception/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/mod.rs @@ -42,21 +42,21 @@ impl PerceptionTimestamp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PredictionAmount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PredictionAmount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PredictionAmount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SystemRelativeTargetTime(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemRelativeTargetTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemRelativeTargetTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -77,13 +77,13 @@ impl PerceptionTimestampHelper { pub fn FromHistoricalTargetTime(targettime: super::Foundation::DateTime) -> ::windows_core::Result { Self::IPerceptionTimestampHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromHistoricalTargetTime)(::windows_core::Interface::as_raw(this), targettime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromHistoricalTargetTime)(::windows_core::Interface::as_raw(this), targettime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromSystemRelativeTargetTime(targettime: super::Foundation::TimeSpan) -> ::windows_core::Result { Self::IPerceptionTimestampHelperStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromSystemRelativeTargetTime)(::windows_core::Interface::as_raw(this), targettime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromSystemRelativeTargetTime)(::windows_core::Interface::as_raw(this), targettime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/ApplicationModel/mod.rs b/crates/libs/windows/src/Windows/Phone/ApplicationModel/mod.rs index b7b32c1f56..4fc4b0d233 100644 --- a/crates/libs/windows/src/Windows/Phone/ApplicationModel/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/ApplicationModel/mod.rs @@ -10,7 +10,7 @@ impl ApplicationProfile { pub fn Modes() -> ::windows_core::Result { Self::IApplicationProfileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Modes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Modes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/Devices/Notification/mod.rs b/crates/libs/windows/src/Windows/Phone/Devices/Notification/mod.rs index 97b9a89fbc..99703571d2 100644 --- a/crates/libs/windows/src/Windows/Phone/Devices/Notification/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/Devices/Notification/mod.rs @@ -29,7 +29,7 @@ impl VibrationDevice { pub fn GetDefault() -> ::windows_core::Result { Self::IVibrationDeviceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/Devices/Power/mod.rs b/crates/libs/windows/src/Windows/Phone/Devices/Power/mod.rs index a9a118fe56..2dd1bdad3a 100644 --- a/crates/libs/windows/src/Windows/Phone/Devices/Power/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/Devices/Power/mod.rs @@ -24,14 +24,14 @@ impl Battery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingChargePercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingChargePercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemainingDischargeTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingDischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingDischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemainingChargePercentChanged(&self, changehandler: P0) -> ::windows_core::Result @@ -41,7 +41,7 @@ impl Battery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingChargePercentChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingChargePercentChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemainingChargePercentChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -51,7 +51,7 @@ impl Battery { pub fn GetDefault() -> ::windows_core::Result { Self::IBatteryStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/Management/Deployment/mod.rs b/crates/libs/windows/src/Windows/Phone/Management/Deployment/mod.rs index 9f9d0a0d2c..b06a18fa8a 100644 --- a/crates/libs/windows/src/Windows/Phone/Management/Deployment/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/Management/Deployment/mod.rs @@ -97,42 +97,42 @@ impl Enterprise { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WorkplaceId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkplaceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkplaceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnrollmentValidFrom(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnrollmentValidFrom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnrollmentValidFrom)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnrollmentValidTo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnrollmentValidTo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnrollmentValidTo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -154,25 +154,25 @@ impl EnterpriseEnrollmentManager { pub fn EnrolledEnterprises() -> ::windows_core::Result> { Self::IEnterpriseEnrollmentManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnrolledEnterprises)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnrolledEnterprises)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CurrentEnterprise() -> ::windows_core::Result { Self::IEnterpriseEnrollmentManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ValidateEnterprisesAsync() -> ::windows_core::Result { Self::IEnterpriseEnrollmentManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateEnterprisesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateEnterprisesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestEnrollmentAsync(enrollmenttoken: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IEnterpriseEnrollmentManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestEnrollmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enrollmenttoken), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestEnrollmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(enrollmenttoken), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestUnenrollmentAsync(enterprise: P0) -> ::windows_core::Result> @@ -181,7 +181,7 @@ impl EnterpriseEnrollmentManager { { Self::IEnterpriseEnrollmentManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUnenrollmentAsync)(::windows_core::Interface::as_raw(this), enterprise.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUnenrollmentAsync)(::windows_core::Interface::as_raw(this), enterprise.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -202,14 +202,14 @@ impl EnterpriseEnrollmentResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnrolledEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnrolledEnterprise)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -231,7 +231,7 @@ impl InstallationManager { { Self::IInstallationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), sourcelocation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), sourcelocation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AddPackagePreloadedAsync(title: &::windows_core::HSTRING, sourcelocation: P0, instanceid: &::windows_core::HSTRING, offerid: &::windows_core::HSTRING, license: P1) -> ::windows_core::Result> @@ -241,35 +241,35 @@ impl InstallationManager { { Self::IInstallationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddPackagePreloadedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), sourcelocation.into_param().abi(), ::core::mem::transmute_copy(instanceid), ::core::mem::transmute_copy(offerid), license.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddPackagePreloadedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), sourcelocation.into_param().abi(), ::core::mem::transmute_copy(instanceid), ::core::mem::transmute_copy(offerid), license.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetPendingPackageInstalls() -> ::windows_core::Result>> { Self::IInstallationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPendingPackageInstalls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPendingPackageInstalls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindPackagesForCurrentPublisher() -> ::windows_core::Result> { Self::IInstallationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesForCurrentPublisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesForCurrentPublisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindPackages() -> ::windows_core::Result> { Self::IInstallationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Management_Deployment")] pub fn RemovePackageAsync(packagefullname: &::windows_core::HSTRING, removaloptions: super::super::super::Management::Deployment::RemovalOptions) -> ::windows_core::Result> { Self::IInstallationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), removaloptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovePackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), removaloptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Management_Deployment"))] @@ -280,14 +280,14 @@ impl InstallationManager { { Self::IInstallationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterPackageAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterPackageAsync)(::windows_core::Interface::as_raw(this), manifesturi.into_param().abi(), dependencypackageuris.into_param().abi(), deploymentoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindPackagesByNamePublisher(packagename: &::windows_core::HSTRING, packagepublisher: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IInstallationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -313,7 +313,7 @@ impl PackageInstallResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Management_Deployment")] @@ -321,14 +321,14 @@ impl PackageInstallResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Phone/Media/Devices/mod.rs b/crates/libs/windows/src/Windows/Phone/Media/Devices/mod.rs index 46b3c3b203..6162cf40bb 100644 --- a/crates/libs/windows/src/Windows/Phone/Media/Devices/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/Media/Devices/mod.rs @@ -25,7 +25,7 @@ impl AudioRoutingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioEndpoint(&self, endpoint: AudioRoutingEndpoint) -> ::windows_core::Result<()> { @@ -39,7 +39,7 @@ impl AudioRoutingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioEndpointChanged)(::windows_core::Interface::as_raw(this), endpointchangehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioEndpointChanged)(::windows_core::Interface::as_raw(this), endpointchangehandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioEndpointChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -50,13 +50,13 @@ impl AudioRoutingManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableAudioEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableAudioEndpoints)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAudioRoutingManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/Notification/Management/mod.rs b/crates/libs/windows/src/Windows/Phone/Notification/Management/mod.rs index 172c5cf17c..c8db820c60 100644 --- a/crates/libs/windows/src/Windows/Phone/Notification/Management/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/Notification/Management/mod.rs @@ -107,35 +107,35 @@ impl IAccessoryNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -409,13 +409,13 @@ impl AccessoryManager { pub fn RegisterAccessoryApp() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterAccessoryApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterAccessoryApp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetNextTriggerDetails() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNextTriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNextTriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProcessTriggerDetails(pdetails: P0) -> ::windows_core::Result<()> @@ -428,13 +428,13 @@ impl AccessoryManager { pub fn PhoneLineDetails() -> ::windows_core::Result> { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneLineDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneLineDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetPhoneLineDetails(phoneline: ::windows_core::GUID) -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPhoneLineDetails)(::windows_core::Interface::as_raw(this), phoneline, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPhoneLineDetails)(::windows_core::Interface::as_raw(this), phoneline, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AcceptPhoneCall(phonecallid: u32) -> ::windows_core::Result<()> { @@ -482,7 +482,7 @@ impl AccessoryManager { pub fn PhoneMute() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneMute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneMute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetPhoneCallAudioEndpoint(value: PhoneCallAudioEndpoint) -> ::windows_core::Result<()> { @@ -491,7 +491,7 @@ impl AccessoryManager { pub fn PhoneCallAudioEndpoint() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneCallAudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneCallAudioEndpoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SnoozeAlarm(alarmid: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -515,19 +515,19 @@ impl AccessoryManager { pub fn GetMediaMetadata() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMediaMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMediaMetadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MediaPlaybackCapabilities() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlaybackCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlaybackCapabilities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediaPlaybackStatus() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaPlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaPlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PerformMediaPlaybackCommand(command: PlaybackCommand) -> ::windows_core::Result<()> { @@ -536,26 +536,26 @@ impl AccessoryManager { pub fn DoNotDisturbEnabled() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DoNotDisturbEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DoNotDisturbEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DrivingModeEnabled() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrivingModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrivingModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BatterySaverState() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatterySaverState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatterySaverState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetApps() -> ::windows_core::Result> { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EnableNotificationsForApplication(appid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -567,13 +567,13 @@ impl AccessoryManager { pub fn IsNotificationEnabledForApplication(appid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNotificationEnabledForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNotificationEnabledForApplication)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).map(|| result__) }) } pub fn GetEnabledAccessoryNotificationTypes() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEnabledAccessoryNotificationTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEnabledAccessoryNotificationTypes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EnableAccessoryNotificationTypes(accessorynotificationtypes: i32) -> ::windows_core::Result<()> { @@ -585,14 +585,14 @@ impl AccessoryManager { pub fn GetUserConsent() -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserConsent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserConsent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] pub fn GetAppIcon(appid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAccessoryManager(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RingDevice() -> ::windows_core::Result<()> { @@ -602,7 +602,7 @@ impl AccessoryManager { pub fn SpeedDialList() -> ::windows_core::Result> { Self::IAccessoryManager2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeedDialList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeedDialList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ClearToast(instanceid: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -611,7 +611,7 @@ impl AccessoryManager { pub fn IsPhonePinLocked() -> ::windows_core::Result { Self::IAccessoryManager2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPhonePinLocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPhonePinLocked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IncreaseVolume(step: i32) -> ::windows_core::Result<()> { @@ -629,21 +629,21 @@ impl AccessoryManager { pub fn VolumeInfo() -> ::windows_core::Result { Self::IAccessoryManager2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VolumeInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VolumeInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetAllEmailAccounts() -> ::windows_core::Result> { Self::IAccessoryManager2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllEmailAccounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllEmailAccounts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetFolders(emailaccount: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IAccessoryManager2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolders)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(emailaccount), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolders)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(emailaccount), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EnableEmailNotificationEmailAccount(emailaccount: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -706,35 +706,35 @@ impl AlarmNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -745,35 +745,35 @@ impl AlarmNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlarmId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlarmId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReminderState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReminderState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReminderState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InstanceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -796,14 +796,14 @@ impl AppNotificationInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -826,14 +826,14 @@ impl BinaryId { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -857,35 +857,35 @@ impl CalendarChangedNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -896,14 +896,14 @@ impl CalendarChangedNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ItemId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -927,35 +927,35 @@ impl CortanaTileNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -966,70 +966,70 @@ impl CortanaTileNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Content(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LargeContent1(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LargeContent1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LargeContent1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LargeContent2(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LargeContent2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LargeContent2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EmphasizedText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmphasizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmphasizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NonWrappedSmallContent1(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonWrappedSmallContent1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonWrappedSmallContent1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NonWrappedSmallContent2(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonWrappedSmallContent2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonWrappedSmallContent2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NonWrappedSmallContent3(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonWrappedSmallContent3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonWrappedSmallContent3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NonWrappedSmallContent4(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonWrappedSmallContent4)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonWrappedSmallContent4)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1052,14 +1052,14 @@ impl EmailAccountInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsNotificationEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1082,14 +1082,14 @@ impl EmailFolderInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsNotificationEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNotificationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1113,35 +1113,35 @@ impl EmailNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1152,28 +1152,28 @@ impl EmailNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentFolderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentFolderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentFolderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SenderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SenderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SenderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SenderAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SenderAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SenderAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Email")] @@ -1181,21 +1181,21 @@ impl EmailNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageEntryId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageEntryId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageEntryId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1219,35 +1219,35 @@ impl EmailReadNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1258,28 +1258,28 @@ impl EmailReadNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ParentFolderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentFolderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentFolderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MessageEntryId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageEntryId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageEntryId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1303,35 +1303,35 @@ impl MediaControlsTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1342,14 +1342,14 @@ impl MediaControlsTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaMetadata(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaMetadata)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1372,42 +1372,42 @@ impl MediaMetadata { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subtitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Artist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Album(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Track(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Track)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Track)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1415,7 +1415,7 @@ impl MediaMetadata { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1438,77 +1438,77 @@ impl PhoneCallDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallTransport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallTransport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallTransport)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallMediaType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallMediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallMediaType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallDirection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConferenceCallId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConferenceCallId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConferenceCallId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1516,7 +1516,7 @@ impl PhoneCallDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PresetTextResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PresetTextResponses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1539,49 +1539,49 @@ impl PhoneLineDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LineNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultOutgoingLine(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultOutgoingLine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultOutgoingLine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VoicemailCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VoicemailCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VoicemailCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RegistrationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegistrationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MissedCallCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MissedCallCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MissedCallCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1605,35 +1605,35 @@ impl PhoneNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1644,21 +1644,21 @@ impl PhoneNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallDetails(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhoneLineChangedId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneLineChangedId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneLineChangedId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1682,35 +1682,35 @@ impl ReminderNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1721,35 +1721,35 @@ impl ReminderNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReminderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReminderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Details(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Details)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Appointments")] @@ -1757,21 +1757,21 @@ impl ReminderNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Appointment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReminderState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReminderState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReminderState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InstanceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1794,21 +1794,21 @@ impl SpeedDialEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumberType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumberType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumberType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContactName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1831,14 +1831,14 @@ impl TextResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Content(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1862,35 +1862,35 @@ impl ToastNotificationTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AccessoryNotificationType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessoryNotificationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartedProcessing(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartedProcessing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartedProcessing(&self, value: bool) -> ::windows_core::Result<()> { @@ -1901,42 +1901,42 @@ impl ToastNotificationTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text2(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text3(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text4(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text4)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text4)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SuppressPopup(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InstanceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1959,35 +1959,35 @@ impl VolumeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemVolume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CallVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallVolume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MediaVolume(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaVolume)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaVolume)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMuted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMuted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVibrateEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVibrateEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVibrateEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Phone/PersonalInformation/Provisioning/mod.rs b/crates/libs/windows/src/Windows/Phone/PersonalInformation/Provisioning/mod.rs index 692498dd70..8a215fd20f 100644 --- a/crates/libs/windows/src/Windows/Phone/PersonalInformation/Provisioning/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/PersonalInformation/Provisioning/mod.rs @@ -38,7 +38,7 @@ impl ContactPartnerProvisioningManager { { Self::IContactPartnerProvisioningManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AssociateNetworkAccountAsync)(::windows_core::Interface::as_raw(this), store.into_param().abi(), ::core::mem::transmute_copy(networkname), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AssociateNetworkAccountAsync)(::windows_core::Interface::as_raw(this), store.into_param().abi(), ::core::mem::transmute_copy(networkname), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -48,7 +48,7 @@ impl ContactPartnerProvisioningManager { { Self::IContactPartnerProvisioningManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportVcardToSystemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportVcardToSystemAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AssociateSocialNetworkAccountAsync(store: P0, networkname: &::windows_core::HSTRING, networkaccountid: &::windows_core::HSTRING) -> ::windows_core::Result @@ -57,7 +57,7 @@ impl ContactPartnerProvisioningManager { { Self::IContactPartnerProvisioningManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AssociateSocialNetworkAccountAsync)(::windows_core::Interface::as_raw(this), store.into_param().abi(), ::core::mem::transmute_copy(networkname), ::core::mem::transmute_copy(networkaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AssociateSocialNetworkAccountAsync)(::windows_core::Interface::as_raw(this), store.into_param().abi(), ::core::mem::transmute_copy(networkname), ::core::mem::transmute_copy(networkaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -83,7 +83,7 @@ impl MessagePartnerProvisioningManager { { Self::IMessagePartnerProvisioningManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportSmsToSystemAsync)(::windows_core::Interface::as_raw(this), incoming, read, ::core::mem::transmute_copy(body), ::core::mem::transmute_copy(sender), recipients.into_param().abi(), deliverytime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportSmsToSystemAsync)(::windows_core::Interface::as_raw(this), incoming, read, ::core::mem::transmute_copy(body), ::core::mem::transmute_copy(sender), recipients.into_param().abi(), deliverytime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -94,7 +94,7 @@ impl MessagePartnerProvisioningManager { { Self::IMessagePartnerProvisioningManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportMmsToSystemAsync)(::windows_core::Interface::as_raw(this), incoming, read, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(sender), recipients.into_param().abi(), deliverytime, attachments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportMmsToSystemAsync)(::windows_core::Interface::as_raw(this), incoming, read, ::core::mem::transmute_copy(subject), ::core::mem::transmute_copy(sender), recipients.into_param().abi(), deliverytime, attachments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/PersonalInformation/mod.rs b/crates/libs/windows/src/Windows/Phone/PersonalInformation/mod.rs index 700978eee5..c2b06a2198 100644 --- a/crates/libs/windows/src/Windows/Phone/PersonalInformation/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/PersonalInformation/mod.rs @@ -33,7 +33,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -44,7 +44,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -55,7 +55,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGivenName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -66,7 +66,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificPrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -77,7 +77,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificSuffix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -89,7 +89,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -100,7 +100,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -108,7 +108,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -116,7 +116,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -124,7 +124,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -132,7 +132,7 @@ impl IContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -185,7 +185,7 @@ impl IContactInformation2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPictureDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPictureDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayPictureDate(&self, returnvalue: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -362,7 +362,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCountry(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -373,7 +373,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocality(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -384,7 +384,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRegion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -395,7 +395,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostalCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPostalCode(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -406,7 +406,7 @@ impl ContactAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreetAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreetAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreetAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -435,28 +435,28 @@ impl ContactChangeRecord { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RevisionNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RevisionNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RevisionNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -489,7 +489,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -500,7 +500,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -511,7 +511,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGivenName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -522,7 +522,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificPrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -533,7 +533,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificSuffix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -545,7 +545,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -556,7 +556,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -564,7 +564,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -572,7 +572,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -580,7 +580,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -588,7 +588,7 @@ impl ContactInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -598,7 +598,7 @@ impl ContactInformation { { Self::IContactInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParseVcardAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParseVcardAsync)(::windows_core::Interface::as_raw(this), vcard.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -636,14 +636,14 @@ impl ContactQueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredFields)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OrderBy(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrderBy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrderBy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrderBy(&self, value: ContactQueryResultOrdering) -> ::windows_core::Result<()> { @@ -672,7 +672,7 @@ impl ContactQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -680,7 +680,7 @@ impl ContactQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -688,14 +688,14 @@ impl ContactQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContactsAsyncInRange)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContactsAsyncInRange)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentQueryOptions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -720,28 +720,28 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactByRemoteIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindContactByIdAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindContactByIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindContactByIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteContactAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContactQueryDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContactQueryDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContactQueryDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContactQueryWithOptions(&self, options: P0) -> ::windows_core::Result @@ -751,21 +751,21 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContactQueryWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContactQueryWithOptions)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RevisionNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RevisionNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RevisionNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -773,7 +773,7 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangesAsync)(::windows_core::Interface::as_raw(this), baserevisionnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangesAsync)(::windows_core::Interface::as_raw(this), baserevisionnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -781,7 +781,7 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -792,26 +792,26 @@ impl ContactStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateMeContactAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMeContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMeContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOrOpenAsync() -> ::windows_core::Result> { Self::IContactStoreStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOrOpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOrOpenAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateOrOpenWithOptionsAsync(access: ContactStoreSystemAccessMode, sharing: ContactStoreApplicationAccessMode) -> ::windows_core::Result> { Self::IContactStoreStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOrOpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), access, sharing, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOrOpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), access, sharing, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -837,211 +837,211 @@ impl KnownContactProperties { pub fn DisplayName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FamilyName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GivenName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HonorificPrefix() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HonorificSuffix() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AdditionalName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdditionalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdditionalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Address() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OtherAddress() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Email() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WorkAddress() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WorkTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn JobTitle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JobTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JobTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Birthdate() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Birthdate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Birthdate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Anniversary() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Anniversary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Anniversary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Telephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Telephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Telephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MobileTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MobileTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MobileTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Url() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Url)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Url)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Notes() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WorkFax() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkFax)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkFax)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Children() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SignificantOther() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignificantOther)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignificantOther)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CompanyName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CompanyTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompanyTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompanyTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HomeFax() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeFax)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeFax)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AlternateTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Manager() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Manager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Manager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Nickname() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Nickname)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OfficeLocation() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OfficeLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OfficeLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WorkEmail() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkEmail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkEmail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn YomiGivenName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiGivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiGivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn YomiFamilyName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn YomiCompanyName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YomiCompanyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YomiCompanyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OtherEmail() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherEmail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherEmail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AlternateMobileTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateMobileTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateMobileTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AlternateWorkTelephone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownContactPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateWorkTelephone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateWorkTelephone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1063,7 +1063,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1074,7 +1074,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1085,7 +1085,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GivenName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGivenName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1096,7 +1096,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificPrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificPrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1107,7 +1107,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HonorificSuffix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHonorificSuffix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1119,7 +1119,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1130,7 +1130,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDisplayPictureAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1138,7 +1138,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPicture)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1146,7 +1146,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1154,7 +1154,7 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1162,14 +1162,14 @@ impl StoredContact { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToVcardWithOptionsAsync)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayPictureDate(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPictureDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPictureDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayPictureDate(&self, returnvalue: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1180,21 +1180,21 @@ impl StoredContact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Store)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Store)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1206,21 +1206,21 @@ impl StoredContact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetExtendedPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReplaceExistingContactAsync(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceExistingContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceExistingContactAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateStoredContact(store: P0) -> ::windows_core::Result @@ -1229,7 +1229,7 @@ impl StoredContact { { Self::IStoredContactFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStoredContact)(::windows_core::Interface::as_raw(this), store.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStoredContact)(::windows_core::Interface::as_raw(this), store.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStoredContactFromInformation(store: P0, contact: P1) -> ::windows_core::Result @@ -1239,7 +1239,7 @@ impl StoredContact { { Self::IStoredContactFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStoredContactFromInformation)(::windows_core::Interface::as_raw(this), store.into_param().abi(), contact.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStoredContactFromInformation)(::windows_core::Interface::as_raw(this), store.into_param().abi(), contact.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/StartScreen/mod.rs b/crates/libs/windows/src/Windows/Phone/StartScreen/mod.rs index ba7d80bb5d..769eaf204a 100644 --- a/crates/libs/windows/src/Windows/Phone/StartScreen/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/StartScreen/mod.rs @@ -50,7 +50,7 @@ impl IToastNotificationManagerStatics3 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifierForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifierForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -86,89 +86,89 @@ impl DualSimTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPinnedToStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinnedToStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinnedToStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTileForSim2() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTileForSim2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTileForSim2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UpdateDisplayNameForSim1Async(name: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateDisplayNameForSim1Async)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateDisplayNameForSim1Async)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateTileUpdaterForSim1() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForSim1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForSim1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateTileUpdaterForSim2() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForSim2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForSim2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateBadgeUpdaterForSim1() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSim1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSim1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateBadgeUpdaterForSim2() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSim2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSim2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateToastNotifierForSim1() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifierForSim1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifierForSim1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Notifications")] pub fn CreateToastNotifierForSim2() -> ::windows_core::Result { Self::IDualSimTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifierForSim2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifierForSim2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/System/Power/mod.rs b/crates/libs/windows/src/Windows/Phone/System/Power/mod.rs index faf1a5e631..c4fd7d15ea 100644 --- a/crates/libs/windows/src/Windows/Phone/System/Power/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/System/Power/mod.rs @@ -19,7 +19,7 @@ impl PowerManager { pub fn PowerSavingMode() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSavingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSavingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PowerSavingModeChanged(changehandler: P0) -> ::windows_core::Result @@ -28,7 +28,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSavingModeChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSavingModeChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemovePowerSavingModeChanged(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -37,7 +37,7 @@ impl PowerManager { pub fn PowerSavingModeEnabled() -> ::windows_core::Result { Self::IPowerManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSavingModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSavingModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/System/Profile/mod.rs b/crates/libs/windows/src/Windows/Phone/System/Profile/mod.rs index 5cc886fe2c..0614c904bd 100644 --- a/crates/libs/windows/src/Windows/Phone/System/Profile/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/System/Profile/mod.rs @@ -18,7 +18,7 @@ impl RetailMode { pub fn RetailModeEnabled() -> ::windows_core::Result { Self::IRetailModeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetailModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetailModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Phone/System/UserProfile/GameServices/Core/mod.rs b/crates/libs/windows/src/Windows/Phone/System/UserProfile/GameServices/Core/mod.rs index b3cd324d74..6f38505689 100644 --- a/crates/libs/windows/src/Windows/Phone/System/UserProfile/GameServices/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/System/UserProfile/GameServices/Core/mod.rs @@ -35,19 +35,19 @@ impl GameService { pub fn ServiceUri() -> ::windows_core::Result { Self::IGameService(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetGamerProfileAsync() -> ::windows_core::Result> { Self::IGameService(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGamerProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGamerProfileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetInstalledGameItemsAsync() -> ::windows_core::Result> { Self::IGameService(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInstalledGameItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInstalledGameItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetPartnerTokenAsync(audienceuri: P0) -> ::windows_core::Result> @@ -56,13 +56,13 @@ impl GameService { { Self::IGameService(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPartnerTokenAsync)(::windows_core::Interface::as_raw(this), audienceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPartnerTokenAsync)(::windows_core::Interface::as_raw(this), audienceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetPrivilegesAsync() -> ::windows_core::Result> { Self::IGameService(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrivilegesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrivilegesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GrantAchievement(achievementid: u32) -> ::windows_core::Result<()> { @@ -87,7 +87,7 @@ impl GameService { pub fn GetAuthenticationStatus() -> ::windows_core::Result { Self::IGameService2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAuthenticationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAuthenticationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -113,7 +113,7 @@ impl GameServicePropertyCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Phone/System/mod.rs b/crates/libs/windows/src/Windows/Phone/System/mod.rs index 21120760db..e3b818375c 100644 --- a/crates/libs/windows/src/Windows/Phone/System/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/System/mod.rs @@ -23,7 +23,7 @@ impl SystemProtection { pub fn ScreenLocked() -> ::windows_core::Result { Self::ISystemProtectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenLocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenLocked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RequestScreenUnlock() -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Phone/UI/Input/mod.rs b/crates/libs/windows/src/Windows/Phone/UI/Input/mod.rs index 8c54c8d25f..bf41fe03b2 100644 --- a/crates/libs/windows/src/Windows/Phone/UI/Input/mod.rs +++ b/crates/libs/windows/src/Windows/Phone/UI/Input/mod.rs @@ -41,7 +41,7 @@ impl BackPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -86,7 +86,7 @@ impl HardwareButtons { { Self::IHardwareButtonsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveBackPressed(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl HardwareButtons { { Self::IHardwareButtonsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraHalfPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraHalfPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCameraHalfPressed(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -110,7 +110,7 @@ impl HardwareButtons { { Self::IHardwareButtonsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCameraPressed(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -122,7 +122,7 @@ impl HardwareButtons { { Self::IHardwareButtonsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCameraReleased(token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs index 9e9722f7ba..3e86ce8ffd 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs @@ -85,28 +85,28 @@ impl MicrosoftAccountMultiFactorAuthenticationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOneTimePassCodeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), codelength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOneTimePassCodeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), codelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddDeviceAsync(&self, useraccountid: &::windows_core::HSTRING, authenticationtoken: &::windows_core::HSTRING, wnschannelid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddDeviceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(authenticationtoken), ::core::mem::transmute_copy(wnschannelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddDeviceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(authenticationtoken), ::core::mem::transmute_copy(wnschannelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveDeviceAsync(&self, useraccountid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveDeviceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveDeviceAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateWnsChannelAsync(&self, useraccountid: &::windows_core::HSTRING, channeluri: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateWnsChannelAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(channeluri), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateWnsChannelAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(channeluri), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -117,7 +117,7 @@ impl MicrosoftAccountMultiFactorAuthenticationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionsAsync)(::windows_core::Interface::as_raw(this), useraccountidlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionsAsync)(::windows_core::Interface::as_raw(this), useraccountidlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -128,7 +128,7 @@ impl MicrosoftAccountMultiFactorAuthenticationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionsAndUnregisteredAccountsAsync)(::windows_core::Interface::as_raw(this), useraccountidlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionsAndUnregisteredAccountsAsync)(::windows_core::Interface::as_raw(this), useraccountidlist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApproveSessionUsingAuthSessionInfoAsync(&self, sessionauthentictionstatus: MicrosoftAccountMultiFactorSessionAuthenticationStatus, authenticationsessioninfo: P0) -> ::windows_core::Result> @@ -138,14 +138,14 @@ impl MicrosoftAccountMultiFactorAuthenticationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApproveSessionUsingAuthSessionInfoAsync)(::windows_core::Interface::as_raw(this), sessionauthentictionstatus, authenticationsessioninfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApproveSessionUsingAuthSessionInfoAsync)(::windows_core::Interface::as_raw(this), sessionauthentictionstatus, authenticationsessioninfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApproveSessionAsync(&self, sessionauthentictionstatus: MicrosoftAccountMultiFactorSessionAuthenticationStatus, useraccountid: &::windows_core::HSTRING, sessionid: &::windows_core::HSTRING, sessionauthenticationtype: MicrosoftAccountMultiFactorAuthenticationType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApproveSessionAsync)(::windows_core::Interface::as_raw(this), sessionauthentictionstatus, ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(sessionid), sessionauthenticationtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApproveSessionAsync)(::windows_core::Interface::as_raw(this), sessionauthentictionstatus, ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(sessionid), sessionauthenticationtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DenySessionUsingAuthSessionInfoAsync(&self, authenticationsessioninfo: P0) -> ::windows_core::Result> @@ -155,20 +155,20 @@ impl MicrosoftAccountMultiFactorAuthenticationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DenySessionUsingAuthSessionInfoAsync)(::windows_core::Interface::as_raw(this), authenticationsessioninfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DenySessionUsingAuthSessionInfoAsync)(::windows_core::Interface::as_raw(this), authenticationsessioninfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DenySessionAsync(&self, useraccountid: &::windows_core::HSTRING, sessionid: &::windows_core::HSTRING, sessionauthenticationtype: MicrosoftAccountMultiFactorAuthenticationType) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DenySessionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(sessionid), sessionauthenticationtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DenySessionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(useraccountid), ::core::mem::transmute_copy(sessionid), sessionauthenticationtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IMicrosoftAccountMultiFactorAuthenticatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -199,14 +199,14 @@ impl MicrosoftAccountMultiFactorGetSessionsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sessions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sessions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceResponse(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -231,28 +231,28 @@ impl MicrosoftAccountMultiFactorOneTimeCodedInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Code)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeInterval(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeInterval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TimeToLive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToLive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToLive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ServiceResponse(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -277,49 +277,49 @@ impl MicrosoftAccountMultiFactorSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserAccountId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserAccountId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplaySessionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplaySessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplaySessionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApprovalStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApprovalStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApprovalStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AuthenticationType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -345,7 +345,7 @@ impl MicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sessions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sessions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -353,14 +353,14 @@ impl MicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnregisteredAccounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnregisteredAccounts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ServiceResponse(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceResponse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Security/Authentication/Identity/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/Identity/mod.rs index 5e84dbf0e6..bde5e4274d 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/Identity/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/Identity/mod.rs @@ -37,35 +37,35 @@ impl EnterpriseKeyCredentialRegistrationInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TenantId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TenantId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TenantName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TenantName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TenantName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KeyId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KeyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -91,13 +91,13 @@ impl EnterpriseKeyCredentialRegistrationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRegistrationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRegistrationsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IEnterpriseKeyCredentialRegistrationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs index e4675042c0..22120f0815 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs @@ -116,7 +116,7 @@ impl OnlineIdAuthenticator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateUserAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateUserAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -127,14 +127,14 @@ impl OnlineIdAuthenticator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateUserAsyncAdvanced)(::windows_core::Interface::as_raw(this), requests.into_param().abi(), credentialprompttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateUserAsyncAdvanced)(::windows_core::Interface::as_raw(this), requests.into_param().abi(), credentialprompttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignOutUserAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignOutUserAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignOutUserAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetApplicationId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -145,21 +145,21 @@ impl OnlineIdAuthenticator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanSignOut(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSignOut)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSignOut)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AuthenticatedSafeCustomerId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticatedSafeCustomerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticatedSafeCustomerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -184,21 +184,21 @@ impl OnlineIdServiceTicket { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Request(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ErrorCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -223,26 +223,26 @@ impl OnlineIdServiceTicketRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Service)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Policy(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Policy)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOnlineIdServiceTicketRequest(service: &::windows_core::HSTRING, policy: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IOnlineIdServiceTicketRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOnlineIdServiceTicketRequest)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(policy), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOnlineIdServiceTicketRequest)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(service), ::core::mem::transmute_copy(policy), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateOnlineIdServiceTicketRequestAdvanced(service: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IOnlineIdServiceTicketRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOnlineIdServiceTicketRequestAdvanced)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(service), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOnlineIdServiceTicketRequestAdvanced)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(service), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -268,7 +268,7 @@ impl OnlineIdSystemAuthenticator { pub fn Default() -> ::windows_core::Result { Self::IOnlineIdSystemAuthenticatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Default)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -278,7 +278,7 @@ impl OnlineIdSystemAuthenticator { { Self::IOnlineIdSystemAuthenticatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -302,7 +302,7 @@ impl OnlineIdSystemAuthenticatorForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTicketAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTicketAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetApplicationId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -313,7 +313,7 @@ impl OnlineIdSystemAuthenticatorForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -321,7 +321,7 @@ impl OnlineIdSystemAuthenticatorForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -346,14 +346,14 @@ impl OnlineIdSystemIdentity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ticket)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ticket)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -378,21 +378,21 @@ impl OnlineIdSystemTicketResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -425,7 +425,7 @@ impl SignOutUserOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result<()> { @@ -436,21 +436,21 @@ impl SignOutUserOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -513,21 +513,21 @@ impl UserAuthenticationOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -549,14 +549,14 @@ impl UserAuthenticationOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -611,56 +611,56 @@ impl UserIdentity { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tickets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tickets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SafeCustomerId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SafeCustomerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SafeCustomerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignInName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignInName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignInName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsBetaAccount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBetaAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBetaAccount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsConfirmedPC(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsConfirmedPC)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsConfirmedPC)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs index b7b2b12af8..4ea139c7f7 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs @@ -244,21 +244,21 @@ impl FindAllAccountsResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Accounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Accounts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProviderError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -284,7 +284,7 @@ impl WebAccountEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Account)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Account)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -312,7 +312,7 @@ impl WebAccountMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -326,7 +326,7 @@ impl WebAccountMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -340,7 +340,7 @@ impl WebAccountMonitor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultSignInAccountChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultSignInAccountChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDefaultSignInAccountChanged(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -354,7 +354,7 @@ impl WebAccountMonitor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPictureUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPictureUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccountPictureUpdated(&self, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -382,7 +382,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokenSilentlyAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokenSilentlyAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -393,7 +393,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTokenSilentlyWithWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTokenSilentlyWithWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestTokenAsync(request: P0) -> ::windows_core::Result> @@ -402,7 +402,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestTokenAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestTokenAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -413,7 +413,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestTokenWithWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestTokenWithWebAccountAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -423,21 +423,21 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAccountAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(webaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAccountAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(webaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] pub fn FindAccountProviderAsync(webaccountproviderid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAccountProviderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAccountProviderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] pub fn FindAccountProviderWithAuthorityAsync(webaccountproviderid: &::windows_core::HSTRING, authority: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWebAuthenticationCoreManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAccountProviderWithAuthorityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAccountProviderWithAuthorityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Security_Credentials", feature = "System"))] @@ -447,7 +447,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAccountProviderWithAuthorityForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAccountProviderWithAuthorityForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -457,7 +457,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebAccountMonitor)(::windows_core::Interface::as_raw(this), webaccounts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebAccountMonitor)(::windows_core::Interface::as_raw(this), webaccounts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -467,7 +467,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAccountsAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAccountsAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -477,21 +477,21 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAccountsWithClientIdAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(clientid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAccountsWithClientIdAsync)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(clientid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] pub fn FindSystemAccountProviderAsync(webaccountproviderid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWebAuthenticationCoreManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindSystemAccountProviderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindSystemAccountProviderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] pub fn FindSystemAccountProviderWithAuthorityAsync(webaccountproviderid: &::windows_core::HSTRING, authority: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWebAuthenticationCoreManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindSystemAccountProviderWithAuthorityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindSystemAccountProviderWithAuthorityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Security_Credentials", feature = "System"))] @@ -501,7 +501,7 @@ impl WebAuthenticationCoreManager { { Self::IWebAuthenticationCoreManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindSystemAccountProviderWithAuthorityForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindSystemAccountProviderWithAuthorityForUserAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountproviderid), ::core::mem::transmute_copy(authority), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -537,14 +537,14 @@ impl WebProviderError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorMessage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -552,13 +552,13 @@ impl WebProviderError { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(errorcode: u32, errormessage: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWebProviderErrorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), errorcode, ::core::mem::transmute_copy(errormessage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), errorcode, ::core::mem::transmute_copy(errormessage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -589,28 +589,28 @@ impl WebTokenRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Scope(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scope)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClientId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PromptType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PromptType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PromptType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -618,7 +618,7 @@ impl WebTokenRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -626,14 +626,14 @@ impl WebTokenRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CorrelationId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCorrelationId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -647,7 +647,7 @@ impl WebTokenRequest { { Self::IWebTokenRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(clientid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(clientid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -657,7 +657,7 @@ impl WebTokenRequest { { Self::IWebTokenRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPromptType)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(clientid), prompttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPromptType)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(clientid), prompttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -667,7 +667,7 @@ impl WebTokenRequest { { Self::IWebTokenRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProvider)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProvider)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -677,7 +677,7 @@ impl WebTokenRequest { { Self::IWebTokenRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithScope)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithScope)(::windows_core::Interface::as_raw(this), provider.into_param().abi(), ::core::mem::transmute_copy(scope), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -708,28 +708,28 @@ impl WebTokenRequestResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResponseError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InvalidateCacheAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidateCacheAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidateCacheAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -761,14 +761,14 @@ impl WebTokenResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderError(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -776,7 +776,7 @@ impl WebTokenResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -784,13 +784,13 @@ impl WebTokenResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithToken(token: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWebTokenResponseFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -800,7 +800,7 @@ impl WebTokenResponse { { Self::IWebTokenResponseFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTokenAndAccount)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTokenAndAccount)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -811,7 +811,7 @@ impl WebTokenResponse { { Self::IWebTokenResponseFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTokenAccountAndError)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), webaccount.into_param().abi(), error.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTokenAccountAndError)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), webaccount.into_param().abi(), error.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs index 855d8a3e4a..6cac5406f8 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs @@ -187,7 +187,7 @@ impl IWebAccountProviderOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -275,7 +275,7 @@ impl IWebAccountProviderTokenObjects { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -297,14 +297,14 @@ impl IWebAccountProviderTokenObjects2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Operation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -328,7 +328,7 @@ impl IWebAccountProviderTokenOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -336,7 +336,7 @@ impl IWebAccountProviderTokenOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -347,14 +347,14 @@ impl IWebAccountProviderTokenOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -489,21 +489,21 @@ impl WebAccountClientView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccountPairwiseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPairwiseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPairwiseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(viewtype: WebAccountClientViewType, applicationcallbackuri: P0) -> ::windows_core::Result @@ -512,7 +512,7 @@ impl WebAccountClientView { { Self::IWebAccountClientViewFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), viewtype, applicationcallbackuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), viewtype, applicationcallbackuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithPairwiseId(viewtype: WebAccountClientViewType, applicationcallbackuri: P0, accountpairwiseid: &::windows_core::HSTRING) -> ::windows_core::Result @@ -521,7 +521,7 @@ impl WebAccountClientView { { Self::IWebAccountClientViewFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithPairwiseId)(::windows_core::Interface::as_raw(this), viewtype, applicationcallbackuri.into_param().abi(), ::core::mem::transmute_copy(accountpairwiseid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithPairwiseId)(::windows_core::Interface::as_raw(this), viewtype, applicationcallbackuri.into_param().abi(), ::core::mem::transmute_copy(accountpairwiseid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -552,7 +552,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateWebAccountPropertiesAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), ::core::mem::transmute_copy(webaccountusername), additionalproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateWebAccountPropertiesAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), ::core::mem::transmute_copy(webaccountusername), additionalproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -562,7 +562,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -572,14 +572,14 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteWebAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteWebAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] pub fn FindAllProviderWebAccountsAsync() -> ::windows_core::Result>> { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllProviderWebAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllProviderWebAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))] @@ -590,7 +590,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PushCookiesAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), cookies.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PushCookiesAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), cookies.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -601,7 +601,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetViewAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetViewAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), view.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -612,7 +612,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearViewAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), applicationcallbackuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearViewAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), applicationcallbackuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -622,7 +622,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetViewsAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetViewsAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Security_Credentials", feature = "Storage_Streams"))] @@ -633,7 +633,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetWebAccountPictureAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), webaccountpicture.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetWebAccountPictureAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), webaccountpicture.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -643,13 +643,13 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearWebAccountPictureAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearWebAccountPictureAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PullCookiesAsync(uristring: &::windows_core::HSTRING, callerpfn: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWebAccountManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PullCookiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(uristring), ::core::mem::transmute_copy(callerpfn), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PullCookiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(uristring), ::core::mem::transmute_copy(callerpfn), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))] @@ -659,7 +659,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllProviderWebAccountsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllProviderWebAccountsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))] @@ -670,7 +670,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))] @@ -681,7 +681,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountWithScopeForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountWithScopeForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))] @@ -692,13 +692,13 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAndMapForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAndMapForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn InvalidateAppCacheForAllAccountsAsync() -> ::windows_core::Result { Self::IWebAccountManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidateAppCacheForAllAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidateAppCacheForAllAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -708,7 +708,7 @@ impl WebAccountManager { { Self::IWebAccountManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvalidateAppCacheForAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvalidateAppCacheForAccountAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -718,7 +718,7 @@ impl WebAccountManager { { Self::IWebAccountMapManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAndMapAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAndMapAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -728,7 +728,7 @@ impl WebAccountManager { { Self::IWebAccountMapManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetPerAppToPerUserAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetPerAppToPerUserAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -738,7 +738,7 @@ impl WebAccountManager { { Self::IWebAccountMapManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPerUserFromPerAppAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPerUserFromPerAppAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -748,7 +748,7 @@ impl WebAccountManager { { Self::IWebAccountMapManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearPerUserFromPerAppAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearPerUserFromPerAppAccountAsync)(::windows_core::Interface::as_raw(this), perappaccount.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -758,7 +758,7 @@ impl WebAccountManager { { Self::IWebAccountScopeManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWebAccountWithScopeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.into_param().abi(), scope, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -768,7 +768,7 @@ impl WebAccountManager { { Self::IWebAccountScopeManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetScopeAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), scope, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetScopeAsync)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), scope, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -778,7 +778,7 @@ impl WebAccountManager { { Self::IWebAccountScopeManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScope)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScope)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -829,7 +829,7 @@ impl WebAccountProviderAddAccountOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -868,14 +868,14 @@ impl WebAccountProviderDeleteAccountOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -913,7 +913,7 @@ impl WebAccountProviderGetTokenSilentOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportUserInteractionRequired(&self) -> ::windows_core::Result<()> { @@ -932,7 +932,7 @@ impl WebAccountProviderGetTokenSilentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -940,7 +940,7 @@ impl WebAccountProviderGetTokenSilentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -951,7 +951,7 @@ impl WebAccountProviderGetTokenSilentOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -978,7 +978,7 @@ impl WebAccountProviderManageAccountOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportCompleted(&self) -> ::windows_core::Result<()> { @@ -989,7 +989,7 @@ impl WebAccountProviderManageAccountOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1027,14 +1027,14 @@ impl WebAccountProviderRequestTokenOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProviderRequest(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1042,7 +1042,7 @@ impl WebAccountProviderRequestTokenOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderResponses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1053,7 +1053,7 @@ impl WebAccountProviderRequestTokenOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReportUserCanceled(&self) -> ::windows_core::Result<()> { @@ -1095,14 +1095,14 @@ impl WebAccountProviderRetrieveCookiesOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Context(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))] @@ -1110,7 +1110,7 @@ impl WebAccountProviderRetrieveCookiesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, uri: P0) -> ::windows_core::Result<()> @@ -1124,14 +1124,14 @@ impl WebAccountProviderRetrieveCookiesOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationCallbackUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1169,7 +1169,7 @@ impl WebAccountProviderSignOutAccountOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Security_Credentials")] @@ -1177,21 +1177,21 @@ impl WebAccountProviderSignOutAccountOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationCallbackUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClientId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1217,7 +1217,7 @@ impl WebAccountProviderTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -1225,7 +1225,7 @@ impl WebAccountProviderTriggerDetails { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1251,7 +1251,7 @@ impl WebProviderTokenRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))] @@ -1259,21 +1259,21 @@ impl WebProviderTokenRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccounts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WebAccountSelectionOptions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountSelectionOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountSelectionOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ApplicationCallbackUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Core")] @@ -1284,7 +1284,7 @@ impl WebProviderTokenRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApplicationTokenBindingKeyAsync)(::windows_core::Interface::as_raw(this), keytype, target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApplicationTokenBindingKeyAsync)(::windows_core::Interface::as_raw(this), keytype, target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1295,28 +1295,28 @@ impl WebProviderTokenRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApplicationTokenBindingKeyIdAsync)(::windows_core::Interface::as_raw(this), keytype, target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApplicationTokenBindingKeyIdAsync)(::windows_core::Interface::as_raw(this), keytype, target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplicationProcessName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationProcessName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationProcessName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckApplicationForCapabilityAsync(&self, capabilityname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckApplicationForCapabilityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckApplicationForCapabilityAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1342,7 +1342,7 @@ impl WebProviderTokenResponse { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientResponse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientResponse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Authentication_Web_Core")] @@ -1352,7 +1352,7 @@ impl WebProviderTokenResponse { { Self::IWebProviderTokenResponseFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), webtokenresponse.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), webtokenresponse.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Authentication/Web/mod.rs b/crates/libs/windows/src/Windows/Security/Authentication/Web/mod.rs index 96bdae8c7c..23f0c0c04a 100644 --- a/crates/libs/windows/src/Windows/Security/Authentication/Web/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authentication/Web/mod.rs @@ -43,7 +43,7 @@ impl WebAuthenticationBroker { { Self::IWebAuthenticationBrokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateWithCallbackUriAsync)(::windows_core::Interface::as_raw(this), options, requesturi.into_param().abi(), callbackuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateWithCallbackUriAsync)(::windows_core::Interface::as_raw(this), options, requesturi.into_param().abi(), callbackuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AuthenticateWithoutCallbackUriAsync(options: WebAuthenticationOptions, requesturi: P0) -> ::windows_core::Result> @@ -52,13 +52,13 @@ impl WebAuthenticationBroker { { Self::IWebAuthenticationBrokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateWithoutCallbackUriAsync)(::windows_core::Interface::as_raw(this), options, requesturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateWithoutCallbackUriAsync)(::windows_core::Interface::as_raw(this), options, requesturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentApplicationCallbackUri() -> ::windows_core::Result { Self::IWebAuthenticationBrokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentApplicationCallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AuthenticateAndContinue(requesturi: P0) -> ::windows_core::Result<()> @@ -89,7 +89,7 @@ impl WebAuthenticationBroker { { Self::IWebAuthenticationBrokerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateSilentlyAsync)(::windows_core::Interface::as_raw(this), requesturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateSilentlyAsync)(::windows_core::Interface::as_raw(this), requesturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AuthenticateSilentlyWithOptionsAsync(requesturi: P0, options: WebAuthenticationOptions) -> ::windows_core::Result> @@ -98,7 +98,7 @@ impl WebAuthenticationBroker { { Self::IWebAuthenticationBrokerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticateSilentlyWithOptionsAsync)(::windows_core::Interface::as_raw(this), requesturi.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticateSilentlyWithOptionsAsync)(::windows_core::Interface::as_raw(this), requesturi.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -124,21 +124,21 @@ impl WebAuthenticationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ResponseErrorDetail(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseErrorDetail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseErrorDetail)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs b/crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs index c24ba43f97..02838f48fb 100644 --- a/crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs @@ -55,7 +55,7 @@ impl AppCapability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapabilityName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapabilityName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -63,21 +63,21 @@ impl AppCapability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestAccessAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckAccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AccessChanged(&self, handler: P0) -> ::windows_core::Result @@ -87,7 +87,7 @@ impl AppCapability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccessChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl AppCapability { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -112,7 +112,7 @@ impl AppCapability { { Self::IAppCapabilityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForCapabilitiesAsync)(::windows_core::Interface::as_raw(this), capabilitynames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForCapabilitiesAsync)(::windows_core::Interface::as_raw(this), capabilitynames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "System"))] @@ -123,13 +123,13 @@ impl AppCapability { { Self::IAppCapabilityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForCapabilitiesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), capabilitynames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForCapabilitiesForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), capabilitynames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Create(capabilityname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppCapabilityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -139,7 +139,7 @@ impl AppCapability { { Self::IAppCapabilityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithProcessIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(capabilityname), pid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithProcessIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(capabilityname), pid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs b/crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs index 869cc98c50..0f5c973a54 100644 --- a/crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs @@ -71,19 +71,19 @@ impl CredentialPicker { { Self::ICredentialPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickWithOptionsAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickWithOptionsAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PickWithMessageAsync(targetname: &::windows_core::HSTRING, message: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICredentialPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetname), ::core::mem::transmute_copy(message), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetname), ::core::mem::transmute_copy(message), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PickWithCaptionAsync(targetname: &::windows_core::HSTRING, message: &::windows_core::HSTRING, caption: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ICredentialPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickWithCaptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetname), ::core::mem::transmute_copy(message), ::core::mem::transmute_copy(caption), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickWithCaptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(targetname), ::core::mem::transmute_copy(message), ::core::mem::transmute_copy(caption), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -115,7 +115,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -126,7 +126,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetErrorCode(&self, value: u32) -> ::windows_core::Result<()> { @@ -137,7 +137,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTargetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -148,7 +148,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAuthenticationProtocol(&self, value: AuthenticationProtocol) -> ::windows_core::Result<()> { @@ -159,7 +159,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomAuthenticationProtocol(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -170,7 +170,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomAuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomAuthenticationProtocol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -186,7 +186,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlwaysDisplayDialog(&self, value: bool) -> ::windows_core::Result<()> { @@ -197,7 +197,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlwaysDisplayDialog)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlwaysDisplayDialog)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCallerSavesCredential(&self, value: bool) -> ::windows_core::Result<()> { @@ -208,7 +208,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerSavesCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerSavesCredential)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCredentialSaveOption(&self, value: CredentialSaveOption) -> ::windows_core::Result<()> { @@ -219,7 +219,7 @@ impl CredentialPickerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialSaveOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialSaveOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -242,21 +242,21 @@ impl CredentialPickerResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CredentialSaveOption(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialSaveOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialSaveOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CredentialSaved(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialSaved)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialSaved)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -264,28 +264,28 @@ impl CredentialPickerResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Credential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Credential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CredentialDomainName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialDomainName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialDomainName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CredentialUserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialUserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialUserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CredentialPassword(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialPassword)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialPassword)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -304,13 +304,13 @@ impl UserConsentVerifier { pub fn CheckAvailabilityAsync() -> ::windows_core::Result> { Self::IUserConsentVerifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAvailabilityAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAvailabilityAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestVerificationAsync(message: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IUserConsentVerifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestVerificationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(message), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestVerificationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(message), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Credentials/mod.rs b/crates/libs/windows/src/Windows/Security/Credentials/mod.rs index c36b81ebbc..4020f357ac 100644 --- a/crates/libs/windows/src/Windows/Security/Credentials/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Credentials/mod.rs @@ -117,21 +117,21 @@ impl IWebAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -223,7 +223,7 @@ impl KeyCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -231,7 +231,7 @@ impl KeyCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePublicKeyWithDefaultBlobType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePublicKeyWithDefaultBlobType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Security_Cryptography_Core", feature = "Storage_Streams"))] @@ -239,7 +239,7 @@ impl KeyCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -250,14 +250,14 @@ impl KeyCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSignAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSignAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAttestationAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAttestationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAttestationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -283,7 +283,7 @@ impl KeyCredentialAttestationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CertificateChainBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CertificateChainBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -291,14 +291,14 @@ impl KeyCredentialAttestationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttestationBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttestationBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -319,31 +319,31 @@ impl KeyCredentialManager { pub fn IsSupportedAsync() -> ::windows_core::Result> { Self::IKeyCredentialManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupportedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RenewAttestationAsync() -> ::windows_core::Result { Self::IKeyCredentialManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenewAttestationAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenewAttestationAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestCreateAsync(name: &::windows_core::HSTRING, option: KeyCredentialCreationOption) -> ::windows_core::Result> { Self::IKeyCredentialManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCreateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCreateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenAsync(name: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IKeyCredentialManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeleteAsync(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IKeyCredentialManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -365,14 +365,14 @@ impl KeyCredentialOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -397,14 +397,14 @@ impl KeyCredentialRetrievalResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Credential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Credential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -435,14 +435,14 @@ impl PasswordCredential { pub fn CreatePasswordCredential(resource: &::windows_core::HSTRING, username: &::windows_core::HSTRING, password: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICredentialFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePasswordCredential)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), ::core::mem::transmute_copy(username), ::core::mem::transmute_copy(password), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePasswordCredential)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), ::core::mem::transmute_copy(username), ::core::mem::transmute_copy(password), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Resource(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Resource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Resource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResource(&self, resource: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -453,7 +453,7 @@ impl PasswordCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserName(&self, username: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -464,7 +464,7 @@ impl PasswordCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Password)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPassword(&self, password: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -480,7 +480,7 @@ impl PasswordCredential { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -523,7 +523,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -531,7 +531,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -539,7 +539,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -547,7 +547,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -555,7 +555,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -566,7 +566,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -587,7 +587,7 @@ impl PasswordCredentialPropertyStore { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -659,7 +659,7 @@ impl PasswordVault { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Retrieve)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), ::core::mem::transmute_copy(username), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Retrieve)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), ::core::mem::transmute_copy(username), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -667,7 +667,7 @@ impl PasswordVault { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllByResource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllByResource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(resource), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -675,7 +675,7 @@ impl PasswordVault { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllByUserName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllByUserName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(username), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -683,7 +683,7 @@ impl PasswordVault { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveAll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveAll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -709,28 +709,28 @@ impl WebAccount { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -738,7 +738,7 @@ impl WebAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -746,21 +746,21 @@ impl WebAccount { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPictureAsync)(::windows_core::Interface::as_raw(this), desizedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPictureAsync)(::windows_core::Interface::as_raw(this), desizedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignOutAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignOutAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignOutAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignOutWithClientIdAsync(&self, clientid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignOutWithClientIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(clientid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignOutWithClientIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(clientid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWebAccount(webaccountprovider: P0, username: &::windows_core::HSTRING, state: WebAccountState) -> ::windows_core::Result @@ -769,7 +769,7 @@ impl WebAccount { { Self::IWebAccountFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebAccount)(::windows_core::Interface::as_raw(this), webaccountprovider.into_param().abi(), ::core::mem::transmute_copy(username), state, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebAccount)(::windows_core::Interface::as_raw(this), webaccountprovider.into_param().abi(), ::core::mem::transmute_copy(username), state, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -799,14 +799,14 @@ impl WebAccountProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -814,21 +814,21 @@ impl WebAccountProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayPurpose(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayPurpose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayPurpose)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Authority(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Authority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Authority)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -836,14 +836,14 @@ impl WebAccountProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSystemProvider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSystemProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSystemProvider)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateWebAccountProvider(id: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING, iconuri: P0) -> ::windows_core::Result @@ -852,7 +852,7 @@ impl WebAccountProvider { { Self::IWebAccountProviderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebAccountProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(displayname), iconuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebAccountProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(displayname), iconuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] 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 a4de0a22dc..0793baa3b7 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs @@ -588,7 +588,7 @@ impl Certificate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildChainAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildChainAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -600,28 +600,28 @@ impl Certificate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildChainWithParametersAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), parameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildChainWithParametersAsync)(::windows_core::Interface::as_raw(this), certificates.into_param().abi(), parameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SerialNumber(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn GetHashValue(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetHashValue)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetHashValue)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn GetHashValueWithAlgorithm(&self, hashalgorithmname: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).GetHashValueWithAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hashalgorithmname), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).GetHashValueWithAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hashalgorithmname), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "Storage_Streams")] @@ -629,49 +629,49 @@ impl Certificate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCertificateBlob)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCertificateBlob)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subject(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Issuer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Issuer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Issuer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasPrivateKey(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPrivateKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPrivateKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsStronglyProtected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStronglyProtected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStronglyProtected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidFrom(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidFrom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidFrom)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidTo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidTo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidTo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -679,7 +679,7 @@ impl Certificate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -690,70 +690,70 @@ impl Certificate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSecurityDeviceBound(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSecurityDeviceBound)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSecurityDeviceBound)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyUsages(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KeyAlgorithmName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignatureAlgorithmName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignatureAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignatureAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SignatureHashAlgorithmName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignatureHashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignatureHashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubjectAlternativeName(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubjectAlternativeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubjectAlternativeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPerUser(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPerUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPerUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StoreName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KeyStorageProviderName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -763,7 +763,7 @@ impl Certificate { { Self::ICertificateFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCertificate)(::windows_core::Interface::as_raw(this), certblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCertificate)(::windows_core::Interface::as_raw(this), certblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -793,7 +793,7 @@ impl CertificateChain { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Validate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Validate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ValidateWithParameters(&self, parameter: P0) -> ::windows_core::Result @@ -803,7 +803,7 @@ impl CertificateChain { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidateWithParameters)(::windows_core::Interface::as_raw(this), parameter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidateWithParameters)(::windows_core::Interface::as_raw(this), parameter.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -811,7 +811,7 @@ impl CertificateChain { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCertificates)(::windows_core::Interface::as_raw(this), includeroot, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCertificates)(::windows_core::Interface::as_raw(this), includeroot, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -835,31 +835,31 @@ impl CertificateEnrollmentManager { { Self::ICertificateEnrollmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn InstallCertificateAsync(certificate: &::windows_core::HSTRING, installoption: InstallOptions) -> ::windows_core::Result { Self::ICertificateEnrollmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallCertificateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(certificate), installoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallCertificateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(certificate), installoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ImportPfxDataAsync(pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, exportable: ExportOption, keyprotectionlevel: KeyProtectionLevel, installoption: InstallOptions, friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICertificateEnrollmentManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UserCertificateEnrollmentManager() -> ::windows_core::Result { Self::ICertificateEnrollmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserCertificateEnrollmentManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserCertificateEnrollmentManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ImportPfxDataToKspAsync(pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, exportable: ExportOption, keyprotectionlevel: KeyProtectionLevel, installoption: InstallOptions, friendlyname: &::windows_core::HSTRING, keystorageprovider: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICertificateEnrollmentManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataToKspAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), ::core::mem::transmute_copy(keystorageprovider), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataToKspAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), ::core::mem::transmute_copy(keystorageprovider), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ImportPfxDataToKspWithParametersAsync(pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, pfximportparameters: P0) -> ::windows_core::Result @@ -868,7 +868,7 @@ impl CertificateEnrollmentManager { { Self::ICertificateEnrollmentManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataToKspWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), pfximportparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataToKspWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), pfximportparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -906,7 +906,7 @@ impl CertificateExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ObjectId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ObjectId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetObjectId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -917,7 +917,7 @@ impl CertificateExtension { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCritical)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCritical)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCritical(&self, value: bool) -> ::windows_core::Result<()> { @@ -932,7 +932,7 @@ impl CertificateExtension { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn SetValue(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -968,7 +968,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncipherOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncipherOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEncipherOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -979,7 +979,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrlSign)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrlSign)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCrlSign(&self, value: bool) -> ::windows_core::Result<()> { @@ -990,7 +990,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyCertificateSign)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyCertificateSign)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyCertificateSign(&self, value: bool) -> ::windows_core::Result<()> { @@ -1001,7 +1001,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyAgreement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyAgreement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyAgreement(&self, value: bool) -> ::windows_core::Result<()> { @@ -1012,7 +1012,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataEncipherment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataEncipherment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataEncipherment(&self, value: bool) -> ::windows_core::Result<()> { @@ -1023,7 +1023,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyEncipherment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyEncipherment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyEncipherment(&self, value: bool) -> ::windows_core::Result<()> { @@ -1034,7 +1034,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonRepudiation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonRepudiation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNonRepudiation(&self, value: bool) -> ::windows_core::Result<()> { @@ -1045,7 +1045,7 @@ impl CertificateKeyUsages { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DigitalSignature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DigitalSignature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDigitalSignature(&self, value: bool) -> ::windows_core::Result<()> { @@ -1082,14 +1082,14 @@ impl CertificateQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IssuerName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IssuerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IssuerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIssuerName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1100,7 +1100,7 @@ impl CertificateQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1111,7 +1111,7 @@ impl CertificateQuery { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).Thumbprint)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).Thumbprint)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn SetThumbprint(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -1122,7 +1122,7 @@ impl CertificateQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardwareOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardwareOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHardwareOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -1133,7 +1133,7 @@ impl CertificateQuery { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeDuplicates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeDuplicates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeDuplicates(&self, value: bool) -> ::windows_core::Result<()> { @@ -1144,7 +1144,7 @@ impl CertificateQuery { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IncludeExpiredCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IncludeExpiredCertificates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIncludeExpiredCertificates(&self, value: bool) -> ::windows_core::Result<()> { @@ -1155,7 +1155,7 @@ impl CertificateQuery { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStoreName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1191,7 +1191,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubject(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1202,7 +1202,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetKeyAlgorithmName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1213,7 +1213,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeySize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeySize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeySize(&self, value: u32) -> ::windows_core::Result<()> { @@ -1224,7 +1224,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1235,7 +1235,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHashAlgorithmName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1246,7 +1246,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exportable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exportable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExportable(&self, value: ExportOption) -> ::windows_core::Result<()> { @@ -1257,7 +1257,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyUsages(&self, value: EnrollKeyUsages) -> ::windows_core::Result<()> { @@ -1268,7 +1268,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyProtectionLevel(&self, value: KeyProtectionLevel) -> ::windows_core::Result<()> { @@ -1279,7 +1279,7 @@ impl CertificateRequestProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetKeyStorageProviderName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1290,7 +1290,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartcardReaderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartcardReaderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSmartcardReaderName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1301,7 +1301,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SigningCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SigningCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSigningCertificate(&self, value: P0) -> ::windows_core::Result<()> @@ -1315,7 +1315,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttestationCredentialCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttestationCredentialCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAttestationCredentialCertificate(&self, value: P0) -> ::windows_core::Result<()> @@ -1329,7 +1329,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurveName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurveName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCurveName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1340,7 +1340,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).CurveParameters)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).CurveParameters)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } pub fn SetCurveParameters(&self, value: &[u8]) -> ::windows_core::Result<()> { @@ -1351,7 +1351,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainerNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainerNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContainerNamePrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1362,7 +1362,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContainerName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1373,7 +1373,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseExistingKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseExistingKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseExistingKey(&self, value: bool) -> ::windows_core::Result<()> { @@ -1385,14 +1385,14 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressedDefaults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressedDefaults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubjectAlternativeName(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubjectAlternativeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubjectAlternativeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1400,7 +1400,7 @@ impl CertificateRequestProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1439,7 +1439,7 @@ impl CertificateStore { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1461,7 +1461,7 @@ impl CertificateStores { pub fn FindAllAsync() -> ::windows_core::Result>> { Self::ICertificateStoresStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1471,31 +1471,31 @@ impl CertificateStores { { Self::ICertificateStoresStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllWithQueryAsync)(::windows_core::Interface::as_raw(this), query.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllWithQueryAsync)(::windows_core::Interface::as_raw(this), query.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TrustedRootCertificationAuthorities() -> ::windows_core::Result { Self::ICertificateStoresStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrustedRootCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrustedRootCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IntermediateCertificationAuthorities() -> ::windows_core::Result { Self::ICertificateStoresStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntermediateCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntermediateCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetStoreByName(storename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICertificateStoresStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetUserStoreByName(storename: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICertificateStoresStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserStoreByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserStoreByName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1529,14 +1529,14 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnhancedKeyUsages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValidationTimestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValidationTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValidationTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValidationTimestamp(&self, value: super::super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1547,7 +1547,7 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RevocationCheckEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RevocationCheckEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRevocationCheckEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1558,7 +1558,7 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NetworkRetrievalEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NetworkRetrievalEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNetworkRetrievalEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1569,7 +1569,7 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthorityInformationAccessEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthorityInformationAccessEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAuthorityInformationAccessEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1580,7 +1580,7 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentTimeValidationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentTimeValidationEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCurrentTimeValidationEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1592,7 +1592,7 @@ impl ChainBuildingParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusiveTrustRoots)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusiveTrustRoots)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1624,7 +1624,7 @@ impl ChainValidationParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CertificateChainPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CertificateChainPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCertificateChainPolicy(&self, value: CertificateChainPolicy) -> ::windows_core::Result<()> { @@ -1636,7 +1636,7 @@ impl ChainValidationParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerDnsName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerDnsName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking")] @@ -1670,14 +1670,14 @@ impl CmsAttachedSignature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Content(&self) -> ::windows_core::Result<::windows_core::Array> { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _).map(|| result__.assume_init()) } } #[cfg(feature = "Foundation_Collections")] @@ -1685,14 +1685,14 @@ impl CmsAttachedSignature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Signers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Signers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VerifySignature(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifySignature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifySignature)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1702,7 +1702,7 @@ impl CmsAttachedSignature { { Self::ICmsAttachedSignatureFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCmsAttachedSignature)(::windows_core::Interface::as_raw(this), inputblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCmsAttachedSignature)(::windows_core::Interface::as_raw(this), inputblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1714,7 +1714,7 @@ impl CmsAttachedSignature { { Self::ICmsAttachedSignatureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateSignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), signers.into_param().abi(), certificates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateSignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), signers.into_param().abi(), certificates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1750,7 +1750,7 @@ impl CmsDetachedSignature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1758,7 +1758,7 @@ impl CmsDetachedSignature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Signers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Signers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1769,7 +1769,7 @@ impl CmsDetachedSignature { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifySignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifySignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1779,7 +1779,7 @@ impl CmsDetachedSignature { { Self::ICmsDetachedSignatureFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCmsDetachedSignature)(::windows_core::Interface::as_raw(this), inputblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCmsDetachedSignature)(::windows_core::Interface::as_raw(this), inputblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -1791,7 +1791,7 @@ impl CmsDetachedSignature { { Self::ICmsDetachedSignatureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateSignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), signers.into_param().abi(), certificates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateSignatureAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), signers.into_param().abi(), certificates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1833,7 +1833,7 @@ impl CmsSignerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCertificate(&self, value: P0) -> ::windows_core::Result<()> @@ -1847,7 +1847,7 @@ impl CmsSignerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HashAlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHashAlgorithmName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1858,7 +1858,7 @@ impl CmsSignerInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimestampInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimestampInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1883,7 +1883,7 @@ impl CmsTimestampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SigningCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SigningCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1891,14 +1891,14 @@ impl CmsTimestampInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1919,61 +1919,61 @@ impl KeyAlgorithmNames { pub fn Rsa() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rsa)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rsa)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Dsa() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dsa)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dsa)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdh256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdh256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdh256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdh384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdh384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdh384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdh521() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdh521)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdh521)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdsa256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdsa256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdsa256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdsa384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdsa384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdsa384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdsa521() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdsa521)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdsa521)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdsa() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdsa)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdsa)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ecdh() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ecdh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ecdh)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1995,19 +1995,19 @@ impl KeyAttestationHelper { pub fn DecryptTpmAttestationCredentialAsync(credential: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IKeyAttestationHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecryptTpmAttestationCredentialAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecryptTpmAttestationCredentialAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTpmAttestationCredentialId(credential: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyAttestationHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTpmAttestationCredentialId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTpmAttestationCredentialId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DecryptTpmAttestationCredentialWithContainerNameAsync(credential: &::windows_core::HSTRING, containername: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IKeyAttestationHelperStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecryptTpmAttestationCredentialWithContainerNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), ::core::mem::transmute_copy(containername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecryptTpmAttestationCredentialWithContainerNameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(credential), ::core::mem::transmute_copy(containername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2029,25 +2029,25 @@ impl KeyStorageProviderNames { pub fn SoftwareKeyStorageProvider() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyStorageProviderNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SoftwareKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SoftwareKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SmartcardKeyStorageProvider() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyStorageProviderNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmartcardKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmartcardKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PlatformKeyStorageProvider() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyStorageProviderNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlatformKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlatformKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PassportKeyStorageProvider() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyStorageProviderNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PassportKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PassportKeyStorageProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2080,7 +2080,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exportable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exportable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExportable(&self, value: ExportOption) -> ::windows_core::Result<()> { @@ -2091,7 +2091,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyProtectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyProtectionLevel(&self, value: KeyProtectionLevel) -> ::windows_core::Result<()> { @@ -2102,7 +2102,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInstallOptions(&self, value: InstallOptions) -> ::windows_core::Result<()> { @@ -2113,7 +2113,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFriendlyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2124,7 +2124,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStorageProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetKeyStorageProviderName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2135,7 +2135,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainerNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainerNamePrefix)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContainerNamePrefix(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2146,7 +2146,7 @@ impl PfxImportParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReaderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReaderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReaderName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2171,19 +2171,19 @@ impl StandardCertificateStoreNames { pub fn Personal() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardCertificateStoreNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Personal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Personal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TrustedRootCertificationAuthorities() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardCertificateStoreNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrustedRootCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrustedRootCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IntermediateCertificationAuthorities() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IStandardCertificateStoreNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IntermediateCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IntermediateCertificationAuthorities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2212,7 +2212,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2220,7 +2220,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IPAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IPAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2228,7 +2228,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Url)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Url)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2236,7 +2236,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DnsName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DnsName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2244,7 +2244,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistinguishedName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistinguishedName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2252,7 +2252,7 @@ impl SubjectAlternativeNameInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrincipalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrincipalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2260,7 +2260,7 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmailNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmailNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2268,7 +2268,7 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IPAddresses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IPAddresses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2276,7 +2276,7 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Urls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Urls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2284,7 +2284,7 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DnsNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DnsNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2292,7 +2292,7 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistinguishedNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistinguishedNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2300,14 +2300,14 @@ impl SubjectAlternativeNameInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrincipalNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrincipalNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Extension(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2335,28 +2335,28 @@ impl UserCertificateEnrollmentManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstallCertificateAsync(&self, certificate: &::windows_core::HSTRING, installoption: InstallOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallCertificateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(certificate), installoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallCertificateAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(certificate), installoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImportPfxDataAsync(&self, pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, exportable: ExportOption, keyprotectionlevel: KeyProtectionLevel, installoption: InstallOptions, friendlyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImportPfxDataToKspAsync(&self, pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, exportable: ExportOption, keyprotectionlevel: KeyProtectionLevel, installoption: InstallOptions, friendlyname: &::windows_core::HSTRING, keystorageprovider: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataToKspAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), ::core::mem::transmute_copy(keystorageprovider), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataToKspAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), exportable, keyprotectionlevel, installoption, ::core::mem::transmute_copy(friendlyname), ::core::mem::transmute_copy(keystorageprovider), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImportPfxDataToKspWithParametersAsync(&self, pfxdata: &::windows_core::HSTRING, password: &::windows_core::HSTRING, pfximportparameters: P0) -> ::windows_core::Result @@ -2366,7 +2366,7 @@ impl UserCertificateEnrollmentManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPfxDataToKspWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), pfximportparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPfxDataToKspWithParametersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pfxdata), ::core::mem::transmute_copy(password), pfximportparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2394,7 +2394,7 @@ impl UserCertificateStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestDeleteAsync(&self, certificate: P0) -> ::windows_core::Result> @@ -2404,14 +2404,14 @@ impl UserCertificateStore { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDeleteAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDeleteAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } 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 00b6af9a3c..61102f64c6 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs @@ -469,127 +469,127 @@ impl AsymmetricAlgorithmNames { pub fn RsaPkcs1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaPkcs1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaPkcs1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaOaepSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaOaepSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaOaepSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaOaepSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaOaepSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaOaepSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaOaepSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaOaepSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaOaepSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaOaepSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaOaepSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaOaepSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaP256Sha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaP256Sha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaP256Sha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaP384Sha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaP384Sha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaP384Sha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaP521Sha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaP521Sha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaP521Sha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DsaSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DsaSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DsaSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DsaSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DsaSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DsaSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPkcs1Sha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPkcs1Sha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPkcs1Sha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPkcs1Sha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPkcs1Sha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPssSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPssSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPssSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPssSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPssSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPssSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPssSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPssSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPssSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RsaSignPssSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RsaSignPssSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RsaSignPssSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EcdsaSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAsymmetricAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EcdsaSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EcdsaSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -615,14 +615,14 @@ impl AsymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateKeyPair(&self, keysize: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKeyPair)(::windows_core::Interface::as_raw(this), keysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKeyPair)(::windows_core::Interface::as_raw(this), keysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -633,7 +633,7 @@ impl AsymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportDefaultPrivateKeyBlob)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportDefaultPrivateKeyBlob)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -644,7 +644,7 @@ impl AsymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportKeyPairWithBlobType)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), blobtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportKeyPairWithBlobType)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), blobtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -655,7 +655,7 @@ impl AsymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportDefaultPublicKeyBlob)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportDefaultPublicKeyBlob)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -666,27 +666,27 @@ impl AsymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImportPublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), blobtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImportPublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), keyblob.into_param().abi(), blobtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateKeyPairWithCurveName(&self, curvename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKeyPairWithCurveName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(curvename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKeyPairWithCurveName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(curvename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateKeyPairWithCurveParameters(&self, parameters: &[u8]) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKeyPairWithCurveParameters)(::windows_core::Interface::as_raw(this), parameters.len().try_into().unwrap(), parameters.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKeyPairWithCurveParameters)(::windows_core::Interface::as_raw(this), parameters.len().try_into().unwrap(), parameters.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAlgorithm(algorithm: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAsymmetricKeyAlgorithmProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -718,7 +718,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Encrypt)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Encrypt)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -730,7 +730,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Decrypt)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Decrypt)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -743,7 +743,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncryptAndAuthenticate)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), nonce.into_param().abi(), authenticateddata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncryptAndAuthenticate)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), nonce.into_param().abi(), authenticateddata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -757,7 +757,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecryptAndAuthenticate)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), nonce.into_param().abi(), authenticationtag.into_param().abi(), authenticateddata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecryptAndAuthenticate)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), nonce.into_param().abi(), authenticationtag.into_param().abi(), authenticateddata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -768,7 +768,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sign)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sign)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -780,7 +780,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifySignature)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), signature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifySignature)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), signature.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] @@ -791,7 +791,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeriveKeyMaterial)(::windows_core::Interface::as_raw(this), key.into_param().abi(), parameters.into_param().abi(), desiredkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeriveKeyMaterial)(::windows_core::Interface::as_raw(this), key.into_param().abi(), parameters.into_param().abi(), desiredkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -802,7 +802,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignHashedData)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignHashedData)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -814,7 +814,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerifySignatureWithHashInput)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), signature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerifySignatureWithHashInput)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), signature.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] @@ -826,7 +826,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecryptAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecryptAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), iv.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -837,7 +837,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -848,7 +848,7 @@ impl CryptographicEngine { { Self::ICryptographicEngineStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SignHashedDataAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SignHashedDataAsync)(::windows_core::Interface::as_raw(this), key.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -883,7 +883,7 @@ impl CryptographicHash { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetValueAndReset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetValueAndReset)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -908,7 +908,7 @@ impl CryptographicKey { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeySize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeySize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -916,7 +916,7 @@ impl CryptographicKey { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExportDefaultPrivateKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExportDefaultPrivateKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -924,7 +924,7 @@ impl CryptographicKey { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExportPrivateKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExportPrivateKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -932,7 +932,7 @@ impl CryptographicKey { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExportDefaultPublicKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExportDefaultPublicKeyBlobType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -940,7 +940,7 @@ impl CryptographicKey { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExportPublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExportPublicKeyWithBlobType)(::windows_core::Interface::as_raw(this), blobtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -961,278 +961,278 @@ impl EccCurveNames { pub fn BrainpoolP160r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP160r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP160r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP160t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP160t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP160t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP192r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP192r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP192r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP192t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP192t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP192t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP224r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP224r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP224r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP224t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP224t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP224t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP256r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP256r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP256r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP256t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP256t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP256t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP320r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP320r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP320r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP320t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP320t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP320t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP384r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP384r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP384r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP384t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP384t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP384t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP512r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP512r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP512r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BrainpoolP512t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BrainpoolP512t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BrainpoolP512t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Curve25519() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Curve25519)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Curve25519)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Ec192wapi() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ec192wapi)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ec192wapi)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NistP192() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NistP192)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NistP192)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NistP224() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NistP224)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NistP224)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NistP256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NistP256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NistP256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NistP384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NistP384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NistP384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NistP521() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NistP521)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NistP521)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NumsP256t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumsP256t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumsP256t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NumsP384t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumsP384t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumsP384t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NumsP512t1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NumsP512t1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NumsP512t1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP160k1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP160k1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP160k1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP160r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP160r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP160r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP160r2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP160r2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP160r2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP192k1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP192k1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP192k1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP192r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP192r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP192r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP224k1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP224k1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP224k1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP224r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP224r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP224r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP256k1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP256k1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP256k1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP256r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP256r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP256r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP384r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP384r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP384r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SecP521r1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecP521r1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecP521r1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wtls7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wtls7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wtls7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wtls9() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wtls9)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wtls9)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wtls12() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wtls12)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wtls12)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P192v1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P192v1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P192v1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P192v2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P192v2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P192v2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P192v3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P192v3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P192v3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P239v1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P239v1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P239v1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P239v2() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P239v2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P239v2)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P239v3() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P239v3)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P239v3)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn X962P256v1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).X962P256v1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).X962P256v1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn AllEccCurveNames() -> ::windows_core::Result> { Self::IEccCurveNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllEccCurveNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllEccCurveNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1254,7 +1254,7 @@ impl EncryptedAndAuthenticatedData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncryptedData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncryptedData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1262,7 +1262,7 @@ impl EncryptedAndAuthenticatedData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1283,31 +1283,31 @@ impl HashAlgorithmNames { pub fn Md5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHashAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Md5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Md5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHashAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHashAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHashAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IHashAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1328,14 +1328,14 @@ impl HashAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HashLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HashLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HashLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1346,20 +1346,20 @@ impl HashAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HashData)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HashData)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateHash(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHash)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAlgorithm(algorithm: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHashAlgorithmProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1385,121 +1385,121 @@ impl KeyDerivationAlgorithmNames { pub fn Pbkdf2Md5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pbkdf2Md5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pbkdf2Md5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pbkdf2Sha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pbkdf2Sha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pbkdf2Sha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pbkdf2Sha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pbkdf2Sha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pbkdf2Sha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pbkdf2Sha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pbkdf2Sha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pbkdf2Sha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Pbkdf2Sha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pbkdf2Sha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pbkdf2Sha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp800108CtrHmacMd5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp800108CtrHmacMd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp800108CtrHmacMd5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp800108CtrHmacSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp800108CtrHmacSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp800108CtrHmacSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp800108CtrHmacSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp800108CtrHmacSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp80056aConcatMd5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp80056aConcatMd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp80056aConcatMd5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp80056aConcatSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp80056aConcatSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp80056aConcatSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp80056aConcatSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp80056aConcatSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp80056aConcatSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp80056aConcatSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp80056aConcatSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp80056aConcatSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Sp80056aConcatSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sp80056aConcatSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sp80056aConcatSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CapiKdfMd5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapiKdfMd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapiKdfMd5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CapiKdfSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapiKdfSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapiKdfSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CapiKdfSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapiKdfSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapiKdfSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CapiKdfSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapiKdfSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapiKdfSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CapiKdfSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKeyDerivationAlgorithmNamesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapiKdfSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapiKdfSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1525,7 +1525,7 @@ impl KeyDerivationAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1536,13 +1536,13 @@ impl KeyDerivationAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAlgorithm(algorithm: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IKeyDerivationAlgorithmProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1573,7 +1573,7 @@ impl KeyDerivationParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KdfGenericBinary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KdfGenericBinary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1588,14 +1588,14 @@ impl KeyDerivationParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Capi1KdfTargetAlgorithm(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capi1KdfTargetAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capi1KdfTargetAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCapi1KdfTargetAlgorithm(&self, value: Capi1KdfTargetAlgorithm) -> ::windows_core::Result<()> { @@ -1609,7 +1609,7 @@ impl KeyDerivationParameters { { Self::IKeyDerivationParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildForPbkdf2)(::windows_core::Interface::as_raw(this), pbkdf2salt.into_param().abi(), iterationcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildForPbkdf2)(::windows_core::Interface::as_raw(this), pbkdf2salt.into_param().abi(), iterationcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1620,7 +1620,7 @@ impl KeyDerivationParameters { { Self::IKeyDerivationParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildForSP800108)(::windows_core::Interface::as_raw(this), label.into_param().abi(), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildForSP800108)(::windows_core::Interface::as_raw(this), label.into_param().abi(), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -1634,13 +1634,13 @@ impl KeyDerivationParameters { { Self::IKeyDerivationParametersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildForSP80056a)(::windows_core::Interface::as_raw(this), algorithmid.into_param().abi(), partyuinfo.into_param().abi(), partyvinfo.into_param().abi(), supppubinfo.into_param().abi(), suppprivinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildForSP80056a)(::windows_core::Interface::as_raw(this), algorithmid.into_param().abi(), partyuinfo.into_param().abi(), partyvinfo.into_param().abi(), supppubinfo.into_param().abi(), suppprivinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BuildForCapi1Kdf(capi1kdftargetalgorithm: Capi1KdfTargetAlgorithm) -> ::windows_core::Result { Self::IKeyDerivationParametersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildForCapi1Kdf)(::windows_core::Interface::as_raw(this), capi1kdftargetalgorithm, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildForCapi1Kdf)(::windows_core::Interface::as_raw(this), capi1kdftargetalgorithm, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1671,37 +1671,37 @@ impl MacAlgorithmNames { pub fn HmacMd5() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HmacMd5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HmacMd5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HmacSha1() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HmacSha1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HmacSha1)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HmacSha256() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HmacSha256)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HmacSha256)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HmacSha384() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HmacSha384)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HmacSha384)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HmacSha512() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HmacSha512)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HmacSha512)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesCmac() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMacAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesCmac)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesCmac)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1722,14 +1722,14 @@ impl MacAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MacLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MacLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MacLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1740,7 +1740,7 @@ impl MacAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1751,13 +1751,13 @@ impl MacAlgorithmProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHash)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHash)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAlgorithm(algorithm: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMacAlgorithmProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1787,7 +1787,7 @@ impl PersistedKeyProvider { { Self::IPersistedKeyProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenKeyPairFromCertificateAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), ::core::mem::transmute_copy(hashalgorithmname), padding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenKeyPairFromCertificateAsync)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), ::core::mem::transmute_copy(hashalgorithmname), padding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -1797,7 +1797,7 @@ impl PersistedKeyProvider { { Self::IPersistedKeyProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenPublicKeyFromCertificate)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), ::core::mem::transmute_copy(hashalgorithmname), padding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenPublicKeyFromCertificate)(::windows_core::Interface::as_raw(this), certificate.into_param().abi(), ::core::mem::transmute_copy(hashalgorithmname), padding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1814,115 +1814,115 @@ impl SymmetricAlgorithmNames { pub fn DesCbc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesCbc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesCbc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DesEcb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesEcb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesEcb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TripleDesCbc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TripleDesCbc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TripleDesCbc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TripleDesEcb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TripleDesEcb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TripleDesEcb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rc2Cbc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rc2Cbc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rc2Cbc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rc2Ecb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rc2Ecb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rc2Ecb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesCbc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesCbc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesCbc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesEcb() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesEcb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesEcb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesGcm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesGcm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesGcm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesCcm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesCcm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesCcm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesCbcPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AesEcbPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DesCbcPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DesEcbPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TripleDesCbcPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TripleDesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TripleDesCbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TripleDesEcbPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TripleDesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TripleDesEcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rc2CbcPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rc2CbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rc2CbcPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rc2EcbPkcs7() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rc2EcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rc2EcbPkcs7)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rc4() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISymmetricAlgorithmNamesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rc4)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rc4)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1943,14 +1943,14 @@ impl SymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlgorithmName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BlockLength(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlockLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlockLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1961,13 +1961,13 @@ impl SymmetricKeyAlgorithmProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSymmetricKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSymmetricKey)(::windows_core::Interface::as_raw(this), keymaterial.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenAlgorithm(algorithm: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISymmetricKeyAlgorithmProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAlgorithm)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(algorithm), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Cryptography/DataProtection/mod.rs b/crates/libs/windows/src/Windows/Security/Cryptography/DataProtection/mod.rs index d6453c8979..69f038af93 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/DataProtection/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/DataProtection/mod.rs @@ -47,7 +47,7 @@ impl DataProtectionProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -58,7 +58,7 @@ impl DataProtectionProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -70,7 +70,7 @@ impl DataProtectionProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectStreamAsync)(::windows_core::Interface::as_raw(this), src.into_param().abi(), dest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectStreamAsync)(::windows_core::Interface::as_raw(this), src.into_param().abi(), dest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -82,13 +82,13 @@ impl DataProtectionProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectStreamAsync)(::windows_core::Interface::as_raw(this), src.into_param().abi(), dest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectStreamAsync)(::windows_core::Interface::as_raw(this), src.into_param().abi(), dest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOverloadExplicit(protectiondescriptor: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IDataProtectionProviderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOverloadExplicit)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(protectiondescriptor), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOverloadExplicit)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(protectiondescriptor), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs b/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs index c02ede2d86..d9fb22623c 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs @@ -61,27 +61,27 @@ impl CryptographicBuffer { { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), object1.into_param().abi(), object2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compare)(::windows_core::Interface::as_raw(this), object1.into_param().abi(), object2.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] pub fn GenerateRandom(length: u32) -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateRandom)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateRandom)(::windows_core::Interface::as_raw(this), length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GenerateRandomNumber() -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GenerateRandomNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GenerateRandomNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Storage_Streams")] pub fn CreateFromByteArray(value: &[u8]) -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromByteArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromByteArray)(::windows_core::Interface::as_raw(this), value.len().try_into().unwrap(), value.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -95,7 +95,7 @@ impl CryptographicBuffer { pub fn DecodeFromHexString(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeFromHexString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeFromHexString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -105,14 +105,14 @@ impl CryptographicBuffer { { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodeToHexString)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodeToHexString)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn DecodeFromBase64String(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DecodeFromBase64String)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DecodeFromBase64String)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -122,14 +122,14 @@ impl CryptographicBuffer { { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodeToBase64String)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodeToBase64String)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn ConvertStringToBinary(value: &::windows_core::HSTRING, encoding: BinaryStringEncoding) -> ::windows_core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertStringToBinary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertStringToBinary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -139,7 +139,7 @@ impl CryptographicBuffer { { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertBinaryToString)(::windows_core::Interface::as_raw(this), encoding, buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertBinaryToString)(::windows_core::Interface::as_raw(this), encoding, buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/DataProtection/mod.rs b/crates/libs/windows/src/Windows/Security/DataProtection/mod.rs index e4a54cad66..54db02d20f 100644 --- a/crates/libs/windows/src/Windows/Security/DataProtection/mod.rs +++ b/crates/libs/windows/src/Windows/Security/DataProtection/mod.rs @@ -68,7 +68,7 @@ impl UserDataAvailabilityStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -93,7 +93,7 @@ impl UserDataBufferUnprotectResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -101,7 +101,7 @@ impl UserDataBufferUnprotectResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectedBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectedBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -130,7 +130,7 @@ impl UserDataProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectStorageItemAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), availability, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectStorageItemAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), availability, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -141,7 +141,7 @@ impl UserDataProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStorageItemProtectionInfoAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStorageItemProtectionInfoAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -152,7 +152,7 @@ impl UserDataProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectBufferAsync)(::windows_core::Interface::as_raw(this), unprotectedbuffer.into_param().abi(), availability, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectBufferAsync)(::windows_core::Interface::as_raw(this), unprotectedbuffer.into_param().abi(), availability, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -163,14 +163,14 @@ impl UserDataProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectBufferAsync)(::windows_core::Interface::as_raw(this), protectedbuffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectBufferAsync)(::windows_core::Interface::as_raw(this), protectedbuffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsContinuedDataAvailabilityExpected(&self, availability: UserDataAvailability) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContinuedDataAvailabilityExpected)(::windows_core::Interface::as_raw(this), availability, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContinuedDataAvailabilityExpected)(::windows_core::Interface::as_raw(this), availability, &mut result__).map(|| result__) } } pub fn DataAvailabilityStateChanged(&self, handler: P0) -> ::windows_core::Result @@ -180,7 +180,7 @@ impl UserDataProtectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataAvailabilityStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataAvailabilityStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataAvailabilityStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -190,7 +190,7 @@ impl UserDataProtectionManager { pub fn TryGetDefault() -> ::windows_core::Result { Self::IUserDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -200,7 +200,7 @@ impl UserDataProtectionManager { { Self::IUserDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -230,7 +230,7 @@ impl UserDataStorageItemProtectionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs b/crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs index d174b5101b..1defec8edf 100644 --- a/crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs +++ b/crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs @@ -376,14 +376,14 @@ impl BufferProtectUnprotectResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProtectionInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -408,14 +408,14 @@ impl DataProtectionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Identity(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -440,7 +440,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -450,7 +450,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -461,7 +461,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectStreamAsync)(::windows_core::Interface::as_raw(this), unprotectedstream.into_param().abi(), ::core::mem::transmute_copy(identity), protectedstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectStreamAsync)(::windows_core::Interface::as_raw(this), unprotectedstream.into_param().abi(), ::core::mem::transmute_copy(identity), protectedstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -472,7 +472,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectStreamAsync)(::windows_core::Interface::as_raw(this), protectedstream.into_param().abi(), unprotectedstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectStreamAsync)(::windows_core::Interface::as_raw(this), protectedstream.into_param().abi(), unprotectedstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -482,7 +482,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProtectionInfoAsync)(::windows_core::Interface::as_raw(this), protecteddata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProtectionInfoAsync)(::windows_core::Interface::as_raw(this), protecteddata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -492,7 +492,7 @@ impl DataProtectionManager { { Self::IDataProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStreamProtectionInfoAsync)(::windows_core::Interface::as_raw(this), protectedstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStreamProtectionInfoAsync)(::windows_core::Interface::as_raw(this), protectedstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -513,28 +513,28 @@ impl FileProtectionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRoamable(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoamable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Identity(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsProtectWhileOpenSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtectWhileOpenSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtectWhileOpenSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -559,7 +559,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -570,7 +570,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyProtectionAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyProtectionAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -580,7 +580,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProtectionInfoAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProtectionInfoAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -590,7 +590,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveFileAsContainerAsync)(::windows_core::Interface::as_raw(this), protectedfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveFileAsContainerAsync)(::windows_core::Interface::as_raw(this), protectedfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -600,7 +600,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFileFromContainerAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFileFromContainerAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -611,7 +611,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFileFromContainerWithTargetAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFileFromContainerWithTargetAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -621,7 +621,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProtectedAndOpenAsync)(::windows_core::Interface::as_raw(this), parentfolder.into_param().abi(), ::core::mem::transmute_copy(desiredname), ::core::mem::transmute_copy(identity), collisionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProtectedAndOpenAsync)(::windows_core::Interface::as_raw(this), parentfolder.into_param().abi(), ::core::mem::transmute_copy(desiredname), ::core::mem::transmute_copy(identity), collisionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -631,7 +631,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContainerAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContainerAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -642,7 +642,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadFileFromContainerWithTargetAndNameCollisionOptionAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), target.into_param().abi(), collisionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadFileFromContainerWithTargetAndNameCollisionOptionAsync)(::windows_core::Interface::as_raw(this), containerfile.into_param().abi(), target.into_param().abi(), collisionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -653,7 +653,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveFileAsContainerWithSharingAsync)(::windows_core::Interface::as_raw(this), protectedfile.into_param().abi(), sharedwithidentities.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveFileAsContainerWithSharingAsync)(::windows_core::Interface::as_raw(this), protectedfile.into_param().abi(), sharedwithidentities.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -663,7 +663,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -674,7 +674,7 @@ impl FileProtectionManager { { Self::IFileProtectionManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprotectWithOptionsAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprotectWithOptionsAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -707,7 +707,7 @@ impl FileRevocationManager { { Self::IFileRevocationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), ::core::mem::transmute_copy(enterpriseidentity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), ::core::mem::transmute_copy(enterpriseidentity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -718,7 +718,7 @@ impl FileRevocationManager { { Self::IFileRevocationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyProtectionAsync)(::windows_core::Interface::as_raw(this), sourcestorageitem.into_param().abi(), targetstorageitem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyProtectionAsync)(::windows_core::Interface::as_raw(this), sourcestorageitem.into_param().abi(), targetstorageitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -732,7 +732,7 @@ impl FileRevocationManager { { Self::IFileRevocationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusAsync)(::windows_core::Interface::as_raw(this), storageitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -759,13 +759,13 @@ impl FileUnprotectOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Audit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Audit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(audit: bool) -> ::windows_core::Result { Self::IFileUnprotectOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), audit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -796,7 +796,7 @@ impl ProtectedAccessResumedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -822,21 +822,21 @@ impl ProtectedAccessSuspendingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -861,7 +861,7 @@ impl ProtectedContainerExportResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -869,7 +869,7 @@ impl ProtectedContainerExportResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -894,7 +894,7 @@ impl ProtectedContainerImportResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage")] @@ -902,7 +902,7 @@ impl ProtectedContainerImportResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -928,7 +928,7 @@ impl ProtectedContentRevokedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -954,7 +954,7 @@ impl ProtectedFileCreateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -962,14 +962,14 @@ impl ProtectedFileCreateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProtectionInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -998,7 +998,7 @@ impl ProtectionPolicyAuditInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDataDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1009,7 +1009,7 @@ impl ProtectionPolicyAuditInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSourceDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1020,7 +1020,7 @@ impl ProtectionPolicyAuditInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTargetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1031,19 +1031,19 @@ impl ProtectionPolicyAuditInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(action: ProtectionPolicyAuditAction, datadescription: &::windows_core::HSTRING, sourcedescription: &::windows_core::HSTRING, targetdescription: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyAuditInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), ::core::mem::transmute_copy(sourcedescription), ::core::mem::transmute_copy(targetdescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), ::core::mem::transmute_copy(sourcedescription), ::core::mem::transmute_copy(targetdescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithActionAndDataDescription(action: ProtectionPolicyAuditAction, datadescription: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyAuditInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithActionAndDataDescription)(::windows_core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithActionAndDataDescription)(::windows_core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1077,7 +1077,7 @@ impl ProtectionPolicyManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetShowEnterpriseIndicator(&self, value: bool) -> ::windows_core::Result<()> { @@ -1088,19 +1088,19 @@ impl ProtectionPolicyManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowEnterpriseIndicator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowEnterpriseIndicator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIdentityManaged(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIdentityManaged)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIdentityManaged)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn TryApplyProcessUIPolicy(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryApplyProcessUIPolicy)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryApplyProcessUIPolicy)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn ClearProcessUIPolicy() -> ::windows_core::Result<()> { @@ -1109,7 +1109,7 @@ impl ProtectionPolicyManager { pub fn CreateCurrentThreadNetworkContext(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCurrentThreadNetworkContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCurrentThreadNetworkContext)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Networking")] @@ -1119,7 +1119,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrimaryManagedIdentityForNetworkEndpointAsync)(::windows_core::Interface::as_raw(this), endpointhost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrimaryManagedIdentityForNetworkEndpointAsync)(::windows_core::Interface::as_raw(this), endpointhost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RevokeContent(identity: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1128,7 +1128,7 @@ impl ProtectionPolicyManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProtectedAccessSuspending(handler: P0) -> ::windows_core::Result @@ -1137,7 +1137,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectedAccessSuspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectedAccessSuspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveProtectedAccessSuspending(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1149,7 +1149,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectedAccessResumed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectedAccessResumed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveProtectedAccessResumed(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1161,7 +1161,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectedContentRevoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectedContentRevoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveProtectedContentRevoked(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1170,49 +1170,49 @@ impl ProtectionPolicyManager { pub fn CheckAccess(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).map(|| result__) }) } pub fn RequestAccessAsync(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IProtectionPolicyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HasContentBeenRevokedSince(identity: &::windows_core::HSTRING, since: super::super::Foundation::DateTime) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasContentBeenRevokedSince)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), since, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasContentBeenRevokedSince)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), since, &mut result__).map(|| result__) }) } pub fn CheckAccessForApp(sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccessForApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccessForApp)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).map(|| result__) }) } pub fn RequestAccessForAppAsync(sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForAppAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetEnforcementLevel(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEnforcementLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEnforcementLevel)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn IsUserDecryptionAllowed(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserDecryptionAllowed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserDecryptionAllowed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn IsProtectionUnderLockRequired(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtectionUnderLockRequired)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtectionUnderLockRequired)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn PolicyChanged(handler: P0) -> ::windows_core::Result @@ -1221,7 +1221,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PolicyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PolicyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemovePolicyChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1230,7 +1230,7 @@ impl ProtectionPolicyManager { pub fn IsProtectionEnabled() -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProtectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RequestAccessWithAuditingInfoAsync(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfo: P0) -> ::windows_core::Result> @@ -1239,7 +1239,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessWithAuditingInfoAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessWithAuditingInfoAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessWithMessageAsync(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfo: P0, messagefromapp: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1248,7 +1248,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessForAppWithAuditingInfoAsync(sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfo: P0) -> ::windows_core::Result> @@ -1257,7 +1257,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForAppWithAuditingInfoAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForAppWithAuditingInfoAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessForAppWithMessageAsync(sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfo: P0, messagefromapp: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -1266,7 +1266,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForAppWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForAppWithMessageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LogAuditEvent(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfo: P0) -> ::windows_core::Result<()> @@ -1278,7 +1278,7 @@ impl ProtectionPolicyManager { pub fn IsRoamableProtectionEnabled(identity: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRoamableProtectionEnabled)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRoamableProtectionEnabled)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).map(|| result__) }) } pub fn RequestAccessWithBehaviorAsync(sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfo: P0, messagefromapp: &::windows_core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows_core::Result> @@ -1287,7 +1287,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessForAppWithBehaviorAsync(sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfo: P0, messagefromapp: &::windows_core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows_core::Result> @@ -1296,7 +1296,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForAppWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForAppWithBehaviorAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1307,7 +1307,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessToFilesForAppAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessToFilesForAppAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1318,7 +1318,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessToFilesForAppWithMessageAndBehaviorAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessToFilesForAppWithMessageAndBehaviorAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1329,7 +1329,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessToFilesForProcessAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), processid, auditinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessToFilesForProcessAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), processid, auditinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] @@ -1340,7 +1340,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessToFilesForProcessWithMessageAndBehaviorAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), processid, auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessToFilesForProcessWithMessageAndBehaviorAsync)(::windows_core::Interface::as_raw(this), sourceitemlist.into_param().abi(), processid, auditinfo.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -1350,7 +1350,7 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFileProtectionRequiredAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFileProtectionRequiredAsync)(::windows_core::Interface::as_raw(this), target.into_param().abi(), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -1360,19 +1360,19 @@ impl ProtectionPolicyManager { { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFileProtectionRequiredForNewFileAsync)(::windows_core::Interface::as_raw(this), parentfolder.into_param().abi(), ::core::mem::transmute_copy(identity), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFileProtectionRequiredForNewFileAsync)(::windows_core::Interface::as_raw(this), parentfolder.into_param().abi(), ::core::mem::transmute_copy(identity), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PrimaryManagedIdentity() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryManagedIdentity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryManagedIdentity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetPrimaryManagedIdentityForIdentity(identity: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IProtectionPolicyManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrimaryManagedIdentityForIdentity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrimaryManagedIdentityForIdentity)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs b/crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs index abec25f5a0..3895a0ff51 100644 --- a/crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs +++ b/crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs @@ -80,56 +80,56 @@ impl EasClientDeviceInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OperatingSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperatingSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperatingSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemManufacturer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemProductName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemProductName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemProductName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemSku(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemSku)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemSku)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemHardwareVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemHardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemHardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemFirmwareVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -159,7 +159,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequireEncryption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequireEncryption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRequireEncryption(&self, value: bool) -> ::windows_core::Result<()> { @@ -170,7 +170,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPasswordLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPasswordLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinPasswordLength(&self, value: u8) -> ::windows_core::Result<()> { @@ -181,7 +181,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisallowConvenienceLogon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisallowConvenienceLogon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisallowConvenienceLogon(&self, value: bool) -> ::windows_core::Result<()> { @@ -192,7 +192,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPasswordComplexCharacters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPasswordComplexCharacters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinPasswordComplexCharacters(&self, value: u8) -> ::windows_core::Result<()> { @@ -203,7 +203,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasswordExpiration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasswordExpiration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPasswordExpiration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -214,7 +214,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasswordHistory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasswordHistory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPasswordHistory(&self, value: u32) -> ::windows_core::Result<()> { @@ -225,7 +225,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPasswordFailedAttempts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPasswordFailedAttempts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxPasswordFailedAttempts(&self, value: u8) -> ::windows_core::Result<()> { @@ -236,7 +236,7 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxInactivityTimeLock)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxInactivityTimeLock)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxInactivityTimeLock(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -247,14 +247,14 @@ impl EasClientSecurityPolicy { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckCompliance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckCompliance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -277,70 +277,70 @@ impl EasComplianceResults { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compliant)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compliant)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequireEncryptionResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequireEncryptionResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequireEncryptionResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinPasswordLengthResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPasswordLengthResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPasswordLengthResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisallowConvenienceLogonResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisallowConvenienceLogonResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisallowConvenienceLogonResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinPasswordComplexCharactersResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPasswordComplexCharactersResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPasswordComplexCharactersResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PasswordExpirationResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasswordExpirationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasswordExpirationResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PasswordHistoryResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasswordHistoryResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasswordHistoryResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxPasswordFailedAttemptsResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPasswordFailedAttemptsResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPasswordFailedAttemptsResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxInactivityTimeLockResult(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxInactivityTimeLockResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxInactivityTimeLockResult)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EncryptionProviderType(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncryptionProviderType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncryptionProviderType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Security/Isolation/mod.rs b/crates/libs/windows/src/Windows/Security/Isolation/mod.rs index ca791b6bbf..7ebbff0685 100644 --- a/crates/libs/windows/src/Windows/Security/Isolation/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Isolation/mod.rs @@ -311,14 +311,14 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartProcessSilentlyAsync(&self, hostexepath: &::windows_core::HSTRING, arguments: &::windows_core::HSTRING, activator: IsolatedWindowsEnvironmentActivator) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProcessSilentlyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostexepath), ::core::mem::transmute_copy(arguments), activator, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProcessSilentlyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostexepath), ::core::mem::transmute_copy(arguments), activator, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartProcessSilentlyWithTelemetryAsync(&self, hostexepath: &::windows_core::HSTRING, arguments: &::windows_core::HSTRING, activator: IsolatedWindowsEnvironmentActivator, telemetryparameters: P0) -> ::windows_core::Result> @@ -328,7 +328,7 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProcessSilentlyWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostexepath), ::core::mem::transmute_copy(arguments), activator, telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProcessSilentlyWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostexepath), ::core::mem::transmute_copy(arguments), activator, telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareFolderAsync(&self, hostfolder: &::windows_core::HSTRING, requestoptions: P0) -> ::windows_core::Result> @@ -338,7 +338,7 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostfolder), requestoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostfolder), requestoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareFolderWithTelemetryAsync(&self, hostfolder: &::windows_core::HSTRING, requestoptions: P0, telemetryparameters: P1) -> ::windows_core::Result> @@ -349,14 +349,14 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareFolderWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostfolder), requestoptions.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareFolderWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(hostfolder), requestoptions.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchFileWithUIAsync(&self, appexepath: &::windows_core::HSTRING, argumentstemplate: &::windows_core::HSTRING, filepath: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFileWithUIAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appexepath), ::core::mem::transmute_copy(argumentstemplate), ::core::mem::transmute_copy(filepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFileWithUIAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appexepath), ::core::mem::transmute_copy(argumentstemplate), ::core::mem::transmute_copy(filepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchFileWithUIAndTelemetryAsync(&self, appexepath: &::windows_core::HSTRING, argumentstemplate: &::windows_core::HSTRING, filepath: &::windows_core::HSTRING, telemetryparameters: P0) -> ::windows_core::Result> @@ -366,14 +366,14 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFileWithUIAndTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appexepath), ::core::mem::transmute_copy(argumentstemplate), ::core::mem::transmute_copy(filepath), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFileWithUIAndTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appexepath), ::core::mem::transmute_copy(argumentstemplate), ::core::mem::transmute_copy(filepath), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TerminateAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TerminateWithTelemetryAsync(&self, telemetryparameters: P0) -> ::windows_core::Result @@ -383,7 +383,7 @@ impl IsolatedWindowsEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminateWithTelemetryAsync)(::windows_core::Interface::as_raw(this), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminateWithTelemetryAsync)(::windows_core::Interface::as_raw(this), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -406,7 +406,7 @@ impl IsolatedWindowsEnvironment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostMessageToReceiverAsync)(::windows_core::Interface::as_raw(this), receiverid, message.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostMessageToReceiverAsync)(::windows_core::Interface::as_raw(this), receiverid, message.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -418,14 +418,14 @@ impl IsolatedWindowsEnvironment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostMessageToReceiverWithTelemetryAsync)(::windows_core::Interface::as_raw(this), receiverid, message.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostMessageToReceiverWithTelemetryAsync)(::windows_core::Interface::as_raw(this), receiverid, message.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetUserInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareFileAsync(&self, filepath: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result> @@ -435,7 +435,7 @@ impl IsolatedWindowsEnvironment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareFileWithTelemetryAsync(&self, filepath: &::windows_core::HSTRING, options: P0, telemetryparameters: P1) -> ::windows_core::Result> @@ -446,7 +446,7 @@ impl IsolatedWindowsEnvironment { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareFileWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), options.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareFileWithTelemetryAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), options.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangePriority(&self, priority: IsolatedWindowsEnvironmentCreationPriority) -> ::windows_core::Result<()> { @@ -459,7 +459,7 @@ impl IsolatedWindowsEnvironment { { Self::IIsolatedWindowsEnvironmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTelemetryAsync(options: P0, telemetryparameters: P1) -> ::windows_core::Result> @@ -469,20 +469,20 @@ impl IsolatedWindowsEnvironment { { Self::IIsolatedWindowsEnvironmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTelemetryAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTelemetryAsync)(::windows_core::Interface::as_raw(this), options.into_param().abi(), telemetryparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetById(environmentid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IIsolatedWindowsEnvironmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(environmentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetById)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(environmentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindByOwnerId(environmentownerid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IIsolatedWindowsEnvironmentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindByOwnerId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(environmentownerid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindByOwnerId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(environmentownerid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -512,21 +512,21 @@ impl IsolatedWindowsEnvironmentCreateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Environment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Environment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Environment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeCreationPriority(&self, priority: IsolatedWindowsEnvironmentCreationPriority) -> ::windows_core::Result<()> { @@ -555,14 +555,14 @@ impl IsolatedWindowsEnvironmentFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HostPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -573,14 +573,14 @@ impl IsolatedWindowsEnvironmentFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GuestPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GuestPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsReadOnly(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -601,14 +601,14 @@ impl IsolatedWindowsEnvironmentHost { pub fn IsReady() -> ::windows_core::Result { Self::IIsolatedWindowsEnvironmentHostStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReady)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReady)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn HostErrors() -> ::windows_core::Result> { Self::IIsolatedWindowsEnvironmentHostStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HostErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HostErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -629,21 +629,21 @@ impl IsolatedWindowsEnvironmentLaunchFileResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn File(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -675,7 +675,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnvironmentOwnerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnvironmentOwnerId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEnvironmentOwnerId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -686,7 +686,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedClipboardFormats)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedClipboardFormats)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowedClipboardFormats(&self, value: IsolatedWindowsEnvironmentAllowedClipboardFormats) -> ::windows_core::Result<()> { @@ -697,7 +697,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClipboardCopyPasteDirections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClipboardCopyPasteDirections)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClipboardCopyPasteDirections(&self, value: IsolatedWindowsEnvironmentClipboardCopyPasteDirections) -> ::windows_core::Result<()> { @@ -708,7 +708,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailablePrinters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailablePrinters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAvailablePrinters(&self, value: IsolatedWindowsEnvironmentAvailablePrinters) -> ::windows_core::Result<()> { @@ -719,14 +719,14 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedHostFolderPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedHostFolderPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SharedFolderNameInEnvironment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedFolderNameInEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedFolderNameInEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShareHostFolderForUntrustedItems(&self, sharedhostfolderpath: &::windows_core::HSTRING, sharefoldernameinenvironment: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -737,7 +737,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PersistUserProfile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PersistUserProfile)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPersistUserProfile(&self, value: bool) -> ::windows_core::Result<()> { @@ -748,7 +748,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowGraphicsHardwareAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowGraphicsHardwareAcceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowGraphicsHardwareAcceleration(&self, value: bool) -> ::windows_core::Result<()> { @@ -759,7 +759,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowCameraAndMicrophoneAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowCameraAndMicrophoneAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowCameraAndMicrophoneAccess(&self, value: bool) -> ::windows_core::Result<()> { @@ -770,7 +770,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowAnnotationOverride)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowAnnotationOverride)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWindowAnnotationOverride(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -781,7 +781,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedClipboardFormatsToEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedClipboardFormatsToEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowedClipboardFormatsToEnvironment(&self, value: IsolatedWindowsEnvironmentAllowedClipboardFormats) -> ::windows_core::Result<()> { @@ -792,7 +792,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedClipboardFormatsToHost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedClipboardFormatsToHost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowedClipboardFormatsToHost(&self, value: IsolatedWindowsEnvironmentAllowedClipboardFormats) -> ::windows_core::Result<()> { @@ -803,7 +803,7 @@ impl IsolatedWindowsEnvironmentOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreationPriority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreationPriority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCreationPriority(&self, value: IsolatedWindowsEnvironmentCreationPriority) -> ::windows_core::Result<()> { @@ -831,7 +831,7 @@ impl IsolatedWindowsEnvironmentOwnerRegistration { { Self::IIsolatedWindowsEnvironmentOwnerRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(ownername), ownerregistrationdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(ownername), ownerregistrationdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Unregister(ownername: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -863,7 +863,7 @@ impl IsolatedWindowsEnvironmentOwnerRegistrationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareableFolders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareableFolders)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -871,7 +871,7 @@ impl IsolatedWindowsEnvironmentOwnerRegistrationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessesRunnableAsSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessesRunnableAsSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -879,7 +879,7 @@ impl IsolatedWindowsEnvironmentOwnerRegistrationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessesRunnableAsUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessesRunnableAsUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -887,7 +887,7 @@ impl IsolatedWindowsEnvironmentOwnerRegistrationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationFileExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationFileExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -912,14 +912,14 @@ impl IsolatedWindowsEnvironmentOwnerRegistrationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -944,14 +944,14 @@ impl IsolatedWindowsEnvironmentPostMessageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -976,14 +976,14 @@ impl IsolatedWindowsEnvironmentProcess { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExitCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WaitForExit(&self) -> ::windows_core::Result<()> { @@ -998,7 +998,7 @@ impl IsolatedWindowsEnvironmentProcess { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WaitForExitAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WaitForExitAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1030,7 +1030,7 @@ impl IsolatedWindowsEnvironmentShareFileRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWrite(&self, value: bool) -> ::windows_core::Result<()> { @@ -1059,21 +1059,21 @@ impl IsolatedWindowsEnvironmentShareFileResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn File(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1105,7 +1105,7 @@ impl IsolatedWindowsEnvironmentShareFolderRequestOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowWrite(&self, value: bool) -> ::windows_core::Result<()> { @@ -1134,14 +1134,14 @@ impl IsolatedWindowsEnvironmentShareFolderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1166,21 +1166,21 @@ impl IsolatedWindowsEnvironmentStartProcessResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Process(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Process)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Process)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1212,7 +1212,7 @@ impl IsolatedWindowsEnvironmentTelemetryParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CorrelationId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCorrelationId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1241,28 +1241,28 @@ impl IsolatedWindowsEnvironmentUserInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnvironmentUserSid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnvironmentUserSid)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnvironmentUserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnvironmentUserName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnvironmentUserName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryWaitForSignInAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryWaitForSignInAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryWaitForSignInAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryWaitForSignInWithProgressAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryWaitForSignInWithProgressAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryWaitForSignInWithProgressAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1290,7 +1290,7 @@ impl IsolatedWindowsHostMessenger { pub fn GetFileId(filepath: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::GUID> { Self::IIsolatedWindowsHostMessengerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] diff --git a/crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs b/crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs index c919b924b8..82aafe1c9c 100644 --- a/crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs +++ b/crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs @@ -254,7 +254,7 @@ impl GuidanceAudioNotificationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioNotification)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -262,14 +262,14 @@ impl GuidanceAudioNotificationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioFilePaths)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioFilePaths)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AudioText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -294,14 +294,14 @@ impl GuidanceLaneInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaneMarkers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaneMarkers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOnRoute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnRoute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnRoute)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -327,84 +327,84 @@ impl GuidanceManeuver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DistanceFromRouteStart(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceFromRouteStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceFromRouteStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DistanceFromPreviousManeuver(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceFromPreviousManeuver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceFromPreviousManeuver)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DepartureRoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepartureRoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepartureRoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextRoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextRoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextRoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DepartureShortRoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepartureShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepartureShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextShortRoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartAngle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndAngle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RoadSignpost(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoadSignpost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoadSignpost)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstructionText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstructionText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstructionText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -430,35 +430,35 @@ impl GuidanceMapMatchedCoordinate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentHeading(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentHeading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentHeading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentSpeed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentSpeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentSpeed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOnStreet(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnStreet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnStreet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Road(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Road)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Road)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -517,7 +517,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioMeasurementSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioMeasurementSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioMeasurementSystem(&self, value: GuidanceAudioMeasurementSystem) -> ::windows_core::Result<()> { @@ -528,7 +528,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioNotifications)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioNotifications)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAudioNotifications(&self, value: GuidanceAudioNotifications) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GuidanceUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GuidanceUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGuidanceUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -556,7 +556,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DestinationReached)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DestinationReached)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDestinationReached(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -570,7 +570,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rerouting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rerouting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRerouting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -584,7 +584,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rerouted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rerouted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRerouted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -598,7 +598,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RerouteFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RerouteFailed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRerouteFailed(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -612,7 +612,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserLocationLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserLocationLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserLocationLost(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -626,7 +626,7 @@ impl GuidanceNavigator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserLocationRestored)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserLocationRestored)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUserLocationRestored(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -660,7 +660,7 @@ impl GuidanceNavigator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AudioNotificationRequested)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AudioNotificationRequested)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAudioNotificationRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -671,7 +671,7 @@ impl GuidanceNavigator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGuidanceAudioMuted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGuidanceAudioMuted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsGuidanceAudioMuted(&self, value: bool) -> ::windows_core::Result<()> { @@ -681,13 +681,13 @@ impl GuidanceNavigator { pub fn GetCurrent() -> ::windows_core::Result { Self::IGuidanceNavigatorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UseAppProvidedVoice() -> ::windows_core::Result { Self::IGuidanceNavigatorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseAppProvidedVoice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseAppProvidedVoice)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -722,7 +722,7 @@ impl GuidanceReroutedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -747,28 +747,28 @@ impl GuidanceRoadSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShortRoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShortRoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SpeedLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeedLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeedLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TravelTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TravelTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TravelTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Geolocation")] @@ -776,42 +776,42 @@ impl GuidanceRoadSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsHighway(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHighway)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHighway)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTunnel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTunnel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTunnel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTollRoad(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTollRoad)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTollRoad)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScenic(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScenic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScenic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -836,14 +836,14 @@ impl GuidanceRoadSignpost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Exit(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -851,7 +851,7 @@ impl GuidanceRoadSignpost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -859,7 +859,7 @@ impl GuidanceRoadSignpost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -867,7 +867,7 @@ impl GuidanceRoadSignpost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitDirections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitDirections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -892,14 +892,14 @@ impl GuidanceRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Distance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Distance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Distance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -907,7 +907,7 @@ impl GuidanceRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Maneuvers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Maneuvers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -915,7 +915,7 @@ impl GuidanceRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -923,7 +923,7 @@ impl GuidanceRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -931,14 +931,14 @@ impl GuidanceRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoadSegments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoadSegments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConvertToMapRoute(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConvertToMapRoute)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConvertToMapRoute)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanCreateFromMapRoute(maproute: P0) -> ::windows_core::Result @@ -947,7 +947,7 @@ impl GuidanceRoute { { Self::IGuidanceRouteStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCreateFromMapRoute)(::windows_core::Interface::as_raw(this), maproute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCreateFromMapRoute)(::windows_core::Interface::as_raw(this), maproute.into_param().abi(), &mut result__).map(|| result__) }) } pub fn TryCreateFromMapRoute(maproute: P0) -> ::windows_core::Result @@ -956,7 +956,7 @@ impl GuidanceRoute { { Self::IGuidanceRouteStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromMapRoute)(::windows_core::Interface::as_raw(this), maproute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromMapRoute)(::windows_core::Interface::as_raw(this), maproute.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -986,7 +986,7 @@ impl GuidanceTelemetryCollector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1001,7 +1001,7 @@ impl GuidanceTelemetryCollector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpeedTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpeedTrigger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpeedTrigger(&self, value: f64) -> ::windows_core::Result<()> { @@ -1012,7 +1012,7 @@ impl GuidanceTelemetryCollector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UploadFrequency)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UploadFrequency)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUploadFrequency(&self, value: i32) -> ::windows_core::Result<()> { @@ -1022,7 +1022,7 @@ impl GuidanceTelemetryCollector { pub fn GetCurrent() -> ::windows_core::Result { Self::IGuidanceTelemetryCollectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1052,91 +1052,91 @@ impl GuidanceUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NextManeuver(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextManeuver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextManeuver)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextManeuverDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextManeuverDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextManeuverDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AfterNextManeuver(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AfterNextManeuver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AfterNextManeuver)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AfterNextManeuverDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AfterNextManeuverDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AfterNextManeuverDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DistanceToDestination(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DistanceToDestination)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DistanceToDestination)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ElapsedDistance(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElapsedDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElapsedDistance)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ElapsedTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElapsedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElapsedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TimeToDestination(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToDestination)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToDestination)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RoadName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoadName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoadName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Route(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentLocation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsNewManeuver(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNewManeuver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNewManeuver)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1144,7 +1144,7 @@ impl GuidanceUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaneInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaneInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs b/crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs index fc86b78ae1..fda81e19d0 100644 --- a/crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs +++ b/crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs @@ -94,49 +94,49 @@ impl LocalCategories { pub fn BankAndCreditUnions() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BankAndCreditUnions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BankAndCreditUnions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EatDrink() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EatDrink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EatDrink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Hospitals() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hospitals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hospitals)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HotelsAndMotels() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HotelsAndMotels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HotelsAndMotels)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn All() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).All)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).All)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parking() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parking)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SeeDo() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeeDo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeeDo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Shop() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ILocalCategoriesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -157,28 +157,28 @@ impl LocalLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Identifier(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -186,35 +186,35 @@ impl LocalLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PhoneNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataAttribution(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataAttribution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataAttribution)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Category(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Category)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RatingInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RatingInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RatingInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -222,7 +222,7 @@ impl LocalLocation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoursOfOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoursOfOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -247,7 +247,7 @@ impl LocalLocationFinder { { Self::ILocalLocationFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocalLocationsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchterm), searcharea.into_param().abi(), ::core::mem::transmute_copy(localcategory), maxresults, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocalLocationsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchterm), searcharea.into_param().abi(), ::core::mem::transmute_copy(localcategory), maxresults, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -269,14 +269,14 @@ impl LocalLocationFinderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalLocations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalLocations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -302,21 +302,21 @@ impl LocalLocationHoursOfOperationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Day)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Span(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Span)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Span)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -341,21 +341,21 @@ impl LocalLocationRatingInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AggregateRating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AggregateRating)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RatingCount(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RatingCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RatingCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProviderIdentifier(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -379,7 +379,7 @@ impl PlaceInfoHelper { { Self::IPlaceInfoHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLocalLocation)(::windows_core::Interface::as_raw(this), location.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLocalLocation)(::windows_core::Interface::as_raw(this), location.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs b/crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs index 17d6cf3cf6..7aea152746 100644 --- a/crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs +++ b/crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs @@ -56,28 +56,28 @@ impl OfflineMapPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EnclosingRegionName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnclosingRegionName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnclosingRegionName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EstimatedSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -91,14 +91,14 @@ impl OfflineMapPackage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn RequestStartDownloadAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStartDownloadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStartDownloadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -108,7 +108,7 @@ impl OfflineMapPackage { { Self::IOfflineMapPackageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -118,7 +118,7 @@ impl OfflineMapPackage { { Self::IOfflineMapPackageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesInBoundingBoxAsync)(::windows_core::Interface::as_raw(this), queryboundingbox.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesInBoundingBoxAsync)(::windows_core::Interface::as_raw(this), queryboundingbox.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -128,7 +128,7 @@ impl OfflineMapPackage { { Self::IOfflineMapPackageStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindPackagesInGeocircleAsync)(::windows_core::Interface::as_raw(this), querycircle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindPackagesInGeocircleAsync)(::windows_core::Interface::as_raw(this), querycircle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -158,7 +158,7 @@ impl OfflineMapPackageQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -166,7 +166,7 @@ impl OfflineMapPackageQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Packages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Packages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -191,7 +191,7 @@ impl OfflineMapPackageStartDownloadResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Services/Maps/mod.rs b/crates/libs/windows/src/Windows/Services/Maps/mod.rs index a09fe5b929..f1123d2d70 100644 --- a/crates/libs/windows/src/Windows/Services/Maps/mod.rs +++ b/crates/libs/windows/src/Windows/Services/Maps/mod.rs @@ -434,14 +434,14 @@ impl EnhancedWaypoint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Geolocation")] @@ -451,7 +451,7 @@ impl EnhancedWaypoint { { Self::IEnhancedWaypointFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), point.into_param().abi(), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), point.into_param().abi(), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -481,14 +481,14 @@ impl ManeuverWarning { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Severity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Severity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Severity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -513,112 +513,112 @@ impl MapAddress { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildingName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildingName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BuildingFloor(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildingFloor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildingFloor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BuildingRoom(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildingRoom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildingRoom)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BuildingWing(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildingWing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildingWing)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StreetNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreetNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreetNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Street(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Street)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Street)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Neighborhood(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Neighborhood)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Neighborhood)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn District(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).District)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).District)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Town(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Town)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Town)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Region(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Region)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RegionCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegionCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegionCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Country(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Country)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CountryCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CountryCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CountryCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Continent(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Continent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Continent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -644,28 +644,28 @@ impl MapLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Address(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -690,7 +690,7 @@ impl MapLocationFinder { { Self::IMapLocationFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocationsAtAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocationsAtAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -700,7 +700,7 @@ impl MapLocationFinder { { Self::IMapLocationFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocationsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), referencepoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocationsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), referencepoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -710,7 +710,7 @@ impl MapLocationFinder { { Self::IMapLocationFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocationsWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), referencepoint.into_param().abi(), maxcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocationsWithMaxCountAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchtext), referencepoint.into_param().abi(), maxcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -720,7 +720,7 @@ impl MapLocationFinder { { Self::IMapLocationFinderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindLocationsAtWithAccuracyAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), accuracy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindLocationsAtWithAccuracyAsync)(::windows_core::Interface::as_raw(this), querypoint.into_param().abi(), accuracy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -747,14 +747,14 @@ impl MapLocationFinderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -797,21 +797,21 @@ impl MapRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LengthInMeters(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EstimatedDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Geolocation")] @@ -819,7 +819,7 @@ impl MapRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -827,49 +827,49 @@ impl MapRoute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Legs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Legs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsTrafficBased(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrafficBased)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrafficBased)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ViolatedRestrictions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViolatedRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViolatedRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasBlockedRoads(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasBlockedRoads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasBlockedRoads)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DurationWithoutTraffic(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DurationWithoutTraffic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DurationWithoutTraffic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrafficCongestion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficCongestion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficCongestion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScenic(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScenic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScenic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -901,7 +901,7 @@ impl MapRouteDrivingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAlternateRouteCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAlternateRouteCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxAlternateRouteCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -912,7 +912,7 @@ impl MapRouteDrivingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialHeading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialHeading)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInitialHeading(&self, value: P0) -> ::windows_core::Result<()> @@ -926,7 +926,7 @@ impl MapRouteDrivingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RouteOptimization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RouteOptimization)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRouteOptimization(&self, value: MapRouteOptimization) -> ::windows_core::Result<()> { @@ -937,7 +937,7 @@ impl MapRouteDrivingOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RouteRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RouteRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRouteRestrictions(&self, value: MapRouteRestrictions) -> ::windows_core::Result<()> { @@ -948,7 +948,7 @@ impl MapRouteDrivingOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DepartureTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DepartureTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDepartureTime(&self, value: P0) -> ::windows_core::Result<()> @@ -981,7 +981,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -992,7 +992,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1003,7 +1003,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationAndRestrictionsAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, restrictions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationAndRestrictionsAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, restrictions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1014,7 +1014,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationRestrictionsAndHeadingAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, restrictions, headingindegrees, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptimizationRestrictionsAndHeadingAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), optimization, restrictions, headingindegrees, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation_Collections"))] @@ -1024,7 +1024,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation_Collections"))] @@ -1034,7 +1034,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsAndOptimizationAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsAndOptimizationAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation_Collections"))] @@ -1044,7 +1044,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsOptimizationAndRestrictionsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, restrictions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsOptimizationAndRestrictionsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, restrictions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation_Collections"))] @@ -1054,7 +1054,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsOptimizationRestrictionsAndHeadingAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, restrictions, headingindegrees, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromWaypointsOptimizationRestrictionsAndHeadingAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), optimization, restrictions, headingindegrees, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1065,7 +1065,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWalkingRouteAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWalkingRouteAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation_Collections"))] @@ -1075,7 +1075,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWalkingRouteFromWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWalkingRouteFromWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1087,7 +1087,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptionsAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteWithOptionsAsync)(::windows_core::Interface::as_raw(this), startpoint.into_param().abi(), endpoint.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1097,7 +1097,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromEnhancedWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromEnhancedWaypointsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1108,7 +1108,7 @@ impl MapRouteFinder { { Self::IMapRouteFinderStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrivingRouteFromEnhancedWaypointsWithOptionsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrivingRouteFromEnhancedWaypointsWithOptionsAsync)(::windows_core::Interface::as_raw(this), waypoints.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1139,14 +1139,14 @@ impl MapRouteFinderResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Route)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1154,7 +1154,7 @@ impl MapRouteFinderResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateRoutes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateRoutes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1180,7 +1180,7 @@ impl MapRouteLeg { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -1188,21 +1188,21 @@ impl MapRouteLeg { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LengthInMeters(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EstimatedDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EstimatedDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EstimatedDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1210,21 +1210,21 @@ impl MapRouteLeg { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Maneuvers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Maneuvers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DurationWithoutTraffic(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DurationWithoutTraffic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DurationWithoutTraffic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrafficCongestion(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrafficCongestion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrafficCongestion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1250,63 +1250,63 @@ impl MapRouteManeuver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartingPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartingPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LengthInMeters(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LengthInMeters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InstructionText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstructionText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstructionText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExitNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ManeuverNotices(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManeuverNotices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManeuverNotices)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartHeading(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartHeading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartHeading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndHeading(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndHeading)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndHeading)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StreetName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreetName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreetName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1314,7 +1314,7 @@ impl MapRouteManeuver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Warnings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Warnings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1338,19 +1338,19 @@ impl MapService { pub fn ServiceToken() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMapServiceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WorldViewRegionCode() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMapServiceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorldViewRegionCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorldViewRegionCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DataAttributions() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IMapServiceStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataAttributions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataAttributions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetDataUsagePreference(value: MapServiceDataUsagePreference) -> ::windows_core::Result<()> { @@ -1359,7 +1359,7 @@ impl MapService { pub fn DataUsagePreference() -> ::windows_core::Result { Self::IMapServiceStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataUsagePreference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataUsagePreference)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1404,21 +1404,21 @@ impl PlaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Identifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Identifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayAddress(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -1426,7 +1426,7 @@ impl PlaceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geoshape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geoshape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Geolocation")] @@ -1436,7 +1436,7 @@ impl PlaceInfo { { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), referencepoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), referencepoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1447,13 +1447,13 @@ impl PlaceInfo { { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithGeopointAndOptions)(::windows_core::Interface::as_raw(this), referencepoint.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithGeopointAndOptions)(::windows_core::Interface::as_raw(this), referencepoint.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromIdentifier(identifier: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdentifier)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identifier), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdentifier)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identifier), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -1464,7 +1464,7 @@ impl PlaceInfo { { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIdentifierWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identifier), defaultpoint.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIdentifierWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(identifier), defaultpoint.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromMapLocation(location: P0) -> ::windows_core::Result @@ -1473,25 +1473,25 @@ impl PlaceInfo { { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMapLocation)(::windows_core::Interface::as_raw(this), location.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMapLocation)(::windows_core::Interface::as_raw(this), location.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsShowSupported() -> ::windows_core::Result { Self::IPlaceInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShowSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShowSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CreateFromAddress(displayaddress: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPlaceInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromAddress)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromAddress)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromAddressWithName(displayaddress: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPlaceInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromAddressWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayaddress), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromAddressWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayaddress), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1537,7 +1537,7 @@ impl PlaceInfoCreateOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayAddress(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1548,7 +1548,7 @@ impl PlaceInfoCreateOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayAddress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayAddress)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Services/Store/mod.rs b/crates/libs/windows/src/Windows/Services/Store/mod.rs index 94d430540d..f216b7043e 100644 --- a/crates/libs/windows/src/Windows/Services/Store/mod.rs +++ b/crates/libs/windows/src/Windows/Services/Store/mod.rs @@ -585,14 +585,14 @@ impl StoreAcquireLicenseResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorePackageLicense)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorePackageLicense)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -617,35 +617,35 @@ impl StoreAppLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkuStoreId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkuStoreId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTrial(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -653,35 +653,35 @@ impl StoreAppLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddOnLicenses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddOnLicenses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrialTimeRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrialTimeRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrialTimeRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTrialOwnedByThisUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrialOwnedByThisUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrialOwnedByThisUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrialUniqueId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrialUniqueId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrialUniqueId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDiscLicense(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDiscLicense)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDiscLicense)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -706,35 +706,35 @@ impl StoreAvailability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EndDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Price(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseWithPurchasePropertiesAsync(&self, storepurchaseproperties: P0) -> ::windows_core::Result> @@ -744,7 +744,7 @@ impl StoreAvailability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -769,21 +769,21 @@ impl StoreCanAcquireLicenseResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LicensableSku(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicensableSku)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicensableSku)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -808,56 +808,56 @@ impl StoreCollectionData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CampaignId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CampaignId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CampaignId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeveloperOfferId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeveloperOfferId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeveloperOfferId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcquiredDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquiredDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquiredDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StartDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrialTimeRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrialTimeRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrialTimeRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -882,28 +882,28 @@ impl StoreConsumableResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrackingId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackingId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BalanceRemaining(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BalanceRemaining)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BalanceRemaining)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -929,7 +929,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OfflineLicensesChanged(&self, handler: P0) -> ::windows_core::Result @@ -939,7 +939,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OfflineLicensesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OfflineLicensesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOfflineLicensesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -950,28 +950,28 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCustomerPurchaseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCustomerPurchaseIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCustomerCollectionsIdAsync(&self, serviceticket: &::windows_core::HSTRING, publisheruserid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCustomerCollectionsIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCustomerCollectionsIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(serviceticket), ::core::mem::transmute_copy(publisheruserid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAppLicenseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppLicenseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppLicenseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStoreProductForCurrentAppAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreProductForCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreProductForCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -983,7 +983,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreProductsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), storeids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreProductsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), storeids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -994,7 +994,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1005,7 +1005,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsWithPagingAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), maxitemstoretrieveperpage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsWithPagingAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), maxitemstoretrieveperpage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1016,7 +1016,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserCollectionAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserCollectionAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1027,21 +1027,21 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserCollectionWithPagingAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), maxitemstoretrieveperpage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserCollectionWithPagingAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), maxitemstoretrieveperpage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportConsumableFulfillmentAsync(&self, productstoreid: &::windows_core::HSTRING, quantity: u32, trackingid: ::windows_core::GUID) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), quantity, trackingid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReportConsumableFulfillmentAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), quantity, trackingid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetConsumableBalanceRemainingAsync(&self, productstoreid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConsumableBalanceRemainingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConsumableBalanceRemainingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1052,14 +1052,14 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcquireStoreLicenseForOptionalPackageAsync)(::windows_core::Interface::as_raw(this), optionalpackage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcquireStoreLicenseForOptionalPackageAsync)(::windows_core::Interface::as_raw(this), optionalpackage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseAsync(&self, storeid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseWithPurchasePropertiesAsync(&self, storeid: &::windows_core::HSTRING, storepurchaseproperties: P0) -> ::windows_core::Result> @@ -1069,7 +1069,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), storepurchaseproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), storepurchaseproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1077,7 +1077,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppAndOptionalStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppAndOptionalStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1088,7 +1088,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDownloadStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDownloadStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1099,7 +1099,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1110,7 +1110,7 @@ impl StoreContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackagesAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackagesAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -1122,14 +1122,14 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindStoreProductForPackageAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindStoreProductForPackageAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanSilentlyDownloadStorePackageUpdates(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanSilentlyDownloadStorePackageUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanSilentlyDownloadStorePackageUpdates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1140,7 +1140,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySilentDownloadStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySilentDownloadStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1151,7 +1151,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySilentDownloadAndInstallStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySilentDownloadAndInstallStorePackageUpdatesAsync)(::windows_core::Interface::as_raw(this), storepackageupdates.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1162,14 +1162,14 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanAcquireStoreLicenseForOptionalPackageAsync)(::windows_core::Interface::as_raw(this), optionalpackage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanAcquireStoreLicenseForOptionalPackageAsync)(::windows_core::Interface::as_raw(this), optionalpackage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanAcquireStoreLicenseAsync(&self, productstoreid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanAcquireStoreLicenseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanAcquireStoreLicenseAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productstoreid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1182,7 +1182,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreProductsWithOptionsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), storeids.into_param().abi(), storeproductoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreProductsWithOptionsAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), storeids.into_param().abi(), storeproductoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1190,7 +1190,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAssociatedStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAssociatedStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1201,7 +1201,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1213,7 +1213,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackagesWithInstallOptionsAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), storepackageinstalloptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDownloadAndInstallStorePackagesWithInstallOptionsAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), storepackageinstalloptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1224,7 +1224,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadAndInstallStorePackagesAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadAndInstallStorePackagesAsync)(::windows_core::Interface::as_raw(this), storeids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1235,14 +1235,14 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUninstallStorePackageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUninstallStorePackageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestUninstallStorePackageByStoreIdAsync(&self, storeid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUninstallStorePackageByStoreIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUninstallStorePackageByStoreIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -1253,21 +1253,21 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UninstallStorePackageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UninstallStorePackageAsync)(::windows_core::Interface::as_raw(this), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UninstallStorePackageByStoreIdAsync(&self, storeid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UninstallStorePackageByStoreIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UninstallStorePackageByStoreIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(storeid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestRateAndReviewAppAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRateAndReviewAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRateAndReviewAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1278,7 +1278,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetInstallOrderForAssociatedStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), items.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetInstallOrderForAssociatedStoreQueueItemsAsync)(::windows_core::Interface::as_raw(this), items.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1289,7 +1289,7 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUserPurchaseHistoryAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUserPurchaseHistoryAsync)(::windows_core::Interface::as_raw(this), productkinds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1300,20 +1300,20 @@ impl StoreContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsByInAppOfferTokenAsync)(::windows_core::Interface::as_raw(this), inappoffertokens.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAssociatedStoreProductsByInAppOfferTokenAsync)(::windows_core::Interface::as_raw(this), inappoffertokens.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseByInAppOfferTokenAsync(&self, inappoffertoken: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseByInAppOfferTokenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(inappoffertoken), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseByInAppOfferTokenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(inappoffertoken), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IStoreContextStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1323,7 +1323,7 @@ impl StoreContext { { Self::IStoreContextStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1353,35 +1353,35 @@ impl StoreImage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImagePurposeTag(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImagePurposeTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImagePurposeTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Caption(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1406,35 +1406,35 @@ impl StoreLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkuStoreId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkuStoreId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpirationDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InAppOfferToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InAppOfferToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InAppOfferToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1466,7 +1466,7 @@ impl StorePackageInstallOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowForcedAppRestart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowForcedAppRestart(&self, value: bool) -> ::windows_core::Result<()> { @@ -1503,7 +1503,7 @@ impl StorePackageLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LicenseLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LicenseLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLicenseLost(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1515,14 +1515,14 @@ impl StorePackageLicense { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsValid(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsValid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReleaseLicense(&self) -> ::windows_core::Result<()> { @@ -1552,14 +1552,14 @@ impl StorePackageUpdate { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Package)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Mandatory(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mandatory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mandatory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1584,7 +1584,7 @@ impl StorePackageUpdateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OverallState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OverallState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1592,7 +1592,7 @@ impl StorePackageUpdateResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorePackageUpdateStatuses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorePackageUpdateStatuses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1600,7 +1600,7 @@ impl StorePackageUpdateResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreQueueItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreQueueItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1625,63 +1625,63 @@ impl StorePrice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedPrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsOnSale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnSale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SaleEndDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaleEndDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrencyCode(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrencyCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FormattedRecurrencePrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedRecurrencePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedRecurrencePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnformattedBasePrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnformattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnformattedBasePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnformattedPrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnformattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnformattedPrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnformattedRecurrencePrice(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnformattedRecurrencePrice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnformattedRecurrencePrice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1706,42 +1706,42 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProductKind(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductKind)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasDigitalDownload(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasDigitalDownload)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasDigitalDownload)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1749,7 +1749,7 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1757,7 +1757,7 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Images)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Images)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1765,7 +1765,7 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1773,49 +1773,49 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Skus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Skus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInUserCollection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInUserCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInUserCollection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Price(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LinkUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsAnySkuInstalledAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsAnySkuInstalledAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsAnySkuInstalledAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseWithPurchasePropertiesAsync(&self, storepurchaseproperties: P0) -> ::windows_core::Result> @@ -1825,14 +1825,14 @@ impl StoreProduct { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InAppOfferToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InAppOfferToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InAppOfferToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1865,7 +1865,7 @@ impl StoreProductOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionFilters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionFilters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1891,28 +1891,28 @@ impl StoreProductPagedQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Products)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Products)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasMoreResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasMoreResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasMoreResults)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetNextAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNextAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNextAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1938,14 +1938,14 @@ impl StoreProductQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Products)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Products)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1970,14 +1970,14 @@ impl StoreProductResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Product)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Product)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2009,7 +2009,7 @@ impl StorePurchaseProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2020,7 +2020,7 @@ impl StorePurchaseProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExtendedJsonData(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2030,7 +2030,7 @@ impl StorePurchaseProperties { pub fn Create(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IStorePurchasePropertiesFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2060,14 +2060,14 @@ impl StorePurchaseResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2092,28 +2092,28 @@ impl StoreQueueItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InstallKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCurrentStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Completed(&self, handler: P0) -> ::windows_core::Result @@ -2123,7 +2123,7 @@ impl StoreQueueItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2137,7 +2137,7 @@ impl StoreQueueItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2148,21 +2148,21 @@ impl StoreQueueItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PauseInstallAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PauseInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PauseInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResumeInstallAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumeInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumeInstallAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2187,7 +2187,7 @@ impl StoreQueueItemCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2212,28 +2212,28 @@ impl StoreQueueItemStatus { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageInstallState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageInstallState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PackageInstallExtendedState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageInstallExtendedState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageInstallExtendedState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateStatus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2258,28 +2258,28 @@ impl StoreRateAndReviewResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WasUpdated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WasUpdated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WasUpdated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2303,7 +2303,7 @@ impl StoreRequestHelper { { Self::IStoreRequestHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), requestkind, ::core::mem::transmute_copy(parametersasjson), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), requestkind, ::core::mem::transmute_copy(parametersasjson), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2324,14 +2324,14 @@ impl StoreSendRequestResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_Http")] @@ -2339,7 +2339,7 @@ impl StoreSendRequestResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HttpStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HttpStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2364,42 +2364,42 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Language(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsTrial(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CustomDeveloperData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomDeveloperData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomDeveloperData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2407,7 +2407,7 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Images)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Images)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2415,7 +2415,7 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2423,28 +2423,28 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Availabilities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Availabilities)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Price(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedJsonData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedJsonData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInUserCollection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInUserCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInUserCollection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2452,28 +2452,28 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BundledSkus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BundledSkus)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CollectionData(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIsInstalledAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIsInstalledAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIsInstalledAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPurchaseWithPurchasePropertiesAsync(&self, storepurchaseproperties: P0) -> ::windows_core::Result> @@ -2483,21 +2483,21 @@ impl StoreSku { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPurchaseWithPurchasePropertiesAsync)(::windows_core::Interface::as_raw(this), storepurchaseproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSubscription(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSubscription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSubscription)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SubscriptionInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscriptionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscriptionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2522,35 +2522,35 @@ impl StoreSubscriptionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BillingPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BillingPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BillingPeriodUnit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BillingPeriodUnit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BillingPeriodUnit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasTrialPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasTrialPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasTrialPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrialPeriod(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrialPeriod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrialPeriod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TrialPeriodUnit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrialPeriodUnit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrialPeriodUnit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2575,14 +2575,14 @@ impl StoreUninstallStorePackageResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2607,42 +2607,42 @@ impl StoreVideo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VideoPurposeTag(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoPurposeTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoPurposeTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Caption(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviewImage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviewImage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviewImage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs b/crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs index 80b724e5b2..b3e8cee0c2 100644 --- a/crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs +++ b/crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs @@ -206,7 +206,7 @@ impl TargetedContentAction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvokeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvokeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -231,7 +231,7 @@ impl TargetedContentAvailabilityChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -256,14 +256,14 @@ impl TargetedContentChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasPreviousContentExpired(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPreviousContentExpired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPreviousContentExpired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -288,7 +288,7 @@ impl TargetedContentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportInteraction(&self, interaction: TargetedContentInteraction) -> ::windows_core::Result<()> { @@ -303,7 +303,7 @@ impl TargetedContentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -311,7 +311,7 @@ impl TargetedContentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -319,7 +319,7 @@ impl TargetedContentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -327,7 +327,7 @@ impl TargetedContentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -352,41 +352,41 @@ impl TargetedContentContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Availability(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Availability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Content(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectSingleObject(&self, path: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectSingleObject)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectSingleObject)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAsync(contentid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ITargetedContentContainerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -422,7 +422,7 @@ impl TargetedContentFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -455,21 +455,21 @@ impl TargetedContentImage { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -494,7 +494,7 @@ impl TargetedContentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReportInteraction(&self, interaction: TargetedContentInteraction) -> ::windows_core::Result<()> { @@ -509,7 +509,7 @@ impl TargetedContentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -517,7 +517,7 @@ impl TargetedContentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -525,7 +525,7 @@ impl TargetedContentItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -550,14 +550,14 @@ impl TargetedContentItemState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldDisplay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldDisplay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppInstallationState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInstallationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInstallationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -582,28 +582,28 @@ impl TargetedContentObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ObjectKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ObjectKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Collection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Item(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Item)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -628,7 +628,7 @@ impl TargetedContentStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -653,14 +653,14 @@ impl TargetedContentSubscription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetContentContainerAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetContentContainerAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetContentContainerAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentChanged(&self, handler: P0) -> ::windows_core::Result @@ -670,7 +670,7 @@ impl TargetedContentSubscription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -684,7 +684,7 @@ impl TargetedContentSubscription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailabilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAvailabilityChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -698,7 +698,7 @@ impl TargetedContentSubscription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStateChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -708,13 +708,13 @@ impl TargetedContentSubscription { pub fn GetAsync(subscriptionid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ITargetedContentSubscriptionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subscriptionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subscriptionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetOptions(subscriptionid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITargetedContentSubscriptionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subscriptionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subscriptionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -744,14 +744,14 @@ impl TargetedContentSubscriptionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubscriptionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubscriptionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AllowPartialContentAvailability(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowPartialContentAvailability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowPartialContentAvailability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowPartialContentAvailability(&self, value: bool) -> ::windows_core::Result<()> { @@ -763,7 +763,7 @@ impl TargetedContentSubscriptionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloudQueryParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloudQueryParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -771,7 +771,7 @@ impl TargetedContentSubscriptionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalFilters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalFilters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Update(&self) -> ::windows_core::Result<()> { @@ -800,42 +800,42 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn String(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).String)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).String)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Number(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Number)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Boolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Boolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Boolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -843,21 +843,21 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageFile(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Action(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -865,7 +865,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Strings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Strings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -873,7 +873,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uris)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uris)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -881,7 +881,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Numbers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Numbers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -889,7 +889,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Booleans)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Booleans)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -897,7 +897,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -905,7 +905,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageFiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageFiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -913,7 +913,7 @@ impl TargetedContentValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs b/crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs index 0f366841f6..ef9bbabb2d 100644 --- a/crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs @@ -37,7 +37,7 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Add(&self, file: P0, metadata: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> @@ -47,7 +47,7 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOrReplaceOverloadDefaultMetadata(&self, token: &::windows_core::HSTRING, file: P0) -> ::windows_core::Result<()> @@ -68,42 +68,42 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Remove(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -114,7 +114,7 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).map(|| result__) } } pub fn Clear(&self) -> ::windows_core::Result<()> { @@ -128,7 +128,7 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -136,14 +136,14 @@ impl IStorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaximumItemsAllowed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -205,7 +205,7 @@ impl AccessListEntryView { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -213,7 +213,7 @@ impl AccessListEntryView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -221,7 +221,7 @@ impl AccessListEntryView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -232,7 +232,7 @@ impl AccessListEntryView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -240,7 +240,7 @@ impl AccessListEntryView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -282,7 +282,7 @@ impl ItemRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovedEntry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovedEntry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -301,13 +301,13 @@ impl StorageApplicationPermissions { pub fn FutureAccessList() -> ::windows_core::Result { Self::IStorageApplicationPermissionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FutureAccessList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FutureAccessList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MostRecentlyUsedList() -> ::windows_core::Result { Self::IStorageApplicationPermissionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MostRecentlyUsedList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MostRecentlyUsedList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -317,7 +317,7 @@ impl StorageApplicationPermissions { { Self::IStorageApplicationPermissionsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFutureAccessListForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFutureAccessListForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -327,7 +327,7 @@ impl StorageApplicationPermissions { { Self::IStorageApplicationPermissionsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMostRecentlyUsedListForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMostRecentlyUsedListForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -357,7 +357,7 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Add(&self, file: P0, metadata: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> @@ -367,7 +367,7 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOrReplaceOverloadDefaultMetadata(&self, token: &::windows_core::HSTRING, file: P0) -> ::windows_core::Result<()> @@ -388,42 +388,42 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Remove(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -434,7 +434,7 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).map(|| result__) } } pub fn Clear(&self) -> ::windows_core::Result<()> { @@ -448,7 +448,7 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -456,14 +456,14 @@ impl StorageItemAccessList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaximumItemsAllowed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -490,7 +490,7 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddOverloadDefaultMetadata)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Add(&self, file: P0, metadata: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> @@ -500,7 +500,7 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Add)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOrReplaceOverloadDefaultMetadata(&self, token: &::windows_core::HSTRING, file: P0) -> ::windows_core::Result<()> @@ -521,42 +521,42 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderWithOptionsAsync(&self, token: &::windows_core::HSTRING, options: AccessCacheOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Remove(&self, token: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -567,7 +567,7 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).map(|| result__) } } pub fn Clear(&self) -> ::windows_core::Result<()> { @@ -581,7 +581,7 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckAccess)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -589,14 +589,14 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Entries)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaximumItemsAllowed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaximumItemsAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ItemRemoved(&self, handler: P0) -> ::windows_core::Result @@ -606,7 +606,7 @@ impl StorageItemMostRecentlyUsedList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemRemoved(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -620,7 +620,7 @@ impl StorageItemMostRecentlyUsedList { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddWithMetadataAndVisibility)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), visibility, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddWithMetadataAndVisibility)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(metadata), visibility, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddOrReplaceWithMetadataAndVisibility(&self, token: &::windows_core::HSTRING, file: P0, metadata: &::windows_core::HSTRING, visibility: RecentStorageItemVisibility) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs b/crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs index 8047a64b50..1fddf1b383 100644 --- a/crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs @@ -61,7 +61,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -69,7 +69,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -77,7 +77,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -85,7 +85,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -93,7 +93,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -101,7 +101,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThumbnailUpdated(&self, changedhandler: P0) -> ::windows_core::Result @@ -111,7 +111,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -125,7 +125,7 @@ impl IStorageItemInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -181,7 +181,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -189,21 +189,21 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FileType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -211,14 +211,14 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result> @@ -228,7 +228,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -238,7 +238,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: super::NameCollisionOption) -> ::windows_core::Result> @@ -248,7 +248,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -258,7 +258,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result @@ -268,7 +268,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -278,7 +278,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: super::NameCollisionOption) -> ::windows_core::Result @@ -288,7 +288,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -298,7 +298,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -306,49 +306,49 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteWithOptionsAsync(&self, options: super::StorageOpenOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAvailable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: super::NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: super::StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -356,49 +356,49 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: super::StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn GetParentAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, item: P0) -> ::windows_core::Result @@ -408,7 +408,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_FileProperties")] @@ -416,7 +416,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -424,7 +424,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -432,7 +432,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -440,7 +440,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -448,7 +448,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -456,7 +456,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThumbnailUpdated(&self, changedhandler: P0) -> ::windows_core::Result @@ -466,7 +466,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -480,7 +480,7 @@ impl FileInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -492,7 +492,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -500,7 +500,7 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -508,28 +508,28 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -537,14 +537,14 @@ impl FileInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -568,7 +568,7 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -576,7 +576,7 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -584,7 +584,7 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -592,7 +592,7 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -600,7 +600,7 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -608,28 +608,28 @@ impl FileInformationFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVirtualizedItemsVector(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVirtualizedItemsVector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVirtualizedItemsVector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVirtualizedFilesVector(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVirtualizedFilesVector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVirtualizedFilesVector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVirtualizedFoldersVector(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVirtualizedFoldersVector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVirtualizedFoldersVector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))] @@ -639,7 +639,7 @@ impl FileInformationFactory { { Self::IFileInformationFactoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithMode)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithMode)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))] @@ -649,7 +649,7 @@ impl FileInformationFactory { { Self::IFileInformationFactoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithModeAndSize)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithModeAndSize)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))] @@ -659,7 +659,7 @@ impl FileInformationFactory { { Self::IFileInformationFactoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithModeAndSizeAndOptions)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, thumbnailoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithModeAndSizeAndOptions)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, thumbnailoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Search"))] @@ -669,7 +669,7 @@ impl FileInformationFactory { { Self::IFileInformationFactoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithModeAndSizeAndOptionsAndFlags)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, thumbnailoptions, delayload, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithModeAndSizeAndOptionsAndFlags)(::windows_core::Interface::as_raw(this), queryresult.into_param().abi(), mode, requestedthumbnailsize, thumbnailoptions, delayload, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -701,49 +701,49 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileAsync(&self, desiredname: &::windows_core::HSTRING, options: super::CreationCollisionOption) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsync(&self, desiredname: &::windows_core::HSTRING, options: super::CreationCollisionOption) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -751,7 +751,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -759,7 +759,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -767,14 +767,14 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetItemAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -782,7 +782,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -790,7 +790,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -798,7 +798,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -809,7 +809,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -817,7 +817,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -825,7 +825,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -836,7 +836,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -844,7 +844,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -855,7 +855,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -863,7 +863,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -871,7 +871,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -879,7 +879,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -887,7 +887,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -895,7 +895,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -906,7 +906,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Search")] @@ -914,7 +914,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Search")] @@ -922,35 +922,35 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: super::NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: super::StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -958,49 +958,49 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: super::StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn GetParentAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, item: P0) -> ::windows_core::Result @@ -1010,7 +1010,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_FileProperties")] @@ -1018,7 +1018,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1026,7 +1026,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1034,7 +1034,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1042,7 +1042,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1050,7 +1050,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BasicProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1058,7 +1058,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thumbnail)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ThumbnailUpdated(&self, changedhandler: P0) -> ::windows_core::Result @@ -1068,7 +1068,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbnailUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveThumbnailUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1082,7 +1082,7 @@ impl FolderInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PropertiesUpdated)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePropertiesUpdated(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1094,7 +1094,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1102,7 +1102,7 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1110,28 +1110,28 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1139,14 +1139,14 @@ impl FolderInformation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Storage/Compression/mod.rs b/crates/libs/windows/src/Windows/Storage/Compression/mod.rs index af44c8b206..415d283ec4 100644 --- a/crates/libs/windows/src/Windows/Storage/Compression/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Compression/mod.rs @@ -58,7 +58,7 @@ impl Compressor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinishAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -66,7 +66,7 @@ impl Compressor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -76,7 +76,7 @@ impl Compressor { { Self::ICompressorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCompressor)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCompressor)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -86,7 +86,7 @@ impl Compressor { { Self::ICompressorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCompressorEx)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), algorithm, blocksize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCompressorEx)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), algorithm, blocksize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -97,7 +97,7 @@ impl Compressor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -105,7 +105,7 @@ impl Compressor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -142,7 +142,7 @@ impl Decompressor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -152,7 +152,7 @@ impl Decompressor { { Self::IDecompressorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDecompressor)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDecompressor)(::windows_core::Interface::as_raw(this), underlyingstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -163,7 +163,7 @@ impl Decompressor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs b/crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs index e98ce4038f..a5205ea91f 100644 --- a/crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs @@ -139,7 +139,7 @@ impl IStorageItemExtraProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -150,14 +150,14 @@ impl IStorageItemExtraProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -237,21 +237,21 @@ impl BasicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateModified(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateModified)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateModified)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ItemDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -262,7 +262,7 @@ impl BasicProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -273,14 +273,14 @@ impl BasicProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -305,14 +305,14 @@ impl DocumentProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -324,14 +324,14 @@ impl DocumentProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -346,7 +346,7 @@ impl DocumentProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -357,14 +357,14 @@ impl DocumentProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -387,7 +387,7 @@ impl GeotagHelper { { Self::IGeotagHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetGeotagAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetGeotagAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -398,7 +398,7 @@ impl GeotagHelper { { Self::IGeotagHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetGeotagFromGeolocatorAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), geolocator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetGeotagFromGeolocatorAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), geolocator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Devices_Geolocation")] @@ -409,7 +409,7 @@ impl GeotagHelper { { Self::IGeotagHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetGeotagAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), geopoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetGeotagAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), geopoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -431,7 +431,7 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRating(&self, value: u32) -> ::windows_core::Result<()> { @@ -443,14 +443,14 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateTaken(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateTaken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateTaken)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDateTaken(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -461,21 +461,21 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -486,21 +486,21 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Longitude(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CameraManufacturer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCameraManufacturer(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -511,7 +511,7 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraModel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCameraModel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -522,7 +522,7 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -530,7 +530,7 @@ impl ImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeopleNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeopleNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -541,7 +541,7 @@ impl ImageProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -552,14 +552,14 @@ impl ImageProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -583,7 +583,7 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Album)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlbum(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -594,7 +594,7 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetArtist(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -606,14 +606,14 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrackNumber(&self, value: u32) -> ::windows_core::Result<()> { @@ -624,7 +624,7 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -635,7 +635,7 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRating(&self, value: u32) -> ::windows_core::Result<()> { @@ -646,21 +646,21 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Bitrate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AlbumArtist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAlbumArtist(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -672,7 +672,7 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Composers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Composers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -680,14 +680,14 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Conductors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Conductors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Subtitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -699,14 +699,14 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Producers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Producers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Publisher(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPublisher(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -718,14 +718,14 @@ impl MusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Writers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Writers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Year(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYear(&self, value: u32) -> ::windows_core::Result<()> { @@ -740,7 +740,7 @@ impl MusicProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -751,14 +751,14 @@ impl MusicProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -782,28 +782,28 @@ impl StorageItemContentProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMusicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMusicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetVideoPropertiesAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVideoPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVideoPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetImagePropertiesAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetImagePropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetImagePropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDocumentPropertiesAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDocumentPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDocumentPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -814,7 +814,7 @@ impl StorageItemContentProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -825,14 +825,14 @@ impl StorageItemContentProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -865,7 +865,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -876,7 +876,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -887,7 +887,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -895,7 +895,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -903,7 +903,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -916,7 +916,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -924,7 +924,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -932,7 +932,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -945,7 +945,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -953,7 +953,7 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -961,35 +961,35 @@ impl StorageItemThumbnail { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OriginalWidth(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OriginalHeight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReturnedSmallerCachedSize(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReturnedSmallerCachedSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReturnedSmallerCachedSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1020,7 +1020,7 @@ impl VideoProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1031,21 +1031,21 @@ impl VideoProperties { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsync)(::windows_core::Interface::as_raw(this), propertiestosave.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavePropertiesAsyncOverloadDefault(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavePropertiesAsyncOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Rating(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRating(&self, value: u32) -> ::windows_core::Result<()> { @@ -1057,49 +1057,49 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Width(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Height(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Latitude(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Latitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Longitude(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Longitude)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1110,7 +1110,7 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1122,14 +1122,14 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Producers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Producers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Publisher(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPublisher(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1141,14 +1141,14 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Writers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Writers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Year(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetYear(&self, value: u32) -> ::windows_core::Result<()> { @@ -1159,7 +1159,7 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bitrate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1167,14 +1167,14 @@ impl VideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Directors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Directors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Orientation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs b/crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs index 22d32dd9ca..290717fc66 100644 --- a/crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs @@ -115,7 +115,7 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddFile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddFile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), file.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFile(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -126,7 +126,7 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).map(|| result__) } } pub fn CanAddFile(&self, file: P0) -> ::windows_core::Result @@ -136,7 +136,7 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanAddFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanAddFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -144,28 +144,28 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectionMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SettingsIdentifier(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -180,7 +180,7 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -195,7 +195,7 @@ impl FileOpenPickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosing(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -226,7 +226,7 @@ impl FileRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -252,7 +252,7 @@ impl FileSavePickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -264,28 +264,28 @@ impl FileSavePickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowedFileTypes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SettingsIdentifier(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetFileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetFileName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn FileNameChanged(&self, handler: P0) -> ::windows_core::Result @@ -295,7 +295,7 @@ impl FileSavePickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileNameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileNameChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFileNameChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -309,7 +309,7 @@ impl FileSavePickerUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetFileRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetFileRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTargetFileRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -356,14 +356,14 @@ impl PickerClosingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosingOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosingOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsCanceled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -386,14 +386,14 @@ impl PickerClosingOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -416,7 +416,7 @@ impl TargetFileRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTargetFile(&self, value: P0) -> ::windows_core::Result<()> @@ -430,7 +430,7 @@ impl TargetFileRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -473,7 +473,7 @@ impl TargetFileRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Storage/Pickers/mod.rs b/crates/libs/windows/src/Windows/Storage/Pickers/mod.rs index 86714ac926..0acf4b18f4 100644 --- a/crates/libs/windows/src/Windows/Storage/Pickers/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Pickers/mod.rs @@ -211,7 +211,7 @@ impl FileExtensionVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -219,7 +219,7 @@ impl FileExtensionVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -227,7 +227,7 @@ impl FileExtensionVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -235,7 +235,7 @@ impl FileExtensionVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -243,7 +243,7 @@ impl FileExtensionVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -281,7 +281,7 @@ impl FileExtensionVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -339,7 +339,7 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetViewMode(&self, value: PickerViewMode) -> ::windows_core::Result<()> { @@ -350,7 +350,7 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSettingsIdentifier(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -361,7 +361,7 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSuggestedStartLocation(&self, value: PickerLocationId) -> ::windows_core::Result<()> { @@ -372,7 +372,7 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommitButtonText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -384,14 +384,14 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PickSingleFileAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -399,7 +399,7 @@ impl FileOpenPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickMultipleFilesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickMultipleFilesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] @@ -407,7 +407,7 @@ impl FileOpenPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -425,14 +425,14 @@ impl FileOpenPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn ResumePickSingleFileAsync() -> ::windows_core::Result> { Self::IFileOpenPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResumePickSingleFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResumePickSingleFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -442,14 +442,14 @@ impl FileOpenPicker { { Self::IFileOpenPickerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PickSingleFileAsync2(&self, pickeroperationid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pickeroperationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(pickeroperationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -490,7 +490,7 @@ impl FilePickerFileTypesOrderedMap { let this = &::windows_core::Interface::cast::>>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -498,7 +498,7 @@ impl FilePickerFileTypesOrderedMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -506,7 +506,7 @@ impl FilePickerFileTypesOrderedMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -514,7 +514,7 @@ impl FilePickerFileTypesOrderedMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -522,7 +522,7 @@ impl FilePickerFileTypesOrderedMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -533,7 +533,7 @@ impl FilePickerFileTypesOrderedMap { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -595,7 +595,7 @@ impl FilePickerSelectedFilesArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -603,7 +603,7 @@ impl FilePickerSelectedFilesArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -611,7 +611,7 @@ impl FilePickerSelectedFilesArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -622,7 +622,7 @@ impl FilePickerSelectedFilesArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -630,7 +630,7 @@ impl FilePickerSelectedFilesArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -683,7 +683,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSettingsIdentifier(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -694,7 +694,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSuggestedStartLocation(&self, value: PickerLocationId) -> ::windows_core::Result<()> { @@ -705,7 +705,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommitButtonText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -717,14 +717,14 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypeChoices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypeChoices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultFileExtension(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultFileExtension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultFileExtension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultFileExtension(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -735,7 +735,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedSaveFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedSaveFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSuggestedSaveFile(&self, value: P0) -> ::windows_core::Result<()> @@ -749,7 +749,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedFileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedFileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSuggestedFileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -760,7 +760,7 @@ impl FileSavePicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSaveFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSaveFileAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -768,7 +768,7 @@ impl FileSavePicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -780,7 +780,7 @@ impl FileSavePicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEnterpriseId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -792,7 +792,7 @@ impl FileSavePicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -802,7 +802,7 @@ impl FileSavePicker { { Self::IFileSavePickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -839,7 +839,7 @@ impl FolderPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetViewMode(&self, value: PickerViewMode) -> ::windows_core::Result<()> { @@ -850,7 +850,7 @@ impl FolderPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SettingsIdentifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSettingsIdentifier(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -861,7 +861,7 @@ impl FolderPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedStartLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSuggestedStartLocation(&self, value: PickerLocationId) -> ::windows_core::Result<()> { @@ -872,7 +872,7 @@ impl FolderPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitButtonText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommitButtonText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -884,14 +884,14 @@ impl FolderPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PickSingleFolderAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -899,7 +899,7 @@ impl FolderPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -912,7 +912,7 @@ impl FolderPicker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -922,7 +922,7 @@ impl FolderPicker { { Self::IFolderPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Storage/Provider/mod.rs b/crates/libs/windows/src/Windows/Storage/Provider/mod.rs index e8fc5b8bf5..83d2d14f17 100644 --- a/crates/libs/windows/src/Windows/Storage/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Provider/mod.rs @@ -138,7 +138,7 @@ impl IStorageProviderItemPropertySource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(itempath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(itempath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -185,7 +185,7 @@ impl IStorageProviderKnownFolderSyncInfoSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKnownFolderSyncInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKnownFolderSyncInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn KnownFolderSyncInfoChanged(&self, handler: P0) -> ::windows_core::Result @@ -195,7 +195,7 @@ impl IStorageProviderKnownFolderSyncInfoSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownFolderSyncInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownFolderSyncInfoChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKnownFolderSyncInfoChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -221,7 +221,7 @@ impl IStorageProviderKnownFolderSyncInfoSourceFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKnownFolderSyncInfoSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKnownFolderSyncInfoSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -262,7 +262,7 @@ impl IStorageProviderPropertyCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPropertySupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycanonicalname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPropertySupported)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycanonicalname), &mut result__).map(|| result__) } } } @@ -330,7 +330,7 @@ impl IStorageProviderStatusUISource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StatusUIChanged(&self, handler: P0) -> ::windows_core::Result @@ -340,7 +340,7 @@ impl IStorageProviderStatusUISource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusUIChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusUIChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStatusUIChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ impl IStorageProviderStatusUISourceFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatusUISource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatusUISource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -471,28 +471,28 @@ impl IStorageProviderUICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Icon(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Invoke(&self) -> ::windows_core::Result<()> { @@ -567,7 +567,7 @@ impl CachedFileUpdaterUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -578,7 +578,7 @@ impl CachedFileUpdaterUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateTarget)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateTarget)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FileUpdateRequested(&self, handler: P0) -> ::windows_core::Result @@ -588,7 +588,7 @@ impl CachedFileUpdaterUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileUpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileUpdateRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFileUpdateRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -602,7 +602,7 @@ impl CachedFileUpdaterUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUIRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -613,21 +613,21 @@ impl CachedFileUpdaterUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UpdateRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -650,21 +650,21 @@ impl FileUpdateRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn File(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatus(&self, value: FileUpdateStatus) -> ::windows_core::Result<()> { @@ -675,7 +675,7 @@ impl FileUpdateRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateLocalFile(&self, value: P0) -> ::windows_core::Result<()> @@ -689,7 +689,7 @@ impl FileUpdateRequest { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInputNeededMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInputNeededMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserInputNeededMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -736,7 +736,7 @@ impl FileUpdateRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -759,20 +759,20 @@ impl StorageProviderFileTypeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileExtension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileExtension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IconResource(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(fileextension: &::windows_core::HSTRING, iconresource: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IStorageProviderFileTypeInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fileextension), ::core::mem::transmute_copy(iconresource), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(fileextension), ::core::mem::transmute_copy(iconresource), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -809,7 +809,7 @@ impl StorageProviderGetContentInfoForPathResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows_core::Result<()> { @@ -820,7 +820,7 @@ impl StorageProviderGetContentInfoForPathResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentUri(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -831,7 +831,7 @@ impl StorageProviderGetContentInfoForPathResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -867,7 +867,7 @@ impl StorageProviderGetPathForContentUriResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatus(&self, value: StorageProviderUriSourceStatus) -> ::windows_core::Result<()> { @@ -878,7 +878,7 @@ impl StorageProviderGetPathForContentUriResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPath(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -908,7 +908,7 @@ impl StorageProviderItemProperties { { Self::IStorageProviderItemPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), itemproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), itemproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -940,7 +940,7 @@ impl StorageProviderItemProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -951,7 +951,7 @@ impl StorageProviderItemProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIconResource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -962,7 +962,7 @@ impl StorageProviderItemProperty { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -994,7 +994,7 @@ impl StorageProviderItemPropertyDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: i32) -> ::windows_core::Result<()> { @@ -1005,7 +1005,7 @@ impl StorageProviderItemPropertyDefinition { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayNameResource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1041,7 +1041,7 @@ impl StorageProviderKnownFolderEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownFolderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownFolderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKnownFolderId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1052,7 +1052,7 @@ impl StorageProviderKnownFolderEntry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatus(&self, value: StorageProviderKnownFolderSyncStatus) -> ::windows_core::Result<()> { @@ -1088,7 +1088,7 @@ impl StorageProviderKnownFolderSyncInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProviderDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1100,14 +1100,14 @@ impl StorageProviderKnownFolderSyncInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownFolderEntries)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownFolderEntries)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SyncRequested(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncRequested)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSyncRequested(&self, value: P0) -> ::windows_core::Result<()> @@ -1140,14 +1140,14 @@ impl StorageProviderKnownFolderSyncRequestArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KnownFolders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KnownFolders)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1179,7 +1179,7 @@ impl StorageProviderMoreInfoUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMessage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1190,7 +1190,7 @@ impl StorageProviderMoreInfoUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommand(&self, value: P0) -> ::windows_core::Result<()> @@ -1229,7 +1229,7 @@ impl StorageProviderQuotaUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuotaTotalInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuotaTotalInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQuotaTotalInBytes(&self, value: u64) -> ::windows_core::Result<()> { @@ -1240,7 +1240,7 @@ impl StorageProviderQuotaUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuotaUsedInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuotaUsedInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQuotaUsedInBytes(&self, value: u64) -> ::windows_core::Result<()> { @@ -1251,7 +1251,7 @@ impl StorageProviderQuotaUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuotaUsedLabel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuotaUsedLabel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetQuotaUsedLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1263,7 +1263,7 @@ impl StorageProviderQuotaUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuotaUsedColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuotaUsedColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI")] @@ -1303,7 +1303,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProviderState(&self, value: StorageProviderState) -> ::windows_core::Result<()> { @@ -1314,7 +1314,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderStateLabel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderStateLabel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProviderStateLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1325,7 +1325,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderStateIcon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderStateIcon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProviderStateIcon(&self, value: P0) -> ::windows_core::Result<()> @@ -1339,7 +1339,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SyncStatusCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SyncStatusCommand)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSyncStatusCommand(&self, value: P0) -> ::windows_core::Result<()> @@ -1353,7 +1353,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuotaUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuotaUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetQuotaUI(&self, value: P0) -> ::windows_core::Result<()> @@ -1367,7 +1367,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoreInfoUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoreInfoUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMoreInfoUI(&self, value: P0) -> ::windows_core::Result<()> @@ -1381,7 +1381,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderPrimaryCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderPrimaryCommand)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProviderPrimaryCommand(&self, value: P0) -> ::windows_core::Result<()> @@ -1396,7 +1396,7 @@ impl StorageProviderStatusUI { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderSecondaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderSecondaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1436,7 +1436,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1448,7 +1448,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Context)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1463,7 +1463,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPath(&self, value: P0) -> ::windows_core::Result<()> @@ -1477,7 +1477,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayNameResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayNameResource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1488,7 +1488,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconResource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIconResource(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1499,7 +1499,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HydrationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HydrationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHydrationPolicy(&self, value: StorageProviderHydrationPolicy) -> ::windows_core::Result<()> { @@ -1510,7 +1510,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HydrationPolicyModifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HydrationPolicyModifier)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHydrationPolicyModifier(&self, value: StorageProviderHydrationPolicyModifier) -> ::windows_core::Result<()> { @@ -1521,7 +1521,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PopulationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PopulationPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPopulationPolicy(&self, value: StorageProviderPopulationPolicy) -> ::windows_core::Result<()> { @@ -1532,7 +1532,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InSyncPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InSyncPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInSyncPolicy(&self, value: StorageProviderInSyncPolicy) -> ::windows_core::Result<()> { @@ -1543,7 +1543,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HardlinkPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HardlinkPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHardlinkPolicy(&self, value: StorageProviderHardlinkPolicy) -> ::windows_core::Result<()> { @@ -1554,7 +1554,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowSiblingsAsGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowSiblingsAsGroup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowSiblingsAsGroup(&self, value: bool) -> ::windows_core::Result<()> { @@ -1565,7 +1565,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVersion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1576,7 +1576,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtectionMode(&self, value: StorageProviderProtectionMode) -> ::windows_core::Result<()> { @@ -1587,7 +1587,7 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowPinning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowPinning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowPinning(&self, value: bool) -> ::windows_core::Result<()> { @@ -1599,14 +1599,14 @@ impl StorageProviderSyncRootInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageProviderItemPropertyDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageProviderItemPropertyDefinitions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecycleBinUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecycleBinUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecycleBinUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRecycleBinUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1620,7 +1620,7 @@ impl StorageProviderSyncRootInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProviderId(&self, value: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1632,7 +1632,7 @@ impl StorageProviderSyncRootInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FallbackFileTypeInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FallbackFileTypeInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1665,26 +1665,26 @@ impl StorageProviderSyncRootManager { { Self::IStorageProviderSyncRootManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSyncRootInformationForFolder)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSyncRootInformationForFolder)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetSyncRootInformationForId(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IStorageProviderSyncRootManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSyncRootInformationForId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSyncRootInformationForId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetCurrentSyncRoots() -> ::windows_core::Result> { Self::IStorageProviderSyncRootManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentSyncRoots)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentSyncRoots)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IStorageProviderSyncRootManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Storage/Search/mod.rs b/crates/libs/windows/src/Windows/Storage/Search/mod.rs index 9d5b70fc9c..ce0c6196ed 100644 --- a/crates/libs/windows/src/Windows/Storage/Search/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Search/mod.rs @@ -74,7 +74,7 @@ impl IIndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -86,7 +86,7 @@ impl IIndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -94,7 +94,7 @@ impl IIndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -109,7 +109,7 @@ impl IIndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreamContentType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -229,21 +229,21 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileQueryOverloadDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileQuery(&self, query: CommonFileQuery) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileQueryWithOptions(&self, queryoptions: P0) -> ::windows_core::Result @@ -253,21 +253,21 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderQueryOverloadDefault(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderQuery(&self, query: CommonFolderQuery) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderQueryWithOptions(&self, queryoptions: P0) -> ::windows_core::Result @@ -277,14 +277,14 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateItemQuery(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateItemQueryWithOptions(&self, queryoptions: P0) -> ::windows_core::Result @@ -294,7 +294,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -302,7 +302,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -310,7 +310,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -318,7 +318,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -326,7 +326,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -334,7 +334,7 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AreQueryOptionsSupported(&self, queryoptions: P0) -> ::windows_core::Result @@ -344,21 +344,21 @@ impl IStorageFolderQueryOperations { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsCommonFolderQuerySupported(&self, query: CommonFolderQuery) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } pub fn IsCommonFileQuerySupported(&self, query: CommonFileQuery) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } } @@ -453,14 +453,14 @@ impl IStorageQueryResultBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Folder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentsChanged(&self, handler: P0) -> ::windows_core::Result @@ -470,7 +470,7 @@ impl IStorageQueryResultBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -484,7 +484,7 @@ impl IStorageQueryResultBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -498,14 +498,14 @@ impl IStorageQueryResultBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentQueryOptions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyNewQueryOptions(&self, newqueryoptions: P0) -> ::windows_core::Result<()> @@ -555,7 +555,7 @@ impl ContentIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAsync)(::windows_core::Interface::as_raw(this), indexablecontent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAsync)(::windows_core::Interface::as_raw(this), indexablecontent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateAsync(&self, indexablecontent: P0) -> ::windows_core::Result @@ -565,14 +565,14 @@ impl ContentIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), indexablecontent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), indexablecontent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, contentid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -583,14 +583,14 @@ impl ContentIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteMultipleAsync)(::windows_core::Interface::as_raw(this), contentids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteMultipleAsync)(::windows_core::Interface::as_raw(this), contentids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAllAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -601,14 +601,14 @@ impl ContentIndexer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrievePropertiesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentid), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Revision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -620,7 +620,7 @@ impl ContentIndexer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateQueryWithSortOrderAndLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), sortorder.into_param().abi(), ::core::mem::transmute_copy(searchfilterlanguage), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateQueryWithSortOrderAndLanguage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), sortorder.into_param().abi(), ::core::mem::transmute_copy(searchfilterlanguage), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -632,7 +632,7 @@ impl ContentIndexer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateQueryWithSortOrder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), sortorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateQueryWithSortOrder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), sortorder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -643,19 +643,19 @@ impl ContentIndexer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateQuery)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateQuery)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(searchfilter), propertiestoretrieve.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIndexerWithName(indexname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IContentIndexerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndexerWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(indexname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndexerWithName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(indexname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetIndexer() -> ::windows_core::Result { Self::IContentIndexerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndexer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndexer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -685,7 +685,7 @@ impl ContentIndexerQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -693,7 +693,7 @@ impl ContentIndexerQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -701,7 +701,7 @@ impl ContentIndexerQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesRangeAsync)(::windows_core::Interface::as_raw(this), startindex, maxitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesRangeAsync)(::windows_core::Interface::as_raw(this), startindex, maxitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -709,7 +709,7 @@ impl ContentIndexerQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -717,14 +717,14 @@ impl ContentIndexerQuery { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRangeAsync)(::windows_core::Interface::as_raw(this), startindex, maxitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRangeAsync)(::windows_core::Interface::as_raw(this), startindex, maxitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QueryFolder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -757,7 +757,7 @@ impl IndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -769,7 +769,7 @@ impl IndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -777,7 +777,7 @@ impl IndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -792,7 +792,7 @@ impl IndexableContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StreamContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StreamContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStreamContentType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -829,14 +829,14 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileTypeFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderDepth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderDepth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderDepth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFolderDepth(&self, value: FolderDepth) -> ::windows_core::Result<()> { @@ -847,7 +847,7 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationSearchFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationSearchFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetApplicationSearchFilter(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -858,7 +858,7 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserSearchFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserSearchFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUserSearchFilter(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -869,7 +869,7 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -880,7 +880,7 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexerOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexerOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIndexerOption(&self, value: IndexerOption) -> ::windows_core::Result<()> { @@ -892,28 +892,28 @@ impl QueryOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SortOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SortOrder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GroupPropertyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GroupPropertyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GroupPropertyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateStackOption(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateStackOption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateStackOption)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SaveToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LoadFromString(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -940,13 +940,13 @@ impl QueryOptions { { Self::IQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCommonFileQuery)(::windows_core::Interface::as_raw(this), query, filetypefilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCommonFileQuery)(::windows_core::Interface::as_raw(this), query, filetypefilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCommonFolderQuery(query: CommonFolderQuery) -> ::windows_core::Result { Self::IQueryOptionsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCommonFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCommonFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -954,7 +954,7 @@ impl QueryOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageProviderIdFilter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageProviderIdFilter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -990,7 +990,7 @@ impl SortEntryVector { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -998,7 +998,7 @@ impl SortEntryVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1006,7 +1006,7 @@ impl SortEntryVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1014,7 +1014,7 @@ impl SortEntryVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1025,7 +1025,7 @@ impl SortEntryVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1072,7 +1072,7 @@ impl SortEntryVector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1121,7 +1121,7 @@ impl StorageFileQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1129,7 +1129,7 @@ impl StorageFileQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Data_Text", feature = "Foundation_Collections"))] @@ -1140,21 +1140,21 @@ impl StorageFileQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMatchingPropertiesWithRanges)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMatchingPropertiesWithRanges)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemCountAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Folder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentsChanged(&self, handler: P0) -> ::windows_core::Result @@ -1164,7 +1164,7 @@ impl StorageFileQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1178,7 +1178,7 @@ impl StorageFileQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1192,14 +1192,14 @@ impl StorageFileQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentQueryOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyNewQueryOptions(&self, newqueryoptions: P0) -> ::windows_core::Result<()> @@ -1231,7 +1231,7 @@ impl StorageFolderQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1239,21 +1239,21 @@ impl StorageFolderQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemCountAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Folder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentsChanged(&self, handler: P0) -> ::windows_core::Result @@ -1263,7 +1263,7 @@ impl StorageFolderQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1277,7 +1277,7 @@ impl StorageFolderQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1291,14 +1291,14 @@ impl StorageFolderQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentQueryOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyNewQueryOptions(&self, newqueryoptions: P0) -> ::windows_core::Result<()> @@ -1330,7 +1330,7 @@ impl StorageItemQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxnumberofitems, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1338,21 +1338,21 @@ impl StorageItemQueryResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsyncDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemCountAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemCountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Folder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentsChanged(&self, handler: P0) -> ::windows_core::Result @@ -1362,7 +1362,7 @@ impl StorageItemQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1376,7 +1376,7 @@ impl StorageItemQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OptionsChanged)(::windows_core::Interface::as_raw(this), changedhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOptionsChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1390,14 +1390,14 @@ impl StorageItemQueryResult { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindStartIndexAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentQueryOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentQueryOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ApplyNewQueryOptions(&self, newqueryoptions: P0) -> ::windows_core::Result<()> @@ -1427,14 +1427,14 @@ impl StorageLibraryChangeTrackerTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTracker(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1457,14 +1457,14 @@ impl StorageLibraryContentChangedTriggerDetails { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateModifiedSinceQuery(&self, lastquerytime: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateModifiedSinceQuery)(::windows_core::Interface::as_raw(this), lastquerytime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateModifiedSinceQuery)(::windows_core::Interface::as_raw(this), lastquerytime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1494,7 +1494,7 @@ impl ValueAndLanguage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1505,7 +1505,7 @@ impl ValueAndLanguage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Storage/Streams/mod.rs b/crates/libs/windows/src/Windows/Storage/Streams/mod.rs index a206165d87..db9c3fde41 100644 --- a/crates/libs/windows/src/Windows/Storage/Streams/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Streams/mod.rs @@ -5,14 +5,14 @@ impl IBuffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -53,7 +53,7 @@ impl IContentTypeProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -73,14 +73,14 @@ impl IDataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnconsumedBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnconsumedBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnicodeEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnicodeEncoding(&self, value: UnicodeEncoding) -> ::windows_core::Result<()> { @@ -91,7 +91,7 @@ impl IDataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetByteOrder(&self, value: ByteOrder) -> ::windows_core::Result<()> { @@ -102,7 +102,7 @@ impl IDataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStreamOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStreamOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInputStreamOptions(&self, value: InputStreamOptions) -> ::windows_core::Result<()> { @@ -113,7 +113,7 @@ impl IDataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadByte)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadByte)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadBytes(&self, value: &mut [u8]) -> ::windows_core::Result<()> { @@ -124,119 +124,119 @@ impl IDataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBuffer)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBuffer)(::windows_core::Interface::as_raw(this), length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadSingle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadDouble(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadString(&self, codeunitcount: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadString)(::windows_core::Interface::as_raw(this), codeunitcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadString)(::windows_core::Interface::as_raw(this), codeunitcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadDateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadTimeSpan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LoadAsync(&self, count: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachBuffer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachStream(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -295,14 +295,14 @@ impl IDataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnstoredBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnstoredBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnicodeEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnicodeEncoding(&self, value: UnicodeEncoding) -> ::windows_core::Result<()> { @@ -313,7 +313,7 @@ impl IDataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetByteOrder(&self, value: ByteOrder) -> ::windows_core::Result<()> { @@ -394,42 +394,42 @@ impl IDataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn MeasureString(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeasureString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeasureString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn StoreAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachBuffer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachStream(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -512,7 +512,7 @@ impl IInputStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -536,7 +536,7 @@ impl IInputStreamReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -560,14 +560,14 @@ impl IOutputStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -596,7 +596,7 @@ impl IPropertySetSerializer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Serialize)(::windows_core::Interface::as_raw(this), propertyset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Serialize)(::windows_core::Interface::as_raw(this), propertyset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -633,7 +633,7 @@ impl IRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -644,21 +644,21 @@ impl IRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOutputStreamAt(&self, position: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: u64) -> ::windows_core::Result<()> { @@ -669,21 +669,21 @@ impl IRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanWrite(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -697,7 +697,7 @@ impl IRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteAsync(&self, buffer: P0) -> ::windows_core::Result> @@ -707,14 +707,14 @@ impl IRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -742,7 +742,7 @@ impl IRandomAccessStreamReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -785,7 +785,7 @@ impl IRandomAccessStreamWithContentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsync(&self, buffer: P0, count: u32, options: InputStreamOptions) -> ::windows_core::Result> @@ -795,7 +795,7 @@ impl IRandomAccessStreamWithContentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteAsync(&self, buffer: P0) -> ::windows_core::Result> @@ -805,21 +805,21 @@ impl IRandomAccessStreamWithContentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -830,21 +830,21 @@ impl IRandomAccessStreamWithContentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOutputStreamAt(&self, position: u64) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: u64) -> ::windows_core::Result<()> { @@ -855,21 +855,21 @@ impl IRandomAccessStreamWithContentType { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRead(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanWrite(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -891,14 +891,14 @@ impl Buffer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Capacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Length(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -908,7 +908,7 @@ impl Buffer { pub fn Create(capacity: u32) -> ::windows_core::Result { Self::IBufferFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), capacity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCopyFromMemoryBuffer(input: P0) -> ::windows_core::Result @@ -917,7 +917,7 @@ impl Buffer { { Self::IBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCopyFromMemoryBuffer)(::windows_core::Interface::as_raw(this), input.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCopyFromMemoryBuffer)(::windows_core::Interface::as_raw(this), input.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMemoryBufferOverIBuffer(input: P0) -> ::windows_core::Result @@ -926,7 +926,7 @@ impl Buffer { { Self::IBufferStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMemoryBufferOverIBuffer)(::windows_core::Interface::as_raw(this), input.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMemoryBufferOverIBuffer)(::windows_core::Interface::as_raw(this), input.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -966,14 +966,14 @@ impl DataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnconsumedBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnconsumedBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnicodeEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnicodeEncoding(&self, value: UnicodeEncoding) -> ::windows_core::Result<()> { @@ -984,7 +984,7 @@ impl DataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetByteOrder(&self, value: ByteOrder) -> ::windows_core::Result<()> { @@ -995,7 +995,7 @@ impl DataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputStreamOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputStreamOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInputStreamOptions(&self, value: InputStreamOptions) -> ::windows_core::Result<()> { @@ -1006,7 +1006,7 @@ impl DataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadByte)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadByte)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadBytes(&self, value: &mut [u8]) -> ::windows_core::Result<()> { @@ -1017,119 +1017,119 @@ impl DataReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBuffer)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBuffer)(::windows_core::Interface::as_raw(this), length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadBoolean(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBoolean)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBoolean)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadGuid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadGuid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt16(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt16)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt16)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt32(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadUInt64(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadUInt64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadUInt64)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadSingle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadSingle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadSingle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadDouble(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadDouble)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadDouble)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadString(&self, codeunitcount: u32) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadString)(::windows_core::Interface::as_raw(this), codeunitcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadString)(::windows_core::Interface::as_raw(this), codeunitcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadDateTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadDateTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadDateTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReadTimeSpan(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTimeSpan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LoadAsync(&self, count: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachBuffer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachStream(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDataReader(inputstream: P0) -> ::windows_core::Result @@ -1138,7 +1138,7 @@ impl DataReader { { Self::IDataReaderFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDataReader)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDataReader)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FromBuffer(buffer: P0) -> ::windows_core::Result @@ -1147,7 +1147,7 @@ impl DataReader { { Self::IDataReaderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromBuffer)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1183,21 +1183,21 @@ impl DataReaderLoadOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1219,14 +1219,14 @@ impl DataReaderLoadOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1292,14 +1292,14 @@ impl DataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnstoredBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnstoredBufferLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UnicodeEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnicodeEncoding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnicodeEncoding(&self, value: UnicodeEncoding) -> ::windows_core::Result<()> { @@ -1310,7 +1310,7 @@ impl DataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ByteOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetByteOrder(&self, value: ByteOrder) -> ::windows_core::Result<()> { @@ -1391,42 +1391,42 @@ impl DataWriter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn MeasureString(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MeasureString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MeasureString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } pub fn StoreAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoreAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachBuffer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachBuffer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DetachStream(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DetachStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDataWriter(outputstream: P0) -> ::windows_core::Result @@ -1435,7 +1435,7 @@ impl DataWriter { { Self::IDataWriterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDataWriter)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDataWriter)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1466,21 +1466,21 @@ impl DataWriterStoreOperation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Status(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -1502,14 +1502,14 @@ impl DataWriterStoreOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResults(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResults)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1571,7 +1571,7 @@ impl FileInputStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1604,14 +1604,14 @@ impl FileOutputStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1640,25 +1640,25 @@ impl FileRandomAccessStream { pub fn OpenAsync(filepath: &::windows_core::HSTRING, accessmode: super::FileAccessMode) -> ::windows_core::Result> { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenWithOptionsAsync(filepath: &::windows_core::HSTRING, accessmode: super::FileAccessMode, sharingoptions: super::StorageOpenOptions, opendisposition: FileOpenDisposition) -> ::windows_core::Result> { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), accessmode, sharingoptions, opendisposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), accessmode, sharingoptions, opendisposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenTransactedWriteAsync(filepath: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OpenTransactedWriteWithOptionsAsync(filepath: &::windows_core::HSTRING, openoptions: super::StorageOpenOptions, opendisposition: FileOpenDisposition) -> ::windows_core::Result> { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), openoptions, opendisposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filepath), openoptions, opendisposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1668,7 +1668,7 @@ impl FileRandomAccessStream { { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1678,7 +1678,7 @@ impl FileRandomAccessStream { { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenForUserWithOptionsAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), accessmode, sharingoptions, opendisposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenForUserWithOptionsAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), accessmode, sharingoptions, opendisposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1688,7 +1688,7 @@ impl FileRandomAccessStream { { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1698,7 +1698,7 @@ impl FileRandomAccessStream { { Self::IFileRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteForUserWithOptionsAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), openoptions, opendisposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteForUserWithOptionsAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(filepath), openoptions, opendisposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ReadAsync(&self, buffer: P0, count: u32, options: InputStreamOptions) -> ::windows_core::Result> @@ -1708,7 +1708,7 @@ impl FileRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteAsync(&self, buffer: P0) -> ::windows_core::Result> @@ -1718,21 +1718,21 @@ impl FileRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -1743,21 +1743,21 @@ impl FileRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOutputStreamAt(&self, position: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: u64) -> ::windows_core::Result<()> { @@ -1768,21 +1768,21 @@ impl FileRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanWrite(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[doc(hidden)] @@ -1827,7 +1827,7 @@ impl InMemoryRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteAsync(&self, buffer: P0) -> ::windows_core::Result> @@ -1837,21 +1837,21 @@ impl InMemoryRandomAccessStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -1862,21 +1862,21 @@ impl InMemoryRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOutputStreamAt(&self, position: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: u64) -> ::windows_core::Result<()> { @@ -1887,21 +1887,21 @@ impl InMemoryRandomAccessStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanWrite(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1934,7 +1934,7 @@ impl InputStreamOverStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1967,14 +1967,14 @@ impl OutputStreamOverStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1999,7 +1999,7 @@ impl RandomAccessStream { { Self::IRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CopySizeAsync(source: P0, destination: P1, bytestocopy: u64) -> ::windows_core::Result> @@ -2009,7 +2009,7 @@ impl RandomAccessStream { { Self::IRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopySizeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), bytestocopy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopySizeAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), bytestocopy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CopyAndCloseAsync(source: P0, destination: P1) -> ::windows_core::Result> @@ -2019,7 +2019,7 @@ impl RandomAccessStream { { Self::IRandomAccessStreamStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyAndCloseAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyAndCloseAsync)(::windows_core::Interface::as_raw(this), source.into_param().abi(), destination.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2048,7 +2048,7 @@ impl RandomAccessStreamOverStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), count, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WriteAsync(&self, buffer: P0) -> ::windows_core::Result> @@ -2058,21 +2058,21 @@ impl RandomAccessStreamOverStream { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlushAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: u64) -> ::windows_core::Result<()> { @@ -2083,21 +2083,21 @@ impl RandomAccessStreamOverStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetOutputStreamAt(&self, position: u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOutputStreamAt)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Seek(&self, position: u64) -> ::windows_core::Result<()> { @@ -2108,21 +2108,21 @@ impl RandomAccessStreamOverStream { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloneStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanRead(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRead)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanWrite(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanWrite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2148,7 +2148,7 @@ impl RandomAccessStreamReference { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromFile(file: P0) -> ::windows_core::Result @@ -2157,7 +2157,7 @@ impl RandomAccessStreamReference { { Self::IRandomAccessStreamReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFile)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromUri(uri: P0) -> ::windows_core::Result @@ -2166,7 +2166,7 @@ impl RandomAccessStreamReference { { Self::IRandomAccessStreamReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromUri)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromStream(stream: P0) -> ::windows_core::Result @@ -2175,7 +2175,7 @@ impl RandomAccessStreamReference { { Self::IRandomAccessStreamReferenceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStream)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Storage/mod.rs b/crates/libs/windows/src/Windows/Storage/mod.rs index 3799c92d28..b04944a698 100644 --- a/crates/libs/windows/src/Windows/Storage/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/mod.rs @@ -351,14 +351,14 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -366,14 +366,14 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result> @@ -383,7 +383,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -393,7 +393,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result> @@ -403,7 +403,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -413,7 +413,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result @@ -423,7 +423,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -433,7 +433,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result @@ -443,7 +443,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -453,7 +453,7 @@ impl IStorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -461,7 +461,7 @@ impl IStorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -469,35 +469,35 @@ impl IStorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -505,42 +505,42 @@ impl IStorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } } @@ -575,14 +575,14 @@ impl IStorageFile2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -606,7 +606,7 @@ impl IStorageFilePropertiesWithAvailability { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -661,49 +661,49 @@ impl IStorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileAsync(&self, desiredname: &::windows_core::HSTRING, options: CreationCollisionOption) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsync(&self, desiredname: &::windows_core::HSTRING, options: CreationCollisionOption) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -711,7 +711,7 @@ impl IStorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -719,7 +719,7 @@ impl IStorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -727,35 +727,35 @@ impl IStorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -763,42 +763,42 @@ impl IStorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } } @@ -836,7 +836,7 @@ impl IStorageFolder2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -880,28 +880,28 @@ impl IStorageItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -909,42 +909,42 @@ impl IStorageItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } } @@ -977,7 +977,7 @@ impl IStorageItem2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, item: P0) -> ::windows_core::Result @@ -987,35 +987,35 @@ impl IStorageItem2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1023,42 +1023,42 @@ impl IStorageItem2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } } @@ -1080,7 +1080,7 @@ impl IStorageItemProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1088,7 +1088,7 @@ impl IStorageItemProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1096,28 +1096,28 @@ impl IStorageItemProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1125,7 +1125,7 @@ impl IStorageItemProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1165,7 +1165,7 @@ impl IStorageItemProperties2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1173,7 +1173,7 @@ impl IStorageItemProperties2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1181,7 +1181,7 @@ impl IStorageItemProperties2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1189,7 +1189,7 @@ impl IStorageItemProperties2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1197,7 +1197,7 @@ impl IStorageItemProperties2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1205,28 +1205,28 @@ impl IStorageItemProperties2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1234,7 +1234,7 @@ impl IStorageItemProperties2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1266,7 +1266,7 @@ impl IStorageItemPropertiesWithProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1274,7 +1274,7 @@ impl IStorageItemPropertiesWithProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1282,7 +1282,7 @@ impl IStorageItemPropertiesWithProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -1290,28 +1290,28 @@ impl IStorageItemPropertiesWithProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -1319,7 +1319,7 @@ impl IStorageItemPropertiesWithProvider { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1652,63 +1652,63 @@ impl AppDataPaths { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Desktop(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Documents(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Documents)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Documents)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Favorites(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Favorites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Favorites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn History(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InternetCache(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InternetCache)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InternetCache)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAppData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAppData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAppData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProgramData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgramData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgramData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingAppData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingAppData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingAppData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -1718,13 +1718,13 @@ impl AppDataPaths { { Self::IAppDataPathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IAppDataPathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1755,7 +1755,7 @@ impl ApplicationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVersionAsync(&self, desiredversion: u32, handler: P0) -> ::windows_core::Result @@ -1765,56 +1765,56 @@ impl ApplicationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetVersionAsync)(::windows_core::Interface::as_raw(this), desiredversion, handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetVersionAsync)(::windows_core::Interface::as_raw(this), desiredversion, handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearAllAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearAsync(&self, locality: ApplicationDataLocality) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearAsync)(::windows_core::Interface::as_raw(this), locality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearAsync)(::windows_core::Interface::as_raw(this), locality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingSettings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalFolder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingFolder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TemporaryFolder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TemporaryFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TemporaryFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DataChanged(&self, handler: P0) -> ::windows_core::Result @@ -1824,7 +1824,7 @@ impl ApplicationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDataChanged(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1839,41 +1839,41 @@ impl ApplicationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingStorageQuota)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingStorageQuota)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LocalCacheFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalCacheFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalCacheFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPublisherCacheFolder(&self, foldername: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPublisherCacheFolder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(foldername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPublisherCacheFolder)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(foldername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearPublisherCacheFolderAsync(&self, foldername: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClearPublisherCacheFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(foldername), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClearPublisherCacheFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(foldername), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SharedLocalFolder(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedLocalFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedLocalFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IApplicationDataStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1883,7 +1883,7 @@ impl ApplicationData { { Self::IApplicationDataStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -1935,7 +1935,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1943,7 +1943,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1951,7 +1951,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1959,7 +1959,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1967,7 +1967,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1978,7 +1978,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1999,7 +1999,7 @@ impl ApplicationDataCompositeValue { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2051,14 +2051,14 @@ impl ApplicationDataContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Locality(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Locality)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2066,7 +2066,7 @@ impl ApplicationDataContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2074,14 +2074,14 @@ impl ApplicationDataContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Containers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Containers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainer(&self, name: &::windows_core::HSTRING, disposition: ApplicationDataCreateDisposition) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), disposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainer)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), disposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteContainer(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2120,7 +2120,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2128,7 +2128,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2136,7 +2136,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2144,7 +2144,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2152,7 +2152,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2163,7 +2163,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2184,7 +2184,7 @@ impl ApplicationDataContainerSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MapChanged)(::windows_core::Interface::as_raw(this), vhnd.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2241,7 +2241,7 @@ impl CachedFileManager { { Self::ICachedFileManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompleteUpdatesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompleteUpdatesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2258,25 +2258,25 @@ impl DownloadsFolder { pub fn CreateFileAsync(desiredname: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDownloadsFolderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFolderAsync(desiredname: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IDownloadsFolderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFileWithCollisionOptionAsync(desiredname: &::windows_core::HSTRING, option: CreationCollisionOption) -> ::windows_core::Result> { Self::IDownloadsFolderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFolderWithCollisionOptionAsync(desiredname: &::windows_core::HSTRING, option: CreationCollisionOption) -> ::windows_core::Result> { Self::IDownloadsFolderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2286,7 +2286,7 @@ impl DownloadsFolder { { Self::IDownloadsFolderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2296,7 +2296,7 @@ impl DownloadsFolder { { Self::IDownloadsFolderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2306,7 +2306,7 @@ impl DownloadsFolder { { Self::IDownloadsFolderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileForUserWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileForUserWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2316,7 +2316,7 @@ impl DownloadsFolder { { Self::IDownloadsFolderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderForUserWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderForUserWithCollisionOptionAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2341,7 +2341,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2351,7 +2351,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WriteTextAsync(file: P0, contents: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2360,7 +2360,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2370,7 +2370,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AppendTextAsync(file: P0, contents: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2379,7 +2379,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendTextAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2389,7 +2389,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(contents), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2399,7 +2399,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2409,7 +2409,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2420,7 +2420,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2431,7 +2431,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2442,7 +2442,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendLinesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2453,7 +2453,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2463,7 +2463,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBufferAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBufferAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2474,7 +2474,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteBufferAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteBufferAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WriteBytesAsync(file: P0, buffer: &[u8]) -> ::windows_core::Result @@ -2483,7 +2483,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteBytesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteBytesAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2500,79 +2500,79 @@ impl KnownFolders { pub fn CameraRoll() -> ::windows_core::Result { Self::IKnownFoldersCameraRollStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraRoll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraRoll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Playlists() -> ::windows_core::Result { Self::IKnownFoldersPlaylistsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Playlists)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Playlists)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SavedPictures() -> ::windows_core::Result { Self::IKnownFoldersSavedPicturesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavedPictures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavedPictures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MusicLibrary() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MusicLibrary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MusicLibrary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PicturesLibrary() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PicturesLibrary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PicturesLibrary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn VideosLibrary() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideosLibrary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideosLibrary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DocumentsLibrary() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentsLibrary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentsLibrary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HomeGroup() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemovableDevices() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovableDevices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovableDevices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MediaServerDevices() -> ::windows_core::Result { Self::IKnownFoldersStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaServerDevices)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaServerDevices)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Objects3D() -> ::windows_core::Result { Self::IKnownFoldersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Objects3D)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Objects3D)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AppCaptures() -> ::windows_core::Result { Self::IKnownFoldersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppCaptures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppCaptures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RecordedCalls() -> ::windows_core::Result { Self::IKnownFoldersStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecordedCalls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecordedCalls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2582,13 +2582,13 @@ impl KnownFolders { { Self::IKnownFoldersStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), folderid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), folderid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync(folderid: KnownFolderId) -> ::windows_core::Result> { Self::IKnownFoldersStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), folderid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), folderid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2598,13 +2598,13 @@ impl KnownFolders { { Self::IKnownFoldersStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), folderid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), folderid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetFolderAsync(folderid: KnownFolderId) -> ::windows_core::Result> { Self::IKnownFoldersStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), folderid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), folderid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2651,54 +2651,54 @@ impl PathIO { pub fn ReadTextAsync(absolutepath: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn ReadTextWithEncodingAsync(absolutepath: &::windows_core::HSTRING, encoding: Streams::UnicodeEncoding) -> ::windows_core::Result> { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WriteTextAsync(absolutepath: &::windows_core::HSTRING, contents: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn WriteTextWithEncodingAsync(absolutepath: &::windows_core::HSTRING, contents: &::windows_core::HSTRING, encoding: Streams::UnicodeEncoding) -> ::windows_core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AppendTextAsync(absolutepath: &::windows_core::HSTRING, contents: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendTextAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn AppendTextWithEncodingAsync(absolutepath: &::windows_core::HSTRING, contents: &::windows_core::HSTRING, encoding: Streams::UnicodeEncoding) -> ::windows_core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendTextWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), ::core::mem::transmute_copy(contents), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn ReadLinesAsync(absolutepath: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] pub fn ReadLinesWithEncodingAsync(absolutepath: &::windows_core::HSTRING, encoding: Streams::UnicodeEncoding) -> ::windows_core::Result>> { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2708,7 +2708,7 @@ impl PathIO { { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2718,7 +2718,7 @@ impl PathIO { { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2728,7 +2728,7 @@ impl PathIO { { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendLinesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] @@ -2738,14 +2738,14 @@ impl PathIO { { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendLinesWithEncodingAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), lines.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn ReadBufferAsync(absolutepath: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBufferAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBufferAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -2755,13 +2755,13 @@ impl PathIO { { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteBufferAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteBufferAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WriteBytesAsync(absolutepath: &::windows_core::HSTRING, buffer: &[u8]) -> ::windows_core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteBytesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteBytesAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.len().try_into().unwrap(), buffer.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2804,21 +2804,21 @@ impl SetVersionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DesiredVersion(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2846,7 +2846,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenSequentialReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2854,21 +2854,21 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenReadAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FileType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2876,14 +2876,14 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenAsync)(::windows_core::Interface::as_raw(this), accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result> @@ -2893,7 +2893,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -2903,7 +2903,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result> @@ -2913,7 +2913,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CopyAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -2923,7 +2923,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultNameAndOptions(&self, destinationfolder: P0) -> ::windows_core::Result @@ -2933,7 +2933,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultNameAndOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverloadDefaultOptions(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2943,7 +2943,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveOverload(&self, destinationfolder: P0, desirednewname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result @@ -2953,7 +2953,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveOverload)(::windows_core::Interface::as_raw(this), destinationfolder.into_param().abi(), ::core::mem::transmute_copy(desirednewname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MoveAndReplaceAsync(&self, filetoreplace: P0) -> ::windows_core::Result @@ -2963,7 +2963,7 @@ impl StorageFile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveAndReplaceAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2971,27 +2971,27 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenWithOptionsAsync)(::windows_core::Interface::as_raw(this), accessmode, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OpenTransactedWriteWithOptionsAsync)(::windows_core::Interface::as_raw(this), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAvailable(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetFileFromPathAsync(path: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileFromPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileFromPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetFileFromApplicationUriAsync(uri: P0) -> ::windows_core::Result> @@ -3000,7 +3000,7 @@ impl StorageFile { { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileFromApplicationUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileFromApplicationUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3011,7 +3011,7 @@ impl StorageFile { { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStreamedFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaynamewithextension), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStreamedFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaynamewithextension), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3023,7 +3023,7 @@ impl StorageFile { { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceWithStreamedFileAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceWithStreamedFileAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3034,7 +3034,7 @@ impl StorageFile { { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStreamedFileFromUriAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaynamewithextension), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStreamedFileFromUriAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaynamewithextension), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -3046,7 +3046,7 @@ impl StorageFile { { Self::IStorageFileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceWithStreamedFileFromUriAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceWithStreamedFileFromUriAsync)(::windows_core::Interface::as_raw(this), filetoreplace.into_param().abi(), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -3056,35 +3056,35 @@ impl StorageFile { { Self::IStorageFileStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileFromPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileFromPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -3092,49 +3092,49 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn GetParentAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, item: P0) -> ::windows_core::Result @@ -3144,7 +3144,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3152,7 +3152,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3160,7 +3160,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3168,28 +3168,28 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -3197,7 +3197,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3205,7 +3205,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3213,7 +3213,7 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3221,14 +3221,14 @@ impl StorageFile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3263,49 +3263,49 @@ impl StorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFileAsync(&self, desiredname: &::windows_core::HSTRING, options: CreationCollisionOption) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFolderAsync(&self, desiredname: &::windows_core::HSTRING, options: CreationCollisionOption) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFileAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFolderAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetItemAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3313,7 +3313,7 @@ impl StorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3321,7 +3321,7 @@ impl StorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3329,21 +3329,21 @@ impl StorageFolder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetItemAsync(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetItemAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetChangeTracker(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3351,7 +3351,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndexedStateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3359,7 +3359,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3367,7 +3367,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3378,7 +3378,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFileQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3386,7 +3386,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryOverloadDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3394,7 +3394,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQuery)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3405,7 +3405,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFolderQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3413,7 +3413,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3424,7 +3424,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateItemQueryWithOptions)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -3432,7 +3432,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -3440,7 +3440,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFilesAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -3448,7 +3448,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsync)(::windows_core::Interface::as_raw(this), query, startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -3456,7 +3456,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFoldersAsyncOverloadDefaultStartAndCount)(::windows_core::Interface::as_raw(this), query, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Search"))] @@ -3464,7 +3464,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetItemsAsync)(::windows_core::Interface::as_raw(this), startindex, maxitemstoretrieve, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -3475,7 +3475,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreQueryOptionsSupported)(::windows_core::Interface::as_raw(this), queryoptions.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Search")] @@ -3483,7 +3483,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFolderQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Search")] @@ -3491,13 +3491,13 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCommonFileQuerySupported)(::windows_core::Interface::as_raw(this), query, &mut result__).map(|| result__) } } pub fn GetFolderFromPathAsync(path: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IStorageFolderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderFromPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderFromPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -3507,35 +3507,35 @@ impl StorageFolder { { Self::IStorageFolderStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFolderFromPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFolderFromPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RenameAsyncOverloadDefaultOptions(&self, desiredname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenameAsync(&self, desiredname: &::windows_core::HSTRING, option: NameCollisionOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenameAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(desiredname), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -3543,49 +3543,49 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBasicPropertiesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Attributes(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DateCreated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateCreated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn GetParentAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetParentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, item: P0) -> ::windows_core::Result @@ -3595,7 +3595,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3603,7 +3603,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3611,7 +3611,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3619,28 +3619,28 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FolderRelativeId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FolderRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_FileProperties")] @@ -3648,7 +3648,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3656,7 +3656,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3664,7 +3664,7 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsyncOverloadDefaultOptions)(::windows_core::Interface::as_raw(this), mode, requestedsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_FileProperties", feature = "Storage_Streams"))] @@ -3672,14 +3672,14 @@ impl StorageFolder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScaledImageAsThumbnailAsync)(::windows_core::Interface::as_raw(this), mode, requestedsize, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Provider(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Provider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3712,7 +3712,7 @@ impl StorageLibrary { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddFolderAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestRemoveFolderAsync(&self, folder: P0) -> ::windows_core::Result> @@ -3722,7 +3722,7 @@ impl StorageLibrary { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRemoveFolderAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRemoveFolderAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3730,14 +3730,14 @@ impl StorageLibrary { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folders)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveFolder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveFolder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveFolder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefinitionChanged(&self, handler: P0) -> ::windows_core::Result @@ -3747,7 +3747,7 @@ impl StorageLibrary { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefinitionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefinitionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDefinitionChanged(&self, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3758,20 +3758,20 @@ impl StorageLibrary { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeTracker)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AreFolderSuggestionsAvailableAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreFolderSuggestionsAvailableAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreFolderSuggestionsAvailableAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetLibraryAsync(libraryid: KnownLibraryId) -> ::windows_core::Result> { Self::IStorageLibraryStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLibraryAsync)(::windows_core::Interface::as_raw(this), libraryid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLibraryAsync)(::windows_core::Interface::as_raw(this), libraryid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -3781,7 +3781,7 @@ impl StorageLibrary { { Self::IStorageLibraryStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLibraryForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), libraryid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLibraryForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), libraryid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3814,35 +3814,35 @@ impl StorageLibraryChange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousPath(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousPath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousPath)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn GetStorageItemAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStorageItemAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStorageItemAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3868,21 +3868,21 @@ impl StorageLibraryChangeReader { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBatchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptChangesAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptChangesAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptChangesAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetLastChangeId(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLastChangeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLastChangeId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3907,7 +3907,7 @@ impl StorageLibraryChangeTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetChangeReader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Enable(&self) -> ::windows_core::Result<()> { @@ -3958,7 +3958,7 @@ impl StorageLibraryChangeTrackerOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackChangeDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackChangeDetails)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrackChangeDetails(&self, value: bool) -> ::windows_core::Result<()> { @@ -3986,7 +3986,7 @@ impl StorageLibraryLastChangeId { pub fn Unknown() -> ::windows_core::Result { Self::IStorageLibraryLastChangeIdStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unknown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -4016,21 +4016,21 @@ impl StorageProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPropertySupportedForPartialFileAsync(&self, propertycanonicalname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPropertySupportedForPartialFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycanonicalname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPropertySupportedForPartialFileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertycanonicalname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4059,14 +4059,14 @@ impl StorageStreamTransaction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CommitAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4102,7 +4102,7 @@ impl StreamedFileDataRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteAsync)(::windows_core::Interface::as_raw(this), buffer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -4110,7 +4110,7 @@ impl StreamedFileDataRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlushAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FailAndClose(&self, failuremode: StreamedFileFailureMode) -> ::windows_core::Result<()> { @@ -4140,7 +4140,7 @@ impl SystemAudioProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EncodingBitrate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4165,118 +4165,118 @@ impl SystemDataPaths { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fonts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fonts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProgramData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgramData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgramData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Public(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Public)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Public)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicDesktop(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicDesktop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicDesktop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicDocuments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicDocuments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicDocuments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicDownloads(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicDownloads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicDownloads)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicMusic(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicMusic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicMusic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicPictures(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicPictures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicPictures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublicVideos(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublicVideos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublicVideos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn System(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).System)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).System)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemHost(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemHost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemHost)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemX86(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemX86)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemX86)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemX64(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemX64)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemX64)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemArm(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemArm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemArm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserProfiles(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserProfiles)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserProfiles)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Windows(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Windows)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Windows)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ISystemDataPathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4306,14 +4306,14 @@ impl SystemGPSProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LatitudeDecimal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LatitudeDecimal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LongitudeDecimal(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongitudeDecimal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongitudeDecimal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4338,14 +4338,14 @@ impl SystemImageProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VerticalSize(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerticalSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerticalSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4370,42 +4370,42 @@ impl SystemMediaProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Producer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Producer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Producer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Publisher(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SubTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Writer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Writer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Writer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Year(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Year)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4430,56 +4430,56 @@ impl SystemMusicProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumArtist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AlbumTitle(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlbumTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Artist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Artist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Composer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Composer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Composer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Conductor(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Conductor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Conductor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayArtist(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayArtist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayArtist)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Genre(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Genre)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrackNumber(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrackNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4504,35 +4504,35 @@ impl SystemPhotoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CameraModel(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraModel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DateTaken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DateTaken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DateTaken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Orientation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PeopleNames(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeopleNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeopleNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4553,79 +4553,79 @@ impl SystemProperties { pub fn Author() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Author)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Comment() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ItemNameDisplay() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemNameDisplay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemNameDisplay)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Keywords() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Keywords)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Rating() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rating)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Title() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Audio() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Audio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Audio)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GPS() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GPS)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GPS)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Media() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Media)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Music() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Music)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Music)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Photo() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Photo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Photo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Video() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Video)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Video)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Image() -> ::windows_core::Result { Self::ISystemProperties(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -4646,35 +4646,35 @@ impl SystemVideoProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Director)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Director)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameHeight(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameHeight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameWidth(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameWidth)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Orientation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TotalBitrate(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalBitrate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalBitrate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4699,133 +4699,133 @@ impl UserDataPaths { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CameraRoll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CameraRoll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cookies(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cookies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Desktop(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Documents(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Documents)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Documents)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Downloads(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Downloads)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Downloads)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Favorites(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Favorites)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Favorites)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn History(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InternetCache(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InternetCache)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InternetCache)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAppData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAppData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAppData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LocalAppDataLow(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalAppDataLow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalAppDataLow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Music(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Music)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Music)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Pictures(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pictures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pictures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Profile(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Profile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Profile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Recent(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RoamingAppData(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingAppData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingAppData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SavedPictures(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SavedPictures)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SavedPictures)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Screenshots(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Screenshots)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Screenshots)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Templates(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Templates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Templates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Videos(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Videos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -4835,13 +4835,13 @@ impl UserDataPaths { { Self::IUserDataPathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IUserDataPathsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs b/crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs index 8b507168ee..634cc3268e 100644 --- a/crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs +++ b/crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs @@ -89,7 +89,7 @@ impl DevicePortalConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -103,7 +103,7 @@ impl DevicePortalConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRequestReceived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -117,7 +117,7 @@ impl DevicePortalConnection { { Self::IDevicePortalConnectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForAppServiceConnection)(::windows_core::Interface::as_raw(this), appserviceconnection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForAppServiceConnection)(::windows_core::Interface::as_raw(this), appserviceconnection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Networking_Sockets", feature = "Web_Http"))] @@ -128,7 +128,7 @@ impl DevicePortalConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Sockets", feature = "Web_Http"))] @@ -139,7 +139,7 @@ impl DevicePortalConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), messagetype, ::core::mem::transmute_copy(protocol), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), messagetype, ::core::mem::transmute_copy(protocol), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Sockets", feature = "Web_Http"))] @@ -150,7 +150,7 @@ impl DevicePortalConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest3)(::windows_core::Interface::as_raw(this), request.into_param().abi(), messagetype, ::core::mem::transmute_copy(protocol), outboundbuffersizeinbytes, maxmessagesize, receivemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetServerMessageWebSocketForRequest3)(::windows_core::Interface::as_raw(this), request.into_param().abi(), messagetype, ::core::mem::transmute_copy(protocol), outboundbuffersizeinbytes, maxmessagesize, receivemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Sockets", feature = "Web_Http"))] @@ -161,7 +161,7 @@ impl DevicePortalConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetServerStreamWebSocketForRequest)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetServerStreamWebSocketForRequest)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Networking_Sockets", feature = "Web_Http"))] @@ -172,7 +172,7 @@ impl DevicePortalConnection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetServerStreamWebSocketForRequest2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), ::core::mem::transmute_copy(protocol), outboundbuffersizeinbytes, nodelay, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetServerStreamWebSocketForRequest2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), ::core::mem::transmute_copy(protocol), outboundbuffersizeinbytes, nodelay, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -202,7 +202,7 @@ impl DevicePortalConnectionClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -228,7 +228,7 @@ impl DevicePortalConnectionRequestReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -236,14 +236,14 @@ impl DevicePortalConnectionRequestReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsWebSocketUpgradeRequest(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsWebSocketUpgradeRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsWebSocketUpgradeRequest)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -251,14 +251,14 @@ impl DevicePortalConnectionRequestReceivedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebSocketProtocolsRequested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebSocketProtocolsRequested)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/System/Diagnostics/Telemetry/mod.rs b/crates/libs/windows/src/Windows/System/Diagnostics/Telemetry/mod.rs index 4fe8b56014..c1d755157a 100644 --- a/crates/libs/windows/src/Windows/System/Diagnostics/Telemetry/mod.rs +++ b/crates/libs/windows/src/Windows/System/Diagnostics/Telemetry/mod.rs @@ -28,7 +28,7 @@ impl PlatformTelemetryClient { pub fn Register(id: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IPlatformTelemetryClientStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RegisterWithSettings(id: &::windows_core::HSTRING, settings: P0) -> ::windows_core::Result @@ -37,7 +37,7 @@ impl PlatformTelemetryClient { { Self::IPlatformTelemetryClientStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterWithSettings)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), settings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterWithSettings)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), settings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -58,7 +58,7 @@ impl PlatformTelemetryRegistrationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -90,7 +90,7 @@ impl PlatformTelemetryRegistrationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStorageSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -101,7 +101,7 @@ impl PlatformTelemetryRegistrationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UploadQuotaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UploadQuotaSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUploadQuotaSize(&self, value: u32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs b/crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs index 9603bb5630..accc62b861 100644 --- a/crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs +++ b/crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs @@ -46,7 +46,7 @@ impl PlatformDiagnosticActions { pub fn IsScenarioEnabled(scenarioid: ::windows_core::GUID) -> ::windows_core::Result { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScenarioEnabled)(::windows_core::Interface::as_raw(this), scenarioid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScenarioEnabled)(::windows_core::Interface::as_raw(this), scenarioid, &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] @@ -56,45 +56,45 @@ impl PlatformDiagnosticActions { { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEscalateScenario)(::windows_core::Interface::as_raw(this), scenarioid, escalationtype, ::core::mem::transmute_copy(outputdirectory), timestampoutputdirectory, forceescalationupload, triggers.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEscalateScenario)(::windows_core::Interface::as_raw(this), scenarioid, escalationtype, ::core::mem::transmute_copy(outputdirectory), timestampoutputdirectory, forceescalationupload, triggers.into_param().abi(), &mut result__).map(|| result__) }) } pub fn DownloadLatestSettingsForNamespace(partner: &::windows_core::HSTRING, feature: &::windows_core::HSTRING, isscenarionamespace: bool, downloadovercostednetwork: bool, downloadoverbattery: bool) -> ::windows_core::Result { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadLatestSettingsForNamespace)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(partner), ::core::mem::transmute_copy(feature), isscenarionamespace, downloadovercostednetwork, downloadoverbattery, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadLatestSettingsForNamespace)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(partner), ::core::mem::transmute_copy(feature), isscenarionamespace, downloadovercostednetwork, downloadoverbattery, &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetActiveScenarioList() -> ::windows_core::Result> { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActiveScenarioList)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActiveScenarioList)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ForceUpload(latency: PlatformDiagnosticEventBufferLatencies, uploadovercostednetwork: bool, uploadoverbattery: bool) -> ::windows_core::Result { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForceUpload)(::windows_core::Interface::as_raw(this), latency, uploadovercostednetwork, uploadoverbattery, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForceUpload)(::windows_core::Interface::as_raw(this), latency, uploadovercostednetwork, uploadoverbattery, &mut result__).map(|| result__) }) } pub fn IsTraceRunning(slottype: PlatformDiagnosticTraceSlotType, scenarioid: ::windows_core::GUID, traceprofilehash: u64) -> ::windows_core::Result { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTraceRunning)(::windows_core::Interface::as_raw(this), slottype, scenarioid, traceprofilehash, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTraceRunning)(::windows_core::Interface::as_raw(this), slottype, scenarioid, traceprofilehash, &mut result__).map(|| result__) }) } pub fn GetActiveTraceRuntime(slottype: PlatformDiagnosticTraceSlotType) -> ::windows_core::Result { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetActiveTraceRuntime)(::windows_core::Interface::as_raw(this), slottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetActiveTraceRuntime)(::windows_core::Interface::as_raw(this), slottype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetKnownTraceList(slottype: PlatformDiagnosticTraceSlotType) -> ::windows_core::Result> { Self::IPlatformDiagnosticActionsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKnownTraceList)(::windows_core::Interface::as_raw(this), slottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKnownTraceList)(::windows_core::Interface::as_raw(this), slottype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -115,42 +115,42 @@ impl PlatformDiagnosticTraceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScenarioId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScenarioId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProfileHash(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProfileHash)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProfileHash)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsExclusive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExclusive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExclusive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAutoLogger(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAutoLogger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAutoLogger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MaxTraceDurationFileTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxTraceDurationFileTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxTraceDurationFileTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Priority(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -175,14 +175,14 @@ impl PlatformDiagnosticTraceRuntimeInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RuntimeFileTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RuntimeFileTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EtwRuntimeFileTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EtwRuntimeFileTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EtwRuntimeFileTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/System/Diagnostics/mod.rs b/crates/libs/windows/src/Windows/System/Diagnostics/mod.rs index 9b5e47a563..f4d6546378 100644 --- a/crates/libs/windows/src/Windows/System/Diagnostics/mod.rs +++ b/crates/libs/windows/src/Windows/System/Diagnostics/mod.rs @@ -206,7 +206,7 @@ impl DiagnosticActionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -214,7 +214,7 @@ impl DiagnosticActionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Results)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Results)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -243,20 +243,20 @@ impl DiagnosticInvoker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunDiagnosticActionAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunDiagnosticActionAsync)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RunDiagnosticActionFromStringAsync(&self, context: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunDiagnosticActionFromStringAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunDiagnosticActionFromStringAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(context), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IDiagnosticInvokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -265,13 +265,13 @@ impl DiagnosticInvoker { { Self::IDiagnosticInvokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IDiagnosticInvokerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -301,7 +301,7 @@ impl ProcessCpuUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -326,14 +326,14 @@ impl ProcessCpuUsageReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KernelTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KernelTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -358,49 +358,49 @@ impl ProcessDiagnosticInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExecutableFileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessStartTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessStartTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessStartTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DiskUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiskUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiskUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MemoryUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CpuUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CpuUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CpuUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -408,33 +408,33 @@ impl ProcessDiagnosticInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPackaged(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPackaged)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPackaged)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] pub fn GetForProcesses() -> ::windows_core::Result> { Self::IProcessDiagnosticInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForProcesses)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForProcesses)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentProcess() -> ::windows_core::Result { Self::IProcessDiagnosticInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentProcess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentProcess)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryGetForProcessId(processid: u32) -> ::windows_core::Result { Self::IProcessDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetForProcessId)(::windows_core::Interface::as_raw(this), processid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetForProcessId)(::windows_core::Interface::as_raw(this), processid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -469,7 +469,7 @@ impl ProcessDiskUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -494,42 +494,42 @@ impl ProcessDiskUsageReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WriteOperationCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OtherOperationCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherOperationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesReadCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesReadCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesReadCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BytesWrittenCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BytesWrittenCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BytesWrittenCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OtherBytesCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OtherBytesCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OtherBytesCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -554,7 +554,7 @@ impl ProcessMemoryUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -579,84 +579,84 @@ impl ProcessMemoryUsageReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PageFaultCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageFaultCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageFaultCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PageFileSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageFileSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageFileSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PagedPoolSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakNonPagedPoolSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakNonPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakNonPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakPageFileSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakPageFileSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakPageFileSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakPagedPoolSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakPagedPoolSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakVirtualMemorySizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakVirtualMemorySizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakVirtualMemorySizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakWorkingSetSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakWorkingSetSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakWorkingSetSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrivatePageCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivatePageCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivatePageCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VirtualMemorySizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VirtualMemorySizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VirtualMemorySizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WorkingSetSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkingSetSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkingSetSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -681,7 +681,7 @@ impl SystemCpuUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -706,21 +706,21 @@ impl SystemCpuUsageReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KernelTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KernelTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IdleTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IdleTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IdleTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -745,32 +745,32 @@ impl SystemDiagnosticInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CpuUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CpuUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CpuUsage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetForCurrentSystem() -> ::windows_core::Result { Self::ISystemDiagnosticInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsArchitectureSupported(r#type: super::ProcessorArchitecture) -> ::windows_core::Result { Self::ISystemDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsArchitectureSupported)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsArchitectureSupported)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) }) } pub fn PreferredArchitecture() -> ::windows_core::Result { Self::ISystemDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredArchitecture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredArchitecture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -805,7 +805,7 @@ impl SystemMemoryUsage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -830,21 +830,21 @@ impl SystemMemoryUsageReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalPhysicalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalPhysicalSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AvailableSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AvailableSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AvailableSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CommittedSizeInBytes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommittedSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommittedSizeInBytes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs b/crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs index c58fac9ac9..b1116ec0ec 100644 --- a/crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs +++ b/crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs @@ -22,7 +22,7 @@ impl ISysStorageProviderEventSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEventReceived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -47,14 +47,14 @@ impl ISysStorageProviderHandlerFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHttpRequestProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHttpRequestProvider)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetEventSource(&self, syncrootid: &::windows_core::HSTRING, eventname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetEventSource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), ::core::mem::transmute_copy(eventname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetEventSource)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(syncrootid), ::core::mem::transmute_copy(eventname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -79,7 +79,7 @@ impl ISysStorageProviderHttpRequestProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -104,13 +104,13 @@ impl SysStorageProviderEventReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Json)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Json)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(json: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISysStorageProviderEventReceivedEventArgsFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(json), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Inventory/mod.rs b/crates/libs/windows/src/Windows/System/Inventory/mod.rs index 6764e32a5a..ba0be49beb 100644 --- a/crates/libs/windows/src/Windows/System/Inventory/mod.rs +++ b/crates/libs/windows/src/Windows/System/Inventory/mod.rs @@ -28,42 +28,42 @@ impl InstalledDesktopApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Publisher(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Publisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn GetInventoryAsync() -> ::windows_core::Result>> { Self::IInstalledDesktopAppStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInventoryAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInventoryAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Power/mod.rs b/crates/libs/windows/src/Windows/System/Power/mod.rs index fc9a8219f0..d70000fcde 100644 --- a/crates/libs/windows/src/Windows/System/Power/mod.rs +++ b/crates/libs/windows/src/Windows/System/Power/mod.rs @@ -131,56 +131,56 @@ impl BackgroundEnergyManager { pub fn LowUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn NearMaxAcceptableUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NearMaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NearMaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn MaxAcceptableUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn ExcessiveUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExcessiveUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExcessiveUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn NearTerminationUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NearTerminationUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NearTerminationUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn TerminationUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminationUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminationUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn RecentEnergyUsage() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn RecentEnergyUsageLevel() -> ::windows_core::Result { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -190,7 +190,7 @@ impl BackgroundEnergyManager { { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -204,7 +204,7 @@ impl BackgroundEnergyManager { { Self::IBackgroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageReturnedToLow)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageReturnedToLow)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -230,42 +230,42 @@ impl ForegroundEnergyManager { pub fn LowUsageLevel() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LowUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LowUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn NearMaxAcceptableUsageLevel() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NearMaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NearMaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn MaxAcceptableUsageLevel() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAcceptableUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn ExcessiveUsageLevel() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExcessiveUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExcessiveUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn RecentEnergyUsage() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn RecentEnergyUsageLevel() -> ::windows_core::Result { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -275,7 +275,7 @@ impl ForegroundEnergyManager { { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -289,7 +289,7 @@ impl ForegroundEnergyManager { { Self::IForegroundEnergyManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecentEnergyUsageReturnedToLow)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecentEnergyUsageReturnedToLow)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -312,7 +312,7 @@ impl PowerManager { pub fn EnergySaverStatus() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnergySaverStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnergySaverStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn EnergySaverStatusChanged(handler: P0) -> ::windows_core::Result @@ -321,7 +321,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnergySaverStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnergySaverStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveEnergySaverStatusChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -330,7 +330,7 @@ impl PowerManager { pub fn BatteryStatus() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatteryStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatteryStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BatteryStatusChanged(handler: P0) -> ::windows_core::Result @@ -339,7 +339,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatteryStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatteryStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveBatteryStatusChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -348,7 +348,7 @@ impl PowerManager { pub fn PowerSupplyStatus() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSupplyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSupplyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PowerSupplyStatusChanged(handler: P0) -> ::windows_core::Result @@ -357,7 +357,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowerSupplyStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowerSupplyStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemovePowerSupplyStatusChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ impl PowerManager { pub fn RemainingChargePercent() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingChargePercent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingChargePercent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RemainingChargePercentChanged(handler: P0) -> ::windows_core::Result @@ -375,7 +375,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingChargePercentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingChargePercentChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRemainingChargePercentChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -384,7 +384,7 @@ impl PowerManager { pub fn RemainingDischargeTime() -> ::windows_core::Result { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingDischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingDischargeTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RemainingDischargeTimeChanged(handler: P0) -> ::windows_core::Result @@ -393,7 +393,7 @@ impl PowerManager { { Self::IPowerManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemainingDischargeTimeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemainingDischargeTimeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveRemainingDischargeTimeChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs b/crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs index b5caea8d7f..3efe745235 100644 --- a/crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs +++ b/crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs @@ -51,21 +51,21 @@ impl OemSupportInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportAppLink(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportAppLink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportAppLink)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SupportProvider(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -86,7 +86,7 @@ impl SmbiosInformation { pub fn SerialNumber() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISmbiosInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SerialNumber)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -107,49 +107,49 @@ impl SystemSupportDeviceInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OperatingSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OperatingSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FriendlyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemManufacturer(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemManufacturer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemProductName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemProductName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemProductName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemSku(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemSku)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemSku)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemHardwareVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemHardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemHardwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemFirmwareVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFirmwareVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -170,19 +170,19 @@ impl SystemSupportInfo { pub fn LocalSystemEdition() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemSupportInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalSystemEdition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalSystemEdition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn OemSupportInfo() -> ::windows_core::Result { Self::ISystemSupportInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OemSupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OemSupportInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LocalDeviceInfo() -> ::windows_core::Result { Self::ISystemSupportInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalDeviceInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalDeviceInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Profile/mod.rs b/crates/libs/windows/src/Windows/System/Profile/mod.rs index 6c92e398e0..92cf65f519 100644 --- a/crates/libs/windows/src/Windows/System/Profile/mod.rs +++ b/crates/libs/windows/src/Windows/System/Profile/mod.rs @@ -203,13 +203,13 @@ impl AnalyticsInfo { pub fn VersionInfo() -> ::windows_core::Result { Self::IAnalyticsInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VersionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DeviceForm() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAnalyticsInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceForm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceForm)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -219,7 +219,7 @@ impl AnalyticsInfo { { Self::IAnalyticsInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemPropertiesAsync)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemPropertiesAsync)(::windows_core::Interface::as_raw(this), attributenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -245,21 +245,21 @@ impl AnalyticsVersionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceFamily)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceFamily)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeviceFamilyVersion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceFamilyVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceFamilyVersion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProductName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -284,7 +284,7 @@ impl AppApplicability { { Self::IAppApplicabilityStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUnsupportedAppRequirements)(::windows_core::Interface::as_raw(this), capabilities.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUnsupportedAppRequirements)(::windows_core::Interface::as_raw(this), capabilities.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -301,7 +301,7 @@ impl EducationSettings { pub fn IsEducationEnvironment() -> ::windows_core::Result { Self::IEducationSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEducationEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEducationEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -322,7 +322,7 @@ impl HardwareIdentification { { Self::IHardwareIdentificationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPackageSpecificToken)(::windows_core::Interface::as_raw(this), nonce.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPackageSpecificToken)(::windows_core::Interface::as_raw(this), nonce.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -344,7 +344,7 @@ impl HardwareToken { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -352,7 +352,7 @@ impl HardwareToken { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Signature)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Signature)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -360,7 +360,7 @@ impl HardwareToken { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Certificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Certificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -381,133 +381,133 @@ impl KnownRetailInfoProperties { pub fn RetailAccessCode() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetailAccessCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetailAccessCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ManufacturerName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ModelName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DisplayModelName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayModelName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayModelName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Price() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Price)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsFeatured() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFeatured)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFeatured)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FormFactor() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormFactor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ScreenSize() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenSize)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Weight() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DisplayDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BatteryLifeDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatteryLifeDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatteryLifeDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProcessorDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessorDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessorDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Memory() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Memory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Memory)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StorageDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StorageDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StorageDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GraphicsDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GraphicsDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GraphicsDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FrontCameraDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrontCameraDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrontCameraDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RearCameraDescription() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RearCameraDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RearCameraDescription)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HasNfc() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasNfc)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasNfc)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HasSdSlot() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasSdSlot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasSdSlot)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HasOpticalDrive() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasOpticalDrive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasOpticalDrive)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsOfficeInstalled() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOfficeInstalled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOfficeInstalled)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn WindowsEdition() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRetailInfoPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowsEdition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowsEdition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -524,7 +524,7 @@ impl PlatformDiagnosticsAndUsageDataSettings { pub fn CollectionLevel() -> ::windows_core::Result { Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CollectionLevelChanged(handler: P0) -> ::windows_core::Result @@ -533,7 +533,7 @@ impl PlatformDiagnosticsAndUsageDataSettings { { Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionLevelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveCollectionLevelChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ impl PlatformDiagnosticsAndUsageDataSettings { pub fn CanCollectDiagnostics(level: PlatformDataCollectionLevel) -> ::windows_core::Result { Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCollectDiagnostics)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCollectDiagnostics)(::windows_core::Interface::as_raw(this), level, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -559,14 +559,14 @@ impl RetailInfo { pub fn IsDemoModeEnabled() -> ::windows_core::Result { Self::IRetailInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDemoModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDemoModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn Properties() -> ::windows_core::Result> { Self::IRetailInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -583,13 +583,13 @@ impl SharedModeSettings { pub fn IsEnabled() -> ::windows_core::Result { Self::ISharedModeSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ShouldAvoidLocalStorage() -> ::windows_core::Result { Self::ISharedModeSettingsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldAvoidLocalStorage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldAvoidLocalStorage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -611,7 +611,7 @@ impl SmartAppControlPolicy { pub fn IsEnabled() -> ::windows_core::Result { Self::ISmartAppControlPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Changed(handler: P0) -> ::windows_core::Result @@ -620,7 +620,7 @@ impl SmartAppControlPolicy { { Self::ISmartAppControlPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -640,7 +640,7 @@ impl SystemIdentification { pub fn GetSystemIdForPublisher() -> ::windows_core::Result { Self::ISystemIdentificationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemIdForPublisher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemIdForPublisher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetSystemIdForUser(user: P0) -> ::windows_core::Result @@ -649,7 +649,7 @@ impl SystemIdentification { { Self::ISystemIdentificationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSystemIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSystemIdForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -671,14 +671,14 @@ impl SystemIdentificationInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -699,7 +699,7 @@ impl SystemSetupInfo { pub fn OutOfBoxExperienceState() -> ::windows_core::Result { Self::ISystemSetupInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutOfBoxExperienceState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutOfBoxExperienceState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OutOfBoxExperienceStateChanged(handler: P0) -> ::windows_core::Result @@ -708,7 +708,7 @@ impl SystemSetupInfo { { Self::ISystemSetupInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OutOfBoxExperienceStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OutOfBoxExperienceStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveOutOfBoxExperienceStateChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -732,14 +732,14 @@ impl UnsupportedAppRequirement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Requirement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Requirement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reasons(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reasons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reasons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -760,25 +760,25 @@ impl WindowsIntegrityPolicy { pub fn IsEnabled() -> ::windows_core::Result { Self::IWindowsIntegrityPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsEnabledForTrial() -> ::windows_core::Result { Self::IWindowsIntegrityPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabledForTrial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabledForTrial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CanDisable() -> ::windows_core::Result { Self::IWindowsIntegrityPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanDisable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanDisable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsDisableSupported() -> ::windows_core::Result { Self::IWindowsIntegrityPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDisableSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDisableSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PolicyChanged(handler: P0) -> ::windows_core::Result @@ -787,7 +787,7 @@ impl WindowsIntegrityPolicy { { Self::IWindowsIntegrityPolicyStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PolicyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PolicyChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemovePolicyChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { 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 e94ea0356d..55d2ca8c38 100644 --- a/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs @@ -30,7 +30,7 @@ impl RemoteTextConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -55,7 +55,7 @@ impl RemoteTextConnection { { Self::IRemoteTextConnectionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), connectionid, pduforwarder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), connectionid, pduforwarder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -86,7 +86,7 @@ impl RemoteTextConnectionDataHandler { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoke)(::windows_core::Interface::as_raw(this), pdudata.len().try_into().unwrap(), pdudata.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoke)(::windows_core::Interface::as_raw(this), pdudata.len().try_into().unwrap(), pdudata.as_ptr(), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs b/crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs index c52b4f9333..7dc6c5c0c9 100644 --- a/crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs @@ -77,7 +77,7 @@ impl PerformLocalActionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -113,7 +113,7 @@ impl RemoteDesktopConnectionInfo { { Self::IRemoteDesktopConnectionInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForLaunchUri)(::windows_core::Interface::as_raw(this), launchuri.into_param().abi(), windowid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForLaunchUri)(::windows_core::Interface::as_raw(this), launchuri.into_param().abi(), windowid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -155,7 +155,7 @@ impl RemoteDesktopConnectionRemoteInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchToLocalSessionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchToLocalSessionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSwitchToLocalSessionRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -169,7 +169,7 @@ impl RemoteDesktopConnectionRemoteInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PerformLocalActionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PerformLocalActionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePerformLocalActionRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -179,7 +179,7 @@ impl RemoteDesktopConnectionRemoteInfo { pub fn IsSwitchSupported() -> ::windows_core::Result { Self::IRemoteDesktopConnectionRemoteInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSwitchSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSwitchSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetForLaunchUri(launchuri: P0) -> ::windows_core::Result @@ -188,7 +188,7 @@ impl RemoteDesktopConnectionRemoteInfo { { Self::IRemoteDesktopConnectionRemoteInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForLaunchUri)(::windows_core::Interface::as_raw(this), launchuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForLaunchUri)(::windows_core::Interface::as_raw(this), launchuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -218,20 +218,20 @@ impl RemoteDesktopInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance(id: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IRemoteDesktopInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -258,13 +258,13 @@ impl RemoteDesktopRegistrar { pub fn DesktopInfos() -> ::windows_core::Result> { Self::IRemoteDesktopRegistrarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesktopInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesktopInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSwitchToLocalSessionEnabled() -> ::windows_core::Result { Self::IRemoteDesktopRegistrarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSwitchToLocalSessionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSwitchToLocalSessionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/RemoteDesktop/mod.rs b/crates/libs/windows/src/Windows/System/RemoteDesktop/mod.rs index a6462a6df7..110821919a 100644 --- a/crates/libs/windows/src/Windows/System/RemoteDesktop/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteDesktop/mod.rs @@ -14,7 +14,7 @@ impl InteractiveSession { pub fn IsRemote() -> ::windows_core::Result { Self::IInteractiveSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRemote)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRemote)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs b/crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs index c4db4906af..91494bfadc 100644 --- a/crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs @@ -611,25 +611,25 @@ impl KnownRemoteSystemCapabilities { pub fn AppService() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppService)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppService)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUri() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RemoteSession() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SpatialEntity() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpatialEntity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpatialEntity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -650,70 +650,70 @@ impl RemoteSystem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Kind(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Status(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAvailableByProximity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailableByProximity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailableByProximity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAvailableBySpatialProximity(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailableBySpatialProximity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailableBySpatialProximity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetCapabilitySupportedAsync(&self, capabilityname: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCapabilitySupportedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCapabilitySupportedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ManufacturerDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManufacturerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManufacturerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ModelDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Platform(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Platform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Platform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -721,14 +721,14 @@ impl RemoteSystem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Apps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Apps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn User(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking")] @@ -738,13 +738,13 @@ impl RemoteSystem { { Self::IRemoteSystemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindByHostNameAsync)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindByHostNameAsync)(::windows_core::Interface::as_raw(this), hostname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcher() -> ::windows_core::Result { Self::IRemoteSystemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -754,19 +754,19 @@ impl RemoteSystem { { Self::IRemoteSystemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherWithFilters)(::windows_core::Interface::as_raw(this), filters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherWithFilters)(::windows_core::Interface::as_raw(this), filters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IRemoteSystemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsAuthorizationKindEnabled(kind: RemoteSystemAuthorizationKind) -> ::windows_core::Result { Self::IRemoteSystemStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAuthorizationKindEnabled)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAuthorizationKindEnabled)(::windows_core::Interface::as_raw(this), kind, &mut result__).map(|| result__) }) } pub fn CreateWatcherForUser(user: P0) -> ::windows_core::Result @@ -775,7 +775,7 @@ impl RemoteSystem { { Self::IRemoteSystemStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -786,7 +786,7 @@ impl RemoteSystem { { Self::IRemoteSystemStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcherWithFiltersForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), filters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcherWithFiltersForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), filters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -826,7 +826,7 @@ impl RemoteSystemAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -851,28 +851,28 @@ impl RemoteSystemApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAvailableByProximity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailableByProximity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailableByProximity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAvailableBySpatialProximity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAvailableBySpatialProximity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAvailableBySpatialProximity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -880,21 +880,21 @@ impl RemoteSystemApp { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn User(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -919,7 +919,7 @@ impl RemoteSystemAppRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -927,20 +927,20 @@ impl RemoteSystemAppRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Attributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SaveAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IRemoteSystemAppRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -949,7 +949,7 @@ impl RemoteSystemAppRegistration { { Self::IRemoteSystemAppRegistrationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -980,13 +980,13 @@ impl RemoteSystemAuthorizationKindFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemAuthorizationKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemAuthorizationKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(remotesystemauthorizationkind: RemoteSystemAuthorizationKind) -> ::windows_core::Result { Self::IRemoteSystemAuthorizationKindFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemauthorizationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemauthorizationkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1016,7 +1016,7 @@ impl RemoteSystemConnectionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsProximal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsProximal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_AppService")] @@ -1026,7 +1026,7 @@ impl RemoteSystemConnectionInfo { { Self::IRemoteSystemConnectionInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateFromAppServiceConnection)(::windows_core::Interface::as_raw(this), connection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateFromAppServiceConnection)(::windows_core::Interface::as_raw(this), connection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1056,21 +1056,21 @@ impl RemoteSystemConnectionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteSystemApp(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemApp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemApp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionToken(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionToken)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(remotesystem: P0) -> ::windows_core::Result @@ -1079,7 +1079,7 @@ impl RemoteSystemConnectionRequest { { Self::IRemoteSystemConnectionRequestFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateForApp(remotesystemapp: P0) -> ::windows_core::Result @@ -1088,13 +1088,13 @@ impl RemoteSystemConnectionRequest { { Self::IRemoteSystemConnectionRequestStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForApp)(::windows_core::Interface::as_raw(this), remotesystemapp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForApp)(::windows_core::Interface::as_raw(this), remotesystemapp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromConnectionToken(connectiontoken: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IRemoteSystemConnectionRequestStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromConnectionToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(connectiontoken), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromConnectionToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(connectiontoken), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromConnectionTokenForUser(user: P0, connectiontoken: &::windows_core::HSTRING) -> ::windows_core::Result @@ -1103,7 +1103,7 @@ impl RemoteSystemConnectionRequest { { Self::IRemoteSystemConnectionRequestStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromConnectionTokenForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(connectiontoken), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromConnectionTokenForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(connectiontoken), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1144,13 +1144,13 @@ impl RemoteSystemDiscoveryTypeFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemDiscoveryType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemDiscoveryType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(discoverytype: RemoteSystemDiscoveryType) -> ::windows_core::Result { Self::IRemoteSystemDiscoveryTypeFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), discoverytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), discoverytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1199,7 +1199,7 @@ impl RemoteSystemKindFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemKinds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemKinds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1209,7 +1209,7 @@ impl RemoteSystemKindFilter { { Self::IRemoteSystemKindFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemkinds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemkinds.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1235,49 +1235,49 @@ impl RemoteSystemKinds { pub fn Phone() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Phone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Phone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Hub() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hub)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hub)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Holographic() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Holographic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Holographic)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Desktop() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Desktop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Xbox() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Xbox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Xbox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Iot() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Iot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Iot)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Tablet() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tablet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tablet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Laptop() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IRemoteSystemKindStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Laptop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Laptop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1303,7 +1303,7 @@ impl RemoteSystemRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1333,21 +1333,21 @@ impl RemoteSystemSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ControllerDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControllerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControllerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Disconnected(&self, handler: P0) -> ::windows_core::Result @@ -1357,7 +1357,7 @@ impl RemoteSystemSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisconnected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1368,7 +1368,7 @@ impl RemoteSystemSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateParticipantWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateParticipantWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendInvitationAsync(&self, invitee: P0) -> ::windows_core::Result> @@ -1378,13 +1378,13 @@ impl RemoteSystemSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendInvitationAsync)(::windows_core::Interface::as_raw(this), invitee.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendInvitationAsync)(::windows_core::Interface::as_raw(this), invitee.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWatcher() -> ::windows_core::Result { Self::IRemoteSystemSessionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1414,7 +1414,7 @@ impl RemoteSystemSessionAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1442,7 +1442,7 @@ impl RemoteSystemSessionController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JoinRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JoinRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveJoinRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1456,20 +1456,20 @@ impl RemoteSystemSessionController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveParticipantAsync)(::windows_core::Interface::as_raw(this), pparticipant.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveParticipantAsync)(::windows_core::Interface::as_raw(this), pparticipant.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSessionAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSessionAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSessionAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateController(displayname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IRemoteSystemSessionControllerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateControllerWithSessionOptions(displayname: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result @@ -1478,7 +1478,7 @@ impl RemoteSystemSessionController { { Self::IRemoteSystemSessionControllerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateControllerWithSessionOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateControllerWithSessionOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displayname), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1508,14 +1508,14 @@ impl RemoteSystemSessionCreationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Session(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1540,7 +1540,7 @@ impl RemoteSystemSessionDisconnectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1565,21 +1565,21 @@ impl RemoteSystemSessionInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ControllerDisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControllerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControllerDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn JoinAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JoinAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JoinAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1604,14 +1604,14 @@ impl RemoteSystemSessionInvitation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1646,7 +1646,7 @@ impl RemoteSystemSessionInvitationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvitationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvitationReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInvitationReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1675,7 +1675,7 @@ impl RemoteSystemSessionInvitationReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invitation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invitation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1700,7 +1700,7 @@ impl RemoteSystemSessionJoinRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Accept(&self) -> ::windows_core::Result<()> { @@ -1729,14 +1729,14 @@ impl RemoteSystemSessionJoinRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).JoinRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).JoinRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1761,14 +1761,14 @@ impl RemoteSystemSessionJoinResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Session(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1793,7 +1793,7 @@ impl RemoteSystemSessionMessageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Session)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1804,7 +1804,7 @@ impl RemoteSystemSessionMessageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BroadcastValueSetAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BroadcastValueSetAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1816,7 +1816,7 @@ impl RemoteSystemSessionMessageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendValueSetAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), participant.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendValueSetAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), participant.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1828,7 +1828,7 @@ impl RemoteSystemSessionMessageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendValueSetToParticipantsAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), participants.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendValueSetToParticipantsAsync)(::windows_core::Interface::as_raw(this), messagedata.into_param().abi(), participants.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ValueSetReceived(&self, handler: P0) -> ::windows_core::Result @@ -1838,7 +1838,7 @@ impl RemoteSystemSessionMessageChannel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ValueSetReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ValueSetReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveValueSetReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1851,7 +1851,7 @@ impl RemoteSystemSessionMessageChannel { { Self::IRemoteSystemSessionMessageChannelFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), session.into_param().abi(), ::core::mem::transmute_copy(channelname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), session.into_param().abi(), ::core::mem::transmute_copy(channelname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithReliability(session: P0, channelname: &::windows_core::HSTRING, reliability: RemoteSystemSessionMessageChannelReliability) -> ::windows_core::Result @@ -1860,7 +1860,7 @@ impl RemoteSystemSessionMessageChannel { { Self::IRemoteSystemSessionMessageChannelFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithReliability)(::windows_core::Interface::as_raw(this), session.into_param().abi(), ::core::mem::transmute_copy(channelname), reliability, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithReliability)(::windows_core::Interface::as_raw(this), session.into_param().abi(), ::core::mem::transmute_copy(channelname), reliability, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1897,7 +1897,7 @@ impl RemoteSystemSessionOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInviteOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInviteOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInviteOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -1926,7 +1926,7 @@ impl RemoteSystemSessionParticipant { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Networking"))] @@ -1934,7 +1934,7 @@ impl RemoteSystemSessionParticipant { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHostNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHostNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1959,7 +1959,7 @@ impl RemoteSystemSessionParticipantAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1984,7 +1984,7 @@ impl RemoteSystemSessionParticipantRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Participant)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2017,7 +2017,7 @@ impl RemoteSystemSessionParticipantWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Added(&self, handler: P0) -> ::windows_core::Result @@ -2027,7 +2027,7 @@ impl RemoteSystemSessionParticipantWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2041,7 +2041,7 @@ impl RemoteSystemSessionParticipantWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2055,7 +2055,7 @@ impl RemoteSystemSessionParticipantWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2084,7 +2084,7 @@ impl RemoteSystemSessionRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2109,7 +2109,7 @@ impl RemoteSystemSessionUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2134,7 +2134,7 @@ impl RemoteSystemSessionValueSetReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sender)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2142,7 +2142,7 @@ impl RemoteSystemSessionValueSetReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2175,7 +2175,7 @@ impl RemoteSystemSessionWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Added(&self, handler: P0) -> ::windows_core::Result @@ -2185,7 +2185,7 @@ impl RemoteSystemSessionWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2199,7 +2199,7 @@ impl RemoteSystemSessionWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2213,7 +2213,7 @@ impl RemoteSystemSessionWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2243,13 +2243,13 @@ impl RemoteSystemStatusTypeFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemStatusType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemStatusType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(remotesystemstatustype: RemoteSystemStatusType) -> ::windows_core::Result { Self::IRemoteSystemStatusTypeFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemstatustype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), remotesystemstatustype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2279,7 +2279,7 @@ impl RemoteSystemUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2315,7 +2315,7 @@ impl RemoteSystemWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemAdded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoteSystemAdded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2329,7 +2329,7 @@ impl RemoteSystemWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoteSystemUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2343,7 +2343,7 @@ impl RemoteSystemWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteSystemRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteSystemRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoteSystemRemoved(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2357,7 +2357,7 @@ impl RemoteSystemWatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2371,7 +2371,7 @@ impl RemoteSystemWatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorOccurred)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveErrorOccurred(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2382,7 +2382,7 @@ impl RemoteSystemWatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2407,7 +2407,7 @@ impl RemoteSystemWatcherErrorOccurredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Error)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2434,7 +2434,7 @@ impl RemoteSystemWebAccountFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Account)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Account)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -2444,7 +2444,7 @@ impl RemoteSystemWebAccountFilter { { Self::IRemoteSystemWebAccountFilterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), account.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Threading/Core/mod.rs b/crates/libs/windows/src/Windows/System/Threading/Core/mod.rs index 0bb088ac92..1a438468ad 100644 --- a/crates/libs/windows/src/Windows/System/Threading/Core/mod.rs +++ b/crates/libs/windows/src/Windows/System/Threading/Core/mod.rs @@ -41,7 +41,7 @@ impl PreallocatedWorkItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWorkItem(handler: P0) -> ::windows_core::Result @@ -50,7 +50,7 @@ impl PreallocatedWorkItem { { Self::IPreallocatedWorkItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWorkItem)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWorkItem)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWorkItemWithPriority(handler: P0, priority: super::WorkItemPriority) -> ::windows_core::Result @@ -59,7 +59,7 @@ impl PreallocatedWorkItem { { Self::IPreallocatedWorkItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWorkItemWithPriority)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWorkItemWithPriority)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWorkItemWithPriorityAndOptions(handler: P0, priority: super::WorkItemPriority, options: super::WorkItemOptions) -> ::windows_core::Result @@ -68,7 +68,7 @@ impl PreallocatedWorkItem { { Self::IPreallocatedWorkItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWorkItemWithPriorityAndOptions)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWorkItemWithPriorityAndOptions)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -108,7 +108,7 @@ impl SignalNotifier { { Self::ISignalNotifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachToEvent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachToEvent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AttachToEventWithTimeout(name: &::windows_core::HSTRING, handler: P0, timeout: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -117,7 +117,7 @@ impl SignalNotifier { { Self::ISignalNotifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachToEventWithTimeout)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachToEventWithTimeout)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AttachToSemaphore(name: &::windows_core::HSTRING, handler: P0) -> ::windows_core::Result @@ -126,7 +126,7 @@ impl SignalNotifier { { Self::ISignalNotifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachToSemaphore)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachToSemaphore)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AttachToSemaphoreWithTimeout(name: &::windows_core::HSTRING, handler: P0, timeout: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -135,7 +135,7 @@ impl SignalNotifier { { Self::ISignalNotifierStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttachToSemaphoreWithTimeout)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttachToSemaphoreWithTimeout)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), handler.into_param().abi(), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Threading/mod.rs b/crates/libs/windows/src/Windows/System/Threading/mod.rs index d896fe1aaf..72e27ceb45 100644 --- a/crates/libs/windows/src/Windows/System/Threading/mod.rs +++ b/crates/libs/windows/src/Windows/System/Threading/mod.rs @@ -36,7 +36,7 @@ impl ThreadPool { { Self::IThreadPoolStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RunWithPriorityAsync(handler: P0, priority: WorkItemPriority) -> ::windows_core::Result @@ -45,7 +45,7 @@ impl ThreadPool { { Self::IThreadPoolStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunWithPriorityAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunWithPriorityAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RunWithPriorityAndOptionsAsync(handler: P0, priority: WorkItemPriority, options: WorkItemOptions) -> ::windows_core::Result @@ -54,7 +54,7 @@ impl ThreadPool { { Self::IThreadPoolStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunWithPriorityAndOptionsAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunWithPriorityAndOptionsAsync)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), priority, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -75,14 +75,14 @@ impl ThreadPoolTimer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cancel(&self) -> ::windows_core::Result<()> { @@ -95,7 +95,7 @@ impl ThreadPoolTimer { { Self::IThreadPoolTimerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePeriodicTimer)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), period, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePeriodicTimer)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), period, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimer(handler: P0, delay: super::super::Foundation::TimeSpan) -> ::windows_core::Result @@ -104,7 +104,7 @@ impl ThreadPoolTimer { { Self::IThreadPoolTimerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimer)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), delay, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimer)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), delay, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePeriodicTimerWithCompletion(handler: P0, period: super::super::Foundation::TimeSpan, destroyed: P1) -> ::windows_core::Result @@ -114,7 +114,7 @@ impl ThreadPoolTimer { { Self::IThreadPoolTimerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePeriodicTimerWithCompletion)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), period, destroyed.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePeriodicTimerWithCompletion)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), period, destroyed.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTimerWithCompletion(handler: P0, delay: super::super::Foundation::TimeSpan, destroyed: P1) -> ::windows_core::Result @@ -124,7 +124,7 @@ impl ThreadPoolTimer { { Self::IThreadPoolTimerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimerWithCompletion)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), delay, destroyed.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimerWithCompletion)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), delay, destroyed.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/Update/mod.rs b/crates/libs/windows/src/Windows/System/Update/mod.rs index 8a2d472ab3..23a3ef561a 100644 --- a/crates/libs/windows/src/Windows/System/Update/mod.rs +++ b/crates/libs/windows/src/Windows/System/Update/mod.rs @@ -66,56 +66,56 @@ impl SystemUpdateItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Revision(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Revision)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DownloadProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InstallProgress(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -140,21 +140,21 @@ impl SystemUpdateLastErrorInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInteractive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInteractive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInteractive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -175,13 +175,13 @@ impl SystemUpdateManager { pub fn IsSupported() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn State() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn StateChanged(handler: P0) -> ::windows_core::Result @@ -190,7 +190,7 @@ impl SystemUpdateManager { { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveStateChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -199,105 +199,105 @@ impl SystemUpdateManager { pub fn DownloadProgress() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DownloadProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn InstallProgress() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstallProgress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstallProgress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UserActiveHoursStart() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActiveHoursStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActiveHoursStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UserActiveHoursEnd() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActiveHoursEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActiveHoursEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UserActiveHoursMax() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserActiveHoursMax)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserActiveHoursMax)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TrySetUserActiveHours(start: super::super::Foundation::TimeSpan, end: super::super::Foundation::TimeSpan) -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetUserActiveHours)(::windows_core::Interface::as_raw(this), start, end, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetUserActiveHours)(::windows_core::Interface::as_raw(this), start, end, &mut result__).map(|| result__) }) } pub fn LastUpdateCheckTime() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdateCheckTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdateCheckTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LastUpdateInstallTime() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdateInstallTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdateInstallTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LastErrorInfo() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastErrorInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastErrorInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetAutomaticRebootBlockIds() -> ::windows_core::Result> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAutomaticRebootBlockIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAutomaticRebootBlockIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BlockAutomaticRebootAsync(lockid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlockAutomaticRebootAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(lockid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlockAutomaticRebootAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(lockid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UnblockAutomaticRebootAsync(lockid: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnblockAutomaticRebootAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(lockid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnblockAutomaticRebootAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(lockid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ExtendedError() -> ::windows_core::Result<::windows_core::HRESULT> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetUpdateItems() -> ::windows_core::Result> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUpdateItems)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUpdateItems)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AttentionRequiredReason() -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttentionRequiredReason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttentionRequiredReason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetFlightRing(flightring: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetFlightRing)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(flightring), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetFlightRing)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(flightring), &mut result__).map(|| result__) }) } pub fn GetFlightRing() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ISystemUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFlightRing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFlightRing)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StartInstall(action: SystemUpdateStartInstallAction) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/System/UserProfile/mod.rs b/crates/libs/windows/src/Windows/System/UserProfile/mod.rs index 5e88f5591c..e579639d7f 100644 --- a/crates/libs/windows/src/Windows/System/UserProfile/mod.rs +++ b/crates/libs/windows/src/Windows/System/UserProfile/mod.rs @@ -261,7 +261,7 @@ impl AdvertisingManager { pub fn AdvertisingId() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IAdvertisingManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -270,7 +270,7 @@ impl AdvertisingManager { { Self::IAdvertisingManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -296,14 +296,14 @@ impl AdvertisingManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvertisingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvertisingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn User(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -328,27 +328,27 @@ impl AssignedAccessSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsSingleAppKioskMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSingleAppKioskMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSingleAppKioskMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn User(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAssignedAccessSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -357,7 +357,7 @@ impl AssignedAccessSettings { { Self::IAssignedAccessSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -387,20 +387,20 @@ impl DiagnosticsSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanUseDiagnosticsToTailorExperiences)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanUseDiagnosticsToTailorExperiences)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn User(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IDiagnosticsSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -409,7 +409,7 @@ impl DiagnosticsSettings { { Self::IDiagnosticsSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -440,7 +440,7 @@ impl FirstSignInSettings { pub fn GetDefault() -> ::windows_core::Result { Self::IFirstSignInSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -448,7 +448,7 @@ impl FirstSignInSettings { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -456,7 +456,7 @@ impl FirstSignInSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -464,7 +464,7 @@ impl FirstSignInSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -472,7 +472,7 @@ impl FirstSignInSettings { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -520,47 +520,47 @@ impl GlobalizationPreferences { pub fn Calendars() -> ::windows_core::Result> { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Calendars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Calendars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Clocks() -> ::windows_core::Result> { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clocks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clocks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Currencies() -> ::windows_core::Result> { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Currencies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Currencies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn Languages() -> ::windows_core::Result> { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HomeGeographicRegion() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Globalization")] pub fn WeekStartsOn() -> ::windows_core::Result { Self::IGlobalizationPreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WeekStartsOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WeekStartsOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TrySetHomeGeographicRegion(region: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IGlobalizationPreferencesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetHomeGeographicRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(region), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetHomeGeographicRegion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(region), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] @@ -570,7 +570,7 @@ impl GlobalizationPreferences { { Self::IGlobalizationPreferencesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetLanguages)(::windows_core::Interface::as_raw(this), languagetags.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetLanguages)(::windows_core::Interface::as_raw(this), languagetags.into_param().abi(), &mut result__).map(|| result__) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -579,7 +579,7 @@ impl GlobalizationPreferences { { Self::IGlobalizationPreferencesStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -610,7 +610,7 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -618,7 +618,7 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Calendars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Calendars)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -626,7 +626,7 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clocks)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clocks)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -634,7 +634,7 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Currencies)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Currencies)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -642,14 +642,14 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Languages)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HomeGeographicRegion(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeGeographicRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Globalization")] @@ -657,7 +657,7 @@ impl GlobalizationPreferencesForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WeekStartsOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WeekStartsOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -681,26 +681,26 @@ impl LockScreen { { Self::ILockScreenImageFeedStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSetImageFeedAsync)(::windows_core::Interface::as_raw(this), syndicationfeeduri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSetImageFeedAsync)(::windows_core::Interface::as_raw(this), syndicationfeeduri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryRemoveImageFeed() -> ::windows_core::Result { Self::ILockScreenImageFeedStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRemoveImageFeed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRemoveImageFeed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OriginalImageFile() -> ::windows_core::Result { Self::ILockScreenStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OriginalImageFile)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OriginalImageFile)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn GetImageStream() -> ::windows_core::Result { Self::ILockScreenStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetImageStream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetImageStream)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -710,7 +710,7 @@ impl LockScreen { { Self::ILockScreenStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetImageFileAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetImageFileAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -720,7 +720,7 @@ impl LockScreen { { Self::ILockScreenStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetImageStreamAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetImageStreamAsync)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -745,21 +745,21 @@ impl UserInformation { pub fn AccountPictureChangeEnabled() -> ::windows_core::Result { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPictureChangeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPictureChangeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn NameAccessAllowed() -> ::windows_core::Result { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NameAccessAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NameAccessAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(all(feature = "Storage", feature = "deprecated"))] pub fn GetAccountPicture(kind: AccountPictureKind) -> ::windows_core::Result { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccountPicture)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccountPicture)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -769,7 +769,7 @@ impl UserInformation { { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAccountPictureAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAccountPictureAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage", feature = "deprecated"))] @@ -781,7 +781,7 @@ impl UserInformation { { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAccountPicturesAsync)(::windows_core::Interface::as_raw(this), smallimage.into_param().abi(), largeimage.into_param().abi(), video.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAccountPicturesAsync)(::windows_core::Interface::as_raw(this), smallimage.into_param().abi(), largeimage.into_param().abi(), video.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -791,7 +791,7 @@ impl UserInformation { { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAccountPictureFromStreamAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAccountPictureFromStreamAsync)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] @@ -803,7 +803,7 @@ impl UserInformation { { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAccountPicturesFromStreamsAsync)(::windows_core::Interface::as_raw(this), smallimage.into_param().abi(), largeimage.into_param().abi(), video.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAccountPicturesFromStreamsAsync)(::windows_core::Interface::as_raw(this), smallimage.into_param().abi(), largeimage.into_param().abi(), video.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -813,7 +813,7 @@ impl UserInformation { { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountPictureChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountPictureChanged)(::windows_core::Interface::as_raw(this), changehandler.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] @@ -824,42 +824,42 @@ impl UserInformation { pub fn GetDisplayNameAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetFirstNameAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFirstNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFirstNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetLastNameAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetLastNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetLastNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetPrincipalNameAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPrincipalNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPrincipalNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetSessionInitiationProtocolUriAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSessionInitiationProtocolUriAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSessionInitiationProtocolUriAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] pub fn GetDomainNameAsync() -> ::windows_core::Result> { Self::IUserInformationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDomainNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDomainNameAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -886,7 +886,7 @@ impl UserProfilePersonalizationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetLockScreenImageAsync)(::windows_core::Interface::as_raw(this), imagefile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetLockScreenImageAsync)(::windows_core::Interface::as_raw(this), imagefile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage")] @@ -897,19 +897,19 @@ impl UserProfilePersonalizationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetWallpaperImageAsync)(::windows_core::Interface::as_raw(this), imagefile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetWallpaperImageAsync)(::windows_core::Interface::as_raw(this), imagefile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Current() -> ::windows_core::Result { Self::IUserProfilePersonalizationSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IUserProfilePersonalizationSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/mod.rs b/crates/libs/windows/src/Windows/System/mod.rs index 3026da27f5..5b9293e042 100644 --- a/crates/libs/windows/src/Windows/System/mod.rs +++ b/crates/libs/windows/src/Windows/System/mod.rs @@ -614,7 +614,7 @@ impl ILauncherViewOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -962,14 +962,14 @@ impl AppActivationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppResourceGroupInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -995,7 +995,7 @@ impl AppDiagnosticInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1003,61 +1003,61 @@ impl AppDiagnosticInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResourceGroups)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResourceGroups)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateResourceGroupWatcher(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResourceGroupWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResourceGroupWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LaunchAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn RequestInfoAsync() -> ::windows_core::Result>> { Self::IAppDiagnosticInfoStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInfoAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWatcher() -> ::windows_core::Result { Self::IAppDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestAccessAsync() -> ::windows_core::Result> { Self::IAppDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn RequestInfoForPackageAsync(packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IAppDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInfoForPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInfoForPackageAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn RequestInfoForAppAsync() -> ::windows_core::Result>> { Self::IAppDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInfoForAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInfoForAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn RequestInfoForAppUserModelId(appusermodelid: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::IAppDiagnosticInfoStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestInfoForAppUserModelId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appusermodelid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestInfoForAppUserModelId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appusermodelid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1095,7 +1095,7 @@ impl AppDiagnosticInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1109,7 +1109,7 @@ impl AppDiagnosticInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1123,7 +1123,7 @@ impl AppDiagnosticInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1137,7 +1137,7 @@ impl AppDiagnosticInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1148,7 +1148,7 @@ impl AppDiagnosticInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -1181,7 +1181,7 @@ impl AppDiagnosticInfoWatcherEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDiagnosticInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDiagnosticInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1206,7 +1206,7 @@ impl AppExecutionStateChangeResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1231,35 +1231,35 @@ impl AppMemoryReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PeakPrivateCommitUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeakPrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeakPrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCommitUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCommitLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCommitLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCommitLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExpectedTotalCommitLimit(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedTotalCommitLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedTotalCommitLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1284,14 +1284,14 @@ impl AppMemoryUsageLimitChangingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NewLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1316,28 +1316,28 @@ impl AppResourceGroupBackgroundTaskReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Trigger(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Trigger)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EntryPoint(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EntryPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EntryPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1362,14 +1362,14 @@ impl AppResourceGroupInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsShared(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsShared)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsShared)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1377,14 +1377,14 @@ impl AppResourceGroupInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBackgroundTaskReports)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBackgroundTaskReports)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetMemoryReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "System_Diagnostics"))] @@ -1392,35 +1392,35 @@ impl AppResourceGroupInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProcessDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProcessDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStateReport(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStateReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStateReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartSuspendAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartSuspendAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartSuspendAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartResumeAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartResumeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartTerminateAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartTerminateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartTerminateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1448,7 +1448,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1462,7 +1462,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1476,7 +1476,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1490,7 +1490,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1504,7 +1504,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutionStateChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveExecutionStateChanged(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1515,7 +1515,7 @@ impl AppResourceGroupInfoWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -1549,14 +1549,14 @@ impl AppResourceGroupInfoWatcherEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppResourceGroupInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1582,14 +1582,14 @@ impl AppResourceGroupInfoWatcherExecutionStateChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppDiagnosticInfos)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppResourceGroupInfo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppResourceGroupInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1614,28 +1614,28 @@ impl AppResourceGroupMemoryReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CommitUsageLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrivateCommitUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivateCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalCommitUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalCommitUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1660,14 +1660,14 @@ impl AppResourceGroupStateReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnergyQuotaState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnergyQuotaState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnergyQuotaState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1699,7 +1699,7 @@ impl AppUriHandlerHost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1710,7 +1710,7 @@ impl AppUriHandlerHost { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1720,7 +1720,7 @@ impl AppUriHandlerHost { pub fn CreateInstance(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppUriHandlerHostFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1750,14 +1750,14 @@ impl AppUriHandlerRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn User(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1765,7 +1765,7 @@ impl AppUriHandlerRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppAddedHostsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppAddedHostsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1776,7 +1776,7 @@ impl AppUriHandlerRegistration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetAppAddedHostsAsync)(::windows_core::Interface::as_raw(this), hosts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetAppAddedHostsAsync)(::windows_core::Interface::as_raw(this), hosts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1784,7 +1784,7 @@ impl AppUriHandlerRegistration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAllHosts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAllHosts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1799,7 +1799,7 @@ impl AppUriHandlerRegistration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1824,27 +1824,27 @@ impl AppUriHandlerRegistrationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetRegistration(&self, name: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetRegistration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetRegistration)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IAppUriHandlerRegistrationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUser(user: P0) -> ::windows_core::Result @@ -1853,13 +1853,13 @@ impl AppUriHandlerRegistrationManager { { Self::IAppUriHandlerRegistrationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForPackage(packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAppUriHandlerRegistrationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForPackage)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForPackageForUser(packagefamilyname: &::windows_core::HSTRING, user: P0) -> ::windows_core::Result @@ -1868,7 +1868,7 @@ impl AppUriHandlerRegistrationManager { { Self::IAppUriHandlerRegistrationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForPackageForUser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForPackageForUser)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefamilyname), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1917,7 +1917,7 @@ impl DispatcherQueue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTimer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTimer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryEnqueue(&self, callback: P0) -> ::windows_core::Result @@ -1927,7 +1927,7 @@ impl DispatcherQueue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnqueue)(::windows_core::Interface::as_raw(this), callback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnqueue)(::windows_core::Interface::as_raw(this), callback.into_param().abi(), &mut result__).map(|| result__) } } pub fn TryEnqueueWithPriority(&self, priority: DispatcherQueuePriority, callback: P0) -> ::windows_core::Result @@ -1937,7 +1937,7 @@ impl DispatcherQueue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnqueueWithPriority)(::windows_core::Interface::as_raw(this), priority, callback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnqueueWithPriority)(::windows_core::Interface::as_raw(this), priority, callback.into_param().abi(), &mut result__).map(|| result__) } } pub fn ShutdownStarting(&self, handler: P0) -> ::windows_core::Result @@ -1947,7 +1947,7 @@ impl DispatcherQueue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShutdownStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShutdownStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShutdownStarting(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1961,7 +1961,7 @@ impl DispatcherQueue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShutdownCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShutdownCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShutdownCompleted(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1972,13 +1972,13 @@ impl DispatcherQueue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasThreadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasThreadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentThread() -> ::windows_core::Result { Self::IDispatcherQueueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentThread)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentThread)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2008,20 +2008,20 @@ impl DispatcherQueueController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShutdownQueueAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShutdownQueueAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShutdownQueueAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateOnDedicatedThread() -> ::windows_core::Result { Self::IDispatcherQueueControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateOnDedicatedThread)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateOnDedicatedThread)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2051,7 +2051,7 @@ impl DispatcherQueueShutdownStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2076,7 +2076,7 @@ impl DispatcherQueueTimer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interval)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterval(&self, value: super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -2087,14 +2087,14 @@ impl DispatcherQueueTimer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRunning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRunning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRepeating(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRepeating)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRepeating)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsRepeating(&self, value: bool) -> ::windows_core::Result<()> { @@ -2116,7 +2116,7 @@ impl DispatcherQueueTimer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tick)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tick)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTick(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2154,7 +2154,7 @@ impl FolderLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemsToSelect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemsToSelect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -2162,7 +2162,7 @@ impl FolderLauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -2188,61 +2188,61 @@ impl KnownUserProperties { pub fn DisplayName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn FirstName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LastName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProviderName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProviderName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AccountName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GuestHost() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GuestHost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GuestHost)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PrincipalName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrincipalName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrincipalName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DomainName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DomainName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DomainName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SessionInitiationProtocolUri() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionInitiationProtocolUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionInitiationProtocolUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AgeEnforcementRegion() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownUserPropertiesStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AgeEnforcementRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AgeEnforcementRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2268,7 +2268,7 @@ impl LaunchUriResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2276,7 +2276,7 @@ impl LaunchUriResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2301,7 +2301,7 @@ impl Launcher { { Self::ILauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFileAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2312,7 +2312,7 @@ impl Launcher { { Self::ILauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFileWithOptionsAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriAsync(uri: P0) -> ::windows_core::Result> @@ -2321,7 +2321,7 @@ impl Launcher { { Self::ILauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriWithOptionsAsync(uri: P0, options: P1) -> ::windows_core::Result> @@ -2331,7 +2331,7 @@ impl Launcher { { Self::ILauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithOptionsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithOptionsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriForResultsAsync(uri: P0, options: P1) -> ::windows_core::Result> @@ -2341,7 +2341,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriForResultsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriForResultsAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2353,7 +2353,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriForResultsWithDataAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriForResultsWithDataAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2365,7 +2365,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithDataAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithDataAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn QueryUriSupportAsync(uri: P0, launchquerysupporttype: LaunchQuerySupportType) -> ::windows_core::Result> @@ -2374,7 +2374,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryUriSupportAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), launchquerysupporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryUriSupportAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), launchquerysupporttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn QueryUriSupportWithPackageFamilyNameAsync(uri: P0, launchquerysupporttype: LaunchQuerySupportType, packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -2383,7 +2383,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryUriSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), launchquerysupporttype, ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryUriSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), launchquerysupporttype, ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2393,7 +2393,7 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryFileSupportAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryFileSupportAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2403,28 +2403,28 @@ impl Launcher { { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryFileSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryFileSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), file.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindUriSchemeHandlersAsync(scheme: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUriSchemeHandlersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUriSchemeHandlersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindUriSchemeHandlersWithLaunchUriTypeAsync(scheme: &::windows_core::HSTRING, launchquerysupporttype: LaunchQuerySupportType) -> ::windows_core::Result>> { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUriSchemeHandlersWithLaunchUriTypeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), launchquerysupporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUriSchemeHandlersWithLaunchUriTypeAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), launchquerysupporttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] pub fn FindFileHandlersAsync(extension: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::ILauncherStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindFileHandlersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(extension), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindFileHandlersAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(extension), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2434,7 +2434,7 @@ impl Launcher { { Self::ILauncherStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage")] @@ -2445,7 +2445,7 @@ impl Launcher { { Self::ILauncherStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderWithOptionsAsync)(::windows_core::Interface::as_raw(this), folder.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn QueryAppUriSupportAsync(uri: P0) -> ::windows_core::Result> @@ -2454,7 +2454,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryAppUriSupportAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryAppUriSupportAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn QueryAppUriSupportWithPackageFamilyNameAsync(uri: P0, packagefamilyname: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -2463,7 +2463,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryAppUriSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryAppUriSupportWithPackageFamilyNameAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(packagefamilyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))] @@ -2473,7 +2473,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAppUriHandlersAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAppUriHandlersAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriForUserAsync(user: P0, uri: P1) -> ::windows_core::Result> @@ -2483,7 +2483,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriWithOptionsForUserAsync(user: P0, uri: P1, options: P2) -> ::windows_core::Result> @@ -2494,7 +2494,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2507,7 +2507,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithDataForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithDataForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchUriForResultsForUserAsync(user: P0, uri: P1, options: P2) -> ::windows_core::Result> @@ -2518,7 +2518,7 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriForResultsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriForResultsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2531,13 +2531,13 @@ impl Launcher { { Self::ILauncherStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriForResultsWithDataForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriForResultsWithDataForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFolderPathAsync(path: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::ILauncherStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderPathAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFolderPathWithOptionsAsync(path: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result> @@ -2546,7 +2546,7 @@ impl Launcher { { Self::ILauncherStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderPathWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderPathWithOptionsAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(path), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFolderPathForUserAsync(user: P0, path: &::windows_core::HSTRING) -> ::windows_core::Result> @@ -2555,7 +2555,7 @@ impl Launcher { { Self::ILauncherStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderPathForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn LaunchFolderPathWithOptionsForUserAsync(user: P0, path: &::windows_core::HSTRING, options: P1) -> ::windows_core::Result> @@ -2565,7 +2565,7 @@ impl Launcher { { Self::ILauncherStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchFolderPathWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchFolderPathWithOptionsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(path), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2614,7 +2614,7 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TreatAsUntrusted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TreatAsUntrusted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTreatAsUntrusted(&self, value: bool) -> ::windows_core::Result<()> { @@ -2625,7 +2625,7 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayApplicationPicker)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayApplicationPicker)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisplayApplicationPicker(&self, value: bool) -> ::windows_core::Result<()> { @@ -2636,14 +2636,14 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreferredApplicationPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreferredApplicationPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2654,7 +2654,7 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredApplicationDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredApplicationDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPreferredApplicationDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2665,7 +2665,7 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFallbackUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2679,7 +2679,7 @@ impl LauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2690,7 +2690,7 @@ impl LauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TargetApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TargetApplicationPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTargetApplicationPackageFamilyName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2702,7 +2702,7 @@ impl LauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Search")] @@ -2717,7 +2717,7 @@ impl LauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnoreAppUriHandlers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnoreAppUriHandlers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIgnoreAppUriHandlers(&self, value: bool) -> ::windows_core::Result<()> { @@ -2728,7 +2728,7 @@ impl LauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LimitPickerToCurrentAppAndAppUriHandlers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LimitPickerToCurrentAppAndAppUriHandlers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLimitPickerToCurrentAppAndAppUriHandlers(&self, value: bool) -> ::windows_core::Result<()> { @@ -2740,7 +2740,7 @@ impl LauncherOptions { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredRemainingView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -2770,7 +2770,7 @@ impl LauncherUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvocationPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvocationPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInvocationPoint(&self, value: P0) -> ::windows_core::Result<()> @@ -2784,7 +2784,7 @@ impl LauncherUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSelectionRect(&self, value: P0) -> ::windows_core::Result<()> @@ -2799,7 +2799,7 @@ impl LauncherUIOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredPlacement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredPlacement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Popups")] @@ -2825,19 +2825,19 @@ impl MemoryManager { pub fn AppMemoryUsage() -> ::windows_core::Result { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AppMemoryUsageLimit() -> ::windows_core::Result { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AppMemoryUsageLevel() -> ::windows_core::Result { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsageLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AppMemoryUsageIncreased(handler: P0) -> ::windows_core::Result @@ -2846,7 +2846,7 @@ impl MemoryManager { { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsageIncreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveAppMemoryUsageIncreased(token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2858,7 +2858,7 @@ impl MemoryManager { { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsageDecreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsageDecreased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveAppMemoryUsageDecreased(token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2870,7 +2870,7 @@ impl MemoryManager { { Self::IMemoryManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppMemoryUsageLimitChanging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppMemoryUsageLimitChanging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveAppMemoryUsageLimitChanging(token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2879,25 +2879,25 @@ impl MemoryManager { pub fn GetAppMemoryReport() -> ::windows_core::Result { Self::IMemoryManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAppMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAppMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetProcessMemoryReport() -> ::windows_core::Result { Self::IMemoryManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetProcessMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetProcessMemoryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TrySetAppMemoryUsageLimit(value: u64) -> ::windows_core::Result { Self::IMemoryManagerStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetAppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetAppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) }) } pub fn ExpectedAppMemoryUsageLimit() -> ::windows_core::Result { Self::IMemoryManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpectedAppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpectedAppMemoryUsageLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2929,7 +2929,7 @@ impl ProcessLauncher { pub fn RunToCompletionAsync(filename: &::windows_core::HSTRING, args: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunToCompletionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), ::core::mem::transmute_copy(args), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunToCompletionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), ::core::mem::transmute_copy(args), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RunToCompletionAsyncWithOptions(filename: &::windows_core::HSTRING, args: &::windows_core::HSTRING, options: P0) -> ::windows_core::Result> @@ -2938,7 +2938,7 @@ impl ProcessLauncher { { Self::IProcessLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunToCompletionAsyncWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), ::core::mem::transmute_copy(args), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunToCompletionAsyncWithOptions)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(filename), ::core::mem::transmute_copy(args), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2967,7 +2967,7 @@ impl ProcessLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StandardInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StandardInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2983,7 +2983,7 @@ impl ProcessLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StandardOutput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StandardOutput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2999,7 +2999,7 @@ impl ProcessLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StandardError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StandardError)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3014,7 +3014,7 @@ impl ProcessLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkingDirectory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkingDirectory)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWorkingDirectory(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3043,7 +3043,7 @@ impl ProcessLauncherResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExitCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3068,14 +3068,14 @@ impl ProcessMemoryReport { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivateWorkingSetUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivateWorkingSetUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TotalWorkingSetUsage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TotalWorkingSetUsage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TotalWorkingSetUsage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3127,7 +3127,7 @@ impl RemoteLauncher { { Self::IRemoteLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System_RemoteSystems")] @@ -3139,7 +3139,7 @@ impl RemoteLauncher { { Self::IRemoteLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithOptionsAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithOptionsAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "System_RemoteSystems"))] @@ -3152,7 +3152,7 @@ impl RemoteLauncher { { Self::IRemoteLauncherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchUriWithDataAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchUriWithDataAsync)(::windows_core::Interface::as_raw(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3180,7 +3180,7 @@ impl RemoteLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FallbackUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFallbackUri(&self, value: P0) -> ::windows_core::Result<()> @@ -3195,7 +3195,7 @@ impl RemoteLauncherOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredAppIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredAppIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3222,7 +3222,7 @@ impl ShutdownManager { pub fn IsPowerStateSupported(powerstate: PowerState) -> ::windows_core::Result { Self::IShutdownManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPowerStateSupported)(::windows_core::Interface::as_raw(this), powerstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPowerStateSupported)(::windows_core::Interface::as_raw(this), powerstate, &mut result__).map(|| result__) }) } pub fn EnterPowerState(powerstate: PowerState) -> ::windows_core::Result<()> { @@ -3250,20 +3250,20 @@ impl TimeZoneSettings { pub fn CurrentTimeZoneDisplayName() -> ::windows_core::Result<::windows_core::HSTRING> { Self::ITimeZoneSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentTimeZoneDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentTimeZoneDisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn SupportedTimeZoneDisplayNames() -> ::windows_core::Result> { Self::ITimeZoneSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedTimeZoneDisplayNames)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedTimeZoneDisplayNames)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CanChangeTimeZone() -> ::windows_core::Result { Self::ITimeZoneSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanChangeTimeZone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanChangeTimeZone)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ChangeTimeZoneByDisplayName(timezonedisplayname: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3272,7 +3272,7 @@ impl TimeZoneSettings { pub fn AutoUpdateTimeZoneAsync(timeout: super::Foundation::TimeSpan) -> ::windows_core::Result> { Self::ITimeZoneSettingsStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoUpdateTimeZoneAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoUpdateTimeZoneAsync)(::windows_core::Interface::as_raw(this), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3298,28 +3298,28 @@ impl User { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NonRoamableId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NonRoamableId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AuthenticationStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetPropertyAsync(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertyAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3330,7 +3330,7 @@ impl User { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPropertiesAsync)(::windows_core::Interface::as_raw(this), values.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -3338,53 +3338,53 @@ impl User { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPictureAsync)(::windows_core::Interface::as_raw(this), desiredsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPictureAsync)(::windows_core::Interface::as_raw(this), desiredsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CheckUserAgeConsentGroupAsync(&self, consentgroup: UserAgeConsentGroup) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CheckUserAgeConsentGroupAsync)(::windows_core::Interface::as_raw(this), consentgroup, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CheckUserAgeConsentGroupAsync)(::windows_core::Interface::as_raw(this), consentgroup, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWatcher() -> ::windows_core::Result { Self::IUserStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsync() -> ::windows_core::Result>> { Self::IUserStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] pub fn FindAllAsyncByType(r#type: UserType) -> ::windows_core::Result>> { Self::IUserStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncByType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncByType)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))] pub fn FindAllAsyncByTypeAndStatus(r#type: UserType, status: UserAuthenticationStatus) -> ::windows_core::Result>> { Self::IUserStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsyncByTypeAndStatus)(::windows_core::Interface::as_raw(this), r#type, status, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsyncByTypeAndStatus)(::windows_core::Interface::as_raw(this), r#type, status, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetFromId(nonroamableid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(nonroamableid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFromId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(nonroamableid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDefault() -> ::windows_core::Result { Self::IUserStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3441,28 +3441,28 @@ impl UserAuthenticationStatusChangingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn User(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3487,7 +3487,7 @@ impl UserChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3495,7 +3495,7 @@ impl UserChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangedPropertyKinds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangedPropertyKinds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3516,7 +3516,7 @@ impl UserDeviceAssociation { pub fn FindUserFromDeviceId(deviceid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUserDeviceAssociationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindUserFromDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindUserFromDeviceId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UserDeviceAssociationChanged(handler: P0) -> ::windows_core::Result @@ -3525,7 +3525,7 @@ impl UserDeviceAssociation { { Self::IUserDeviceAssociationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserDeviceAssociationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserDeviceAssociationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveUserDeviceAssociationChanged(token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3549,21 +3549,21 @@ impl UserDeviceAssociationChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OldUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3595,7 +3595,7 @@ impl UserPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowGuestAccounts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowGuestAccounts)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowGuestAccounts(&self, value: bool) -> ::windows_core::Result<()> { @@ -3606,7 +3606,7 @@ impl UserPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuggestedSelectedUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuggestedSelectedUser)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSuggestedSelectedUser(&self, value: P0) -> ::windows_core::Result<()> @@ -3620,13 +3620,13 @@ impl UserPicker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PickSingleUserAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PickSingleUserAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSupported() -> ::windows_core::Result { Self::IUserPickerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -3656,7 +3656,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Start(&self) -> ::windows_core::Result<()> { @@ -3674,7 +3674,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Added)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdded(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3688,7 +3688,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Removed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRemoved(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3702,7 +3702,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Updated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUpdated(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3716,7 +3716,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationStatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAuthenticationStatusChanged(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3730,7 +3730,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AuthenticationStatusChanging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AuthenticationStatusChanging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAuthenticationStatusChanging(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3744,7 +3744,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnumerationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveEnumerationCompleted(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3758,7 +3758,7 @@ impl UserWatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stopped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStopped(&self, token: super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/Accessibility/mod.rs b/crates/libs/windows/src/Windows/UI/Accessibility/mod.rs index 7315f833ee..480727f6cb 100644 --- a/crates/libs/windows/src/Windows/UI/Accessibility/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Accessibility/mod.rs @@ -24,14 +24,14 @@ impl ScreenReaderPositionChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenPositionInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenPositionInRawPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsReadingText(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadingText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadingText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -63,7 +63,7 @@ impl ScreenReaderService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentScreenReaderPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentScreenReaderPosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ScreenReaderPositionChanged(&self, handler: P0) -> ::windows_core::Result @@ -73,7 +73,7 @@ impl ScreenReaderService { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenReaderPositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenReaderPositionChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScreenReaderPositionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs b/crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs index b59e173da3..2c6b06ca62 100644 --- a/crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs +++ b/crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs @@ -245,7 +245,7 @@ impl AccountsSettingsPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountCommandsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountCommandsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAccountCommandsRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -255,7 +255,7 @@ impl AccountsSettingsPane { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IAccountsSettingsPaneStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Show() -> ::windows_core::Result<()> { @@ -264,13 +264,13 @@ impl AccountsSettingsPane { pub fn ShowManageAccountsAsync() -> ::windows_core::Result { Self::IAccountsSettingsPaneStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowManageAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowManageAccountsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ShowAddAccountAsync() -> ::windows_core::Result { Self::IAccountsSettingsPaneStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAccountAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAccountAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -280,7 +280,7 @@ impl AccountsSettingsPane { { Self::IAccountsSettingsPaneStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowManageAccountsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowManageAccountsForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -290,7 +290,7 @@ impl AccountsSettingsPane { { Self::IAccountsSettingsPaneStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAddAccountForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAddAccountForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -329,7 +329,7 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountProviderCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountProviderCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -337,7 +337,7 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -345,7 +345,7 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "UI_Popups"))] @@ -353,14 +353,14 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HeaderText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetHeaderText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -371,7 +371,7 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -379,7 +379,7 @@ impl AccountsSettingsPaneCommandsRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -423,14 +423,14 @@ impl CredentialCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasswordCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CredentialDeleted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CredentialDeleted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CredentialDeleted)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -440,7 +440,7 @@ impl CredentialCommand { { Self::ICredentialCommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCredentialCommand)(::windows_core::Interface::as_raw(this), passwordcredential.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCredentialCommand)(::windows_core::Interface::as_raw(this), passwordcredential.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Security_Credentials")] @@ -451,7 +451,7 @@ impl CredentialCommand { { Self::ICredentialCommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCredentialCommandWithHandler)(::windows_core::Interface::as_raw(this), passwordcredential.into_param().abi(), deleted.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCredentialCommandWithHandler)(::windows_core::Interface::as_raw(this), passwordcredential.into_param().abi(), deleted.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -488,14 +488,14 @@ impl SettingsCommand { { Self::ISettingsCommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSettingsCommand)(::windows_core::Interface::as_raw(this), settingscommandid.into_param().abi(), ::core::mem::transmute_copy(label), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSettingsCommand)(::windows_core::Interface::as_raw(this), settingscommandid.into_param().abi(), ::core::mem::transmute_copy(label), handler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] pub fn AccountsCommand() -> ::windows_core::Result { Self::ISettingsCommandStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccountsCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccountsCommand)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] @@ -503,7 +503,7 @@ impl SettingsCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -516,7 +516,7 @@ impl SettingsCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -532,7 +532,7 @@ impl SettingsCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -583,7 +583,7 @@ impl SettingsPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -595,7 +595,7 @@ impl SettingsPane { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISettingsPaneStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -606,7 +606,7 @@ impl SettingsPane { pub fn Edge() -> ::windows_core::Result { Self::ISettingsPaneStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Edge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -642,7 +642,7 @@ impl SettingsPaneCommandsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -672,7 +672,7 @@ impl SettingsPaneCommandsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -699,21 +699,21 @@ impl WebAccountCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccount)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Invoked(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Actions(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Actions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Security_Credentials")] @@ -724,7 +724,7 @@ impl WebAccountCommand { { Self::IWebAccountCommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebAccountCommand)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), invoked.into_param().abi(), actions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebAccountCommand)(::windows_core::Interface::as_raw(this), webaccount.into_param().abi(), invoked.into_param().abi(), actions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -752,7 +752,7 @@ impl WebAccountInvokedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Action)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -776,14 +776,14 @@ impl WebAccountProviderCommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAccountProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Invoked(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -794,7 +794,7 @@ impl WebAccountProviderCommand { { Self::IWebAccountProviderCommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebAccountProviderCommand)(::windows_core::Interface::as_raw(this), webaccountprovider.into_param().abi(), invoked.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebAccountProviderCommand)(::windows_core::Interface::as_raw(this), webaccountprovider.into_param().abi(), invoked.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Composition/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Core/mod.rs index 7716369c70..994a32c8f1 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Core/mod.rs @@ -30,7 +30,7 @@ impl CompositorController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Commit(&self) -> ::windows_core::Result<()> { @@ -41,7 +41,7 @@ impl CompositorController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnsurePreviousCommitCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnsurePreviousCommitCompletedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CommitNeeded(&self, handler: P0) -> ::windows_core::Result @@ -51,7 +51,7 @@ impl CompositorController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommitNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommitNeeded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCommitNeeded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/Composition/Desktop/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Desktop/mod.rs index 9493c3d5e3..3254c6d994 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Desktop/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Desktop/mod.rs @@ -26,7 +26,7 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -34,14 +34,14 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -59,7 +59,7 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -70,7 +70,7 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -99,14 +99,14 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -121,7 +121,7 @@ impl DesktopWindowTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRoot(&self, value: P0) -> ::windows_core::Result<()> @@ -135,7 +135,7 @@ impl DesktopWindowTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTopmost)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTopmost)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Composition/Diagnostics/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Diagnostics/mod.rs index e4946a2711..2a4e796140 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Diagnostics/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Diagnostics/mod.rs @@ -77,7 +77,7 @@ impl CompositionDebugSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeatMaps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeatMaps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetSettings(compositor: P0) -> ::windows_core::Result @@ -86,7 +86,7 @@ impl CompositionDebugSettings { { Self::ICompositionDebugSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetSettings)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetSettings)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Composition/Effects/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Effects/mod.rs index 519ab3d857..6a16a4723e 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Effects/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Effects/mod.rs @@ -47,7 +47,7 @@ impl SceneLightingEffect { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Effects")] @@ -59,7 +59,7 @@ impl SceneLightingEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AmbientAmount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AmbientAmount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAmbientAmount(&self, value: f32) -> ::windows_core::Result<()> { @@ -70,7 +70,7 @@ impl SceneLightingEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DiffuseAmount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DiffuseAmount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDiffuseAmount(&self, value: f32) -> ::windows_core::Result<()> { @@ -82,7 +82,7 @@ impl SceneLightingEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalMapSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalMapSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Effects")] @@ -97,7 +97,7 @@ impl SceneLightingEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpecularAmount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpecularAmount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpecularAmount(&self, value: f32) -> ::windows_core::Result<()> { @@ -108,7 +108,7 @@ impl SceneLightingEffect { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpecularShine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpecularShine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpecularShine(&self, value: f32) -> ::windows_core::Result<()> { @@ -119,7 +119,7 @@ impl SceneLightingEffect { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReflectanceModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReflectanceModel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReflectanceModel(&self, value: SceneLightingEffectReflectanceModel) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/Composition/Interactions/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Interactions/mod.rs index 24463c7f27..36d7150836 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Interactions/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Interactions/mod.rs @@ -579,7 +579,7 @@ impl CompositionConditionalValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCondition(&self, value: P0) -> ::windows_core::Result<()> @@ -593,7 +593,7 @@ impl CompositionConditionalValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: P0) -> ::windows_core::Result<()> @@ -609,14 +609,14 @@ impl CompositionConditionalValue { { Self::ICompositionConditionalValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -624,14 +624,14 @@ impl CompositionConditionalValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -649,7 +649,7 @@ impl CompositionConditionalValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -660,7 +660,7 @@ impl CompositionConditionalValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -689,14 +689,14 @@ impl CompositionConditionalValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -747,7 +747,7 @@ impl CompositionInteractionSourceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Add(&self, value: P0) -> ::windows_core::Result<()> @@ -772,7 +772,7 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -780,14 +780,14 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -805,7 +805,7 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -816,7 +816,7 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -845,14 +845,14 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -868,7 +868,7 @@ impl CompositionInteractionSourceCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -921,7 +921,7 @@ impl InteractionSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -929,14 +929,14 @@ impl InteractionSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -954,7 +954,7 @@ impl InteractionSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -965,7 +965,7 @@ impl InteractionSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -994,14 +994,14 @@ impl InteractionSourceConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1016,7 +1016,7 @@ impl InteractionSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionXSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionXSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionXSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows_core::Result<()> { @@ -1027,7 +1027,7 @@ impl InteractionSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionYSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionYSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionYSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows_core::Result<()> { @@ -1038,7 +1038,7 @@ impl InteractionSourceConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaleSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows_core::Result<()> { @@ -1079,7 +1079,7 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1087,14 +1087,14 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1112,7 +1112,7 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1123,7 +1123,7 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1152,14 +1152,14 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1174,14 +1174,14 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSources)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSources)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPositionRoundingSuggested(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPositionRoundingSuggested)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPositionRoundingSuggested)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1189,7 +1189,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1201,7 +1201,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -1213,7 +1213,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1225,7 +1225,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -1237,21 +1237,21 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NaturalRestingScale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Owner(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Owner)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Owner)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1259,7 +1259,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1267,7 +1267,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionInertiaDecayRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionInertiaDecayRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1283,21 +1283,21 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionVelocityInPixelsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionVelocityInPixelsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Scale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScaleInertiaDecayRate(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleInertiaDecayRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleInertiaDecayRate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetScaleInertiaDecayRate(&self, value: P0) -> ::windows_core::Result<()> @@ -1311,7 +1311,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleVelocityInPercentPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleVelocityInPercentPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdjustPositionXIfGreaterThanThreshold(&self, adjustment: f32, positionthreshold: f32) -> ::windows_core::Result<()> { @@ -1351,7 +1351,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePosition)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePosition)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1359,7 +1359,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionBy)(::windows_core::Interface::as_raw(this), amount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionBy)(::windows_core::Interface::as_raw(this), amount, &mut result__).map(|| result__) } } pub fn TryUpdatePositionWithAnimation(&self, animation: P0) -> ::windows_core::Result @@ -1369,7 +1369,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionWithAnimation)(::windows_core::Interface::as_raw(this), animation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionWithAnimation)(::windows_core::Interface::as_raw(this), animation.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1377,7 +1377,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionWithAdditionalVelocity)(::windows_core::Interface::as_raw(this), velocityinpixelspersecond, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionWithAdditionalVelocity)(::windows_core::Interface::as_raw(this), velocityinpixelspersecond, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1385,7 +1385,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateScale)(::windows_core::Interface::as_raw(this), value, centerpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateScale)(::windows_core::Interface::as_raw(this), value, centerpoint, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1396,7 +1396,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateScaleWithAnimation)(::windows_core::Interface::as_raw(this), animation.into_param().abi(), centerpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateScaleWithAnimation)(::windows_core::Interface::as_raw(this), animation.into_param().abi(), centerpoint, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1404,7 +1404,7 @@ impl InteractionTracker { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdateScaleWithAdditionalVelocity)(::windows_core::Interface::as_raw(this), velocityinpercentpersecond, centerpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdateScaleWithAdditionalVelocity)(::windows_core::Interface::as_raw(this), velocityinpercentpersecond, centerpoint, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1436,7 +1436,7 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionWithOption)(::windows_core::Interface::as_raw(this), value, option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionWithOption)(::windows_core::Interface::as_raw(this), value, option, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1444,14 +1444,14 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionByWithOption)(::windows_core::Interface::as_raw(this), amount, option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionByWithOption)(::windows_core::Interface::as_raw(this), amount, option, &mut result__).map(|| result__) } } pub fn IsInertiaFromImpulse(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInertiaFromImpulse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInertiaFromImpulse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1459,7 +1459,7 @@ impl InteractionTracker { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUpdatePositionWithOption)(::windows_core::Interface::as_raw(this), value, option, posupdateoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUpdatePositionWithOption)(::windows_core::Interface::as_raw(this), value, option, posupdateoption, &mut result__).map(|| result__) } } pub fn Create(compositor: P0) -> ::windows_core::Result @@ -1468,7 +1468,7 @@ impl InteractionTracker { { Self::IInteractionTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithOwner(compositor: P0, owner: P1) -> ::windows_core::Result @@ -1478,7 +1478,7 @@ impl InteractionTracker { { Self::IInteractionTrackerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithOwner)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), owner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithOwner)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), owner.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetBindingMode(boundtracker1: P0, boundtracker2: P1, axismode: InteractionBindingAxisModes) -> ::windows_core::Result<()> @@ -1495,7 +1495,7 @@ impl InteractionTracker { { Self::IInteractionTrackerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBindingMode)(::windows_core::Interface::as_raw(this), boundtracker1.into_param().abi(), boundtracker2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBindingMode)(::windows_core::Interface::as_raw(this), boundtracker1.into_param().abi(), boundtracker2.into_param().abi(), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1530,14 +1530,14 @@ impl InteractionTrackerCustomAnimationStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFromBinding(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1562,14 +1562,14 @@ impl InteractionTrackerIdleStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFromBinding(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1606,7 +1606,7 @@ impl InteractionTrackerInertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1614,14 +1614,14 @@ impl InteractionTrackerInertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1639,7 +1639,7 @@ impl InteractionTrackerInertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1650,7 +1650,7 @@ impl InteractionTrackerInertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1679,14 +1679,14 @@ impl InteractionTrackerInertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1731,7 +1731,7 @@ impl InteractionTrackerInertiaMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1739,14 +1739,14 @@ impl InteractionTrackerInertiaMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1764,7 +1764,7 @@ impl InteractionTrackerInertiaMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1775,7 +1775,7 @@ impl InteractionTrackerInertiaMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1804,14 +1804,14 @@ impl InteractionTrackerInertiaMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1826,7 +1826,7 @@ impl InteractionTrackerInertiaMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCondition(&self, value: P0) -> ::windows_core::Result<()> @@ -1840,7 +1840,7 @@ impl InteractionTrackerInertiaMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Motion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Motion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMotion(&self, value: P0) -> ::windows_core::Result<()> @@ -1856,7 +1856,7 @@ impl InteractionTrackerInertiaMotion { { Self::IInteractionTrackerInertiaMotionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1898,7 +1898,7 @@ impl InteractionTrackerInertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1906,14 +1906,14 @@ impl InteractionTrackerInertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1931,7 +1931,7 @@ impl InteractionTrackerInertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1942,7 +1942,7 @@ impl InteractionTrackerInertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1971,14 +1971,14 @@ impl InteractionTrackerInertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1993,7 +1993,7 @@ impl InteractionTrackerInertiaNaturalMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCondition(&self, value: P0) -> ::windows_core::Result<()> @@ -2007,7 +2007,7 @@ impl InteractionTrackerInertiaNaturalMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalMotion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalMotion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNaturalMotion(&self, value: P0) -> ::windows_core::Result<()> @@ -2023,7 +2023,7 @@ impl InteractionTrackerInertiaNaturalMotion { { Self::IInteractionTrackerInertiaNaturalMotionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2065,7 +2065,7 @@ impl InteractionTrackerInertiaRestingValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2073,14 +2073,14 @@ impl InteractionTrackerInertiaRestingValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2098,7 +2098,7 @@ impl InteractionTrackerInertiaRestingValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2109,7 +2109,7 @@ impl InteractionTrackerInertiaRestingValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2138,14 +2138,14 @@ impl InteractionTrackerInertiaRestingValue { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2160,7 +2160,7 @@ impl InteractionTrackerInertiaRestingValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCondition(&self, value: P0) -> ::windows_core::Result<()> @@ -2174,7 +2174,7 @@ impl InteractionTrackerInertiaRestingValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RestingValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RestingValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRestingValue(&self, value: P0) -> ::windows_core::Result<()> @@ -2190,7 +2190,7 @@ impl InteractionTrackerInertiaRestingValue { { Self::IInteractionTrackerInertiaRestingValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2221,14 +2221,14 @@ impl InteractionTrackerInertiaStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModifiedRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModifiedRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ModifiedRestingScale(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModifiedRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModifiedRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -2236,14 +2236,14 @@ impl InteractionTrackerInertiaStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalRestingPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NaturalRestingScale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalRestingScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2251,35 +2251,35 @@ impl InteractionTrackerInertiaStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionVelocityInPixelsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionVelocityInPixelsPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScaleVelocityInPercentPerSecond(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleVelocityInPercentPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleVelocityInPercentPerSecond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInertiaFromImpulse(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInertiaFromImpulse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInertiaFromImpulse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFromBinding(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2304,14 +2304,14 @@ impl InteractionTrackerInteractingStateEnteredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsFromBinding(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFromBinding)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2336,7 +2336,7 @@ impl InteractionTrackerRequestIgnoredArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2362,21 +2362,21 @@ impl InteractionTrackerValuesChangedArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Scale(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2413,7 +2413,7 @@ impl InteractionTrackerVector2InertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2421,14 +2421,14 @@ impl InteractionTrackerVector2InertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2446,7 +2446,7 @@ impl InteractionTrackerVector2InertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2457,7 +2457,7 @@ impl InteractionTrackerVector2InertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2486,14 +2486,14 @@ impl InteractionTrackerVector2InertiaModifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2538,7 +2538,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2546,14 +2546,14 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2571,7 +2571,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2582,7 +2582,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2611,14 +2611,14 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2633,7 +2633,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Condition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCondition(&self, value: P0) -> ::windows_core::Result<()> @@ -2647,7 +2647,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NaturalMotion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NaturalMotion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNaturalMotion(&self, value: P0) -> ::windows_core::Result<()> @@ -2663,7 +2663,7 @@ impl InteractionTrackerVector2InertiaNaturalMotion { { Self::IInteractionTrackerVector2InertiaNaturalMotionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2705,7 +2705,7 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2713,14 +2713,14 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2738,7 +2738,7 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2749,7 +2749,7 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2778,14 +2778,14 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2800,7 +2800,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPositionXRailsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPositionXRailsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPositionXRailsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2811,7 +2811,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPositionYRailsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPositionYRailsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPositionYRailsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2822,7 +2822,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationRedirectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationRedirectionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetManipulationRedirectionMode(&self, value: VisualInteractionSourceRedirectionMode) -> ::windows_core::Result<()> { @@ -2833,7 +2833,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionXChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionXChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionXChainingMode(&self, value: InteractionChainingMode) -> ::windows_core::Result<()> { @@ -2844,7 +2844,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionXSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionXSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionXSourceMode(&self, value: InteractionSourceMode) -> ::windows_core::Result<()> { @@ -2855,7 +2855,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionYChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionYChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionYChainingMode(&self, value: InteractionChainingMode) -> ::windows_core::Result<()> { @@ -2866,7 +2866,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionYSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionYSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPositionYSourceMode(&self, value: InteractionSourceMode) -> ::windows_core::Result<()> { @@ -2877,7 +2877,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleChainingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaleChainingMode(&self, value: InteractionChainingMode) -> ::windows_core::Result<()> { @@ -2888,7 +2888,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleSourceMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScaleSourceMode(&self, value: InteractionSourceMode) -> ::windows_core::Result<()> { @@ -2899,7 +2899,7 @@ impl VisualInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Input")] @@ -2915,14 +2915,14 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeltaScale(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2930,7 +2930,7 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2938,21 +2938,21 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Scale(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScaleVelocity(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScaleVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScaleVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2999,7 +2999,7 @@ impl VisualInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelConfig)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelConfig)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(source: P0) -> ::windows_core::Result @@ -3008,7 +3008,7 @@ impl VisualInteractionSource { { Self::IVisualInteractionSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromIVisualElement(source: P0) -> ::windows_core::Result @@ -3017,7 +3017,7 @@ impl VisualInteractionSource { { Self::IVisualInteractionSourceStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIVisualElement)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIVisualElement)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Composition/Scenes/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/Scenes/mod.rs index 21360e64b4..602757c5c0 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/Scenes/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/Scenes/mod.rs @@ -335,7 +335,7 @@ impl SceneBoundingBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -343,14 +343,14 @@ impl SceneBoundingBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -368,7 +368,7 @@ impl SceneBoundingBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -379,7 +379,7 @@ impl SceneBoundingBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -408,14 +408,14 @@ impl SceneBoundingBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -431,7 +431,7 @@ impl SceneBoundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -439,7 +439,7 @@ impl SceneBoundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Extents)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Extents)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -447,7 +447,7 @@ impl SceneBoundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Max)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -455,7 +455,7 @@ impl SceneBoundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Min)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -463,7 +463,7 @@ impl SceneBoundingBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -500,7 +500,7 @@ impl SceneComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -508,14 +508,14 @@ impl SceneComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -533,7 +533,7 @@ impl SceneComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -544,7 +544,7 @@ impl SceneComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -573,14 +573,14 @@ impl SceneComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -595,7 +595,7 @@ impl SceneComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -636,7 +636,7 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -644,14 +644,14 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -669,7 +669,7 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -680,7 +680,7 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -709,14 +709,14 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -732,7 +732,7 @@ impl SceneComponentCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -740,7 +740,7 @@ impl SceneComponentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -748,7 +748,7 @@ impl SceneComponentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -756,7 +756,7 @@ impl SceneComponentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -767,7 +767,7 @@ impl SceneComponentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -814,7 +814,7 @@ impl SceneComponentCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -877,7 +877,7 @@ impl SceneMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -885,14 +885,14 @@ impl SceneMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -910,7 +910,7 @@ impl SceneMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -921,7 +921,7 @@ impl SceneMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -950,14 +950,14 @@ impl SceneMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1002,7 +1002,7 @@ impl SceneMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1010,14 +1010,14 @@ impl SceneMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1035,7 +1035,7 @@ impl SceneMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1046,7 +1046,7 @@ impl SceneMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1075,14 +1075,14 @@ impl SceneMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1127,7 +1127,7 @@ impl SceneMesh { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1135,14 +1135,14 @@ impl SceneMesh { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1160,7 +1160,7 @@ impl SceneMesh { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1171,7 +1171,7 @@ impl SceneMesh { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1200,14 +1200,14 @@ impl SceneMesh { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1222,7 +1222,7 @@ impl SceneMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX")] @@ -1230,7 +1230,7 @@ impl SceneMesh { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimitiveTopology)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimitiveTopology)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -1252,7 +1252,7 @@ impl SceneMesh { { Self::ISceneMeshStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1295,7 +1295,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1303,14 +1303,14 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1328,7 +1328,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1339,7 +1339,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1368,14 +1368,14 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1391,7 +1391,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1399,7 +1399,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1407,7 +1407,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1415,7 +1415,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1423,7 +1423,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1431,7 +1431,7 @@ impl SceneMeshMaterialAttributeMap { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1494,7 +1494,7 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1502,14 +1502,14 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1527,7 +1527,7 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1538,7 +1538,7 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1567,14 +1567,14 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1589,14 +1589,14 @@ impl SceneMeshRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Material(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Material)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Material)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaterial(&self, value: P0) -> ::windows_core::Result<()> @@ -1610,7 +1610,7 @@ impl SceneMeshRendererComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mesh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mesh)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMesh(&self, value: P0) -> ::windows_core::Result<()> @@ -1624,7 +1624,7 @@ impl SceneMeshRendererComponent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UVMappings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UVMappings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(compositor: P0) -> ::windows_core::Result @@ -1633,7 +1633,7 @@ impl SceneMeshRendererComponent { { Self::ISceneMeshRendererComponentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1675,7 +1675,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1683,14 +1683,14 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -1708,7 +1708,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1719,7 +1719,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -1748,14 +1748,14 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -1770,7 +1770,7 @@ impl SceneMetallicRoughnessMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseColorInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseColorInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseColorInput(&self, value: P0) -> ::windows_core::Result<()> @@ -1785,7 +1785,7 @@ impl SceneMetallicRoughnessMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseColorFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseColorFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1797,7 +1797,7 @@ impl SceneMetallicRoughnessMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MetallicFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MetallicFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMetallicFactor(&self, value: f32) -> ::windows_core::Result<()> { @@ -1808,7 +1808,7 @@ impl SceneMetallicRoughnessMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MetallicRoughnessInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MetallicRoughnessInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMetallicRoughnessInput(&self, value: P0) -> ::windows_core::Result<()> @@ -1822,7 +1822,7 @@ impl SceneMetallicRoughnessMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoughnessFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoughnessFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRoughnessFactor(&self, value: f32) -> ::windows_core::Result<()> { @@ -1835,14 +1835,14 @@ impl SceneMetallicRoughnessMaterial { { Self::ISceneMetallicRoughnessMaterialStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AlphaCutoff(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlphaCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -1853,7 +1853,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlphaMode(&self, value: SceneAlphaMode) -> ::windows_core::Result<()> { @@ -1864,7 +1864,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmissiveInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmissiveInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEmissiveInput(&self, value: P0) -> ::windows_core::Result<()> @@ -1879,7 +1879,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmissiveFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmissiveFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1891,7 +1891,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleSided)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleSided)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDoubleSided(&self, value: bool) -> ::windows_core::Result<()> { @@ -1902,7 +1902,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNormalInput(&self, value: P0) -> ::windows_core::Result<()> @@ -1916,7 +1916,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNormalScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -1927,7 +1927,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOcclusionInput(&self, value: P0) -> ::windows_core::Result<()> @@ -1941,7 +1941,7 @@ impl SceneMetallicRoughnessMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionStrength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionStrength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOcclusionStrength(&self, value: f32) -> ::windows_core::Result<()> { @@ -1987,7 +1987,7 @@ impl SceneModelTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -1995,14 +1995,14 @@ impl SceneModelTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2020,7 +2020,7 @@ impl SceneModelTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2031,7 +2031,7 @@ impl SceneModelTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2060,14 +2060,14 @@ impl SceneModelTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2083,7 +2083,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2095,7 +2095,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -2106,7 +2106,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -2118,7 +2118,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2131,7 +2131,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2144,7 +2144,7 @@ impl SceneModelTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Translation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Translation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2186,7 +2186,7 @@ impl SceneNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2194,14 +2194,14 @@ impl SceneNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2219,7 +2219,7 @@ impl SceneNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2230,7 +2230,7 @@ impl SceneNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2259,14 +2259,14 @@ impl SceneNode { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2282,7 +2282,7 @@ impl SceneNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2290,28 +2290,28 @@ impl SceneNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Components)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Transform(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FindFirstComponentOfType(&self, value: SceneComponentType) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindFirstComponentOfType)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindFirstComponentOfType)(::windows_core::Interface::as_raw(this), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(compositor: P0) -> ::windows_core::Result @@ -2320,7 +2320,7 @@ impl SceneNode { { Self::ISceneNodeStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2366,7 +2366,7 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2374,14 +2374,14 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2399,7 +2399,7 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2410,7 +2410,7 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2439,14 +2439,14 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2462,7 +2462,7 @@ impl SceneNodeCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2470,7 +2470,7 @@ impl SceneNodeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2478,7 +2478,7 @@ impl SceneNodeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2486,7 +2486,7 @@ impl SceneNodeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2497,7 +2497,7 @@ impl SceneNodeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2544,7 +2544,7 @@ impl SceneNodeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2607,7 +2607,7 @@ impl SceneObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2615,14 +2615,14 @@ impl SceneObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2640,7 +2640,7 @@ impl SceneObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2651,7 +2651,7 @@ impl SceneObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2680,14 +2680,14 @@ impl SceneObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2732,7 +2732,7 @@ impl ScenePbrMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2740,14 +2740,14 @@ impl ScenePbrMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2765,7 +2765,7 @@ impl ScenePbrMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2776,7 +2776,7 @@ impl ScenePbrMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2805,14 +2805,14 @@ impl ScenePbrMaterial { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2827,7 +2827,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlphaCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -2838,7 +2838,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlphaMode(&self, value: SceneAlphaMode) -> ::windows_core::Result<()> { @@ -2849,7 +2849,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmissiveInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmissiveInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEmissiveInput(&self, value: P0) -> ::windows_core::Result<()> @@ -2864,7 +2864,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EmissiveFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EmissiveFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2876,7 +2876,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDoubleSided)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDoubleSided)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsDoubleSided(&self, value: bool) -> ::windows_core::Result<()> { @@ -2887,7 +2887,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNormalInput(&self, value: P0) -> ::windows_core::Result<()> @@ -2901,7 +2901,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNormalScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -2912,7 +2912,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOcclusionInput(&self, value: P0) -> ::windows_core::Result<()> @@ -2926,7 +2926,7 @@ impl ScenePbrMaterial { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionStrength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionStrength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOcclusionStrength(&self, value: f32) -> ::windows_core::Result<()> { @@ -2967,7 +2967,7 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2975,14 +2975,14 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3000,7 +3000,7 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3011,7 +3011,7 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3040,14 +3040,14 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3062,7 +3062,7 @@ impl SceneRendererComponent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ComponentType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3099,7 +3099,7 @@ impl SceneSurfaceMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3107,14 +3107,14 @@ impl SceneSurfaceMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3132,7 +3132,7 @@ impl SceneSurfaceMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3143,7 +3143,7 @@ impl SceneSurfaceMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3172,14 +3172,14 @@ impl SceneSurfaceMaterialInput { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3194,7 +3194,7 @@ impl SceneSurfaceMaterialInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapInterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapInterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBitmapInterpolationMode(&self, value: super::CompositionBitmapInterpolationMode) -> ::windows_core::Result<()> { @@ -3205,7 +3205,7 @@ impl SceneSurfaceMaterialInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSurface(&self, value: P0) -> ::windows_core::Result<()> @@ -3219,7 +3219,7 @@ impl SceneSurfaceMaterialInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WrappingUMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WrappingUMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWrappingUMode(&self, value: SceneWrappingMode) -> ::windows_core::Result<()> { @@ -3230,7 +3230,7 @@ impl SceneSurfaceMaterialInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WrappingVMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WrappingVMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWrappingVMode(&self, value: SceneWrappingMode) -> ::windows_core::Result<()> { @@ -3243,7 +3243,7 @@ impl SceneSurfaceMaterialInput { { Self::ISceneSurfaceMaterialInputStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3285,7 +3285,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3293,14 +3293,14 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3318,7 +3318,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3329,7 +3329,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3358,14 +3358,14 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3380,14 +3380,14 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Root(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRoot(&self, value: P0) -> ::windows_core::Result<()> @@ -3403,7 +3403,7 @@ impl SceneVisual { { Self::ISceneVisualStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -3411,7 +3411,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3423,7 +3423,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: super::CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -3434,7 +3434,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: super::CompositionBorderMode) -> ::windows_core::Result<()> { @@ -3446,7 +3446,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3458,7 +3458,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -3472,7 +3472,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: super::CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -3483,7 +3483,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -3495,7 +3495,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3507,7 +3507,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -3519,7 +3519,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3531,14 +3531,14 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -3549,7 +3549,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -3561,7 +3561,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3574,7 +3574,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3587,7 +3587,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3600,7 +3600,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3612,7 +3612,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -3627,7 +3627,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3640,7 +3640,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -3652,7 +3652,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -3663,7 +3663,7 @@ impl SceneVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/Composition/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/mod.rs index c6b7d042c2..f6549ad9cf 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/mod.rs @@ -1214,7 +1214,7 @@ impl ICompositionSupportsSystemBackdrop { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemBackdrop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemBackdrop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSystemBackdrop(&self, value: P0) -> ::windows_core::Result<()> @@ -1327,7 +1327,7 @@ impl ICompositionSurfaceFacade { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRealSurface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRealSurface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2447,7 +2447,7 @@ impl IVisualElement2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetVisualInternal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetVisualInternal)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2486,7 +2486,7 @@ impl AmbientLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -2497,7 +2497,7 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntensity(&self, value: f32) -> ::windows_core::Result<()> { @@ -2519,21 +2519,21 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExclusionsFromTargets(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2544,7 +2544,7 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2552,14 +2552,14 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2577,7 +2577,7 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2588,7 +2588,7 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2617,14 +2617,14 @@ impl AmbientLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2658,7 +2658,7 @@ impl AnimationController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPlaybackRate(&self, value: f32) -> ::windows_core::Result<()> { @@ -2669,7 +2669,7 @@ impl AnimationController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProgress(&self, value: f32) -> ::windows_core::Result<()> { @@ -2680,7 +2680,7 @@ impl AnimationController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgressBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgressBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProgressBehavior(&self, value: AnimationControllerProgressBehavior) -> ::windows_core::Result<()> { @@ -2698,13 +2698,13 @@ impl AnimationController { pub fn MaxPlaybackRate() -> ::windows_core::Result { Self::IAnimationControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MinPlaybackRate() -> ::windows_core::Result { Self::IAnimationControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PopulatePropertyInfo(&self, propertyname: &::windows_core::HSTRING, propertyinfo: P0) -> ::windows_core::Result<()> @@ -2722,7 +2722,7 @@ impl AnimationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2730,14 +2730,14 @@ impl AnimationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2755,7 +2755,7 @@ impl AnimationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2766,7 +2766,7 @@ impl AnimationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2795,14 +2795,14 @@ impl AnimationController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2848,7 +2848,7 @@ impl AnimationPropertyInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccessMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAccessMode(&self, value: AnimationPropertyAccessMode) -> ::windows_core::Result<()> { @@ -2859,14 +2859,14 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResolvedCompositionObject)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResolvedCompositionObject)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetResolvedCompositionObjectProperty(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetResolvedCompositionObjectProperty)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetResolvedCompositionObjectProperty)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -2877,7 +2877,7 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -2885,14 +2885,14 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -2910,7 +2910,7 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2921,7 +2921,7 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -2950,14 +2950,14 @@ impl AnimationPropertyInfo { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -2998,14 +2998,14 @@ impl BackEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Amplitude(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Amplitude)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Amplitude)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -3016,7 +3016,7 @@ impl BackEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3024,14 +3024,14 @@ impl BackEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3049,7 +3049,7 @@ impl BackEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3060,7 +3060,7 @@ impl BackEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3089,14 +3089,14 @@ impl BackEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3202,7 +3202,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3214,7 +3214,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -3228,7 +3228,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3236,14 +3236,14 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3261,7 +3261,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3272,7 +3272,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3301,14 +3301,14 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3323,7 +3323,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3334,7 +3334,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3345,7 +3345,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -3356,7 +3356,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -3367,14 +3367,14 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -3396,7 +3396,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -3407,7 +3407,7 @@ impl BooleanKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -3444,21 +3444,21 @@ impl BounceEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Bounces(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounces)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Bounciness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounciness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounciness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -3469,7 +3469,7 @@ impl BounceEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3477,14 +3477,14 @@ impl BounceEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3502,7 +3502,7 @@ impl BounceEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3513,7 +3513,7 @@ impl BounceEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3542,14 +3542,14 @@ impl BounceEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3590,7 +3590,7 @@ impl BounceScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAcceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -3601,7 +3601,7 @@ impl BounceScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRestitution(&self, value: f32) -> ::windows_core::Result<()> { @@ -3673,7 +3673,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3685,7 +3685,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -3699,7 +3699,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -3707,14 +3707,14 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -3732,7 +3732,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3743,7 +3743,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -3772,14 +3772,14 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -3794,7 +3794,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -3805,7 +3805,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -3816,7 +3816,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -3827,7 +3827,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFinalValue(&self, value: P0) -> ::windows_core::Result<()> @@ -3841,7 +3841,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInitialValue(&self, value: P0) -> ::windows_core::Result<()> @@ -3855,7 +3855,7 @@ impl BounceScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialVelocity(&self, value: f32) -> ::windows_core::Result<()> { @@ -3892,7 +3892,7 @@ impl BounceVector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAcceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -3903,7 +3903,7 @@ impl BounceVector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRestitution(&self, value: f32) -> ::windows_core::Result<()> { @@ -3975,7 +3975,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3987,7 +3987,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -4001,7 +4001,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -4009,14 +4009,14 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -4034,7 +4034,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4045,7 +4045,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -4074,14 +4074,14 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -4096,7 +4096,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -4107,7 +4107,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4118,7 +4118,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -4130,7 +4130,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -4146,7 +4146,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -4162,7 +4162,7 @@ impl BounceVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -4200,7 +4200,7 @@ impl BounceVector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Acceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAcceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -4211,7 +4211,7 @@ impl BounceVector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Restitution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRestitution(&self, value: f32) -> ::windows_core::Result<()> { @@ -4283,7 +4283,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4295,7 +4295,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -4309,7 +4309,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -4317,14 +4317,14 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -4342,7 +4342,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4353,7 +4353,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -4382,14 +4382,14 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -4404,7 +4404,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -4415,7 +4415,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4426,7 +4426,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -4438,7 +4438,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -4454,7 +4454,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -4470,7 +4470,7 @@ impl BounceVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -4508,7 +4508,7 @@ impl CircleEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -4519,7 +4519,7 @@ impl CircleEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -4527,14 +4527,14 @@ impl CircleEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -4552,7 +4552,7 @@ impl CircleEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4563,7 +4563,7 @@ impl CircleEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -4592,14 +4592,14 @@ impl CircleEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -4644,7 +4644,7 @@ impl ColorKeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterpolationColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterpolationColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterpolationColorSpace(&self, value: CompositionColorSpace) -> ::windows_core::Result<()> { @@ -4723,7 +4723,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4735,7 +4735,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -4749,7 +4749,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -4757,14 +4757,14 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -4782,7 +4782,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4793,7 +4793,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -4822,14 +4822,14 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -4844,7 +4844,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4855,7 +4855,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -4866,7 +4866,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -4877,7 +4877,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -4888,14 +4888,14 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -4917,7 +4917,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -4928,7 +4928,7 @@ impl ColorKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -5026,7 +5026,7 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5038,7 +5038,7 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -5052,7 +5052,7 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5060,14 +5060,14 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5085,7 +5085,7 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5096,7 +5096,7 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5125,14 +5125,14 @@ impl CompositionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5178,7 +5178,7 @@ impl CompositionAnimationGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Add(&self, value: P0) -> ::windows_core::Result<()> @@ -5203,7 +5203,7 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5211,14 +5211,14 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5236,7 +5236,7 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5247,7 +5247,7 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5276,14 +5276,14 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5299,7 +5299,7 @@ impl CompositionAnimationGroup { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5352,7 +5352,7 @@ impl CompositionBackdropBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5360,14 +5360,14 @@ impl CompositionBackdropBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5385,7 +5385,7 @@ impl CompositionBackdropBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5396,7 +5396,7 @@ impl CompositionBackdropBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5425,14 +5425,14 @@ impl CompositionBackdropBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5477,7 +5477,7 @@ impl CompositionBatchCompletedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5485,14 +5485,14 @@ impl CompositionBatchCompletedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5510,7 +5510,7 @@ impl CompositionBatchCompletedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5521,7 +5521,7 @@ impl CompositionBatchCompletedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5550,14 +5550,14 @@ impl CompositionBatchCompletedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5602,7 +5602,7 @@ impl CompositionBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5610,14 +5610,14 @@ impl CompositionBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5635,7 +5635,7 @@ impl CompositionBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5646,7 +5646,7 @@ impl CompositionBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5675,14 +5675,14 @@ impl CompositionBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5715,14 +5715,14 @@ impl CompositionCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreEffectsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreEffectsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AreEffectsFast(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreEffectsFast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreEffectsFast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -5732,7 +5732,7 @@ impl CompositionCapabilities { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -5742,7 +5742,7 @@ impl CompositionCapabilities { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICompositionCapabilitiesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -5785,7 +5785,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -5798,7 +5798,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -5811,7 +5811,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -5823,7 +5823,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -5834,7 +5834,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -5846,7 +5846,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -5859,7 +5859,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -5871,7 +5871,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -5879,14 +5879,14 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -5904,7 +5904,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -5915,7 +5915,7 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -5944,14 +5944,14 @@ impl CompositionClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -5996,7 +5996,7 @@ impl CompositionColorBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -6007,7 +6007,7 @@ impl CompositionColorBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -6015,14 +6015,14 @@ impl CompositionColorBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -6040,7 +6040,7 @@ impl CompositionColorBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6051,7 +6051,7 @@ impl CompositionColorBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -6080,14 +6080,14 @@ impl CompositionColorBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -6132,7 +6132,7 @@ impl CompositionColorGradientStop { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -6143,7 +6143,7 @@ impl CompositionColorGradientStop { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -6154,7 +6154,7 @@ impl CompositionColorGradientStop { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -6162,14 +6162,14 @@ impl CompositionColorGradientStop { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -6187,7 +6187,7 @@ impl CompositionColorGradientStop { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6198,7 +6198,7 @@ impl CompositionColorGradientStop { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -6227,14 +6227,14 @@ impl CompositionColorGradientStop { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -6270,7 +6270,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6278,7 +6278,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6286,7 +6286,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -6294,7 +6294,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -6305,7 +6305,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -6352,7 +6352,7 @@ impl CompositionColorGradientStopCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -6410,14 +6410,14 @@ impl CompositionCommitBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Completed(&self, handler: P0) -> ::windows_core::Result @@ -6427,7 +6427,7 @@ impl CompositionCommitBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -6438,7 +6438,7 @@ impl CompositionCommitBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -6446,14 +6446,14 @@ impl CompositionCommitBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -6471,7 +6471,7 @@ impl CompositionCommitBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6482,7 +6482,7 @@ impl CompositionCommitBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -6511,14 +6511,14 @@ impl CompositionCommitBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -6564,14 +6564,14 @@ impl CompositionContainerShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shapes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shapes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -6579,14 +6579,14 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -6604,7 +6604,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6615,7 +6615,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -6644,14 +6644,14 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -6667,7 +6667,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -6680,7 +6680,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -6692,7 +6692,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -6703,7 +6703,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -6715,7 +6715,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -6728,7 +6728,7 @@ impl CompositionContainerShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -6771,7 +6771,7 @@ impl CompositionDrawingSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -6779,14 +6779,14 @@ impl CompositionDrawingSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -6794,7 +6794,7 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -6826,7 +6826,7 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -6834,14 +6834,14 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -6859,7 +6859,7 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -6870,7 +6870,7 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -6899,14 +6899,14 @@ impl CompositionDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -6954,7 +6954,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), controlpoint1, controlpoint2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), controlpoint1, controlpoint2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateLinearEasingFunction(owner: P0) -> ::windows_core::Result @@ -6963,7 +6963,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLinearEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLinearEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStepEasingFunction(owner: P0) -> ::windows_core::Result @@ -6972,7 +6972,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStepEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStepEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateStepEasingFunctionWithStepCount(owner: P0, stepcount: i32) -> ::windows_core::Result @@ -6981,7 +6981,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), stepcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), stepcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBackEasingFunction(owner: P0, mode: CompositionEasingFunctionMode, amplitude: f32) -> ::windows_core::Result @@ -6990,7 +6990,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBackEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, amplitude, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBackEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, amplitude, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBounceEasingFunction(owner: P0, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32) -> ::windows_core::Result @@ -6999,7 +6999,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBounceEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, bounces, bounciness, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBounceEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, bounces, bounciness, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCircleEasingFunction(owner: P0, mode: CompositionEasingFunctionMode) -> ::windows_core::Result @@ -7008,7 +7008,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCircleEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCircleEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateElasticEasingFunction(owner: P0, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32) -> ::windows_core::Result @@ -7017,7 +7017,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateElasticEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, oscillations, springiness, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateElasticEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, oscillations, springiness, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateExponentialEasingFunction(owner: P0, mode: CompositionEasingFunctionMode, exponent: f32) -> ::windows_core::Result @@ -7026,7 +7026,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateExponentialEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, exponent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateExponentialEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, exponent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreatePowerEasingFunction(owner: P0, mode: CompositionEasingFunctionMode, power: f32) -> ::windows_core::Result @@ -7035,7 +7035,7 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePowerEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, power, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePowerEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, power, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSineEasingFunction(owner: P0, mode: CompositionEasingFunctionMode) -> ::windows_core::Result @@ -7044,14 +7044,14 @@ impl CompositionEasingFunction { { Self::ICompositionEasingFunctionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSineEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSineEasingFunction)(::windows_core::Interface::as_raw(this), owner.into_param().abi(), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7059,14 +7059,14 @@ impl CompositionEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7084,7 +7084,7 @@ impl CompositionEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7095,7 +7095,7 @@ impl CompositionEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -7124,14 +7124,14 @@ impl CompositionEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -7181,7 +7181,7 @@ impl CompositionEffectBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSourceParameter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSourceParameter)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSourceParameter(&self, name: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -7195,7 +7195,7 @@ impl CompositionEffectBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7203,14 +7203,14 @@ impl CompositionEffectBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7228,7 +7228,7 @@ impl CompositionEffectBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7239,7 +7239,7 @@ impl CompositionEffectBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -7268,14 +7268,14 @@ impl CompositionEffectBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -7320,28 +7320,28 @@ impl CompositionEffectFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LoadStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7349,14 +7349,14 @@ impl CompositionEffectFactory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7374,7 +7374,7 @@ impl CompositionEffectFactory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7385,7 +7385,7 @@ impl CompositionEffectFactory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -7414,14 +7414,14 @@ impl CompositionEffectFactory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -7456,13 +7456,13 @@ impl CompositionEffectSourceParameter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICompositionEffectSourceParameterFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -7505,7 +7505,7 @@ impl CompositionEllipseGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7518,7 +7518,7 @@ impl CompositionEllipseGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7530,7 +7530,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -7541,7 +7541,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -7552,7 +7552,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -7563,7 +7563,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7571,14 +7571,14 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7596,7 +7596,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7607,7 +7607,7 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -7636,14 +7636,14 @@ impl CompositionEllipseGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -7689,7 +7689,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7702,7 +7702,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7715,7 +7715,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7727,7 +7727,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -7738,7 +7738,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -7750,7 +7750,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7763,7 +7763,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -7775,7 +7775,7 @@ impl CompositionGeometricClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGeometry(&self, value: P0) -> ::windows_core::Result<()> @@ -7789,7 +7789,7 @@ impl CompositionGeometricClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetViewBox(&self, value: P0) -> ::windows_core::Result<()> @@ -7803,7 +7803,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7811,14 +7811,14 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7836,7 +7836,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -7847,7 +7847,7 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -7876,14 +7876,14 @@ impl CompositionGeometricClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -7928,7 +7928,7 @@ impl CompositionGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -7939,7 +7939,7 @@ impl CompositionGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -7950,7 +7950,7 @@ impl CompositionGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -7961,7 +7961,7 @@ impl CompositionGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -7969,14 +7969,14 @@ impl CompositionGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -7994,7 +7994,7 @@ impl CompositionGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -8005,7 +8005,7 @@ impl CompositionGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -8034,14 +8034,14 @@ impl CompositionGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -8087,7 +8087,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8100,7 +8100,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8112,14 +8112,14 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendMode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows_core::Result<()> { @@ -8130,7 +8130,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows_core::Result<()> { @@ -8142,7 +8142,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8154,7 +8154,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -8165,7 +8165,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -8177,7 +8177,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8190,7 +8190,7 @@ impl CompositionGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8202,7 +8202,7 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows_core::Result<()> { @@ -8213,7 +8213,7 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -8221,14 +8221,14 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -8246,7 +8246,7 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -8257,7 +8257,7 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -8286,14 +8286,14 @@ impl CompositionGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -8339,7 +8339,7 @@ impl CompositionGraphicsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDrawingSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDrawingSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RenderingDeviceReplaced(&self, handler: P0) -> ::windows_core::Result @@ -8349,7 +8349,7 @@ impl CompositionGraphicsDevice { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RenderingDeviceReplaced)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RenderingDeviceReplaced)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRenderingDeviceReplaced(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -8361,7 +8361,7 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDrawingSurface2)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDrawingSurface2)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX")] @@ -8369,7 +8369,7 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVirtualDrawingSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVirtualDrawingSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_DirectX")] @@ -8377,7 +8377,7 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMipmapSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMipmapSurface)(::windows_core::Interface::as_raw(this), sizepixels, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Trim(&self) -> ::windows_core::Result<()> { @@ -8392,14 +8392,14 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), capturevisual.into_param().abi(), size, pixelformat, alphamode, sdrboost, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureAsync)(::windows_core::Interface::as_raw(this), capturevisual.into_param().abi(), size, pixelformat, alphamode, sdrboost, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -8407,14 +8407,14 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -8432,7 +8432,7 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -8443,7 +8443,7 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -8472,14 +8472,14 @@ impl CompositionGraphicsDevice { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -8524,21 +8524,21 @@ impl CompositionLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExclusionsFromTargets(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -8549,7 +8549,7 @@ impl CompositionLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -8557,14 +8557,14 @@ impl CompositionLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -8582,7 +8582,7 @@ impl CompositionLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -8593,7 +8593,7 @@ impl CompositionLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -8622,14 +8622,14 @@ impl CompositionLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -8674,7 +8674,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -8685,7 +8685,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -8696,7 +8696,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -8708,7 +8708,7 @@ impl CompositionLineGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8721,7 +8721,7 @@ impl CompositionLineGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).End)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8733,7 +8733,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -8741,14 +8741,14 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -8766,7 +8766,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -8777,7 +8777,7 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -8806,14 +8806,14 @@ impl CompositionLineGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -8859,7 +8859,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8872,7 +8872,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8884,14 +8884,14 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows_core::Result<()> { @@ -8902,7 +8902,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows_core::Result<()> { @@ -8914,7 +8914,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8926,7 +8926,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -8937,7 +8937,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -8949,7 +8949,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8962,7 +8962,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8974,7 +8974,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows_core::Result<()> { @@ -8986,7 +8986,7 @@ impl CompositionLinearGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -8999,7 +8999,7 @@ impl CompositionLinearGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -9011,7 +9011,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9019,14 +9019,14 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9044,7 +9044,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9055,7 +9055,7 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9084,14 +9084,14 @@ impl CompositionLinearGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -9136,7 +9136,7 @@ impl CompositionMaskBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mask)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMask(&self, value: P0) -> ::windows_core::Result<()> @@ -9150,7 +9150,7 @@ impl CompositionMaskBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -9164,7 +9164,7 @@ impl CompositionMaskBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9172,14 +9172,14 @@ impl CompositionMaskBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9197,7 +9197,7 @@ impl CompositionMaskBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9208,7 +9208,7 @@ impl CompositionMaskBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9237,14 +9237,14 @@ impl CompositionMaskBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -9289,7 +9289,7 @@ impl CompositionMipmapSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LevelCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LevelCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -9297,7 +9297,7 @@ impl CompositionMipmapSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -9305,7 +9305,7 @@ impl CompositionMipmapSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -9313,21 +9313,21 @@ impl CompositionMipmapSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDrawingSurfaceForLevel(&self, level: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDrawingSurfaceForLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDrawingSurfaceForLevel)(::windows_core::Interface::as_raw(this), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compositor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9335,14 +9335,14 @@ impl CompositionMipmapSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9360,7 +9360,7 @@ impl CompositionMipmapSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9371,7 +9371,7 @@ impl CompositionMipmapSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9400,14 +9400,14 @@ impl CompositionMipmapSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -9452,7 +9452,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBottomInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -9463,7 +9463,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBottomInsetScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -9474,7 +9474,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCenterHollow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCenterHollow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCenterHollow(&self, value: bool) -> ::windows_core::Result<()> { @@ -9485,7 +9485,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -9496,7 +9496,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftInsetScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -9507,7 +9507,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -9518,7 +9518,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightInsetScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -9529,7 +9529,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -9543,7 +9543,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTopInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -9554,7 +9554,7 @@ impl CompositionNineGridBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopInsetScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTopInsetScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -9581,7 +9581,7 @@ impl CompositionNineGridBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9589,14 +9589,14 @@ impl CompositionNineGridBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9614,7 +9614,7 @@ impl CompositionNineGridBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9625,7 +9625,7 @@ impl CompositionNineGridBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9654,14 +9654,14 @@ impl CompositionNineGridBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -9706,7 +9706,7 @@ impl CompositionObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9714,14 +9714,14 @@ impl CompositionObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9739,7 +9739,7 @@ impl CompositionObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9750,7 +9750,7 @@ impl CompositionObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9779,14 +9779,14 @@ impl CompositionObject { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -9843,7 +9843,7 @@ impl CompositionPath { { Self::ICompositionPathFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -9885,7 +9885,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -9896,7 +9896,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -9907,7 +9907,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -9918,7 +9918,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -9926,14 +9926,14 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -9951,7 +9951,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -9962,7 +9962,7 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -9991,14 +9991,14 @@ impl CompositionPathGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10013,7 +10013,7 @@ impl CompositionPathGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPath(&self, value: P0) -> ::windows_core::Result<()> @@ -10057,7 +10057,7 @@ impl CompositionProjectedShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10065,14 +10065,14 @@ impl CompositionProjectedShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10090,7 +10090,7 @@ impl CompositionProjectedShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10101,7 +10101,7 @@ impl CompositionProjectedShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10130,14 +10130,14 @@ impl CompositionProjectedShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10152,7 +10152,7 @@ impl CompositionProjectedShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlurRadiusMultiplier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlurRadiusMultiplier)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBlurRadiusMultiplier(&self, value: f32) -> ::windows_core::Result<()> { @@ -10163,14 +10163,14 @@ impl CompositionProjectedShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Casters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Casters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LightSource(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLightSource(&self, value: P0) -> ::windows_core::Result<()> @@ -10184,7 +10184,7 @@ impl CompositionProjectedShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxBlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxBlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxBlurRadius(&self, value: f32) -> ::windows_core::Result<()> { @@ -10195,7 +10195,7 @@ impl CompositionProjectedShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinBlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinBlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinBlurRadius(&self, value: f32) -> ::windows_core::Result<()> { @@ -10206,7 +10206,7 @@ impl CompositionProjectedShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Receivers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Receivers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -10243,7 +10243,7 @@ impl CompositionProjectedShadowCaster { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10251,14 +10251,14 @@ impl CompositionProjectedShadowCaster { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10276,7 +10276,7 @@ impl CompositionProjectedShadowCaster { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10287,7 +10287,7 @@ impl CompositionProjectedShadowCaster { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10316,14 +10316,14 @@ impl CompositionProjectedShadowCaster { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10338,7 +10338,7 @@ impl CompositionProjectedShadowCaster { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBrush(&self, value: P0) -> ::windows_core::Result<()> @@ -10352,7 +10352,7 @@ impl CompositionProjectedShadowCaster { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CastingVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CastingVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCastingVisual(&self, value: P0) -> ::windows_core::Result<()> @@ -10397,7 +10397,7 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10405,14 +10405,14 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10430,7 +10430,7 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10441,7 +10441,7 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10470,14 +10470,14 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10492,7 +10492,7 @@ impl CompositionProjectedShadowCasterCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InsertAbove(&self, newcaster: P0, reference: P1) -> ::windows_core::Result<()> @@ -10539,7 +10539,7 @@ impl CompositionProjectedShadowCasterCollection { pub fn MaxRespectedCasters() -> ::windows_core::Result { Self::ICompositionProjectedShadowCasterCollectionStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxRespectedCasters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxRespectedCasters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] @@ -10547,7 +10547,7 @@ impl CompositionProjectedShadowCasterCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -10605,7 +10605,7 @@ impl CompositionProjectedShadowReceiver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10613,14 +10613,14 @@ impl CompositionProjectedShadowReceiver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10638,7 +10638,7 @@ impl CompositionProjectedShadowReceiver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10649,7 +10649,7 @@ impl CompositionProjectedShadowReceiver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10678,14 +10678,14 @@ impl CompositionProjectedShadowReceiver { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10700,7 +10700,7 @@ impl CompositionProjectedShadowReceiver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReceivingVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReceivingVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReceivingVisual(&self, value: P0) -> ::windows_core::Result<()> @@ -10745,7 +10745,7 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10753,14 +10753,14 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10778,7 +10778,7 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10789,7 +10789,7 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10818,14 +10818,14 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -10847,7 +10847,7 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Remove(&self, value: P0) -> ::windows_core::Result<()> @@ -10866,7 +10866,7 @@ impl CompositionProjectedShadowReceiverUnorderedCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -10919,7 +10919,7 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -10927,14 +10927,14 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -10952,7 +10952,7 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -10963,7 +10963,7 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -10992,14 +10992,14 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -11052,7 +11052,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetColor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetColor)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11060,7 +11060,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetMatrix3x2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetMatrix3x2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11068,7 +11068,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetMatrix4x4)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetMatrix4x4)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11076,14 +11076,14 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetQuaternion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetQuaternion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } pub fn TryGetScalar(&self, propertyname: &::windows_core::HSTRING, value: &mut f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetScalar)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetScalar)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11091,7 +11091,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetVector2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetVector2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11099,7 +11099,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetVector3)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetVector3)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11107,7 +11107,7 @@ impl CompositionPropertySet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetVector4)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetVector4)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } pub fn InsertBoolean(&self, propertyname: &::windows_core::HSTRING, value: bool) -> ::windows_core::Result<()> { @@ -11118,7 +11118,7 @@ impl CompositionPropertySet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBoolean)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBoolean)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), value, &mut result__).map(|| result__) } } } @@ -11156,7 +11156,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11169,7 +11169,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11181,14 +11181,14 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorStops)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExtendMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows_core::Result<()> { @@ -11199,7 +11199,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InterpolationSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows_core::Result<()> { @@ -11211,7 +11211,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11223,7 +11223,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -11234,7 +11234,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -11246,7 +11246,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11259,7 +11259,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11271,7 +11271,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MappingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows_core::Result<()> { @@ -11282,7 +11282,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -11290,14 +11290,14 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -11315,7 +11315,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -11326,7 +11326,7 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -11355,14 +11355,14 @@ impl CompositionRadialGradientBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -11378,7 +11378,7 @@ impl CompositionRadialGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EllipseCenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EllipseCenter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11391,7 +11391,7 @@ impl CompositionRadialGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EllipseRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EllipseRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11404,7 +11404,7 @@ impl CompositionRadialGradientBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GradientOriginOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GradientOriginOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11446,7 +11446,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -11457,7 +11457,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -11468,7 +11468,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -11479,7 +11479,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -11487,14 +11487,14 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -11512,7 +11512,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -11523,7 +11523,7 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -11552,14 +11552,14 @@ impl CompositionRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -11575,7 +11575,7 @@ impl CompositionRectangleGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11588,7 +11588,7 @@ impl CompositionRectangleGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11630,7 +11630,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimEnd)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimEnd(&self, value: f32) -> ::windows_core::Result<()> { @@ -11641,7 +11641,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -11652,7 +11652,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrimStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTrimStart(&self, value: f32) -> ::windows_core::Result<()> { @@ -11663,7 +11663,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -11671,14 +11671,14 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -11696,7 +11696,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -11707,7 +11707,7 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -11736,14 +11736,14 @@ impl CompositionRoundedRectangleGeometry { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -11759,7 +11759,7 @@ impl CompositionRoundedRectangleGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CornerRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CornerRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11772,7 +11772,7 @@ impl CompositionRoundedRectangleGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11785,7 +11785,7 @@ impl CompositionRoundedRectangleGeometry { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -11827,7 +11827,7 @@ impl CompositionScopedBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -11835,14 +11835,14 @@ impl CompositionScopedBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -11860,7 +11860,7 @@ impl CompositionScopedBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -11871,7 +11871,7 @@ impl CompositionScopedBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -11900,14 +11900,14 @@ impl CompositionScopedBatch { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -11922,14 +11922,14 @@ impl CompositionScopedBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEnded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn End(&self) -> ::windows_core::Result<()> { @@ -11951,7 +11951,7 @@ impl CompositionScopedBatch { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -11992,7 +11992,7 @@ impl CompositionShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -12000,14 +12000,14 @@ impl CompositionShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -12025,7 +12025,7 @@ impl CompositionShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -12036,7 +12036,7 @@ impl CompositionShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -12065,14 +12065,14 @@ impl CompositionShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -12117,7 +12117,7 @@ impl CompositionShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -12125,14 +12125,14 @@ impl CompositionShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -12150,7 +12150,7 @@ impl CompositionShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -12161,7 +12161,7 @@ impl CompositionShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -12190,14 +12190,14 @@ impl CompositionShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -12213,7 +12213,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12226,7 +12226,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12238,7 +12238,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -12249,7 +12249,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -12261,7 +12261,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12274,7 +12274,7 @@ impl CompositionShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12320,7 +12320,7 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -12328,14 +12328,14 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -12353,7 +12353,7 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -12364,7 +12364,7 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -12393,14 +12393,14 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -12416,7 +12416,7 @@ impl CompositionShapeCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -12424,7 +12424,7 @@ impl CompositionShapeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -12432,7 +12432,7 @@ impl CompositionShapeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -12440,7 +12440,7 @@ impl CompositionShapeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -12451,7 +12451,7 @@ impl CompositionShapeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -12498,7 +12498,7 @@ impl CompositionShapeCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -12561,7 +12561,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -12569,14 +12569,14 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -12594,7 +12594,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -12605,7 +12605,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -12634,14 +12634,14 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -12657,7 +12657,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12670,7 +12670,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12682,7 +12682,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -12693,7 +12693,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -12705,7 +12705,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12718,7 +12718,7 @@ impl CompositionSpriteShape { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -12730,7 +12730,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FillBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FillBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFillBrush(&self, value: P0) -> ::windows_core::Result<()> @@ -12744,7 +12744,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Geometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Geometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGeometry(&self, value: P0) -> ::windows_core::Result<()> @@ -12758,7 +12758,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsStrokeNonScaling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsStrokeNonScaling)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsStrokeNonScaling(&self, value: bool) -> ::windows_core::Result<()> { @@ -12769,7 +12769,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStrokeBrush(&self, value: P0) -> ::windows_core::Result<()> @@ -12784,14 +12784,14 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeDashArray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeDashArray)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StrokeDashCap(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeDashCap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeDashCap)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeDashCap(&self, value: CompositionStrokeCap) -> ::windows_core::Result<()> { @@ -12802,7 +12802,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeDashOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeDashOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeDashOffset(&self, value: f32) -> ::windows_core::Result<()> { @@ -12813,7 +12813,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeEndCap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeEndCap)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeEndCap(&self, value: CompositionStrokeCap) -> ::windows_core::Result<()> { @@ -12824,7 +12824,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeLineJoin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeLineJoin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeLineJoin(&self, value: CompositionStrokeLineJoin) -> ::windows_core::Result<()> { @@ -12835,7 +12835,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeMiterLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeMiterLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeMiterLimit(&self, value: f32) -> ::windows_core::Result<()> { @@ -12846,7 +12846,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeStartCap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeStartCap)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeStartCap(&self, value: CompositionStrokeCap) -> ::windows_core::Result<()> { @@ -12857,7 +12857,7 @@ impl CompositionSpriteShape { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeThickness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeThickness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrokeThickness(&self, value: f32) -> ::windows_core::Result<()> { @@ -12902,7 +12902,7 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -12910,14 +12910,14 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -12935,7 +12935,7 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -12946,7 +12946,7 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -12975,14 +12975,14 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -12998,7 +12998,7 @@ impl CompositionStrokeDashArray { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -13006,7 +13006,7 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -13014,7 +13014,7 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -13022,7 +13022,7 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -13030,7 +13030,7 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value, index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value, index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -13068,7 +13068,7 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), items.as_mut_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), items.as_mut_ptr(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -13131,7 +13131,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -13139,14 +13139,14 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -13164,7 +13164,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -13175,7 +13175,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -13204,14 +13204,14 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -13226,7 +13226,7 @@ impl CompositionSurfaceBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BitmapInterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BitmapInterpolationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBitmapInterpolationMode(&self, value: CompositionBitmapInterpolationMode) -> ::windows_core::Result<()> { @@ -13237,7 +13237,7 @@ impl CompositionSurfaceBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -13248,7 +13248,7 @@ impl CompositionSurfaceBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stretch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stretch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStretch(&self, value: CompositionStretch) -> ::windows_core::Result<()> { @@ -13259,7 +13259,7 @@ impl CompositionSurfaceBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Surface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSurface(&self, value: P0) -> ::windows_core::Result<()> @@ -13273,7 +13273,7 @@ impl CompositionSurfaceBrush { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerticalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerticalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -13285,7 +13285,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13298,7 +13298,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13311,7 +13311,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13323,7 +13323,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -13334,7 +13334,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -13346,7 +13346,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13359,7 +13359,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13371,7 +13371,7 @@ impl CompositionSurfaceBrush { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SnapToPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SnapToPixels)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSnapToPixels(&self, value: bool) -> ::windows_core::Result<()> { @@ -13412,7 +13412,7 @@ impl CompositionTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -13420,14 +13420,14 @@ impl CompositionTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -13445,7 +13445,7 @@ impl CompositionTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -13456,7 +13456,7 @@ impl CompositionTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -13485,14 +13485,14 @@ impl CompositionTarget { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -13507,7 +13507,7 @@ impl CompositionTarget { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Root)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRoot(&self, value: P0) -> ::windows_core::Result<()> @@ -13551,7 +13551,7 @@ impl CompositionTexture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -13559,14 +13559,14 @@ impl CompositionTexture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -13584,7 +13584,7 @@ impl CompositionTexture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -13595,7 +13595,7 @@ impl CompositionTexture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -13624,14 +13624,14 @@ impl CompositionTexture { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -13647,7 +13647,7 @@ impl CompositionTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -13660,7 +13660,7 @@ impl CompositionTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -13673,7 +13673,7 @@ impl CompositionTexture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -13715,7 +13715,7 @@ impl CompositionTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -13723,14 +13723,14 @@ impl CompositionTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -13748,7 +13748,7 @@ impl CompositionTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -13759,7 +13759,7 @@ impl CompositionTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -13788,14 +13788,14 @@ impl CompositionTransform { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -13840,7 +13840,7 @@ impl CompositionViewBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -13848,14 +13848,14 @@ impl CompositionViewBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -13873,7 +13873,7 @@ impl CompositionViewBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -13884,7 +13884,7 @@ impl CompositionViewBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -13913,14 +13913,14 @@ impl CompositionViewBox { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -13935,7 +13935,7 @@ impl CompositionViewBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HorizontalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -13947,7 +13947,7 @@ impl CompositionViewBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13960,7 +13960,7 @@ impl CompositionViewBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -13972,7 +13972,7 @@ impl CompositionViewBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Stretch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Stretch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStretch(&self, value: CompositionStretch) -> ::windows_core::Result<()> { @@ -13983,7 +13983,7 @@ impl CompositionViewBox { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VerticalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VerticalAlignmentRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -14025,7 +14025,7 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlphaMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics_DirectX")] @@ -14033,14 +14033,14 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -14048,7 +14048,7 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeInt32)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Graphics")] @@ -14080,7 +14080,7 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -14088,14 +14088,14 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -14113,7 +14113,7 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -14124,7 +14124,7 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -14153,14 +14153,14 @@ impl CompositionVirtualDrawingSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -14210,7 +14210,7 @@ impl CompositionVisualSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -14218,14 +14218,14 @@ impl CompositionVisualSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -14243,7 +14243,7 @@ impl CompositionVisualSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -14254,7 +14254,7 @@ impl CompositionVisualSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -14283,14 +14283,14 @@ impl CompositionVisualSurface { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -14305,7 +14305,7 @@ impl CompositionVisualSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSourceVisual(&self, value: P0) -> ::windows_core::Result<()> @@ -14320,7 +14320,7 @@ impl CompositionVisualSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -14333,7 +14333,7 @@ impl CompositionVisualSurface { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -14375,28 +14375,28 @@ impl Compositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateColorKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateColorKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateColorBrush(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateColorBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateColorBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateColorBrushWithColor(&self, color: super::Color) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateColorBrushWithColor)(::windows_core::Interface::as_raw(this), color, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateColorBrushWithColor)(::windows_core::Interface::as_raw(this), color, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainerVisual(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainerVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainerVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -14404,7 +14404,7 @@ impl Compositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows_core::Interface::as_raw(this), controlpoint1, controlpoint2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCubicBezierEasingFunction)(::windows_core::Interface::as_raw(this), controlpoint1, controlpoint2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Effects")] @@ -14415,7 +14415,7 @@ impl Compositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEffectFactory)(::windows_core::Interface::as_raw(this), graphicseffect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEffectFactory)(::windows_core::Interface::as_raw(this), graphicseffect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Effects"))] @@ -14427,84 +14427,84 @@ impl Compositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEffectFactoryWithProperties)(::windows_core::Interface::as_raw(this), graphicseffect.into_param().abi(), animatableproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEffectFactoryWithProperties)(::windows_core::Interface::as_raw(this), graphicseffect.into_param().abi(), animatableproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateExpressionAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateExpressionAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateExpressionAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateExpressionAnimationWithExpression(&self, expression: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateExpressionAnimationWithExpression)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(expression), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateExpressionAnimationWithExpression)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(expression), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInsetClip(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInsetClip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInsetClip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInsetClipWithInsets(&self, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInsetClipWithInsets)(::windows_core::Interface::as_raw(this), leftinset, topinset, rightinset, bottominset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInsetClipWithInsets)(::windows_core::Interface::as_raw(this), leftinset, topinset, rightinset, bottominset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLinearEasingFunction(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLinearEasingFunction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLinearEasingFunction)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePropertySet(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePropertySet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePropertySet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateQuaternionKeyFrameAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateQuaternionKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateQuaternionKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateScalarKeyFrameAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScalarKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScalarKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateScopedBatch(&self, batchtype: CompositionBatchTypes) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScopedBatch)(::windows_core::Interface::as_raw(this), batchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScopedBatch)(::windows_core::Interface::as_raw(this), batchtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpriteVisual(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpriteVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpriteVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSurfaceBrush(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSurfaceBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSurfaceBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSurfaceBrushWithSurface(&self, surface: P0) -> ::windows_core::Result @@ -14514,189 +14514,189 @@ impl Compositor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSurfaceBrushWithSurface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSurfaceBrushWithSurface)(::windows_core::Interface::as_raw(this), surface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTargetForCurrentView(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTargetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTargetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVector2KeyFrameAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVector2KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVector2KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVector3KeyFrameAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVector3KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVector3KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVector4KeyFrameAnimation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVector4KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVector4KeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCommitBatch(&self, batchtype: CompositionBatchTypes) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCommitBatch)(::windows_core::Interface::as_raw(this), batchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCommitBatch)(::windows_core::Interface::as_raw(this), batchtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAmbientLight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAmbientLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAmbientLight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAnimationGroup(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnimationGroup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnimationGroup)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBackdropBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDistantLight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDistantLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDistantLight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateDropShadow(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDropShadow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDropShadow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateImplicitAnimationCollection(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateImplicitAnimationCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateImplicitAnimationCollection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLayerVisual(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLayerVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLayerVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateMaskBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMaskBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMaskBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateNineGridBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNineGridBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNineGridBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePointLight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePointLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePointLight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpotLight(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpotLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpotLight)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateStepEasingFunction(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStepEasingFunction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStepEasingFunction)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateStepEasingFunctionWithStepCount(&self, stepcount: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows_core::Interface::as_raw(this), stepcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStepEasingFunctionWithStepCount)(::windows_core::Interface::as_raw(this), stepcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateHostBackdropBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateHostBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateHostBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateColorGradientStop(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateColorGradientStop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateColorGradientStop)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateColorGradientStopWithOffsetAndColor(&self, offset: f32, color: super::Color) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateColorGradientStopWithOffsetAndColor)(::windows_core::Interface::as_raw(this), offset, color, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateColorGradientStopWithOffsetAndColor)(::windows_core::Interface::as_raw(this), offset, color, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLinearGradientBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpringScalarAnimation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpringScalarAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpringScalarAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpringVector2Animation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpringVector2Animation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpringVector2Animation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpringVector3Animation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpringVector3Animation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpringVector3Animation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -14707,7 +14707,7 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGlobalPlaybackRate(&self, value: f32) -> ::windows_core::Result<()> { @@ -14718,49 +14718,49 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBounceScalarAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBounceScalarAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBounceVector2Animation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBounceVector2Animation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBounceVector2Animation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBounceVector3Animation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBounceVector3Animation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBounceVector3Animation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateContainerShape(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateContainerShape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateContainerShape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateEllipseGeometry(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEllipseGeometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEllipseGeometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateLineGeometry(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateLineGeometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateLineGeometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePathGeometry(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePathGeometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePathGeometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePathGeometryWithPath(&self, path: P0) -> ::windows_core::Result @@ -14770,42 +14770,42 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePathGeometryWithPath)(::windows_core::Interface::as_raw(this), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePathGeometryWithPath)(::windows_core::Interface::as_raw(this), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreatePathKeyFrameAnimation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreatePathKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreatePathKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRectangleGeometry(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectangleGeometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectangleGeometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRoundedRectangleGeometry(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateShapeVisual(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateShapeVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateShapeVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpriteShape(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpriteShape)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpriteShape)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSpriteShapeWithGeometry(&self, geometry: P0) -> ::windows_core::Result @@ -14815,28 +14815,28 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSpriteShapeWithGeometry)(::windows_core::Interface::as_raw(this), geometry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSpriteShapeWithGeometry)(::windows_core::Interface::as_raw(this), geometry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateViewBox(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateViewBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateViewBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCommitAsync(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCommitAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateGeometricClip(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGeometricClip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGeometricClip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateGeometricClipWithGeometry(&self, geometry: P0) -> ::windows_core::Result @@ -14846,14 +14846,14 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateGeometricClipWithGeometry)(::windows_core::Interface::as_raw(this), geometry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateGeometricClipWithGeometry)(::windows_core::Interface::as_raw(this), geometry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRedirectVisual(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRedirectVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRedirectVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRedirectVisualWithSourceVisual(&self, source: P0) -> ::windows_core::Result @@ -14863,14 +14863,14 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRedirectVisualWithSourceVisual)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRedirectVisualWithSourceVisual)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBooleanKeyFrameAnimation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBooleanKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBooleanKeyFrameAnimation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -14878,28 +14878,28 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAnimationPropertyInfo(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnimationPropertyInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnimationPropertyInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRectangleClip(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectangleClip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectangleClip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRectangleClipWithSides(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectangleClipWithSides)(::windows_core::Interface::as_raw(this), left, top, right, bottom, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectangleClipWithSides)(::windows_core::Interface::as_raw(this), left, top, right, bottom, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -14907,68 +14907,68 @@ impl Compositor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRectangleClipWithSidesAndRadius)(::windows_core::Interface::as_raw(this), left, top, right, bottom, topleftradius, toprightradius, bottomrightradius, bottomleftradius, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRectangleClipWithSidesAndRadius)(::windows_core::Interface::as_raw(this), left, top, right, bottom, topleftradius, toprightradius, bottomrightradius, bottomleftradius, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateAnimationController(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnimationController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnimationController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxGlobalPlaybackRate() -> ::windows_core::Result { Self::ICompositorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxGlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxGlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MinGlobalPlaybackRate() -> ::windows_core::Result { Self::ICompositorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinGlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinGlobalPlaybackRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TryCreateBlurredWallpaperBackdropBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateBlurredWallpaperBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateBlurredWallpaperBackdropBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateProjectedShadowCaster(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProjectedShadowCaster)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProjectedShadowCaster)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateProjectedShadow(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProjectedShadow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProjectedShadow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateProjectedShadowReceiver(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateProjectedShadowReceiver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateProjectedShadowReceiver)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateRadialGradientBrush(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateVisualSurface(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateVisualSurface)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateVisualSurface)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -15010,7 +15010,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -15018,14 +15018,14 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -15043,7 +15043,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -15054,7 +15054,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -15083,14 +15083,14 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -15105,7 +15105,7 @@ impl ContainerVisual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -15113,7 +15113,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15125,7 +15125,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -15136,7 +15136,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -15148,7 +15148,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15160,7 +15160,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -15174,7 +15174,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -15185,7 +15185,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -15197,7 +15197,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15209,7 +15209,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -15221,7 +15221,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15233,14 +15233,14 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -15251,7 +15251,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -15263,7 +15263,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15276,7 +15276,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15289,7 +15289,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15302,7 +15302,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15314,7 +15314,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -15329,7 +15329,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15342,7 +15342,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15354,7 +15354,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -15365,7 +15365,7 @@ impl ContainerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -15406,7 +15406,7 @@ impl CubicBezierEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -15414,14 +15414,14 @@ impl CubicBezierEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -15439,7 +15439,7 @@ impl CubicBezierEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -15450,7 +15450,7 @@ impl CubicBezierEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -15479,14 +15479,14 @@ impl CubicBezierEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -15502,7 +15502,7 @@ impl CubicBezierEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlPoint1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlPoint1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15510,7 +15510,7 @@ impl CubicBezierEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlPoint2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlPoint2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -15547,7 +15547,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -15555,14 +15555,14 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -15580,7 +15580,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -15591,7 +15591,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -15620,14 +15620,14 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -15642,14 +15642,14 @@ impl DelegatedInkTrailVisual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddTrailPoints)(::windows_core::Interface::as_raw(this), inkpoints.len().try_into().unwrap(), inkpoints.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddTrailPoints)(::windows_core::Interface::as_raw(this), inkpoints.len().try_into().unwrap(), inkpoints.as_ptr(), &mut result__).map(|| result__) } } pub fn AddTrailPointsWithPrediction(&self, inkpoints: &[InkTrailPoint], predictedinkpoints: &[InkTrailPoint]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddTrailPointsWithPrediction)(::windows_core::Interface::as_raw(this), inkpoints.len().try_into().unwrap(), inkpoints.as_ptr(), predictedinkpoints.len().try_into().unwrap(), predictedinkpoints.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddTrailPointsWithPrediction)(::windows_core::Interface::as_raw(this), inkpoints.len().try_into().unwrap(), inkpoints.as_ptr(), predictedinkpoints.len().try_into().unwrap(), predictedinkpoints.as_ptr(), &mut result__).map(|| result__) } } pub fn RemoveTrailPoints(&self, generationid: u32) -> ::windows_core::Result<()> { @@ -15666,7 +15666,7 @@ impl DelegatedInkTrailVisual { { Self::IDelegatedInkTrailVisualStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateForSwapChain(compositor: P0, swapchain: P1) -> ::windows_core::Result @@ -15676,7 +15676,7 @@ impl DelegatedInkTrailVisual { { Self::IDelegatedInkTrailVisualStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForSwapChain)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), swapchain.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForSwapChain)(::windows_core::Interface::as_raw(this), compositor.into_param().abi(), swapchain.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Numerics")] @@ -15684,7 +15684,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15696,7 +15696,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -15707,7 +15707,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -15719,7 +15719,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15731,7 +15731,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -15745,7 +15745,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -15756,7 +15756,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -15768,7 +15768,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15780,7 +15780,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -15792,7 +15792,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15804,14 +15804,14 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -15822,7 +15822,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -15834,7 +15834,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15847,7 +15847,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15860,7 +15860,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15873,7 +15873,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15885,7 +15885,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -15900,7 +15900,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15913,7 +15913,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -15925,7 +15925,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -15936,7 +15936,7 @@ impl DelegatedInkTrailVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -15982,21 +15982,21 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExclusionsFromTargets(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -16007,7 +16007,7 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16015,14 +16015,14 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16040,7 +16040,7 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16051,7 +16051,7 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16080,14 +16080,14 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16102,7 +16102,7 @@ impl DistantLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -16113,7 +16113,7 @@ impl DistantLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCoordinateSpace(&self, value: P0) -> ::windows_core::Result<()> @@ -16128,7 +16128,7 @@ impl DistantLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -16140,7 +16140,7 @@ impl DistantLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntensity(&self, value: f32) -> ::windows_core::Result<()> { @@ -16181,7 +16181,7 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16189,14 +16189,14 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16214,7 +16214,7 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16225,7 +16225,7 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16254,14 +16254,14 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16276,7 +16276,7 @@ impl DropShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlurRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBlurRadius(&self, value: f32) -> ::windows_core::Result<()> { @@ -16287,7 +16287,7 @@ impl DropShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -16298,7 +16298,7 @@ impl DropShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mask)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMask(&self, value: P0) -> ::windows_core::Result<()> @@ -16313,7 +16313,7 @@ impl DropShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -16325,7 +16325,7 @@ impl DropShadow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -16336,7 +16336,7 @@ impl DropShadow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSourcePolicy(&self, value: CompositionDropShadowSourcePolicy) -> ::windows_core::Result<()> { @@ -16377,7 +16377,7 @@ impl ElasticEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16385,14 +16385,14 @@ impl ElasticEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16410,7 +16410,7 @@ impl ElasticEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16421,7 +16421,7 @@ impl ElasticEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16450,14 +16450,14 @@ impl ElasticEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16472,21 +16472,21 @@ impl ElasticEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Oscillations(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Oscillations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Oscillations)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Springiness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Springiness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Springiness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -16523,7 +16523,7 @@ impl ExponentialEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16531,14 +16531,14 @@ impl ExponentialEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16556,7 +16556,7 @@ impl ExponentialEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16567,7 +16567,7 @@ impl ExponentialEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16596,14 +16596,14 @@ impl ExponentialEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16618,14 +16618,14 @@ impl ExponentialEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Exponent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exponent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exponent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -16719,7 +16719,7 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16731,7 +16731,7 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -16745,7 +16745,7 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16753,14 +16753,14 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16778,7 +16778,7 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16789,7 +16789,7 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16818,14 +16818,14 @@ impl ExpressionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16840,7 +16840,7 @@ impl ExpressionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expression)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expression)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpression(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16882,7 +16882,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -16890,14 +16890,14 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -16915,7 +16915,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -16926,7 +16926,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -16955,14 +16955,14 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -16978,7 +16978,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -16986,7 +16986,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -16994,7 +16994,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17002,7 +17002,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17010,7 +17010,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -17021,7 +17021,7 @@ impl ImplicitAnimationCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), value.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17088,7 +17088,7 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -17096,14 +17096,14 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -17121,7 +17121,7 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -17132,7 +17132,7 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -17161,14 +17161,14 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -17184,7 +17184,7 @@ impl InitialValueExpressionCollection { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -17192,7 +17192,7 @@ impl InitialValueExpressionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -17200,7 +17200,7 @@ impl InitialValueExpressionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17208,7 +17208,7 @@ impl InitialValueExpressionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17216,7 +17216,7 @@ impl InitialValueExpressionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -17224,7 +17224,7 @@ impl InitialValueExpressionCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17293,7 +17293,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17306,7 +17306,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17319,7 +17319,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17331,7 +17331,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -17342,7 +17342,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -17354,7 +17354,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17367,7 +17367,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17379,7 +17379,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -17387,14 +17387,14 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -17412,7 +17412,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -17423,7 +17423,7 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -17452,14 +17452,14 @@ impl InsetClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -17474,7 +17474,7 @@ impl InsetClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBottomInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -17485,7 +17485,7 @@ impl InsetClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -17496,7 +17496,7 @@ impl InsetClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -17507,7 +17507,7 @@ impl InsetClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopInset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopInset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTopInset(&self, value: f32) -> ::windows_core::Result<()> { @@ -17605,7 +17605,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -17617,7 +17617,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -17631,7 +17631,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -17639,14 +17639,14 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -17664,7 +17664,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -17675,7 +17675,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -17704,14 +17704,14 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -17726,7 +17726,7 @@ impl KeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -17737,7 +17737,7 @@ impl KeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -17748,7 +17748,7 @@ impl KeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -17759,7 +17759,7 @@ impl KeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -17770,14 +17770,14 @@ impl KeyFrameAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -17799,7 +17799,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -17810,7 +17810,7 @@ impl KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -17851,7 +17851,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -17859,14 +17859,14 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -17884,7 +17884,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -17895,7 +17895,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -17924,14 +17924,14 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -17946,14 +17946,14 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Effect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Effect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Effect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEffect(&self, value: P0) -> ::windows_core::Result<()> @@ -17967,7 +17967,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shadow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shadow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetShadow(&self, value: P0) -> ::windows_core::Result<()> @@ -17982,7 +17982,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -17994,7 +17994,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -18005,7 +18005,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -18017,7 +18017,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18029,7 +18029,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -18043,7 +18043,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -18054,7 +18054,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -18066,7 +18066,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18078,7 +18078,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -18090,7 +18090,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18102,14 +18102,14 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -18120,7 +18120,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -18132,7 +18132,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18145,7 +18145,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18158,7 +18158,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18171,7 +18171,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18183,7 +18183,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -18198,7 +18198,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18211,7 +18211,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -18223,7 +18223,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -18234,7 +18234,7 @@ impl LayerVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -18275,7 +18275,7 @@ impl LinearEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -18283,14 +18283,14 @@ impl LinearEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -18308,7 +18308,7 @@ impl LinearEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -18319,7 +18319,7 @@ impl LinearEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -18348,14 +18348,14 @@ impl LinearEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -18457,7 +18457,7 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -18469,7 +18469,7 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -18483,7 +18483,7 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -18491,14 +18491,14 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -18516,7 +18516,7 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -18527,7 +18527,7 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -18556,14 +18556,14 @@ impl NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -18578,7 +18578,7 @@ impl NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -18589,7 +18589,7 @@ impl NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -18600,7 +18600,7 @@ impl NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -18698,7 +18698,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -18710,7 +18710,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -18724,7 +18724,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -18732,14 +18732,14 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -18757,7 +18757,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -18768,7 +18768,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -18797,14 +18797,14 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -18819,7 +18819,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -18830,7 +18830,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -18841,7 +18841,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -18852,7 +18852,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -18863,14 +18863,14 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -18892,7 +18892,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -18903,7 +18903,7 @@ impl PathKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -18959,21 +18959,21 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExclusionsFromTargets(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -18984,7 +18984,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -18992,14 +18992,14 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -19017,7 +19017,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -19028,7 +19028,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -19057,14 +19057,14 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -19079,7 +19079,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -19090,7 +19090,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConstantAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConstantAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConstantAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -19101,7 +19101,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCoordinateSpace(&self, value: P0) -> ::windows_core::Result<()> @@ -19115,7 +19115,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinearAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinearAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLinearAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -19127,7 +19127,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19139,7 +19139,7 @@ impl PointLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuadraticAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuadraticAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -19150,7 +19150,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Intensity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIntensity(&self, value: f32) -> ::windows_core::Result<()> { @@ -19161,7 +19161,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -19172,7 +19172,7 @@ impl PointLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -19213,7 +19213,7 @@ impl PowerEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -19221,14 +19221,14 @@ impl PowerEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -19246,7 +19246,7 @@ impl PowerEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -19257,7 +19257,7 @@ impl PowerEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -19286,14 +19286,14 @@ impl PowerEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -19308,14 +19308,14 @@ impl PowerEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Power(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Power)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Power)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -19409,7 +19409,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -19421,7 +19421,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -19435,7 +19435,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -19443,14 +19443,14 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -19468,7 +19468,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -19479,7 +19479,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -19508,14 +19508,14 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -19530,7 +19530,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -19541,7 +19541,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -19552,7 +19552,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -19563,7 +19563,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -19574,14 +19574,14 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -19603,7 +19603,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -19614,7 +19614,7 @@ impl QuaternionKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -19669,7 +19669,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19682,7 +19682,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19695,7 +19695,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19707,7 +19707,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -19718,7 +19718,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -19730,7 +19730,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19743,7 +19743,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19755,7 +19755,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -19763,14 +19763,14 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -19788,7 +19788,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -19799,7 +19799,7 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -19828,14 +19828,14 @@ impl RectangleClip { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -19850,7 +19850,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bottom)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bottom)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBottom(&self, value: f32) -> ::windows_core::Result<()> { @@ -19862,7 +19862,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomLeftRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomLeftRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19875,7 +19875,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomRightRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomRightRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19887,7 +19887,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Left)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Left)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeft(&self, value: f32) -> ::windows_core::Result<()> { @@ -19898,7 +19898,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Right)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Right)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRight(&self, value: f32) -> ::windows_core::Result<()> { @@ -19909,7 +19909,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Top)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Top)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTop(&self, value: f32) -> ::windows_core::Result<()> { @@ -19921,7 +19921,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopLeftRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopLeftRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19934,7 +19934,7 @@ impl RectangleClip { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopRightRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopRightRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -19976,7 +19976,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -19984,14 +19984,14 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -20009,7 +20009,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20020,7 +20020,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -20049,14 +20049,14 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -20071,14 +20071,14 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Source(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -20093,7 +20093,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20105,7 +20105,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -20116,7 +20116,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -20128,7 +20128,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20140,7 +20140,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -20154,7 +20154,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -20165,7 +20165,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -20177,7 +20177,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20189,7 +20189,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -20201,7 +20201,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20213,14 +20213,14 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -20231,7 +20231,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -20243,7 +20243,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20256,7 +20256,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20269,7 +20269,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20282,7 +20282,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20294,7 +20294,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -20309,7 +20309,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20322,7 +20322,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -20334,7 +20334,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -20345,7 +20345,7 @@ impl RedirectVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -20386,7 +20386,7 @@ impl RenderingDeviceReplacedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -20394,14 +20394,14 @@ impl RenderingDeviceReplacedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -20419,7 +20419,7 @@ impl RenderingDeviceReplacedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20430,7 +20430,7 @@ impl RenderingDeviceReplacedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -20459,14 +20459,14 @@ impl RenderingDeviceReplacedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -20481,7 +20481,7 @@ impl RenderingDeviceReplacedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GraphicsDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GraphicsDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -20575,7 +20575,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20587,7 +20587,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -20601,7 +20601,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -20609,14 +20609,14 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -20634,7 +20634,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20645,7 +20645,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -20674,14 +20674,14 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -20696,7 +20696,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -20707,7 +20707,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -20718,7 +20718,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -20729,7 +20729,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -20740,14 +20740,14 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -20769,7 +20769,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -20780,7 +20780,7 @@ impl ScalarKeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -20889,7 +20889,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20901,7 +20901,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -20915,7 +20915,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -20923,14 +20923,14 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -20948,7 +20948,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -20959,7 +20959,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -20988,14 +20988,14 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -21010,7 +21010,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -21021,7 +21021,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -21032,7 +21032,7 @@ impl ScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -21043,7 +21043,7 @@ impl ScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFinalValue(&self, value: P0) -> ::windows_core::Result<()> @@ -21057,7 +21057,7 @@ impl ScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInitialValue(&self, value: P0) -> ::windows_core::Result<()> @@ -21071,7 +21071,7 @@ impl ScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialVelocity(&self, value: f32) -> ::windows_core::Result<()> { @@ -21112,7 +21112,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -21120,14 +21120,14 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -21145,7 +21145,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -21156,7 +21156,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -21185,14 +21185,14 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -21207,7 +21207,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -21215,14 +21215,14 @@ impl ShapeVisual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shapes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shapes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ViewBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetViewBox(&self, value: P0) -> ::windows_core::Result<()> @@ -21237,7 +21237,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21249,7 +21249,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -21260,7 +21260,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -21272,7 +21272,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21284,7 +21284,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -21298,7 +21298,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -21309,7 +21309,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -21321,7 +21321,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21333,7 +21333,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -21345,7 +21345,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21357,14 +21357,14 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -21375,7 +21375,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -21387,7 +21387,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21400,7 +21400,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21413,7 +21413,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21426,7 +21426,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21438,7 +21438,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -21453,7 +21453,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21466,7 +21466,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21478,7 +21478,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -21489,7 +21489,7 @@ impl ShapeVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -21530,7 +21530,7 @@ impl SineEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -21538,14 +21538,14 @@ impl SineEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -21563,7 +21563,7 @@ impl SineEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -21574,7 +21574,7 @@ impl SineEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -21603,14 +21603,14 @@ impl SineEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -21625,7 +21625,7 @@ impl SineEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -21662,21 +21662,21 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExclusionsFromTargets(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExclusionsFromTargets)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -21687,7 +21687,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -21695,14 +21695,14 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -21720,7 +21720,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -21731,7 +21731,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -21760,14 +21760,14 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -21782,7 +21782,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConstantAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConstantAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetConstantAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -21793,7 +21793,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CoordinateSpace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCoordinateSpace(&self, value: P0) -> ::windows_core::Result<()> @@ -21808,7 +21808,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21820,7 +21820,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerConeAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerConeAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInnerConeAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -21831,7 +21831,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerConeAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerConeAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInnerConeAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -21842,7 +21842,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerConeColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerConeColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInnerConeColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -21853,7 +21853,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinearAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinearAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLinearAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -21865,7 +21865,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -21877,7 +21877,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterConeAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterConeAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOuterConeAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -21888,7 +21888,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterConeAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterConeAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOuterConeAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -21899,7 +21899,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterConeColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterConeColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOuterConeColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -21910,7 +21910,7 @@ impl SpotLight { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QuadraticAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QuadraticAttenuation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows_core::Result<()> { @@ -21921,7 +21921,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InnerConeIntensity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InnerConeIntensity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInnerConeIntensity(&self, value: f32) -> ::windows_core::Result<()> { @@ -21932,7 +21932,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OuterConeIntensity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OuterConeIntensity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOuterConeIntensity(&self, value: f32) -> ::windows_core::Result<()> { @@ -21943,7 +21943,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -21954,7 +21954,7 @@ impl SpotLight { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAttenuationCutoff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows_core::Result<()> { @@ -22052,7 +22052,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22064,7 +22064,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -22078,7 +22078,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -22086,14 +22086,14 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -22111,7 +22111,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22122,7 +22122,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -22151,14 +22151,14 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -22173,7 +22173,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -22184,7 +22184,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22195,7 +22195,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -22206,7 +22206,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFinalValue(&self, value: P0) -> ::windows_core::Result<()> @@ -22220,7 +22220,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInitialValue(&self, value: P0) -> ::windows_core::Result<()> @@ -22234,7 +22234,7 @@ impl SpringScalarNaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialVelocity(&self, value: f32) -> ::windows_core::Result<()> { @@ -22245,7 +22245,7 @@ impl SpringScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDampingRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -22256,7 +22256,7 @@ impl SpringScalarNaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22354,7 +22354,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22366,7 +22366,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -22380,7 +22380,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -22388,14 +22388,14 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -22413,7 +22413,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22424,7 +22424,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -22453,14 +22453,14 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -22475,7 +22475,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -22486,7 +22486,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22497,7 +22497,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -22508,7 +22508,7 @@ impl SpringVector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDampingRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -22519,7 +22519,7 @@ impl SpringVector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22531,7 +22531,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -22547,7 +22547,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -22563,7 +22563,7 @@ impl SpringVector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -22662,7 +22662,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22674,7 +22674,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -22688,7 +22688,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -22696,14 +22696,14 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -22721,7 +22721,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22732,7 +22732,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -22761,14 +22761,14 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -22783,7 +22783,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -22794,7 +22794,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22805,7 +22805,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -22816,7 +22816,7 @@ impl SpringVector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DampingRatio)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDampingRatio(&self, value: f32) -> ::windows_core::Result<()> { @@ -22827,7 +22827,7 @@ impl SpringVector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Period)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPeriod(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -22839,7 +22839,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -22855,7 +22855,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -22871,7 +22871,7 @@ impl SpringVector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -22913,7 +22913,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -22921,14 +22921,14 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -22946,7 +22946,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -22957,7 +22957,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -22986,14 +22986,14 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -23008,14 +23008,14 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Brush(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brush)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBrush(&self, value: P0) -> ::windows_core::Result<()> @@ -23029,7 +23029,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Shadow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Shadow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetShadow(&self, value: P0) -> ::windows_core::Result<()> @@ -23044,7 +23044,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23056,7 +23056,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -23067,7 +23067,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -23079,7 +23079,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23091,7 +23091,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -23105,7 +23105,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -23116,7 +23116,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -23128,7 +23128,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23140,7 +23140,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -23152,7 +23152,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23164,14 +23164,14 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -23182,7 +23182,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -23194,7 +23194,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23207,7 +23207,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23220,7 +23220,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23233,7 +23233,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23245,7 +23245,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -23260,7 +23260,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23273,7 +23273,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -23285,7 +23285,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -23296,7 +23296,7 @@ impl SpriteVisual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -23337,7 +23337,7 @@ impl StepEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -23345,14 +23345,14 @@ impl StepEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -23370,7 +23370,7 @@ impl StepEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -23381,7 +23381,7 @@ impl StepEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -23410,14 +23410,14 @@ impl StepEasingFunction { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -23432,7 +23432,7 @@ impl StepEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFinalStep(&self, value: i32) -> ::windows_core::Result<()> { @@ -23443,7 +23443,7 @@ impl StepEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialStep)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialStep)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInitialStep(&self, value: i32) -> ::windows_core::Result<()> { @@ -23454,7 +23454,7 @@ impl StepEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFinalStepSingleFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFinalStepSingleFrame)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsFinalStepSingleFrame(&self, value: bool) -> ::windows_core::Result<()> { @@ -23465,7 +23465,7 @@ impl StepEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInitialStepSingleFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInitialStepSingleFrame)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInitialStepSingleFrame(&self, value: bool) -> ::windows_core::Result<()> { @@ -23476,7 +23476,7 @@ impl StepEasingFunction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StepCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StepCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStepCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -23574,7 +23574,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -23586,7 +23586,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -23600,7 +23600,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -23608,14 +23608,14 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -23633,7 +23633,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -23644,7 +23644,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -23673,14 +23673,14 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -23695,7 +23695,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -23706,7 +23706,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -23717,7 +23717,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -23728,7 +23728,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -23739,14 +23739,14 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -23768,7 +23768,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -23779,7 +23779,7 @@ impl Vector2KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -23890,7 +23890,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -23902,7 +23902,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -23916,7 +23916,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -23924,14 +23924,14 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -23949,7 +23949,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -23960,7 +23960,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -23989,14 +23989,14 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -24011,7 +24011,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -24022,7 +24022,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24033,7 +24033,7 @@ impl Vector2NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -24045,7 +24045,7 @@ impl Vector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -24061,7 +24061,7 @@ impl Vector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -24077,7 +24077,7 @@ impl Vector2NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -24176,7 +24176,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24188,7 +24188,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -24202,7 +24202,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -24210,14 +24210,14 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -24235,7 +24235,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24246,7 +24246,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -24275,14 +24275,14 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -24297,7 +24297,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24308,7 +24308,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24319,7 +24319,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -24330,7 +24330,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -24341,14 +24341,14 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -24370,7 +24370,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -24381,7 +24381,7 @@ impl Vector3KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -24492,7 +24492,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24504,7 +24504,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -24518,7 +24518,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -24526,14 +24526,14 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -24551,7 +24551,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24562,7 +24562,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -24591,14 +24591,14 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -24613,7 +24613,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -24624,7 +24624,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24635,7 +24635,7 @@ impl Vector3NaturalMotionAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -24647,7 +24647,7 @@ impl Vector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -24663,7 +24663,7 @@ impl Vector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -24679,7 +24679,7 @@ impl Vector3NaturalMotionAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialVelocity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -24778,7 +24778,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24790,7 +24790,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialValueExpressions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpressionReferenceParameter(&self, parametername: &::windows_core::HSTRING, source: P0) -> ::windows_core::Result<()> @@ -24804,7 +24804,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -24812,14 +24812,14 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -24837,7 +24837,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -24848,7 +24848,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -24877,14 +24877,14 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -24899,7 +24899,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayTime(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24910,7 +24910,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDuration(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -24921,7 +24921,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows_core::Result<()> { @@ -24932,7 +24932,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IterationCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIterationCount(&self, value: i32) -> ::windows_core::Result<()> { @@ -24943,14 +24943,14 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyFrameCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopBehavior(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows_core::Result<()> { @@ -24972,7 +24972,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDirection(&self, value: AnimationDirection) -> ::windows_core::Result<()> { @@ -24983,7 +24983,7 @@ impl Vector4KeyFrameAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows_core::Result<()> { @@ -25037,7 +25037,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -25045,14 +25045,14 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -25070,7 +25070,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -25081,7 +25081,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -25110,14 +25110,14 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -25133,7 +25133,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnchorPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25145,7 +25145,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackfaceVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows_core::Result<()> { @@ -25156,7 +25156,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BorderMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows_core::Result<()> { @@ -25168,7 +25168,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CenterPoint)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25180,7 +25180,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clip)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetClip(&self, value: P0) -> ::windows_core::Result<()> @@ -25194,7 +25194,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositeMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows_core::Result<()> { @@ -25205,7 +25205,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -25217,7 +25217,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25229,7 +25229,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f32) -> ::windows_core::Result<()> { @@ -25241,7 +25241,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25253,14 +25253,14 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationAngle(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -25271,7 +25271,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAngleInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows_core::Result<()> { @@ -25283,7 +25283,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationAxis)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25296,7 +25296,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25309,7 +25309,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25322,7 +25322,7 @@ impl Visual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformMatrix)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25334,7 +25334,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParentForTransform)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParentForTransform(&self, value: P0) -> ::windows_core::Result<()> @@ -25349,7 +25349,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeOffsetAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25362,7 +25362,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RelativeSizeAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -25374,7 +25374,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHitTestVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -25385,7 +25385,7 @@ impl Visual { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPixelSnappingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -25427,7 +25427,7 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -25435,14 +25435,14 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -25460,7 +25460,7 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -25471,7 +25471,7 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -25500,14 +25500,14 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -25523,14 +25523,14 @@ impl VisualCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Count(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InsertAbove(&self, newchild: P0, sibling: P1) -> ::windows_core::Result<()> @@ -25625,7 +25625,7 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Compositor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -25633,14 +25633,14 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimation(&self, propertyname: &::windows_core::HSTRING, animation: P0) -> ::windows_core::Result<()> @@ -25658,7 +25658,7 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetComment(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -25669,7 +25669,7 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImplicitAnimations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImplicitAnimations(&self, value: P0) -> ::windows_core::Result<()> @@ -25698,14 +25698,14 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAnimationController(&self, propertyname: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAnimationController)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(propertyname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartAnimationWithController(&self, propertyname: &::windows_core::HSTRING, animation: P0, animationcontroller: P1) -> ::windows_core::Result<()> @@ -25721,14 +25721,14 @@ impl VisualUnorderedCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Count(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Count)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Add(&self, newvisual: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs b/crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs index 4fc2ff5ee7..b626284248 100644 --- a/crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs @@ -34,35 +34,35 @@ impl IPropertyAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control2(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -100,41 +100,41 @@ impl AnimationDescription { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Animations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Animations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StaggerDelay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaggerDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaggerDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StaggerDelayFactor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StaggerDelayFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StaggerDelayFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DelayLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DelayLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DelayLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ZOrder(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZOrder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZOrder)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateInstance(effect: AnimationEffect, target: AnimationEffectTarget) -> ::windows_core::Result { Self::IAnimationDescriptionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effect, target, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), effect, target, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -165,49 +165,49 @@ impl OpacityAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialOpacity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinalOpacity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalOpacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control1(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control2(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -233,35 +233,35 @@ impl PropertyAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control2(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -287,70 +287,70 @@ impl ScaleAnimation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control1(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control2(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InitialScaleX(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialScaleX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialScaleX)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InitialScaleY(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InitialScaleY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InitialScaleY)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FinalScaleX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalScaleX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalScaleX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FinalScaleY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FinalScaleY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FinalScaleY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NormalizedOrigin(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedOrigin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedOrigin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -376,35 +376,35 @@ impl TranslationAnimation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delay(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Duration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Control2(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Control2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs b/crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs index 40c56301da..ddcad9eac0 100644 --- a/crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs @@ -50,7 +50,7 @@ impl CoreAppWindowPreview { { Self::ICoreAppWindowPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIdFromWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIdFromWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -80,7 +80,7 @@ impl SystemNavigationCloseRequestedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -91,7 +91,7 @@ impl SystemNavigationCloseRequestedPreviewEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -119,7 +119,7 @@ impl SystemNavigationManagerPreview { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCloseRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -129,7 +129,7 @@ impl SystemNavigationManagerPreview { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISystemNavigationManagerPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Core/mod.rs index 280c0b78b3..11e9e0736b 100644 --- a/crates/libs/windows/src/Windows/UI/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Core/mod.rs @@ -65,7 +65,7 @@ impl ICoreAcceleratorKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAcceleratorKeyActivated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -180,14 +180,14 @@ impl ICoreInputSourceBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInputEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -201,7 +201,7 @@ impl ICoreInputSourceBase { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputEnabled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -260,21 +260,21 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerPosition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerCursor(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -291,7 +291,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -305,7 +305,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -319,7 +319,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -333,7 +333,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -347,7 +347,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -361,7 +361,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -375,7 +375,7 @@ impl ICorePointerInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -420,7 +420,7 @@ impl ICorePointerInputSource2 { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReleasePointerCapture(&self) -> ::windows_core::Result<()> { @@ -435,21 +435,21 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerPosition(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerCursor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -466,7 +466,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -480,7 +480,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -494,7 +494,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -508,7 +508,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -522,7 +522,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -536,7 +536,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -550,7 +550,7 @@ impl ICorePointerInputSource2 { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -580,7 +580,7 @@ impl ICorePointerRedirector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedAway(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -594,7 +594,7 @@ impl ICorePointerRedirector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedTo(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -608,7 +608,7 @@ impl ICorePointerRedirector { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -645,14 +645,14 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationHostProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationHostProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -660,21 +660,21 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Dispatcher(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlowDirection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFlowDirection(&self, value: CoreWindowFlowDirection) -> ::windows_core::Result<()> { @@ -685,7 +685,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -696,7 +696,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -710,14 +710,14 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Visible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Activate(&self) -> ::windows_core::Result<()> { @@ -733,7 +733,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsyncKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsyncKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -741,7 +741,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).map(|| result__) } } pub fn ReleasePointerCapture(&self) -> ::windows_core::Result<()> { @@ -759,7 +759,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -773,7 +773,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationProviderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationProviderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutomationProviderRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -787,7 +787,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCharacterReceived(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -801,7 +801,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -815,7 +815,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputEnabled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -829,7 +829,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyDown(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -843,7 +843,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyUp(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -857,7 +857,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -871,7 +871,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -885,7 +885,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -899,7 +899,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -913,7 +913,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -927,7 +927,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -941,7 +941,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTouchHitTesting(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -955,7 +955,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -969,7 +969,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSizeChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -983,7 +983,7 @@ impl ICoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVisibilityChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1145,7 +1145,7 @@ impl ICoreWindowEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1382,7 +1382,7 @@ impl AcceleratorKeyEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -1390,28 +1390,28 @@ impl AcceleratorKeyEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1441,7 +1441,7 @@ impl AutomationProviderRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAutomationProvider(&self, value: P0) -> ::windows_core::Result<()> @@ -1455,7 +1455,7 @@ impl AutomationProviderRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1482,7 +1482,7 @@ impl BackRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1512,21 +1512,21 @@ impl CharacterReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handled(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1553,21 +1553,21 @@ impl ClosestInteractiveBoundsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SearchBounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SearchBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SearchBounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ClosestInteractiveBounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosestInteractiveBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosestInteractiveBounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClosestInteractiveBounds(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -1598,7 +1598,7 @@ impl CoreAcceleratorKeys { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAcceleratorKeyActivated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1631,7 +1631,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosestInteractiveBoundsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosestInteractiveBoundsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosestInteractiveBoundsRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1642,7 +1642,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasFocus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasFocus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GotFocus(&self, handler: P0) -> ::windows_core::Result @@ -1652,7 +1652,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GotFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GotFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGotFocus(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1666,7 +1666,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LostFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LostFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLostFocus(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1677,14 +1677,14 @@ impl CoreComponentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInputEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1698,7 +1698,7 @@ impl CoreComponentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputEnabled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1710,7 +1710,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).map(|| result__) } } pub fn CharacterReceived(&self, handler: P0) -> ::windows_core::Result @@ -1720,7 +1720,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCharacterReceived(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1734,7 +1734,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyDown(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1748,7 +1748,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyUp(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1759,7 +1759,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentKeyEventDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentKeyEventDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReleasePointerCapture(&self) -> ::windows_core::Result<()> { @@ -1774,21 +1774,21 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerPosition(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerCursor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -1805,7 +1805,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1819,7 +1819,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1833,7 +1833,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1847,7 +1847,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1861,7 +1861,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1875,7 +1875,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1889,7 +1889,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1901,7 +1901,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TouchHitTesting(&self, handler: P0) -> ::windows_core::Result @@ -1911,7 +1911,7 @@ impl CoreComponentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTouchHitTesting(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1940,20 +1940,20 @@ impl CoreCursor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Type(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateCursor(r#type: CoreCursorType, id: u32) -> ::windows_core::Result { Self::ICoreCursorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateCursor)(::windows_core::Interface::as_raw(this), r#type, id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateCursor)(::windows_core::Interface::as_raw(this), r#type, id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1987,7 +1987,7 @@ impl CoreDispatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceleratorKeyActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAcceleratorKeyActivated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1998,7 +1998,7 @@ impl CoreDispatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasThreadAccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasThreadAccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProcessEvents(&self, options: CoreProcessEventsOption) -> ::windows_core::Result<()> { @@ -2012,7 +2012,7 @@ impl CoreDispatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), priority, agilecallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunAsync)(::windows_core::Interface::as_raw(this), priority, agilecallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RunIdleAsync(&self, agilecallback: P0) -> ::windows_core::Result @@ -2022,7 +2022,7 @@ impl CoreDispatcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RunIdleAsync)(::windows_core::Interface::as_raw(this), agilecallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RunIdleAsync)(::windows_core::Interface::as_raw(this), agilecallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRunAsync(&self, priority: CoreDispatcherPriority, agilecallback: P0) -> ::windows_core::Result> @@ -2032,7 +2032,7 @@ impl CoreDispatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRunAsync)(::windows_core::Interface::as_raw(this), priority, agilecallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRunAsync)(::windows_core::Interface::as_raw(this), priority, agilecallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRunIdleAsync(&self, agilecallback: P0) -> ::windows_core::Result> @@ -2042,14 +2042,14 @@ impl CoreDispatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRunIdleAsync)(::windows_core::Interface::as_raw(this), agilecallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRunIdleAsync)(::windows_core::Interface::as_raw(this), agilecallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CurrentPriority(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPriority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPriority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCurrentPriority(&self, value: CoreDispatcherPriority) -> ::windows_core::Result<()> { @@ -2060,14 +2060,14 @@ impl CoreDispatcher { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldYield)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldYield)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShouldYieldToPriority(&self, priority: CoreDispatcherPriority) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldYieldToPriority)(::windows_core::Interface::as_raw(this), priority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldYieldToPriority)(::windows_core::Interface::as_raw(this), priority, &mut result__).map(|| result__) } } pub fn StopProcessEvents(&self) -> ::windows_core::Result<()> { @@ -2097,14 +2097,14 @@ impl CoreIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsInputEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2118,7 +2118,7 @@ impl CoreIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputEnabled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2137,21 +2137,21 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasCapture)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerPosition(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerCursor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -2168,7 +2168,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2182,7 +2182,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2196,7 +2196,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2210,7 +2210,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2224,7 +2224,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2238,7 +2238,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2252,7 +2252,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2264,7 +2264,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PointerRoutedAway(&self, handler: P0) -> ::windows_core::Result @@ -2274,7 +2274,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedAway(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2288,7 +2288,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedTo(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2302,7 +2302,7 @@ impl CoreIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2336,7 +2336,7 @@ impl CoreIndependentInputSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTransparentForUncontrolledInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTransparentForUncontrolledInput)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsTransparentForUncontrolledInput(&self, value: bool) -> ::windows_core::Result<()> { @@ -2347,7 +2347,7 @@ impl CoreIndependentInputSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPalmRejectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPalmRejectionEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPalmRejectionEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2358,7 +2358,7 @@ impl CoreIndependentInputSourceController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetControlledInput(&self, inputtypes: CoreInputDeviceTypes) -> ::windows_core::Result<()> { @@ -2376,7 +2376,7 @@ impl CoreIndependentInputSourceController { { Self::ICoreIndependentInputSourceControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForVisual)(::windows_core::Interface::as_raw(this), visual.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForVisual)(::windows_core::Interface::as_raw(this), visual.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Composition")] @@ -2386,7 +2386,7 @@ impl CoreIndependentInputSourceController { { Self::ICoreIndependentInputSourceControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForIVisualElement)(::windows_core::Interface::as_raw(this), visualelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForIVisualElement)(::windows_core::Interface::as_raw(this), visualelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2420,7 +2420,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedAway)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedAway(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2434,7 +2434,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedTo)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedTo(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2448,7 +2448,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerRoutedReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerRoutedReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2459,14 +2459,14 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationHostProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationHostProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Bounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2474,21 +2474,21 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Dispatcher(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FlowDirection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FlowDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFlowDirection(&self, value: CoreWindowFlowDirection) -> ::windows_core::Result<()> { @@ -2499,7 +2499,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2510,7 +2510,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPointerCursor(&self, value: P0) -> ::windows_core::Result<()> @@ -2524,14 +2524,14 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Visible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Activate(&self) -> ::windows_core::Result<()> { @@ -2547,7 +2547,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsyncKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsyncKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -2555,7 +2555,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetKeyState)(::windows_core::Interface::as_raw(this), virtualkey, &mut result__).map(|| result__) } } pub fn ReleasePointerCapture(&self) -> ::windows_core::Result<()> { @@ -2573,7 +2573,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivated(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2587,7 +2587,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationProviderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationProviderRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutomationProviderRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2601,7 +2601,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCharacterReceived(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2615,7 +2615,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2629,7 +2629,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputEnabled(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2643,7 +2643,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyDown(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2657,7 +2657,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyUp(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2671,7 +2671,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCaptureLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerCaptureLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2685,7 +2685,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2699,7 +2699,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2713,7 +2713,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2727,7 +2727,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2741,7 +2741,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2755,7 +2755,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchHitTesting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTouchHitTesting(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2769,7 +2769,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerWheelChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerWheelChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2783,7 +2783,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSizeChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2797,7 +2797,7 @@ impl CoreWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibilityChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVisibilityChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2815,7 +2815,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosestInteractiveBoundsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosestInteractiveBoundsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosestInteractiveBoundsRequested(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2826,7 +2826,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentKeyEventDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentKeyEventDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResizeStarted(&self, handler: P0) -> ::windows_core::Result @@ -2836,7 +2836,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResizeStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResizeStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResizeStarted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2850,7 +2850,7 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResizeCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResizeCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResizeCompleted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2862,27 +2862,27 @@ impl CoreWindow { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivationMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentThread() -> ::windows_core::Result { Self::ICoreWindowStatic(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentThread)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentThread)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn UIContext(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2920,7 +2920,7 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShowing(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2931,21 +2931,21 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2956,7 +2956,7 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInteractionDelayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInteractionDelayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInteractionDelayed(&self, value: i32) -> ::windows_core::Result<()> { @@ -2968,14 +2968,14 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultCommandIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDefaultCommandIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -2986,7 +2986,7 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCancelCommandIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -2998,7 +2998,7 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackButtonCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackButtonCommand)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -3014,13 +3014,13 @@ impl CoreWindowDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWithTitle(title: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICoreWindowDialogFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3049,7 +3049,7 @@ impl CoreWindowEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3079,7 +3079,7 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShowing(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3090,21 +3090,21 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MinSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3115,7 +3115,7 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInteractionDelayed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInteractionDelayed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInteractionDelayed(&self, value: i32) -> ::windows_core::Result<()> { @@ -3127,14 +3127,14 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultCommandIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDefaultCommandIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -3146,7 +3146,7 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackButtonCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackButtonCommand)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -3162,19 +3162,19 @@ impl CoreWindowFlyout { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(position: super::super::Foundation::Point) -> ::windows_core::Result { Self::ICoreWindowFlyoutFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), position, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTitle(position: super::super::Foundation::Point, title: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ICoreWindowFlyoutFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), position, ::core::mem::transmute_copy(title), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), position, ::core::mem::transmute_copy(title), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3230,13 +3230,13 @@ impl CoreWindowResizeManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShouldWaitForLayoutCompletion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShouldWaitForLayoutCompletion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICoreWindowResizeManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3266,7 +3266,7 @@ impl IdleDispatchedHandlerArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsDispatcherIdle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsDispatcherIdle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3290,7 +3290,7 @@ impl InputEnabledEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3301,7 +3301,7 @@ impl InputEnabledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3325,7 +3325,7 @@ impl KeyEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3337,21 +3337,21 @@ impl KeyEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeyStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DeviceId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3375,7 +3375,7 @@ impl PointerEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3387,7 +3387,7 @@ impl PointerEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentPoint)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -3395,7 +3395,7 @@ impl PointerEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyModifiers)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "UI_Input"))] @@ -3403,7 +3403,7 @@ impl PointerEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3429,7 +3429,7 @@ impl SystemNavigationManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveBackRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3440,7 +3440,7 @@ impl SystemNavigationManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppViewBackButtonVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppViewBackButtonVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAppViewBackButtonVisibility(&self, value: AppViewBackButtonVisibility) -> ::windows_core::Result<()> { @@ -3450,7 +3450,7 @@ impl SystemNavigationManager { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISystemNavigationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3481,7 +3481,7 @@ impl TouchHitTestingEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3492,7 +3492,7 @@ impl TouchHitTestingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProximityEvaluation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProximityEvaluation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProximityEvaluation(&self, value: CoreProximityEvaluation) -> ::windows_core::Result<()> { @@ -3503,28 +3503,28 @@ impl TouchHitTestingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Point)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingBox(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EvaluateProximityToRect(&self, controlboundingbox: super::super::Foundation::Rect) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluateProximityToRect)(::windows_core::Interface::as_raw(this), controlboundingbox, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluateProximityToRect)(::windows_core::Interface::as_raw(this), controlboundingbox, &mut result__).map(|| result__) } } pub fn EvaluateProximityToPolygon(&self, controlvertices: &[super::super::Foundation::Point]) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EvaluateProximityToPolygon)(::windows_core::Interface::as_raw(this), controlvertices.len().try_into().unwrap(), controlvertices.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EvaluateProximityToPolygon)(::windows_core::Interface::as_raw(this), controlvertices.len().try_into().unwrap(), controlvertices.as_ptr(), &mut result__).map(|| result__) } } } @@ -3548,7 +3548,7 @@ impl VisibilityChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3559,7 +3559,7 @@ impl VisibilityChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3583,7 +3583,7 @@ impl WindowActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3594,7 +3594,7 @@ impl WindowActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowActivationState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowActivationState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3618,7 +3618,7 @@ impl WindowSizeChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3629,7 +3629,7 @@ impl WindowSizeChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Input/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Core/mod.rs index 8c3f811c75..4bd0a19a6e 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Core/mod.rs @@ -38,7 +38,7 @@ impl RadialControllerIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -46,7 +46,7 @@ impl RadialControllerIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dispatcher)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -54,7 +54,7 @@ impl RadialControllerIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -64,7 +64,7 @@ impl RadialControllerIndependentInputSource { { Self::IRadialControllerIndependentInputSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForView)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForView)(::windows_core::Interface::as_raw(this), view.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs index 129a39c111..ce7df36f0e 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs @@ -50,21 +50,21 @@ impl IInkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -72,7 +72,7 @@ impl IInkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -80,14 +80,14 @@ impl IInkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -95,7 +95,7 @@ impl IInkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -184,7 +184,7 @@ impl IInkAnalyzerFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAnalyzer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAnalyzer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -207,28 +207,28 @@ impl InkAnalysisInkBullet { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -236,7 +236,7 @@ impl InkAnalysisInkBullet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -244,14 +244,14 @@ impl InkAnalysisInkBullet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -259,7 +259,7 @@ impl InkAnalysisInkBullet { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -285,14 +285,14 @@ impl InkAnalysisInkDrawing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawingKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawingKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Center(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Center)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -300,28 +300,28 @@ impl InkAnalysisInkDrawing { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Points)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Points)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -329,7 +329,7 @@ impl InkAnalysisInkDrawing { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -337,14 +337,14 @@ impl InkAnalysisInkDrawing { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -352,7 +352,7 @@ impl InkAnalysisInkDrawing { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -378,7 +378,7 @@ impl InkAnalysisInkWord { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -386,28 +386,28 @@ impl InkAnalysisInkWord { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextAlternates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextAlternates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -415,7 +415,7 @@ impl InkAnalysisInkWord { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -423,14 +423,14 @@ impl InkAnalysisInkWord { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -438,7 +438,7 @@ impl InkAnalysisInkWord { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -464,35 +464,35 @@ impl InkAnalysisLine { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IndentLevel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndentLevel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndentLevel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -500,7 +500,7 @@ impl InkAnalysisLine { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -508,14 +508,14 @@ impl InkAnalysisLine { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -523,7 +523,7 @@ impl InkAnalysisLine { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -549,28 +549,28 @@ impl InkAnalysisListItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -578,7 +578,7 @@ impl InkAnalysisListItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -586,14 +586,14 @@ impl InkAnalysisListItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -601,7 +601,7 @@ impl InkAnalysisListItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -627,21 +627,21 @@ impl InkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -649,7 +649,7 @@ impl InkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -657,14 +657,14 @@ impl InkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -672,7 +672,7 @@ impl InkAnalysisNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -698,21 +698,21 @@ impl InkAnalysisParagraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -720,7 +720,7 @@ impl InkAnalysisParagraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -728,14 +728,14 @@ impl InkAnalysisParagraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -743,14 +743,14 @@ impl InkAnalysisParagraph { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognizedText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -775,7 +775,7 @@ impl InkAnalysisResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -801,21 +801,21 @@ impl InkAnalysisRoot { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -823,7 +823,7 @@ impl InkAnalysisRoot { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -831,14 +831,14 @@ impl InkAnalysisRoot { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -846,14 +846,14 @@ impl InkAnalysisRoot { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognizedText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -861,7 +861,7 @@ impl InkAnalysisRoot { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindNodes)(::windows_core::Interface::as_raw(this), nodekind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindNodes)(::windows_core::Interface::as_raw(this), nodekind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -887,21 +887,21 @@ impl InkAnalysisWritingRegion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -909,7 +909,7 @@ impl InkAnalysisWritingRegion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotatedBoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -917,14 +917,14 @@ impl InkAnalysisWritingRegion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Children)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parent(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -932,14 +932,14 @@ impl InkAnalysisWritingRegion { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RecognizedText(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -971,14 +971,14 @@ impl InkAnalyzer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnalysisRoot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnalysisRoot)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsAnalyzing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAnalyzing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAnalyzing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddDataForStroke(&self, stroke: P0) -> ::windows_core::Result<()> @@ -1027,7 +1027,7 @@ impl InkAnalyzer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnalyzeAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnalyzeAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs index 587dfd1b7c..e8d57ca7d6 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs @@ -153,21 +153,21 @@ impl CoreIncrementalInkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), &mut result__).map(|| result__) } } pub fn CreateInkStroke(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInkStroke)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInkStroke)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DrawingAttributes(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -175,14 +175,14 @@ impl CoreIncrementalInkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -192,7 +192,7 @@ impl CoreIncrementalInkStroke { { Self::ICoreIncrementalInkStrokeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), drawingattributes.into_param().abi(), pointtransform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), drawingattributes.into_param().abi(), pointtransform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -226,7 +226,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntering)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntering)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntering(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -241,7 +241,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerHovering)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerHovering)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerHovering(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -256,7 +256,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExiting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExiting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExiting(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -271,7 +271,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressing(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -286,7 +286,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoving)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoving)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoving(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -301,7 +301,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleasing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleasing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleasing(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -316,7 +316,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerLost(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -327,7 +327,7 @@ impl CoreInkIndependentInputSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -335,7 +335,7 @@ impl CoreInkIndependentInputSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerCursor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Core")] @@ -352,7 +352,7 @@ impl CoreInkIndependentInputSource { { Self::ICoreInkIndependentInputSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -389,7 +389,7 @@ impl CoreInkPresenterHost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Composition")] @@ -397,7 +397,7 @@ impl CoreInkPresenterHost { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RootVisual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RootVisual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Composition")] @@ -431,21 +431,21 @@ impl CoreWetStrokeUpdateEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewInkPoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewInkPoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PointerId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Disposition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disposition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDisposition(&self, value: CoreWetStrokeDisposition) -> ::windows_core::Result<()> { @@ -477,7 +477,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetStrokeStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetStrokeStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWetStrokeStarting(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -491,7 +491,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetStrokeContinuing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetStrokeContinuing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWetStrokeContinuing(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -505,7 +505,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetStrokeStopping)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetStrokeStopping)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWetStrokeStopping(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -519,7 +519,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetStrokeCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetStrokeCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWetStrokeCompleted(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -533,7 +533,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WetStrokeCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WetStrokeCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWetStrokeCanceled(&self, cookie: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -544,7 +544,7 @@ impl CoreWetStrokeUpdateSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(inkpresenter: P0) -> ::windows_core::Result @@ -553,7 +553,7 @@ impl CoreWetStrokeUpdateSource { { Self::ICoreWetStrokeUpdateSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Inking/Preview/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Inking/Preview/mod.rs index ba7a1bbdf1..e812aabd00 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Inking/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Inking/Preview/mod.rs @@ -35,7 +35,7 @@ impl PalmRejectionDelayZonePreview { { Self::IPalmRejectionDelayZonePreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForVisual)(::windows_core::Interface::as_raw(this), inputpanelvisual.into_param().abi(), inputpanelrect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForVisual)(::windows_core::Interface::as_raw(this), inputpanelvisual.into_param().abi(), inputpanelrect, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Composition")] @@ -46,7 +46,7 @@ impl PalmRejectionDelayZonePreview { { Self::IPalmRejectionDelayZonePreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForVisualWithViewportClip)(::windows_core::Interface::as_raw(this), inputpanelvisual.into_param().abi(), inputpanelrect, viewportvisual.into_param().abi(), viewportrect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForVisualWithViewportClip)(::windows_core::Interface::as_raw(this), inputpanelvisual.into_param().abi(), inputpanelrect, viewportvisual.into_param().abi(), viewportrect, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs index 36dd8ba8f5..17a50b4056 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs @@ -160,7 +160,7 @@ impl IInkPointFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -281,7 +281,7 @@ impl IInkPresenterRulerFactory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -301,14 +301,14 @@ impl IInkPresenterStencil { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -319,7 +319,7 @@ impl IInkPresenterStencil { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -330,7 +330,7 @@ impl IInkPresenterStencil { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -342,7 +342,7 @@ impl IInkPresenterStencil { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -414,7 +414,7 @@ impl IInkRecognizerContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -422,7 +422,7 @@ impl IInkRecognizerContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -537,7 +537,7 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddStroke(&self, stroke: P0) -> ::windows_core::Result<()> @@ -551,14 +551,14 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -569,14 +569,14 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).map(|| result__) } } pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).map(|| result__) } } pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> { @@ -587,14 +587,14 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).map(|| result__) } } pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -605,7 +605,7 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -616,7 +616,7 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -632,7 +632,7 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -640,7 +640,7 @@ impl IInkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -861,7 +861,7 @@ impl InkDrawingAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Color)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -872,7 +872,7 @@ impl InkDrawingAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenTip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenTip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPenTip(&self, value: PenTipShape) -> ::windows_core::Result<()> { @@ -883,7 +883,7 @@ impl InkDrawingAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: super::super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -894,7 +894,7 @@ impl InkDrawingAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorePressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorePressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIgnorePressure(&self, value: bool) -> ::windows_core::Result<()> { @@ -905,7 +905,7 @@ impl InkDrawingAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FitToCurve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FitToCurve)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFitToCurve(&self, value: bool) -> ::windows_core::Result<()> { @@ -917,7 +917,7 @@ impl InkDrawingAttributes { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenTipTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenTipTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -929,7 +929,7 @@ impl InkDrawingAttributes { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawAsHighlighter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawAsHighlighter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDrawAsHighlighter(&self, value: bool) -> ::windows_core::Result<()> { @@ -940,21 +940,21 @@ impl InkDrawingAttributes { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PencilProperties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PencilProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PencilProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IgnoreTilt(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnoreTilt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnoreTilt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIgnoreTilt(&self, value: bool) -> ::windows_core::Result<()> { @@ -965,13 +965,13 @@ impl InkDrawingAttributes { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ModelerAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ModelerAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateForPencil() -> ::windows_core::Result { Self::IInkDrawingAttributesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForPencil)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForPencil)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1001,7 +1001,7 @@ impl InkDrawingAttributesPencilProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f64) -> ::windows_core::Result<()> { @@ -1030,7 +1030,7 @@ impl InkInputConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrimaryBarrelButtonInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrimaryBarrelButtonInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPrimaryBarrelButtonInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1041,7 +1041,7 @@ impl InkInputConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEraserInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEraserInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEraserInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1052,7 +1052,7 @@ impl InkInputConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPenHapticFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPenHapticFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsPenHapticFeedbackEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1081,7 +1081,7 @@ impl InkInputProcessingConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: InkInputProcessingMode) -> ::windows_core::Result<()> { @@ -1092,7 +1092,7 @@ impl InkInputProcessingConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightDragAction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightDragAction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightDragAction(&self, value: InkInputRightDragAction) -> ::windows_core::Result<()> { @@ -1129,7 +1129,7 @@ impl InkManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Mode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMode(&self, value: InkManipulationMode) -> ::windows_core::Result<()> { @@ -1150,7 +1150,7 @@ impl InkManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessPointerUpdate)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessPointerUpdate)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessPointerUp(&self, pointerpoint: P0) -> ::windows_core::Result @@ -1160,7 +1160,7 @@ impl InkManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessPointerUp)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessPointerUp)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetDefaultDrawingAttributes(&self, drawingattributes: P0) -> ::windows_core::Result<()> @@ -1175,7 +1175,7 @@ impl InkManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync2)(::windows_core::Interface::as_raw(this), recognitiontarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync2)(::windows_core::Interface::as_raw(this), recognitiontarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultRecognizer(&self, recognizer: P0) -> ::windows_core::Result<()> @@ -1193,7 +1193,7 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1201,14 +1201,14 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BoundingRect(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddStroke(&self, stroke: P0) -> ::windows_core::Result<()> @@ -1222,14 +1222,14 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1240,14 +1240,14 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).map(|| result__) } } pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).map(|| result__) } } pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> { @@ -1258,14 +1258,14 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).map(|| result__) } } pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1276,7 +1276,7 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1287,7 +1287,7 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1303,7 +1303,7 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1311,7 +1311,7 @@ impl InkManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1334,7 +1334,7 @@ impl InkModelerAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PredictionTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PredictionTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPredictionTime(&self, value: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1345,7 +1345,7 @@ impl InkModelerAttributes { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScalingFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScalingFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScalingFactor(&self, value: f32) -> ::windows_core::Result<()> { @@ -1356,7 +1356,7 @@ impl InkModelerAttributes { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseVelocityBasedPressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseVelocityBasedPressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseVelocityBasedPressure(&self, value: bool) -> ::windows_core::Result<()> { @@ -1385,47 +1385,47 @@ impl InkPoint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pressure(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TiltX(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TiltY(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateInkPoint(position: super::super::super::Foundation::Point, pressure: f32) -> ::windows_core::Result { Self::IInkPointFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInkPoint)(::windows_core::Interface::as_raw(this), position, pressure, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInkPointWithTiltAndTimestamp(position: super::super::super::Foundation::Point, pressure: f32, tiltx: f32, tilty: f32, timestamp: u64) -> ::windows_core::Result { Self::IInkPointFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInkPointWithTiltAndTimestamp)(::windows_core::Interface::as_raw(this), position, pressure, tiltx, tilty, timestamp, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInkPointWithTiltAndTimestamp)(::windows_core::Interface::as_raw(this), position, pressure, tiltx, tilty, timestamp, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1460,7 +1460,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInputEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInputEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1472,7 +1472,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputDeviceTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputDeviceTypes)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Core")] @@ -1484,28 +1484,28 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnprocessedInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnprocessedInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StrokeInput(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InputProcessingConfiguration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputProcessingConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputProcessingConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StrokeContainer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeContainer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeContainer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStrokeContainer(&self, value: P0) -> ::windows_core::Result<()> @@ -1519,7 +1519,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CopyDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CopyDefaultDrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateDefaultDrawingAttributes(&self, value: P0) -> ::windows_core::Result<()> @@ -1533,7 +1533,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivateCustomDrying)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivateCustomDrying)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPredefinedConfiguration(&self, value: InkPresenterPredefinedConfiguration) -> ::windows_core::Result<()> { @@ -1547,7 +1547,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokesCollected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokesCollected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokesCollected(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1561,7 +1561,7 @@ impl InkPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokesErased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokesErased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokesErased(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1572,7 +1572,7 @@ impl InkPresenter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighContrastAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighContrastAdjustment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHighContrastAdjustment(&self, value: InkHighContrastAdjustment) -> ::windows_core::Result<()> { @@ -1583,7 +1583,7 @@ impl InkPresenter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1609,7 +1609,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAreTickMarksVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1620,7 +1620,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreRaysVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreRaysVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAreRaysVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1631,7 +1631,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCenterMarkerVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCenterMarkerVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCenterMarkerVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1642,7 +1642,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAngleReadoutVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAngleReadoutVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsAngleReadoutVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1653,7 +1653,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsResizable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsResizable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsResizable(&self, value: bool) -> ::windows_core::Result<()> { @@ -1664,7 +1664,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Radius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRadius(&self, value: f64) -> ::windows_core::Result<()> { @@ -1675,7 +1675,7 @@ impl InkPresenterProtractor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AccentColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AccentColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAccentColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -1688,21 +1688,21 @@ impl InkPresenterProtractor { { Self::IInkPresenterProtractorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1713,7 +1713,7 @@ impl InkPresenterProtractor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -1724,7 +1724,7 @@ impl InkPresenterProtractor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -1736,7 +1736,7 @@ impl InkPresenterProtractor { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1772,7 +1772,7 @@ impl InkPresenterRuler { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: f64) -> ::windows_core::Result<()> { @@ -1783,7 +1783,7 @@ impl InkPresenterRuler { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWidth(&self, value: f64) -> ::windows_core::Result<()> { @@ -1794,7 +1794,7 @@ impl InkPresenterRuler { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AreTickMarksVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAreTickMarksVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1805,7 +1805,7 @@ impl InkPresenterRuler { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCompassVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCompassVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsCompassVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1818,21 +1818,21 @@ impl InkPresenterRuler { { Self::IInkPresenterRulerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), inkpresenter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Kind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1843,7 +1843,7 @@ impl InkPresenterRuler { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -1854,7 +1854,7 @@ impl InkPresenterRuler { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -1866,7 +1866,7 @@ impl InkPresenterRuler { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1901,7 +1901,7 @@ impl InkRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1909,7 +1909,7 @@ impl InkRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTextCandidates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTextCandidates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1917,7 +1917,7 @@ impl InkRecognitionResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1942,7 +1942,7 @@ impl InkRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1984,7 +1984,7 @@ impl InkRecognizerContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognizeAsync)(::windows_core::Interface::as_raw(this), strokecollection.into_param().abi(), recognitiontarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1992,7 +1992,7 @@ impl InkRecognizerContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognizers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2015,7 +2015,7 @@ impl InkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DrawingAttributes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDrawingAttributes(&self, value: P0) -> ::windows_core::Result<()> @@ -2029,14 +2029,14 @@ impl InkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Selected(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelected(&self, value: bool) -> ::windows_core::Result<()> { @@ -2047,7 +2047,7 @@ impl InkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Recognized)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Recognized)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2055,14 +2055,14 @@ impl InkStroke { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRenderingSegments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRenderingSegments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Clone(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -2070,7 +2070,7 @@ impl InkStroke { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointTransform)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointTransform)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -2083,21 +2083,21 @@ impl InkStroke { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInkPoints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInkPoints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StrokeStartedTime(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeStartedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeStartedTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStrokeStartedTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2111,7 +2111,7 @@ impl InkStroke { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeDuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetStrokeDuration(&self, value: P0) -> ::windows_core::Result<()> @@ -2125,7 +2125,7 @@ impl InkStroke { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2167,7 +2167,7 @@ impl InkStrokeBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppendToStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppendToStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EndStroke(&self, pointerpoint: P0) -> ::windows_core::Result @@ -2177,7 +2177,7 @@ impl InkStrokeBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndStroke)(::windows_core::Interface::as_raw(this), pointerpoint.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2188,7 +2188,7 @@ impl InkStrokeBuilder { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStroke)(::windows_core::Interface::as_raw(this), points.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStroke)(::windows_core::Interface::as_raw(this), points.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultDrawingAttributes(&self, drawingattributes: P0) -> ::windows_core::Result<()> @@ -2206,7 +2206,7 @@ impl InkStrokeBuilder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Foundation_Numerics"))] @@ -2219,7 +2219,7 @@ impl InkStrokeBuilder { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), transform, strokestartedtime.into_param().abi(), strokeduration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateStrokeFromInkPoints)(::windows_core::Interface::as_raw(this), inkpoints.into_param().abi(), transform, strokestartedtime.into_param().abi(), strokeduration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2250,7 +2250,7 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddStroke(&self, stroke: P0) -> ::windows_core::Result<()> @@ -2264,14 +2264,14 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteSelected)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MoveSelected(&self, translation: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveSelected)(::windows_core::Interface::as_raw(this), translation, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2282,14 +2282,14 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithPolyLine)(::windows_core::Interface::as_raw(this), polyline.into_param().abi(), &mut result__).map(|| result__) } } pub fn SelectWithLine(&self, from: super::super::super::Foundation::Point, to: super::super::super::Foundation::Point) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectWithLine)(::windows_core::Interface::as_raw(this), from, to, &mut result__).map(|| result__) } } pub fn CopySelectedToClipboard(&self) -> ::windows_core::Result<()> { @@ -2300,14 +2300,14 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PasteFromClipboard)(::windows_core::Interface::as_raw(this), position, &mut result__).map(|| result__) } } pub fn CanPasteFromClipboard(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPasteFromClipboard)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2318,7 +2318,7 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadAsync)(::windows_core::Interface::as_raw(this), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2329,7 +2329,7 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2345,7 +2345,7 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2353,7 +2353,7 @@ impl InkStrokeContainer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRecognitionResults)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2376,14 +2376,14 @@ impl InkStrokeContainer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveWithFormatAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), inkpersistenceformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveWithFormatAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), inkpersistenceformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStrokeById(&self, id: u32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStrokeById)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStrokeById)(::windows_core::Interface::as_raw(this), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2410,7 +2410,7 @@ impl InkStrokeInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokeStarted(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2425,7 +2425,7 @@ impl InkStrokeInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeContinued)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeContinued)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokeContinued(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2440,7 +2440,7 @@ impl InkStrokeInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokeEnded(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2455,7 +2455,7 @@ impl InkStrokeInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StrokeCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StrokeCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStrokeCanceled(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2466,7 +2466,7 @@ impl InkStrokeInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2491,49 +2491,49 @@ impl InkStrokeRenderingSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BezierControlPoint1(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BezierControlPoint1)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BezierControlPoint1)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BezierControlPoint2(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BezierControlPoint2)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BezierControlPoint2)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Pressure(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TiltX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TiltY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Twist(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Twist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Twist)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2559,7 +2559,7 @@ impl InkStrokesCollectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2583,7 +2583,7 @@ impl InkStrokesErasedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Strokes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2607,7 +2607,7 @@ impl InkSynchronizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BeginDry)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BeginDry)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EndDry(&self) -> ::windows_core::Result<()> { @@ -2638,7 +2638,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerEntered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerEntered(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2653,7 +2653,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerHovered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerHovered)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerHovered(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2668,7 +2668,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerExited(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2683,7 +2683,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerPressed(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2698,7 +2698,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerMoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerMoved(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2713,7 +2713,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerReleased(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2728,7 +2728,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePointerLost(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2739,7 +2739,7 @@ impl InkUnprocessedInput { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InkPresenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2764,42 +2764,42 @@ impl PenAndInkSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHandwritingDirectlyIntoTextFieldEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHandwritingDirectlyIntoTextFieldEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PenHandedness(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenHandedness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenHandedness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HandwritingLineHeight(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HandwritingLineHeight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HandwritingLineHeight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FontFamilyName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserConsentsToHandwritingTelemetryCollection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserConsentsToHandwritingTelemetryCollection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserConsentsToHandwritingTelemetryCollection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTouchHandwritingEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTouchHandwritingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTouchHandwritingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPenHandedness(&self, value: PenHandedness) -> ::windows_core::Result<()> { @@ -2809,7 +2809,7 @@ impl PenAndInkSettings { pub fn GetDefault() -> ::windows_core::Result { Self::IPenAndInkSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs index b192387c99..a94916db80 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs @@ -162,7 +162,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Buttons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Buttons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Gaming_Input")] @@ -174,7 +174,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftThumbstickX(&self, value: f64) -> ::windows_core::Result<()> { @@ -185,7 +185,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftThumbstickY(&self, value: f64) -> ::windows_core::Result<()> { @@ -196,7 +196,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftTrigger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftTrigger(&self, value: f64) -> ::windows_core::Result<()> { @@ -207,7 +207,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightThumbstickX(&self, value: f64) -> ::windows_core::Result<()> { @@ -218,7 +218,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightThumbstickY(&self, value: f64) -> ::windows_core::Result<()> { @@ -229,7 +229,7 @@ impl InjectedInputGamepadInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightTrigger)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightTrigger)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightTrigger(&self, value: f64) -> ::windows_core::Result<()> { @@ -240,7 +240,7 @@ impl InjectedInputGamepadInfo { pub fn CreateInstanceFromGamepadReading(reading: super::super::super::super::Gaming::Input::GamepadReading) -> ::windows_core::Result { Self::IInjectedInputGamepadInfoFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstanceFromGamepadReading)(::windows_core::Interface::as_raw(this), reading, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstanceFromGamepadReading)(::windows_core::Interface::as_raw(this), reading, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -275,7 +275,7 @@ impl InjectedInputKeyboardInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeyOptions(&self, value: InjectedInputKeyOptions) -> ::windows_core::Result<()> { @@ -286,7 +286,7 @@ impl InjectedInputKeyboardInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScanCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScanCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetScanCode(&self, value: u16) -> ::windows_core::Result<()> { @@ -297,7 +297,7 @@ impl InjectedInputKeyboardInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVirtualKey(&self, value: u16) -> ::windows_core::Result<()> { @@ -331,7 +331,7 @@ impl InjectedInputMouseInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMouseOptions(&self, value: InjectedInputMouseOptions) -> ::windows_core::Result<()> { @@ -342,7 +342,7 @@ impl InjectedInputMouseInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseData)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMouseData(&self, value: u32) -> ::windows_core::Result<()> { @@ -353,7 +353,7 @@ impl InjectedInputMouseInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeltaY(&self, value: i32) -> ::windows_core::Result<()> { @@ -364,7 +364,7 @@ impl InjectedInputMouseInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeltaX(&self, value: i32) -> ::windows_core::Result<()> { @@ -375,7 +375,7 @@ impl InjectedInputMouseInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeOffsetInMilliseconds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeOffsetInMilliseconds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimeOffsetInMilliseconds(&self, value: u32) -> ::windows_core::Result<()> { @@ -409,7 +409,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPointerInfo(&self, value: InjectedInputPointerInfo) -> ::windows_core::Result<()> { @@ -420,7 +420,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenButtons)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenButtons)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPenButtons(&self, value: InjectedInputPenButtons) -> ::windows_core::Result<()> { @@ -431,7 +431,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PenParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PenParameters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPenParameters(&self, value: InjectedInputPenParameters) -> ::windows_core::Result<()> { @@ -442,7 +442,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPressure(&self, value: f64) -> ::windows_core::Result<()> { @@ -453,7 +453,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotation(&self, value: f64) -> ::windows_core::Result<()> { @@ -464,7 +464,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTiltX(&self, value: i32) -> ::windows_core::Result<()> { @@ -475,7 +475,7 @@ impl InjectedInputPenInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TiltY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTiltY(&self, value: i32) -> ::windows_core::Result<()> { @@ -509,7 +509,7 @@ impl InjectedInputTouchInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContact(&self, value: InjectedInputRectangle) -> ::windows_core::Result<()> { @@ -520,7 +520,7 @@ impl InjectedInputTouchInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOrientation(&self, value: i32) -> ::windows_core::Result<()> { @@ -531,7 +531,7 @@ impl InjectedInputTouchInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerInfo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPointerInfo(&self, value: InjectedInputPointerInfo) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ impl InjectedInputTouchInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPressure(&self, value: f64) -> ::windows_core::Result<()> { @@ -553,7 +553,7 @@ impl InjectedInputTouchInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchParameters)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTouchParameters(&self, value: InjectedInputTouchParameters) -> ::windows_core::Result<()> { @@ -645,13 +645,13 @@ impl InputInjector { pub fn TryCreate() -> ::windows_core::Result { Self::IInputInjectorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryCreateForAppBroadcastOnly() -> ::windows_core::Result { Self::IInputInjectorStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateForAppBroadcastOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateForAppBroadcastOnly)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Preview/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Preview/mod.rs index 4b733cf9ea..ec92e63d44 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Preview/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Preview/mod.rs @@ -19,7 +19,7 @@ impl InputActivationListenerPreview { { Self::IInputActivationListenerPreviewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForApplicationWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForApplicationWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs b/crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs index 78ce526cbf..3d41c9fa21 100644 --- a/crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs @@ -531,7 +531,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognitionStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognitionStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRecognitionStarted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -545,7 +545,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RecognitionEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RecognitionEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRecognitionEnded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -559,7 +559,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTapped(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -573,7 +573,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHoldStarted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -587,7 +587,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHoldCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -601,7 +601,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHoldCanceled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -615,7 +615,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationStarted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -629,7 +629,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -643,7 +643,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -657,7 +657,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationCanceled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -671,7 +671,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationStarted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -685,7 +685,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -699,7 +699,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -713,7 +713,7 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationCanceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationCanceled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -735,20 +735,20 @@ impl SpatialGestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetGestureSettings)(::windows_core::Interface::as_raw(this), settings, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetGestureSettings)(::windows_core::Interface::as_raw(this), settings, &mut result__).map(|| result__) } } pub fn GestureSettings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GestureSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GestureSettings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Create(settings: SpatialGestureSettings) -> ::windows_core::Result { Self::ISpatialGestureRecognizerFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), settings, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), settings, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -778,7 +778,7 @@ impl SpatialHoldCanceledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -803,7 +803,7 @@ impl SpatialHoldCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -828,7 +828,7 @@ impl SpatialHoldStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -839,7 +839,7 @@ impl SpatialHoldStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -864,7 +864,7 @@ impl SpatialInteraction { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceState)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -889,14 +889,14 @@ impl SpatialInteractionController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasTouchpad)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasTouchpad)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasThumbstick(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasThumbstick)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasThumbstick)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -904,28 +904,28 @@ impl SpatialInteractionController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VendorId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VendorId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ProductId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProductId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Version(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -933,7 +933,7 @@ impl SpatialInteractionController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetRenderableModelAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetRenderableModelAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Power")] @@ -941,7 +941,7 @@ impl SpatialInteractionController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBatteryReport)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -966,49 +966,49 @@ impl SpatialInteractionControllerProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTouchpadTouched)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTouchpadTouched)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsTouchpadPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTouchpadPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTouchpadPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsThumbstickPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsThumbstickPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsThumbstickPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ThumbstickX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbstickX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ThumbstickY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThumbstickY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TouchpadX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchpadX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchpadX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TouchpadY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchpadY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchpadY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1033,7 +1033,7 @@ impl SpatialInteractionDetectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1044,21 +1044,21 @@ impl SpatialInteractionDetectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Interaction(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Interaction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Interaction)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InteractionSource(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSource)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSource)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1086,7 +1086,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceDetected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1100,7 +1100,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceLost(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1114,7 +1114,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceUpdated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1128,7 +1128,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourcePressed(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1142,7 +1142,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSourceReleased(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1156,7 +1156,7 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInteractionDetected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1171,19 +1171,19 @@ impl SpatialInteractionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDetectedSourcesAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDetectedSourcesAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::ISpatialInteractionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSourceKindSupported(kind: SpatialInteractionSourceKind) -> ::windows_core::Result { Self::ISpatialInteractionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSourceKindSupported)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSourceKindSupported)(::windows_core::Interface::as_raw(this), kind, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1218,42 +1218,42 @@ impl SpatialInteractionSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPointingSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPointingSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPointingSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMenuSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMenuSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMenuSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGraspSupported(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGraspSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGraspSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Controller(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Controller)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception")] @@ -1264,14 +1264,14 @@ impl SpatialInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetStateAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetStateAtTimestamp)(::windows_core::Interface::as_raw(this), timestamp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handedness(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handedness)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handedness)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_People")] @@ -1279,7 +1279,7 @@ impl SpatialInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateHandMeshObserver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateHandMeshObserver)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_People")] @@ -1287,7 +1287,7 @@ impl SpatialInteractionSource { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateHandMeshObserverAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateHandMeshObserverAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1312,14 +1312,14 @@ impl SpatialInteractionSourceEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PressKind(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PressKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PressKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1345,7 +1345,7 @@ impl SpatialInteractionSourceLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1353,7 +1353,7 @@ impl SpatialInteractionSourceLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Numerics")] @@ -1361,14 +1361,14 @@ impl SpatialInteractionSourceLocation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PositionAccuracy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1376,14 +1376,14 @@ impl SpatialInteractionSourceLocation { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AngularVelocity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AngularVelocity)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourcePointerPose(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourcePointerPose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourcePointerPose)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1412,14 +1412,14 @@ impl SpatialInteractionSourceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetSourceLossMitigationDirection)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetSourceLossMitigationDirection)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceLossRisk(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceLossRisk)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceLossRisk)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1430,7 +1430,7 @@ impl SpatialInteractionSourceProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetLocation)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetLocation)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1455,21 +1455,21 @@ impl SpatialInteractionSourceState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Properties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception")] @@ -1477,7 +1477,7 @@ impl SpatialInteractionSourceState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_Spatial")] @@ -1488,42 +1488,42 @@ impl SpatialInteractionSourceState { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSelectPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSelectPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSelectPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMenuPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMenuPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMenuPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsGrasped(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGrasped)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGrasped)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SelectPressedValue(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectPressedValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectPressedValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ControllerProperties(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControllerProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControllerProperties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_People")] @@ -1531,7 +1531,7 @@ impl SpatialInteractionSourceState { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetHandPose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetHandPose)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1556,7 +1556,7 @@ impl SpatialManipulationCanceledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1581,7 +1581,7 @@ impl SpatialManipulationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1592,7 +1592,7 @@ impl SpatialManipulationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetCumulativeDelta)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetCumulativeDelta)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1618,7 +1618,7 @@ impl SpatialManipulationDelta { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Translation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Translation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1643,7 +1643,7 @@ impl SpatialManipulationStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1654,7 +1654,7 @@ impl SpatialManipulationStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1679,7 +1679,7 @@ impl SpatialManipulationUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1690,7 +1690,7 @@ impl SpatialManipulationUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetCumulativeDelta)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetCumulativeDelta)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1715,7 +1715,7 @@ impl SpatialNavigationCanceledEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1740,7 +1740,7 @@ impl SpatialNavigationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1748,7 +1748,7 @@ impl SpatialNavigationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1773,7 +1773,7 @@ impl SpatialNavigationStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1784,28 +1784,28 @@ impl SpatialNavigationStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsNavigatingX(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNavigatingX)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNavigatingX)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNavigatingY(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNavigatingY)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNavigatingY)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsNavigatingZ(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsNavigatingZ)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsNavigatingZ)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1830,7 +1830,7 @@ impl SpatialNavigationUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1838,7 +1838,7 @@ impl SpatialNavigationUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NormalizedOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NormalizedOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1864,7 +1864,7 @@ impl SpatialPointerInteractionSourcePose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1872,7 +1872,7 @@ impl SpatialPointerInteractionSourcePose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForwardDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForwardDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1880,7 +1880,7 @@ impl SpatialPointerInteractionSourcePose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpDirection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpDirection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Numerics")] @@ -1888,14 +1888,14 @@ impl SpatialPointerInteractionSourcePose { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PositionAccuracy(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PositionAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PositionAccuracy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1921,7 +1921,7 @@ impl SpatialPointerPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_People")] @@ -1929,7 +1929,7 @@ impl SpatialPointerPose { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Head)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Head)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetInteractionSourcePose(&self, source: P0) -> ::windows_core::Result @@ -1939,7 +1939,7 @@ impl SpatialPointerPose { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetInteractionSourcePose)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetInteractionSourcePose)(::windows_core::Interface::as_raw(this), source.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Perception_People")] @@ -1947,14 +1947,14 @@ impl SpatialPointerPose { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Eyes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Eyes)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsHeadCapturedBySystem(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHeadCapturedBySystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHeadCapturedBySystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -1965,7 +1965,7 @@ impl SpatialPointerPose { { Self::ISpatialPointerPoseStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAtTimestamp)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), timestamp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAtTimestamp)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), timestamp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1995,7 +1995,7 @@ impl SpatialRecognitionEndedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2020,7 +2020,7 @@ impl SpatialRecognitionStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -2031,14 +2031,14 @@ impl SpatialRecognitionStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsGesturePossible(&self, gesture: SpatialGestureSettings) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsGesturePossible)(::windows_core::Interface::as_raw(this), gesture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsGesturePossible)(::windows_core::Interface::as_raw(this), gesture, &mut result__).map(|| result__) } } } @@ -2063,7 +2063,7 @@ impl SpatialTappedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InteractionSourceKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Perception_Spatial")] @@ -2074,14 +2074,14 @@ impl SpatialTappedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetPointerPose)(::windows_core::Interface::as_raw(this), coordinatesystem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TapCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TapCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TapCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Input/mod.rs b/crates/libs/windows/src/Windows/UI/Input/mod.rs index f1273b4a2e..cc0553bb78 100644 --- a/crates/libs/windows/src/Windows/UI/Input/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Input/mod.rs @@ -406,21 +406,21 @@ impl IPointerPointTransform { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Inverse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Inverse)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryTransform(&self, inpoint: super::super::Foundation::Point, outpoint: &mut super::super::Foundation::Point) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryTransform)(::windows_core::Interface::as_raw(this), inpoint, outpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryTransform)(::windows_core::Interface::as_raw(this), inpoint, outpoint, &mut result__).map(|| result__) } } pub fn TransformBounds(&self, rect: super::super::Foundation::Rect) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransformBounds)(::windows_core::Interface::as_raw(this), rect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransformBounds)(::windows_core::Interface::as_raw(this), rect, &mut result__).map(|| result__) } } } @@ -846,28 +846,28 @@ impl CrossSlidingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CrossSlidingState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrossSlidingState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrossSlidingState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -891,28 +891,28 @@ impl DraggingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DraggingState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DraggingState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DraggingState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -938,7 +938,7 @@ impl EdgeGesture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Starting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Starting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -952,7 +952,7 @@ impl EdgeGesture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Completed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -966,7 +966,7 @@ impl EdgeGesture { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCanceled(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -976,7 +976,7 @@ impl EdgeGesture { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IEdgeGestureStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1004,7 +1004,7 @@ impl EdgeGestureEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1034,7 +1034,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GestureSettings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GestureSettings)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGestureSettings(&self, value: GestureSettings) -> ::windows_core::Result<()> { @@ -1045,21 +1045,21 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInertial)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInertial)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsActive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ShowGestureFeedback(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowGestureFeedback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowGestureFeedback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowGestureFeedback(&self, value: bool) -> ::windows_core::Result<()> { @@ -1070,7 +1070,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PivotCenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PivotCenter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPivotCenter(&self, value: super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -1081,7 +1081,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PivotRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PivotRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPivotRadius(&self, value: f32) -> ::windows_core::Result<()> { @@ -1092,7 +1092,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaTranslationDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaTranslationDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaTranslationDeceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -1103,7 +1103,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaRotationDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaRotationDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaRotationDeceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -1114,7 +1114,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaExpansionDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaExpansionDeceleration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaExpansionDeceleration(&self, value: f32) -> ::windows_core::Result<()> { @@ -1125,7 +1125,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaTranslationDisplacement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaTranslationDisplacement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaTranslationDisplacement(&self, value: f32) -> ::windows_core::Result<()> { @@ -1136,7 +1136,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaRotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaRotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -1147,7 +1147,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InertiaExpansion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InertiaExpansion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInertiaExpansion(&self, value: f32) -> ::windows_core::Result<()> { @@ -1158,7 +1158,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationExact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationExact)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetManipulationExact(&self, value: bool) -> ::windows_core::Result<()> { @@ -1169,7 +1169,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrossSlideThresholds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrossSlideThresholds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCrossSlideThresholds(&self, value: CrossSlideThresholds) -> ::windows_core::Result<()> { @@ -1180,7 +1180,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrossSlideHorizontally)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrossSlideHorizontally)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCrossSlideHorizontally(&self, value: bool) -> ::windows_core::Result<()> { @@ -1191,7 +1191,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrossSlideExact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrossSlideExact)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCrossSlideExact(&self, value: bool) -> ::windows_core::Result<()> { @@ -1202,7 +1202,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoProcessInertia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoProcessInertia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutoProcessInertia(&self, value: bool) -> ::windows_core::Result<()> { @@ -1213,7 +1213,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseWheelParameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseWheelParameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanBeDoubleTap(&self, value: P0) -> ::windows_core::Result @@ -1223,7 +1223,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanBeDoubleTap)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanBeDoubleTap)(::windows_core::Interface::as_raw(this), value.into_param().abi(), &mut result__).map(|| result__) } } pub fn ProcessDownEvent(&self, value: P0) -> ::windows_core::Result<()> @@ -1270,7 +1270,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTapped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1284,7 +1284,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightTapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightTapped)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRightTapped(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1298,7 +1298,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Holding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Holding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHolding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1312,7 +1312,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dragging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dragging)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDragging(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1326,7 +1326,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationStarted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1340,7 +1340,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationUpdated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1354,7 +1354,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationInertiaStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationInertiaStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationInertiaStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1368,7 +1368,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ManipulationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ManipulationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveManipulationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1382,7 +1382,7 @@ impl GestureRecognizer { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CrossSliding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CrossSliding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCrossSliding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1393,7 +1393,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TapMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TapMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTapMinContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1404,7 +1404,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TapMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TapMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTapMaxContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1415,7 +1415,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHoldMinContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1426,7 +1426,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHoldMaxContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1437,7 +1437,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldRadius)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldRadius)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHoldRadius(&self, value: f32) -> ::windows_core::Result<()> { @@ -1448,7 +1448,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldStartDelay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldStartDelay)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHoldStartDelay(&self, value: super::super::Foundation::TimeSpan) -> ::windows_core::Result<()> { @@ -1459,7 +1459,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TranslationMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TranslationMinContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTranslationMinContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1470,7 +1470,7 @@ impl GestureRecognizer { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TranslationMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TranslationMaxContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTranslationMaxContactCount(&self, value: u32) -> ::windows_core::Result<()> { @@ -1498,35 +1498,35 @@ impl HoldingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HoldingState(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HoldingState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HoldingState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1554,7 +1554,7 @@ impl InputActivationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn InputActivationChanged(&self, handler: P0) -> ::windows_core::Result @@ -1564,7 +1564,7 @@ impl InputActivationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputActivationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputActivationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputActivationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1593,7 +1593,7 @@ impl InputActivationListenerActivationChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1618,7 +1618,7 @@ impl KeyboardDeliveryInterceptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInterceptionEnabledWhenInForeground)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInterceptionEnabledWhenInForeground)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsInterceptionEnabledWhenInForeground(&self, value: bool) -> ::windows_core::Result<()> { @@ -1633,7 +1633,7 @@ impl KeyboardDeliveryInterceptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyDown)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyDown(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1648,7 +1648,7 @@ impl KeyboardDeliveryInterceptor { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyUp)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveKeyUp(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1658,7 +1658,7 @@ impl KeyboardDeliveryInterceptor { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IKeyboardDeliveryInterceptorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1689,42 +1689,42 @@ impl ManipulationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cumulative(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Velocities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1748,42 +1748,42 @@ impl ManipulationInertiaStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delta(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cumulative(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Velocities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1807,28 +1807,28 @@ impl ManipulationStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cumulative(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1852,49 +1852,49 @@ impl ManipulationUpdatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Delta(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Cumulative(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cumulative)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Velocities(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Velocities)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CurrentContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1917,7 +1917,7 @@ impl MouseWheelParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharTranslation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharTranslation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharTranslation(&self, value: super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -1928,7 +1928,7 @@ impl MouseWheelParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeltaScale(&self, value: f32) -> ::windows_core::Result<()> { @@ -1939,7 +1939,7 @@ impl MouseWheelParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeltaRotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeltaRotationAngle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDeltaRotationAngle(&self, value: f32) -> ::windows_core::Result<()> { @@ -1950,7 +1950,7 @@ impl MouseWheelParameters { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageTranslation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageTranslation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPageTranslation(&self, value: super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -1978,69 +1978,69 @@ impl PointerPoint { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDevice)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDevice)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RawPosition(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RawPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RawPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn FrameId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamp(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInContact(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInContact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInContact)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Properties(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetCurrentPoint(pointerid: u32) -> ::windows_core::Result { Self::IPointerPointStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentPoint)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentPoint)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn GetIntermediatePoints(pointerid: u32) -> ::windows_core::Result> { Self::IPointerPointStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIntermediatePoints)(::windows_core::Interface::as_raw(this), pointerid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetCurrentPointTransformed(pointerid: u32, transform: P0) -> ::windows_core::Result @@ -2049,7 +2049,7 @@ impl PointerPoint { { Self::IPointerPointStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCurrentPointTransformed)(::windows_core::Interface::as_raw(this), pointerid, transform.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCurrentPointTransformed)(::windows_core::Interface::as_raw(this), pointerid, transform.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -2059,7 +2059,7 @@ impl PointerPoint { { Self::IPointerPointStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIntermediatePointsTransformed)(::windows_core::Interface::as_raw(this), pointerid, transform.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIntermediatePointsTransformed)(::windows_core::Interface::as_raw(this), pointerid, transform.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2087,175 +2087,175 @@ impl PointerPointProperties { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pressure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInverted(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInverted)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInverted)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsEraser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEraser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEraser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Orientation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn XTilt(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XTilt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XTilt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn YTilt(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YTilt)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YTilt)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Twist(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Twist)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Twist)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactRectRaw(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactRectRaw)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactRectRaw)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TouchConfidence(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TouchConfidence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TouchConfidence)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLeftButtonPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLeftButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLeftButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsRightButtonPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRightButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRightButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsMiddleButtonPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMiddleButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMiddleButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MouseWheelDelta(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseWheelDelta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseWheelDelta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsHorizontalMouseWheel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsHorizontalMouseWheel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsHorizontalMouseWheel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPrimary(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrimary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrimary)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsInRange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsInRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsInRange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCanceled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsBarrelButtonPressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBarrelButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBarrelButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsXButton1Pressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsXButton1Pressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsXButton1Pressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsXButton2Pressed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsXButton2Pressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsXButton2Pressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PointerUpdateKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerUpdateKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerUpdateKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasUsage(&self, usagepage: u32, usageid: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasUsage)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasUsage)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).map(|| result__) } } pub fn GetUsageValue(&self, usagepage: u32, usageid: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetUsageValue)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetUsageValue)(::windows_core::Interface::as_raw(this), usagepage, usageid, &mut result__).map(|| result__) } } pub fn ZDistance(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ZDistance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ZDistance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2282,7 +2282,7 @@ impl PointerVisualizationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsContactFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsContactFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsBarrelButtonFeedbackEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2293,13 +2293,13 @@ impl PointerVisualizationSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsBarrelButtonFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsBarrelButtonFeedbackEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IPointerVisualizationSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2329,14 +2329,14 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Menu)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Menu)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RotationResolutionInDegrees(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationResolutionInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationResolutionInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRotationResolutionInDegrees(&self, value: f64) -> ::windows_core::Result<()> { @@ -2347,7 +2347,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseAutomaticHapticFeedback)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseAutomaticHapticFeedback)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseAutomaticHapticFeedback(&self, value: bool) -> ::windows_core::Result<()> { @@ -2361,7 +2361,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenContactStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenContactStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScreenContactStarted(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2375,7 +2375,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenContactEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenContactEnded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScreenContactEnded(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2389,7 +2389,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScreenContactContinued)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScreenContactContinued)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScreenContactContinued(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2403,7 +2403,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlLost)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveControlLost(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2417,7 +2417,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRotationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2431,7 +2431,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonClicked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveButtonClicked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2445,7 +2445,7 @@ impl RadialController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlAcquired)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlAcquired)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveControlAcquired(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2459,7 +2459,7 @@ impl RadialController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveButtonPressed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2473,7 +2473,7 @@ impl RadialController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonHolding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonHolding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveButtonHolding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2487,7 +2487,7 @@ impl RadialController { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveButtonReleased(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2497,13 +2497,13 @@ impl RadialController { pub fn IsSupported() -> ::windows_core::Result { Self::IRadialControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CreateForCurrentView() -> ::windows_core::Result { Self::IRadialControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2533,7 +2533,7 @@ impl RadialControllerButtonClickedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Haptics")] @@ -2541,7 +2541,7 @@ impl RadialControllerButtonClickedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2566,7 +2566,7 @@ impl RadialControllerButtonHoldingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Haptics")] @@ -2574,7 +2574,7 @@ impl RadialControllerButtonHoldingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2599,7 +2599,7 @@ impl RadialControllerButtonPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Haptics")] @@ -2607,7 +2607,7 @@ impl RadialControllerButtonPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2632,7 +2632,7 @@ impl RadialControllerButtonReleasedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Devices_Haptics")] @@ -2640,7 +2640,7 @@ impl RadialControllerButtonReleasedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2677,7 +2677,7 @@ impl RadialControllerConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySelectDefaultMenuItem)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySelectDefaultMenuItem)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn SetActiveControllerWhenMenuIsSuppressed(&self, value: P0) -> ::windows_core::Result<()> @@ -2691,7 +2691,7 @@ impl RadialControllerConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActiveControllerWhenMenuIsSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActiveControllerWhenMenuIsSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIsMenuSuppressed(&self, value: bool) -> ::windows_core::Result<()> { @@ -2702,13 +2702,13 @@ impl RadialControllerConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsMenuSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsMenuSuppressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IRadialControllerConfigurationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetAppController(value: P0) -> ::windows_core::Result<()> @@ -2720,7 +2720,7 @@ impl RadialControllerConfiguration { pub fn AppController() -> ::windows_core::Result { Self::IRadialControllerConfigurationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SetIsAppControllerEnabled(value: bool) -> ::windows_core::Result<()> { @@ -2729,7 +2729,7 @@ impl RadialControllerConfiguration { pub fn IsAppControllerEnabled() -> ::windows_core::Result { Self::IRadialControllerConfigurationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppControllerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppControllerEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -2764,14 +2764,14 @@ impl RadialControllerControlAcquiredEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsButtonPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -2779,7 +2779,7 @@ impl RadialControllerControlAcquiredEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2805,14 +2805,14 @@ impl RadialControllerMenu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -2823,7 +2823,7 @@ impl RadialControllerMenu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSelectedMenuItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSelectedMenuItem)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SelectMenuItem(&self, menuitem: P0) -> ::windows_core::Result<()> @@ -2837,7 +2837,7 @@ impl RadialControllerMenu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySelectPreviouslySelectedMenuItem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySelectPreviouslySelectedMenuItem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2862,14 +2862,14 @@ impl RadialControllerMenuItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Tag(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: P0) -> ::windows_core::Result<()> @@ -2886,7 +2886,7 @@ impl RadialControllerMenuItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInvoked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2900,19 +2900,19 @@ impl RadialControllerMenuItem { { Self::IRadialControllerMenuItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), icon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), icon.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromKnownIcon(displaytext: &::windows_core::HSTRING, value: RadialControllerMenuKnownIcon) -> ::windows_core::Result { Self::IRadialControllerMenuItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromKnownIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromKnownIcon)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), value, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromFontGlyph(displaytext: &::windows_core::HSTRING, glyph: &::windows_core::HSTRING, fontfamily: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IRadialControllerMenuItemStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFontGlyph)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFontGlyph)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromFontGlyphWithUri(displaytext: &::windows_core::HSTRING, glyph: &::windows_core::HSTRING, fontfamily: &::windows_core::HSTRING, fonturi: P0) -> ::windows_core::Result @@ -2921,7 +2921,7 @@ impl RadialControllerMenuItem { { Self::IRadialControllerMenuItemStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFontGlyphWithUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), fonturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFontGlyphWithUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(displaytext), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), fonturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2956,21 +2956,21 @@ impl RadialControllerRotationChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RotationDeltaInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RotationDeltaInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Contact(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsButtonPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -2978,7 +2978,7 @@ impl RadialControllerRotationChangedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3003,14 +3003,14 @@ impl RadialControllerScreenContact { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3035,14 +3035,14 @@ impl RadialControllerScreenContactContinuedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsButtonPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -3050,7 +3050,7 @@ impl RadialControllerScreenContactContinuedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3075,7 +3075,7 @@ impl RadialControllerScreenContactEndedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -3083,7 +3083,7 @@ impl RadialControllerScreenContactEndedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3108,14 +3108,14 @@ impl RadialControllerScreenContactStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsButtonPressed(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsButtonPressed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Devices_Haptics")] @@ -3123,7 +3123,7 @@ impl RadialControllerScreenContactStartedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SimpleHapticsController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3149,21 +3149,21 @@ impl RightTappedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3194,7 +3194,7 @@ impl SystemButtonEventController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFunctionButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFunctionButtonPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemFunctionButtonPressed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3208,7 +3208,7 @@ impl SystemButtonEventController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFunctionButtonReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFunctionButtonReleased)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemFunctionButtonReleased(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3222,7 +3222,7 @@ impl SystemButtonEventController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFunctionLockChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFunctionLockChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemFunctionLockChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3236,7 +3236,7 @@ impl SystemButtonEventController { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemFunctionLockIndicatorChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemFunctionLockIndicatorChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSystemFunctionLockIndicatorChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -3250,7 +3250,7 @@ impl SystemButtonEventController { { Self::ISystemButtonEventControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForDispatcherQueue)(::windows_core::Interface::as_raw(this), queue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForDispatcherQueue)(::windows_core::Interface::as_raw(this), queue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -3280,14 +3280,14 @@ impl SystemFunctionButtonEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3316,21 +3316,21 @@ impl SystemFunctionLockChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsLocked(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsLocked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsLocked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3359,21 +3359,21 @@ impl SystemFunctionLockIndicatorChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsIndicatorOn(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIndicatorOn)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIndicatorOn)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -3403,28 +3403,28 @@ impl TappedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PointerDeviceType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Position(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TapCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TapCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TapCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContactCount(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Notifications/Management/mod.rs b/crates/libs/windows/src/Windows/UI/Notifications/Management/mod.rs index 341ceb05f7..02c00b67f7 100644 --- a/crates/libs/windows/src/Windows/UI/Notifications/Management/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Notifications/Management/mod.rs @@ -31,14 +31,14 @@ impl UserNotificationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAccessAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAccessStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAccessStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotificationChanged(&self, handler: P0) -> ::windows_core::Result @@ -48,7 +48,7 @@ impl UserNotificationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNotificationChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -60,14 +60,14 @@ impl UserNotificationListener { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNotificationsAsync)(::windows_core::Interface::as_raw(this), kinds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNotificationsAsync)(::windows_core::Interface::as_raw(this), kinds, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetNotification(&self, notificationid: u32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetNotification)(::windows_core::Interface::as_raw(this), notificationid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetNotification)(::windows_core::Interface::as_raw(this), notificationid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ClearNotifications(&self) -> ::windows_core::Result<()> { @@ -81,7 +81,7 @@ impl UserNotificationListener { pub fn Current() -> ::windows_core::Result { Self::IUserNotificationListenerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/Notifications/mod.rs b/crates/libs/windows/src/Windows/UI/Notifications/mod.rs index e6bed5fa99..8d3358095f 100644 --- a/crates/libs/windows/src/Windows/UI/Notifications/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Notifications/mod.rs @@ -9,7 +9,7 @@ impl IAdaptiveNotificationContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -17,7 +17,7 @@ impl IAdaptiveNotificationContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -798,7 +798,7 @@ impl AdaptiveNotificationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -806,14 +806,14 @@ impl AdaptiveNotificationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -824,7 +824,7 @@ impl AdaptiveNotificationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -854,7 +854,7 @@ impl BadgeNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -868,7 +868,7 @@ impl BadgeNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -878,7 +878,7 @@ impl BadgeNotification { { Self::IBadgeNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -904,26 +904,26 @@ impl BadgeUpdateManager { pub fn CreateBadgeUpdaterForApplication() -> ::windows_core::Result { Self::IBadgeUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBadgeUpdaterForApplicationWithId(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBadgeUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateBadgeUpdaterForSecondaryTile(tileid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IBadgeUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Data_Xml_Dom")] pub fn GetTemplateContent(r#type: BadgeTemplateType) -> ::windows_core::Result { Self::IBadgeUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -933,7 +933,7 @@ impl BadgeUpdateManager { { Self::IBadgeUpdateManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -959,21 +959,21 @@ impl BadgeUpdateManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBadgeUpdaterForApplicationWithId(&self, applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateBadgeUpdaterForSecondaryTile(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateBadgeUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -981,7 +981,7 @@ impl BadgeUpdateManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1049,37 +1049,37 @@ impl KnownAdaptiveNotificationHints { pub fn Style() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Style)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Style)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Wrap() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wrap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wrap)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MaxLines() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxLines)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn MinLines() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinLines)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinLines)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TextStacking() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextStacking)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextStacking)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Align() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationHintsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Align)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Align)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1096,115 +1096,115 @@ impl KnownAdaptiveNotificationTextStyles { pub fn Caption() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Caption)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Body() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Body)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Base() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Base)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Base)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Subtitle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Title() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Subheader() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subheader)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subheader)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Header() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Header)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Header)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TitleNumeral() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleNumeral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleNumeral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SubheaderNumeral() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubheaderNumeral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubheaderNumeral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeaderNumeral() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderNumeral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderNumeral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CaptionSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptionSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptionSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BodySubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BodySubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BodySubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn BaseSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SubtitleSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubtitleSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubtitleSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TitleSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SubheaderSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubheaderSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubheaderSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SubheaderNumeralSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SubheaderNumeralSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SubheaderNumeralSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeaderSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn HeaderNumeralSubtle() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownAdaptiveNotificationTextStylesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HeaderNumeralSubtle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HeaderNumeralSubtle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1221,7 +1221,7 @@ impl KnownNotificationBindings { pub fn ToastGeneric() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IKnownNotificationBindingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToastGeneric)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToastGeneric)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1249,7 +1249,7 @@ impl Notification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1263,7 +1263,7 @@ impl Notification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visual)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visual)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVisual(&self, value: P0) -> ::windows_core::Result<()> @@ -1295,7 +1295,7 @@ impl NotificationBinding { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Template)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTemplate(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1306,7 +1306,7 @@ impl NotificationBinding { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1318,7 +1318,7 @@ impl NotificationBinding { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hints)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1326,7 +1326,7 @@ impl NotificationBinding { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTextElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTextElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1359,14 +1359,14 @@ impl NotificationData { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Values)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SequenceNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SequenceNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SequenceNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSequenceNumber(&self, value: u32) -> ::windows_core::Result<()> { @@ -1380,7 +1380,7 @@ impl NotificationData { { Self::INotificationDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNotificationDataWithValuesAndSequenceNumber)(::windows_core::Interface::as_raw(this), initialvalues.into_param().abi(), sequencenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNotificationDataWithValuesAndSequenceNumber)(::windows_core::Interface::as_raw(this), initialvalues.into_param().abi(), sequencenumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1390,7 +1390,7 @@ impl NotificationData { { Self::INotificationDataFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateNotificationDataWithValues)(::windows_core::Interface::as_raw(this), initialvalues.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateNotificationDataWithValues)(::windows_core::Interface::as_raw(this), initialvalues.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1420,7 +1420,7 @@ impl NotificationVisual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1432,14 +1432,14 @@ impl NotificationVisual { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bindings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bindings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetBinding(&self, templatename: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBinding)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(templatename), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBinding)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(templatename), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1465,14 +1465,14 @@ impl ScheduledTileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeliveryTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1486,7 +1486,7 @@ impl ScheduledTileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1497,7 +1497,7 @@ impl ScheduledTileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1508,7 +1508,7 @@ impl ScheduledTileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1518,7 +1518,7 @@ impl ScheduledTileNotification { { Self::IScheduledTileNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScheduledTileNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScheduledTileNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1549,28 +1549,28 @@ impl ScheduledToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeliveryTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeliveryTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SnoozeInterval(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SnoozeInterval)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SnoozeInterval)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaximumSnoozeCount(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaximumSnoozeCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaximumSnoozeCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1581,7 +1581,7 @@ impl ScheduledToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1592,7 +1592,7 @@ impl ScheduledToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGroup(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1603,7 +1603,7 @@ impl ScheduledToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSuppressPopup(&self, value: bool) -> ::windows_core::Result<()> { @@ -1614,14 +1614,14 @@ impl ScheduledToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotificationMirroring(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationMirroring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationMirroring)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNotificationMirroring(&self, value: NotificationMirroring) -> ::windows_core::Result<()> { @@ -1632,7 +1632,7 @@ impl ScheduledToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1643,7 +1643,7 @@ impl ScheduledToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1660,7 +1660,7 @@ impl ScheduledToastNotification { { Self::IScheduledToastNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScheduledToastNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScheduledToastNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Data_Xml_Dom")] @@ -1670,7 +1670,7 @@ impl ScheduledToastNotification { { Self::IScheduledToastNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateScheduledToastNotificationRecurring)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, snoozeinterval, maximumsnoozecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateScheduledToastNotificationRecurring)(::windows_core::Interface::as_raw(this), content.into_param().abi(), deliverytime, snoozeinterval, maximumsnoozecount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1700,7 +1700,7 @@ impl ScheduledToastNotificationShowingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCancel(&self, value: bool) -> ::windows_core::Result<()> { @@ -1711,14 +1711,14 @@ impl ScheduledToastNotificationShowingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScheduledToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScheduledToastNotification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1743,7 +1743,7 @@ impl ShownTileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1769,7 +1769,7 @@ impl TileFlyoutNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1783,7 +1783,7 @@ impl TileFlyoutNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1793,7 +1793,7 @@ impl TileFlyoutNotification { { Self::ITileFlyoutNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileFlyoutNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileFlyoutNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1819,26 +1819,26 @@ impl TileFlyoutUpdateManager { pub fn CreateTileFlyoutUpdaterForApplication() -> ::windows_core::Result { Self::ITileFlyoutUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTileFlyoutUpdaterForApplicationWithId(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITileFlyoutUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTileFlyoutUpdaterForSecondaryTile(tileid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITileFlyoutUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileFlyoutUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Data_Xml_Dom")] pub fn GetTemplateContent(r#type: TileFlyoutTemplateType) -> ::windows_core::Result { Self::ITileFlyoutUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1888,7 +1888,7 @@ impl TileFlyoutUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1912,7 +1912,7 @@ impl TileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -1926,7 +1926,7 @@ impl TileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1937,7 +1937,7 @@ impl TileNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1947,7 +1947,7 @@ impl TileNotification { { Self::ITileNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1973,26 +1973,26 @@ impl TileUpdateManager { pub fn CreateTileUpdaterForApplication() -> ::windows_core::Result { Self::ITileUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTileUpdaterForApplicationWithId(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITileUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateTileUpdaterForSecondaryTile(tileid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ITileUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Data_Xml_Dom")] pub fn GetTemplateContent(r#type: TileTemplateType) -> ::windows_core::Result { Self::ITileUpdateManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2002,7 +2002,7 @@ impl TileUpdateManager { { Self::ITileUpdateManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2028,21 +2028,21 @@ impl TileUpdateManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplication)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTileUpdaterForApplicationWithId(&self, applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForApplicationWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateTileUpdaterForSecondaryTile(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTileUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTileUpdaterForSecondaryTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -2050,7 +2050,7 @@ impl TileUpdateManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2090,7 +2090,7 @@ impl TileUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddToSchedule(&self, scheduledtile: P0) -> ::windows_core::Result<()> @@ -2112,7 +2112,7 @@ impl TileUpdater { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScheduledTileNotifications)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScheduledTileNotifications)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn StartPeriodicUpdate(&self, tilecontent: P0, requestedinterval: PeriodicUpdateRecurrence) -> ::windows_core::Result<()> @@ -2183,7 +2183,7 @@ impl ToastActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2191,7 +2191,7 @@ impl ToastActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2214,14 +2214,14 @@ impl ToastCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2232,7 +2232,7 @@ impl ToastCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LaunchArgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LaunchArgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLaunchArgs(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2243,7 +2243,7 @@ impl ToastCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIcon(&self, value: P0) -> ::windows_core::Result<()> @@ -2259,7 +2259,7 @@ impl ToastCollection { { Self::IToastCollectionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(launchargs), iconuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(launchargs), iconuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2292,7 +2292,7 @@ impl ToastCollectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveToastCollectionAsync)(::windows_core::Interface::as_raw(this), collection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveToastCollectionAsync)(::windows_core::Interface::as_raw(this), collection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2300,28 +2300,28 @@ impl ToastCollectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllToastCollectionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllToastCollectionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetToastCollectionAsync(&self, collectionid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetToastCollectionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetToastCollectionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveToastCollectionAsync(&self, collectionid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveToastCollectionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveToastCollectionAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoveAllToastCollectionsAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAllToastCollectionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAllToastCollectionsAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -2329,14 +2329,14 @@ impl ToastCollectionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AppId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2361,7 +2361,7 @@ impl ToastDismissedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2386,7 +2386,7 @@ impl ToastFailedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -2412,7 +2412,7 @@ impl ToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpirationTime(&self, value: P0) -> ::windows_core::Result<()> @@ -2426,7 +2426,7 @@ impl ToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpirationTime)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Dismissed(&self, handler: P0) -> ::windows_core::Result @@ -2436,7 +2436,7 @@ impl ToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Dismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Dismissed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDismissed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2450,7 +2450,7 @@ impl ToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2464,7 +2464,7 @@ impl ToastNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Failed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFailed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2479,7 +2479,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGroup(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2490,7 +2490,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSuppressPopup(&self, value: bool) -> ::windows_core::Result<()> { @@ -2501,14 +2501,14 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressPopup)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotificationMirroring(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationMirroring)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationMirroring)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNotificationMirroring(&self, value: NotificationMirroring) -> ::windows_core::Result<()> { @@ -2519,7 +2519,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRemoteId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2530,7 +2530,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: P0) -> ::windows_core::Result<()> @@ -2544,7 +2544,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Priority)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPriority(&self, value: ToastNotificationPriority) -> ::windows_core::Result<()> { @@ -2555,7 +2555,7 @@ impl ToastNotification { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExpiresOnReboot)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExpiresOnReboot)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExpiresOnReboot(&self, value: bool) -> ::windows_core::Result<()> { @@ -2569,7 +2569,7 @@ impl ToastNotification { { Self::IToastNotificationFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotification)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2599,7 +2599,7 @@ impl ToastNotificationActionTriggerDetail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2607,7 +2607,7 @@ impl ToastNotificationActionTriggerDetail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2659,7 +2659,7 @@ impl ToastNotificationHistory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHistory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHistory)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2667,7 +2667,7 @@ impl ToastNotificationHistory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHistoryWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHistoryWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2690,14 +2690,14 @@ impl ToastNotificationHistoryChangedTriggerDetail { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CollectionId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CollectionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CollectionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2716,26 +2716,26 @@ impl ToastNotificationManager { pub fn CreateToastNotifier() -> ::windows_core::Result { Self::IToastNotificationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateToastNotifierWithId(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IToastNotificationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifierWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifierWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Data_Xml_Dom")] pub fn GetTemplateContent(r#type: ToastTemplateType) -> ::windows_core::Result { Self::IToastNotificationManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTemplateContent)(::windows_core::Interface::as_raw(this), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn History() -> ::windows_core::Result { Self::IToastNotificationManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -2745,7 +2745,7 @@ impl ToastNotificationManager { { Self::IToastNotificationManagerStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ConfigureNotificationMirroring(value: NotificationMirroring) -> ::windows_core::Result<()> { @@ -2754,7 +2754,7 @@ impl ToastNotificationManager { pub fn GetDefault() -> ::windows_core::Result { Self::IToastNotificationManagerStatics5(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2790,21 +2790,21 @@ impl ToastNotificationManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifier)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifier)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateToastNotifierWithId(&self, applicationid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateToastNotifierWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateToastNotifierWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn History(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).History)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -2812,42 +2812,42 @@ impl ToastNotificationManagerForUser { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetToastNotifierForToastCollectionIdAsync(&self, collectionid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetToastNotifierForToastCollectionIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetToastNotifierForToastCollectionIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetHistoryForToastCollectionIdAsync(&self, collectionid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetHistoryForToastCollectionIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetHistoryForToastCollectionIdAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(collectionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetToastCollectionManager(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetToastCollectionManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetToastCollectionManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetToastCollectionManagerWithAppId(&self, appid: &::windows_core::HSTRING) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetToastCollectionManagerWithAppId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetToastCollectionManagerWithAppId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(appid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NotificationMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn NotificationModeChanged(&self, handler: P0) -> ::windows_core::Result @@ -2857,7 +2857,7 @@ impl ToastNotificationManagerForUser { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotificationModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotificationModeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNotificationModeChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2900,7 +2900,7 @@ impl ToastNotifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Setting)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddToSchedule(&self, scheduledtoast: P0) -> ::windows_core::Result<()> @@ -2922,7 +2922,7 @@ impl ToastNotifier { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetScheduledToastNotifications)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetScheduledToastNotifications)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateWithTagAndGroup(&self, data: P0, tag: &::windows_core::HSTRING, group: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2932,7 +2932,7 @@ impl ToastNotifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateWithTagAndGroup)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(tag), ::core::mem::transmute_copy(group), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateWithTagAndGroup)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(tag), ::core::mem::transmute_copy(group), &mut result__).map(|| result__) } } pub fn UpdateWithTag(&self, data: P0, tag: &::windows_core::HSTRING) -> ::windows_core::Result @@ -2942,7 +2942,7 @@ impl ToastNotifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateWithTag)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateWithTag)(::windows_core::Interface::as_raw(this), data.into_param().abi(), ::core::mem::transmute_copy(tag), &mut result__).map(|| result__) } } pub fn ScheduledToastNotificationShowing(&self, handler: P0) -> ::windows_core::Result @@ -2952,7 +2952,7 @@ impl ToastNotifier { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScheduledToastNotificationShowing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScheduledToastNotificationShowing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScheduledToastNotificationShowing(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2981,7 +2981,7 @@ impl UserNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Notification)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Notification)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -2989,21 +2989,21 @@ impl UserNotification { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreationTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreationTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreationTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3028,14 +3028,14 @@ impl UserNotificationChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ChangeKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ChangeKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UserNotificationId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserNotificationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserNotificationId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Popups/mod.rs b/crates/libs/windows/src/Windows/UI/Popups/mod.rs index b064acc232..11c7fbadfd 100644 --- a/crates/libs/windows/src/Windows/UI/Popups/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Popups/mod.rs @@ -47,7 +47,7 @@ impl IUICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -58,7 +58,7 @@ impl IUICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInvoked(&self, value: P0) -> ::windows_core::Result<()> @@ -72,7 +72,7 @@ impl IUICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: P0) -> ::windows_core::Result<()> @@ -115,7 +115,7 @@ impl MessageDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -127,14 +127,14 @@ impl MessageDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultCommandIndex(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDefaultCommandIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -145,7 +145,7 @@ impl MessageDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CancelCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CancelCommandIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCancelCommandIndex(&self, value: u32) -> ::windows_core::Result<()> { @@ -156,7 +156,7 @@ impl MessageDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContent(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -167,14 +167,14 @@ impl MessageDialog { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Options(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOptions(&self, value: MessageDialogOptions) -> ::windows_core::Result<()> { @@ -184,13 +184,13 @@ impl MessageDialog { pub fn Create(content: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMessageDialogFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithTitle(content: &::windows_core::HSTRING, title: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IMessageDialogFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), ::core::mem::transmute_copy(title), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithTitle)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), ::core::mem::transmute_copy(title), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -226,28 +226,28 @@ impl PopupMenu { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Commands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAsync(&self, invocationpoint: super::super::Foundation::Point) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAsyncWithRect(&self, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAsyncWithRectAndPlacement(&self, selection: super::super::Foundation::Rect, preferredplacement: Placement) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -278,7 +278,7 @@ impl UICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -289,7 +289,7 @@ impl UICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInvoked(&self, value: P0) -> ::windows_core::Result<()> @@ -303,7 +303,7 @@ impl UICommand { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: P0) -> ::windows_core::Result<()> @@ -316,7 +316,7 @@ impl UICommand { pub fn Create(label: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IUICommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithHandler(label: &::windows_core::HSTRING, action: P0) -> ::windows_core::Result @@ -325,7 +325,7 @@ impl UICommand { { Self::IUICommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithHandler)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), action.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithHandler)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), action.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithHandlerAndId(label: &::windows_core::HSTRING, action: P0, commandid: P1) -> ::windows_core::Result @@ -335,7 +335,7 @@ impl UICommand { { Self::IUICommandFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithHandlerAndId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), action.into_param().abi(), commandid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithHandlerAndId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(label), action.into_param().abi(), commandid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -373,7 +373,7 @@ impl UICommandSeparator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -384,7 +384,7 @@ impl UICommandSeparator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Invoked)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInvoked(&self, value: P0) -> ::windows_core::Result<()> @@ -398,7 +398,7 @@ impl UICommandSeparator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/UI/Shell/mod.rs b/crates/libs/windows/src/Windows/UI/Shell/mod.rs index 236942aba1..80a6077944 100644 --- a/crates/libs/windows/src/Windows/UI/Shell/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Shell/mod.rs @@ -5,7 +5,7 @@ impl IAdaptiveCard { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToJson)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -25,7 +25,7 @@ impl IAdaptiveCardBuilderStatics { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAdaptiveCardFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAdaptiveCardFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -275,7 +275,7 @@ impl AdaptiveCardBuilder { pub fn CreateAdaptiveCardFromJson(value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IAdaptiveCardBuilderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAdaptiveCardFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAdaptiveCardFromJson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -296,7 +296,7 @@ impl FocusSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn End(&self) -> ::windows_core::Result<()> { @@ -325,28 +325,28 @@ impl FocusSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFocusActive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFocusActive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetSession(&self, id: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetSession)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetSession)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryStartFocusSession(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStartFocusSession)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStartFocusSession)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryStartFocusSession2(&self, endtime: super::super::Foundation::DateTime) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryStartFocusSession2)(::windows_core::Interface::as_raw(this), endtime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryStartFocusSession2)(::windows_core::Interface::as_raw(this), endtime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DeactivateFocus(&self) -> ::windows_core::Result<()> { @@ -360,7 +360,7 @@ impl FocusSessionManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFocusActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFocusActiveChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveIsFocusActiveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -370,13 +370,13 @@ impl FocusSessionManager { pub fn GetDefault() -> ::windows_core::Result { Self::IFocusSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IFocusSessionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -416,7 +416,7 @@ impl SecurityAppManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), kind, ::core::mem::transmute_copy(displayname), detailsuri.into_param().abi(), registerperuser, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Register)(::windows_core::Interface::as_raw(this), kind, ::core::mem::transmute_copy(displayname), detailsuri.into_param().abi(), registerperuser, &mut result__).map(|| result__) } } pub fn Unregister(&self, kind: SecurityAppKind, guidregistration: ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -452,14 +452,14 @@ impl ShareWindowCommandEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Command(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Command)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCommand(&self, value: ShareWindowCommand) -> ::windows_core::Result<()> { @@ -503,7 +503,7 @@ impl ShareWindowCommandSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCommandRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -517,7 +517,7 @@ impl ShareWindowCommandSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommandInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommandInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCommandInvoked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -527,7 +527,7 @@ impl ShareWindowCommandSource { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IShareWindowCommandSourceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -557,21 +557,21 @@ impl TaskbarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsPinningAllowed(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPinningAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPinningAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsCurrentAppPinnedAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCurrentAppPinnedAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCurrentAppPinnedAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -582,14 +582,14 @@ impl TaskbarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppListEntryPinnedAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppListEntryPinnedAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestPinCurrentAppAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinCurrentAppAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -600,14 +600,14 @@ impl TaskbarManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSecondaryTilePinnedAsync(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSecondaryTilePinnedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSecondaryTilePinnedAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_StartScreen")] @@ -618,20 +618,20 @@ impl TaskbarManager { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPinSecondaryTileAsync)(::windows_core::Interface::as_raw(this), secondarytile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPinSecondaryTileAsync)(::windows_core::Interface::as_raw(this), secondarytile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryUnpinSecondaryTileAsync(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUnpinSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUnpinSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::ITaskbarManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -668,7 +668,7 @@ impl WindowTab { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTag(&self, value: P0) -> ::windows_core::Result<()> @@ -682,7 +682,7 @@ impl WindowTab { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -693,7 +693,7 @@ impl WindowTab { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIcon(&self, value: P0) -> ::windows_core::Result<()> @@ -707,7 +707,7 @@ impl WindowTab { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TreatAsSecondaryTileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TreatAsSecondaryTileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTreatAsSecondaryTileId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -718,7 +718,7 @@ impl WindowTab { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Group)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGroup(&self, value: P0) -> ::windows_core::Result<()> @@ -754,7 +754,7 @@ impl WindowTabCloseRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -782,7 +782,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -790,7 +790,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -798,7 +798,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -806,7 +806,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -817,7 +817,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -864,7 +864,7 @@ impl WindowTabCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -924,7 +924,7 @@ impl WindowTabGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -935,7 +935,7 @@ impl WindowTabGroup { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIcon(&self, value: P0) -> ::windows_core::Result<()> @@ -966,7 +966,7 @@ impl WindowTabIcon { pub fn CreateFromFontGlyph(glyph: &::windows_core::HSTRING, fontfamily: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWindowTabIconStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFontGlyph)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFontGlyph)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromFontGlyphWithUri(glyph: &::windows_core::HSTRING, fontfamily: &::windows_core::HSTRING, fonturi: P0) -> ::windows_core::Result @@ -975,7 +975,7 @@ impl WindowTabIcon { { Self::IWindowTabIconStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromFontGlyphWithUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), fonturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromFontGlyphWithUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(glyph), ::core::mem::transmute_copy(fontfamily), fonturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -985,7 +985,7 @@ impl WindowTabIcon { { Self::IWindowTabIconStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromImage)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromImage)(::windows_core::Interface::as_raw(this), image.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1015,7 +1015,7 @@ impl WindowTabManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tabs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tabs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetActiveTab(&self, tab: P0) -> ::windows_core::Result<()> @@ -1032,7 +1032,7 @@ impl WindowTabManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TabSwitchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TabSwitchRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTabSwitchRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1046,7 +1046,7 @@ impl WindowTabManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TabCloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TabCloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTabCloseRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1060,7 +1060,7 @@ impl WindowTabManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TabTearOutRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TabTearOutRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTabTearOutRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1074,7 +1074,7 @@ impl WindowTabManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TabThumbnailRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TabThumbnailRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTabThumbnailRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1084,19 +1084,19 @@ impl WindowTabManager { pub fn GetForWindow(id: super::WindowId) -> ::windows_core::Result { Self::IWindowTabManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForWindow)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForWindow)(::windows_core::Interface::as_raw(this), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IWindowTabManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IsTabTearOutSupported() -> ::windows_core::Result { Self::IWindowTabManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsTabTearOutSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsTabTearOutSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1126,7 +1126,7 @@ impl WindowTabSwitchRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1151,14 +1151,14 @@ impl WindowTabTearOutRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WindowId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWindowId(&self, value: u64) -> ::windows_core::Result<()> { @@ -1169,7 +1169,7 @@ impl WindowTabTearOutRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1194,7 +1194,7 @@ impl WindowTabThumbnailRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tab)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Graphics_Imaging")] @@ -1202,7 +1202,7 @@ impl WindowTabThumbnailRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1210,7 +1210,7 @@ impl WindowTabThumbnailRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Image)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1225,14 +1225,14 @@ impl WindowTabThumbnailRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsCompositedOnWindow(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCompositedOnWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCompositedOnWindow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/StartScreen/mod.rs b/crates/libs/windows/src/Windows/UI/StartScreen/mod.rs index f53286c115..8da7c5f775 100644 --- a/crates/libs/windows/src/Windows/UI/StartScreen/mod.rs +++ b/crates/libs/windows/src/Windows/UI/StartScreen/mod.rs @@ -348,14 +348,14 @@ impl JumpList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SystemGroupKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SystemGroupKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SystemGroupKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSystemGroupKind(&self, value: JumpListSystemGroupKind) -> ::windows_core::Result<()> { @@ -366,19 +366,19 @@ impl JumpList { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaveAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LoadCurrentAsync() -> ::windows_core::Result> { Self::IJumpListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LoadCurrentAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LoadCurrentAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn IsSupported() -> ::windows_core::Result { Self::IJumpListStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSupported)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -408,28 +408,28 @@ impl JumpListItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Arguments(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemovedByUser(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemovedByUser)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemovedByUser)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Description(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Description)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDescription(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -440,7 +440,7 @@ impl JumpListItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -451,7 +451,7 @@ impl JumpListItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GroupName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GroupName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGroupName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -462,7 +462,7 @@ impl JumpListItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLogo(&self, value: P0) -> ::windows_core::Result<()> @@ -475,13 +475,13 @@ impl JumpListItem { pub fn CreateWithArguments(arguments: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IJumpListItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), ::core::mem::transmute_copy(displayname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithArguments)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(arguments), ::core::mem::transmute_copy(displayname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSeparator() -> ::windows_core::Result { Self::IJumpListItemStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSeparator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSeparator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -522,7 +522,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetArguments(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -533,7 +533,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -546,7 +546,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShortName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShortName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -557,7 +557,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -573,7 +573,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -589,7 +589,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmallLogo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmallLogo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -605,7 +605,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WideLogo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WideLogo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLockScreenBadgeLogo(&self, value: P0) -> ::windows_core::Result<()> @@ -619,7 +619,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockScreenBadgeLogo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockScreenBadgeLogo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLockScreenDisplayBadgeAndTileText(&self, value: bool) -> ::windows_core::Result<()> { @@ -630,7 +630,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LockScreenDisplayBadgeAndTileText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LockScreenDisplayBadgeAndTileText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -643,7 +643,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileOptions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileOptions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -656,7 +656,7 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -669,28 +669,28 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestCreateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCreateAsyncWithPoint(&self, invocationpoint: super::super::Foundation::Point) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCreateAsyncWithPoint)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCreateAsyncWithPoint)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCreateAsyncWithRect(&self, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCreateAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCreateAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -698,28 +698,28 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCreateAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCreateAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestDeleteAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDeleteAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestDeleteAsyncWithPoint(&self, invocationpoint: super::super::Foundation::Point) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithPoint)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithPoint)(::windows_core::Interface::as_raw(this), invocationpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestDeleteAsyncWithRect(&self, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithRect)(::windows_core::Interface::as_raw(this), selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_Popups")] @@ -727,14 +727,14 @@ impl SecondaryTile { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDeleteAsyncWithRectAndPlacement)(::windows_core::Interface::as_raw(this), selection, preferredplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UpdateAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPhoneticName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -745,14 +745,14 @@ impl SecondaryTile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PhoneticName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PhoneticName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn VisualElements(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRoamingEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -763,7 +763,7 @@ impl SecondaryTile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VisualElementsRequested(&self, handler: P0) -> ::windows_core::Result @@ -773,7 +773,7 @@ impl SecondaryTile { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisualElementsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisualElementsRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVisualElementsRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -787,7 +787,7 @@ impl SecondaryTile { { Self::ISecondaryTileFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(shortname), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), tileoptions, logoreference.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(shortname), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), tileoptions, logoreference.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "deprecated")] @@ -798,13 +798,13 @@ impl SecondaryTile { { Self::ISecondaryTileFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWideTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(shortname), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), tileoptions, logoreference.into_param().abi(), widelogoreference.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWideTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(shortname), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), tileoptions, logoreference.into_param().abi(), widelogoreference.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithId(tileid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISecondaryTileFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithId)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateMinimalTile(tileid: &::windows_core::HSTRING, displayname: &::windows_core::HSTRING, arguments: &::windows_core::HSTRING, square150x150logo: P0, desiredsize: TileSize) -> ::windows_core::Result @@ -813,34 +813,34 @@ impl SecondaryTile { { Self::ISecondaryTileFactory2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMinimalTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), square150x150logo.into_param().abi(), desiredsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMinimalTile)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), ::core::mem::transmute_copy(displayname), ::core::mem::transmute_copy(arguments), square150x150logo.into_param().abi(), desiredsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Exists(tileid: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISecondaryTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Exists)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Exists)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).map(|| result__) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllAsync() -> ::windows_core::Result>> { Self::ISecondaryTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllForApplicationAsync(applicationid: &::windows_core::HSTRING) -> ::windows_core::Result>> { Self::ISecondaryTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllForApplicationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllForApplicationAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(applicationid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllForPackageAsync() -> ::windows_core::Result>> { Self::ISecondaryTileStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllForPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllForPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -889,7 +889,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square30x30Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] @@ -905,7 +905,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square70x70Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square70x70Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSquare150x150Logo(&self, value: P0) -> ::windows_core::Result<()> @@ -919,7 +919,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square150x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square150x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetWide310x150Logo(&self, value: P0) -> ::windows_core::Result<()> @@ -933,7 +933,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wide310x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wide310x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSquare310x310Logo(&self, value: P0) -> ::windows_core::Result<()> @@ -947,7 +947,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square310x310Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square310x310Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetForegroundText(&self, value: ForegroundText) -> ::windows_core::Result<()> { @@ -958,7 +958,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -969,7 +969,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowNameOnSquare150x150Logo(&self, value: bool) -> ::windows_core::Result<()> { @@ -980,7 +980,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowNameOnSquare150x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowNameOnSquare150x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowNameOnWide310x150Logo(&self, value: bool) -> ::windows_core::Result<()> { @@ -991,7 +991,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowNameOnWide310x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowNameOnWide310x150Logo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShowNameOnSquare310x310Logo(&self, value: bool) -> ::windows_core::Result<()> { @@ -1002,7 +1002,7 @@ impl SecondaryTileVisualElements { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowNameOnSquare310x310Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowNameOnSquare310x310Logo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSquare71x71Logo(&self, value: P0) -> ::windows_core::Result<()> @@ -1016,7 +1016,7 @@ impl SecondaryTileVisualElements { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square71x71Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square71x71Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSquare44x44Logo(&self, value: P0) -> ::windows_core::Result<()> @@ -1030,14 +1030,14 @@ impl SecondaryTileVisualElements { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Square44x44Logo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Square44x44Logo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MixedRealityModel(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MixedRealityModel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MixedRealityModel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1063,7 +1063,7 @@ impl StartScreenManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -1074,7 +1074,7 @@ impl StartScreenManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportsAppListEntry)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportsAppListEntry)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Core")] @@ -1085,7 +1085,7 @@ impl StartScreenManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Core")] @@ -1096,27 +1096,27 @@ impl StartScreenManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestAddAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestAddAppListEntryAsync)(::windows_core::Interface::as_raw(this), applistentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContainsSecondaryTileAsync(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryRemoveSecondaryTileAsync(&self, tileid: &::windows_core::HSTRING) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryRemoveSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryRemoveSecondaryTileAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(tileid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefault() -> ::windows_core::Result { Self::IStartScreenManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefault)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "System")] @@ -1126,7 +1126,7 @@ impl StartScreenManager { { Self::IStartScreenManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1163,7 +1163,7 @@ impl TileMixedRealityModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] @@ -1179,7 +1179,7 @@ impl TileMixedRealityModel { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BoundingBox)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetActivationBehavior(&self, value: TileMixedRealityModelActivationBehavior) -> ::windows_core::Result<()> { @@ -1190,7 +1190,7 @@ impl TileMixedRealityModel { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivationBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1215,7 +1215,7 @@ impl VisualElementsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisualElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1223,21 +1223,21 @@ impl VisualElementsRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlternateVisualElements)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlternateVisualElements)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Deadline(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1284,7 +1284,7 @@ impl VisualElementsRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/Text/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Text/Core/mod.rs index 73d277624d..65e2679f59 100644 --- a/crates/libs/windows/src/Windows/UI/Text/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Text/Core/mod.rs @@ -229,7 +229,7 @@ impl CoreTextCompositionCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -237,14 +237,14 @@ impl CoreTextCompositionCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositionSegments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositionSegments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -269,14 +269,14 @@ impl CoreTextCompositionSegment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreconversionString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreconversionString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Range(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -301,14 +301,14 @@ impl CoreTextCompositionStartedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -333,7 +333,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -344,7 +344,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputScope)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputScope)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInputScope(&self, value: CoreTextInputScope) -> ::windows_core::Result<()> { @@ -355,7 +355,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsReadOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputPaneDisplayPolicy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputPaneDisplayPolicy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetInputPaneDisplayPolicy(&self, value: CoreTextInputPaneDisplayPolicy) -> ::windows_core::Result<()> { @@ -380,7 +380,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTextRequested(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -394,7 +394,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSelectionRequested(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -408,7 +408,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LayoutRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LayoutRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLayoutRequested(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -422,7 +422,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTextUpdating(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -436,7 +436,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SelectionUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SelectionUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSelectionUpdating(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -450,7 +450,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormatUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormatUpdating)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFormatUpdating(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -464,7 +464,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositionStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositionStarted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompositionStarted(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -478,7 +478,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CompositionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CompositionCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCompositionCompleted(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -492,7 +492,7 @@ impl CoreTextEditContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FocusRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FocusRemoved)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFocusRemoved(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -526,7 +526,7 @@ impl CoreTextEditContext { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NotifyFocusLeaveCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NotifyFocusLeaveCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNotifyFocusLeaveCompleted(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -555,7 +555,7 @@ impl CoreTextFormatUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_ViewManagement")] @@ -563,7 +563,7 @@ impl CoreTextFormatUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -571,7 +571,7 @@ impl CoreTextFormatUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "UI_ViewManagement")] @@ -579,28 +579,28 @@ impl CoreTextFormatUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnderlineColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnderlineColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnderlineType(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnderlineType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnderlineType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reason(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResult(&self, value: CoreTextFormatUpdatingResult) -> ::windows_core::Result<()> { @@ -611,14 +611,14 @@ impl CoreTextFormatUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -643,7 +643,7 @@ impl CoreTextLayoutBounds { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextBounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTextBounds(&self, value: super::super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -654,7 +654,7 @@ impl CoreTextLayoutBounds { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ControlBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ControlBounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetControlBounds(&self, value: super::super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -683,35 +683,35 @@ impl CoreTextLayoutRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LayoutBounds(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LayoutBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LayoutBounds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsCanceled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LayoutBoundsVisualPixels(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LayoutBoundsVisualPixels)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LayoutBoundsVisualPixels)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -736,7 +736,7 @@ impl CoreTextLayoutRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -761,7 +761,7 @@ impl CoreTextSelectionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSelection(&self, value: CoreTextRange) -> ::windows_core::Result<()> { @@ -772,14 +772,14 @@ impl CoreTextSelectionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -804,7 +804,7 @@ impl CoreTextSelectionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -829,14 +829,14 @@ impl CoreTextSelectionUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResult(&self, value: CoreTextSelectionUpdatingResult) -> ::windows_core::Result<()> { @@ -847,14 +847,14 @@ impl CoreTextSelectionUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -875,7 +875,7 @@ impl CoreTextServicesConstants { pub fn HiddenCharacter() -> ::windows_core::Result { Self::ICoreTextServicesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HiddenCharacter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HiddenCharacter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -897,7 +897,7 @@ impl CoreTextServicesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn InputLanguageChanged(&self, handler: P0) -> ::windows_core::Result @@ -907,7 +907,7 @@ impl CoreTextServicesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputLanguageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputLanguageChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveInputLanguageChanged(&self, cookie: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -918,13 +918,13 @@ impl CoreTextServicesManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateEditContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateEditContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICoreTextServicesManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -954,14 +954,14 @@ impl CoreTextTextRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -972,14 +972,14 @@ impl CoreTextTextRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1004,7 +1004,7 @@ impl CoreTextTextRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1029,21 +1029,21 @@ impl CoreTextTextUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Range)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NewSelection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewSelection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewSelection)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Globalization")] @@ -1051,14 +1051,14 @@ impl CoreTextTextUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InputLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InputLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Result(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetResult(&self, value: CoreTextTextUpdatingResult) -> ::windows_core::Result<()> { @@ -1069,14 +1069,14 @@ impl CoreTextTextUpdatingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsCanceled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/Text/mod.rs b/crates/libs/windows/src/Windows/UI/Text/mod.rs index 659e691bf6..c9d4953ca0 100644 --- a/crates/libs/windows/src/Windows/UI/Text/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Text/mod.rs @@ -54,7 +54,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllCaps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllCaps)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllCaps(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -65,7 +65,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -76,7 +76,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBold(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -87,7 +87,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStretch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStretch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontStretch(&self, value: FontStretch) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FontStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFontStyle(&self, value: FontStyle) -> ::windows_core::Result<()> { @@ -109,7 +109,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForegroundColor(&self, value: super::Color) -> ::windows_core::Result<()> { @@ -120,7 +120,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hidden)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hidden)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHidden(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -131,7 +131,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Italic)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Italic)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetItalic(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -142,7 +142,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kerning)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kerning)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKerning(&self, value: f32) -> ::windows_core::Result<()> { @@ -153,7 +153,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageTag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguageTag(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -164,14 +164,14 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Name(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -182,7 +182,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Outline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Outline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOutline(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -193,7 +193,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Position)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPosition(&self, value: f32) -> ::windows_core::Result<()> { @@ -204,7 +204,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtectedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtectedText)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetProtectedText(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -215,7 +215,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSize(&self, value: f32) -> ::windows_core::Result<()> { @@ -226,7 +226,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SmallCaps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SmallCaps)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSmallCaps(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -237,7 +237,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Spacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Spacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpacing(&self, value: f32) -> ::windows_core::Result<()> { @@ -248,7 +248,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Strikethrough)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Strikethrough)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStrikethrough(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -259,7 +259,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subscript)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subscript)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSubscript(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -270,7 +270,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Superscript)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Superscript)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSuperscript(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -281,7 +281,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextScript)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextScript)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTextScript(&self, value: TextScript) -> ::windows_core::Result<()> { @@ -292,7 +292,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Underline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Underline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUnderline(&self, value: UnderlineType) -> ::windows_core::Result<()> { @@ -303,7 +303,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Weight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWeight(&self, value: i32) -> ::windows_core::Result<()> { @@ -321,7 +321,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsEqual(&self, format: P0) -> ::windows_core::Result @@ -331,7 +331,7 @@ impl ITextCharacterFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).map(|| result__) } } } @@ -414,7 +414,7 @@ impl ITextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaretType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaretType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCaretType(&self, value: CaretType) -> ::windows_core::Result<()> { @@ -425,7 +425,7 @@ impl ITextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultTabStop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultTabStop)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDefaultTabStop(&self, value: f32) -> ::windows_core::Result<()> { @@ -436,14 +436,14 @@ impl ITextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UndoLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndoLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndoLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUndoLimit(&self, value: u32) -> ::windows_core::Result<()> { @@ -454,42 +454,42 @@ impl ITextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCopy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCopy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanPaste(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanRedo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRedo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRedo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanUndo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanUndo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanUndo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ApplyDisplayUpdates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BatchDisplayUpdates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatchDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatchDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BeginUndoGroup(&self) -> ::windows_core::Result<()> { @@ -504,28 +504,28 @@ impl ITextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultCharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultCharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultParagraphFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRange(&self, startposition: i32, endposition: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRange)(::windows_core::Interface::as_raw(this), startposition, endposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRange)(::windows_core::Interface::as_raw(this), startposition, endposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRangeFromPoint(&self, point: super::super::Foundation::Point, options: PointOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRangeFromPoint)(::windows_core::Interface::as_raw(this), point, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRangeFromPoint)(::windows_core::Interface::as_raw(this), point, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -649,7 +649,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Alignment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Alignment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlignment(&self, value: ParagraphAlignment) -> ::windows_core::Result<()> { @@ -660,14 +660,14 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstLineIndent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstLineIndent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn KeepTogether(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepTogether)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepTogether)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeepTogether(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -678,7 +678,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepWithNext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepWithNext)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeepWithNext(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -689,28 +689,28 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftIndent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftIndent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineSpacing(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn LineSpacingRule(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineSpacingRule)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineSpacingRule)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ListAlignment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListAlignment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListAlignment)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListAlignment(&self, value: MarkerAlignment) -> ::windows_core::Result<()> { @@ -721,7 +721,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListLevelIndex)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListLevelIndex)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListLevelIndex(&self, value: i32) -> ::windows_core::Result<()> { @@ -732,7 +732,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListStart)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListStart)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListStart(&self, value: i32) -> ::windows_core::Result<()> { @@ -743,7 +743,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListStyle(&self, value: MarkerStyle) -> ::windows_core::Result<()> { @@ -754,7 +754,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListTab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListTab)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListTab(&self, value: f32) -> ::windows_core::Result<()> { @@ -765,7 +765,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ListType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ListType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetListType(&self, value: MarkerType) -> ::windows_core::Result<()> { @@ -776,7 +776,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NoLineNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NoLineNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetNoLineNumber(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -787,7 +787,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageBreakBefore)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageBreakBefore)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPageBreakBefore(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -798,7 +798,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightIndent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightIndent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightIndent(&self, value: f32) -> ::windows_core::Result<()> { @@ -809,7 +809,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightToLeft)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightToLeft)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightToLeft(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -820,7 +820,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Style)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Style)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStyle(&self, value: ParagraphStyle) -> ::windows_core::Result<()> { @@ -831,7 +831,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpaceAfter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpaceAfter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpaceAfter(&self, value: f32) -> ::windows_core::Result<()> { @@ -842,7 +842,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpaceBefore)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpaceBefore)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSpaceBefore(&self, value: f32) -> ::windows_core::Result<()> { @@ -853,7 +853,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WidowControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WidowControl)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWidowControl(&self, value: FormatEffect) -> ::windows_core::Result<()> { @@ -864,7 +864,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TabCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TabCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AddTab(&self, position: f32, align: TabAlignment, leader: TabLeader) -> ::windows_core::Result<()> { @@ -883,7 +883,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetTab(&self, index: i32, position: &mut f32, align: &mut TabAlignment, leader: &mut TabLeader) -> ::windows_core::Result<()> { @@ -897,7 +897,7 @@ impl ITextParagraphFormat { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), format.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetClone(&self, format: P0) -> ::windows_core::Result<()> @@ -979,7 +979,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacter(&self, value: u16) -> ::windows_core::Result<()> { @@ -990,7 +990,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharacterFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -1004,7 +1004,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormattedText(&self, value: P0) -> ::windows_core::Result<()> @@ -1018,7 +1018,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEndPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -1029,7 +1029,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGravity(&self, value: RangeGravity) -> ::windows_core::Result<()> { @@ -1040,14 +1040,14 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Link(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLink(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1058,7 +1058,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParagraphFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -1072,7 +1072,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -1083,14 +1083,14 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1101,7 +1101,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).map(|| result__) } } pub fn ChangeCase(&self, value: LetterCase) -> ::windows_core::Result<()> { @@ -1124,28 +1124,28 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } pub fn Expand(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn FindText(&self, value: &::windows_core::HSTRING, scanlength: i32, options: FindOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).map(|| result__) } } pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows_core::Result<()> { @@ -1156,14 +1156,14 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -1193,7 +1193,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1211,7 +1211,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsEqual(&self, range: P0) -> ::windows_core::Result @@ -1221,28 +1221,28 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn Paste(&self, format: i32) -> ::windows_core::Result<()> { @@ -1285,7 +1285,7 @@ impl ITextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } } @@ -1366,7 +1366,7 @@ impl ITextSelection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOptions(&self, value: SelectionOptions) -> ::windows_core::Result<()> { @@ -1377,49 +1377,49 @@ impl ITextSelection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EndKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndKey)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndKey)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } pub fn HomeKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HomeKey)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HomeKey)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } pub fn MoveDown(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveDown)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveDown)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).map(|| result__) } } pub fn MoveLeft(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveLeft)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveLeft)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).map(|| result__) } } pub fn MoveRight(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveRight)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveRight)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).map(|| result__) } } pub fn MoveUp(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveUp)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveUp)(::windows_core::Interface::as_raw(this), unit, count, extend, &mut result__).map(|| result__) } } pub fn TypeText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1430,7 +1430,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacter(&self, value: u16) -> ::windows_core::Result<()> { @@ -1441,7 +1441,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharacterFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -1455,7 +1455,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormattedText(&self, value: P0) -> ::windows_core::Result<()> @@ -1469,7 +1469,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEndPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -1480,7 +1480,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGravity(&self, value: RangeGravity) -> ::windows_core::Result<()> { @@ -1491,14 +1491,14 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Link(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLink(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1509,7 +1509,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParagraphFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -1523,7 +1523,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -1534,14 +1534,14 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1552,7 +1552,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).map(|| result__) } } pub fn ChangeCase(&self, value: LetterCase) -> ::windows_core::Result<()> { @@ -1575,28 +1575,28 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } pub fn Expand(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn FindText(&self, value: &::windows_core::HSTRING, scanlength: i32, options: FindOptions) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).map(|| result__) } } pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows_core::Result<()> { @@ -1607,14 +1607,14 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -1644,7 +1644,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1662,7 +1662,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsEqual(&self, range: P0) -> ::windows_core::Result @@ -1672,28 +1672,28 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn Paste(&self, format: i32) -> ::windows_core::Result<()> { @@ -1736,7 +1736,7 @@ impl ITextSelection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } } @@ -1774,7 +1774,7 @@ impl ContentLinkInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetId(&self, value: u32) -> ::windows_core::Result<()> { @@ -1785,7 +1785,7 @@ impl ContentLinkInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDisplayText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1796,7 +1796,7 @@ impl ContentLinkInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecondaryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecondaryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSecondaryText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1807,7 +1807,7 @@ impl ContentLinkInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1821,7 +1821,7 @@ impl ContentLinkInfo { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinkContentKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinkContentKind)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLinkContentKind(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1849,67 +1849,67 @@ impl FontWeights { pub fn Black() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Black)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Black)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Bold() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtraBlack() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtraBlack)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtraBlack)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtraBold() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtraBold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtraBold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ExtraLight() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtraLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtraLight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Light() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Light)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Light)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Medium() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Medium)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Medium)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Normal() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Normal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Normal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SemiBold() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SemiBold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SemiBold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SemiLight() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SemiLight)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SemiLight)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Thin() -> ::windows_core::Result { Self::IFontWeightsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1940,7 +1940,7 @@ impl RichEditTextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaretType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaretType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCaretType(&self, value: CaretType) -> ::windows_core::Result<()> { @@ -1951,7 +1951,7 @@ impl RichEditTextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultTabStop)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultTabStop)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetDefaultTabStop(&self, value: f32) -> ::windows_core::Result<()> { @@ -1962,14 +1962,14 @@ impl RichEditTextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Selection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UndoLimit(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndoLimit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndoLimit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUndoLimit(&self, value: u32) -> ::windows_core::Result<()> { @@ -1980,42 +1980,42 @@ impl RichEditTextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanCopy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanCopy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanPaste(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanRedo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanRedo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanRedo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanUndo(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanUndo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanUndo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ApplyDisplayUpdates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplyDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplyDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BatchDisplayUpdates(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BatchDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BatchDisplayUpdates)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn BeginUndoGroup(&self) -> ::windows_core::Result<()> { @@ -2030,28 +2030,28 @@ impl RichEditTextDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultCharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultCharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDefaultParagraphFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDefaultParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDefaultParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRange(&self, startposition: i32, endposition: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRange)(::windows_core::Interface::as_raw(this), startposition, endposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRange)(::windows_core::Interface::as_raw(this), startposition, endposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetRangeFromPoint(&self, point: super::super::Foundation::Point, options: PointOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetRangeFromPoint)(::windows_core::Interface::as_raw(this), point, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetRangeFromPoint)(::windows_core::Interface::as_raw(this), point, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2104,7 +2104,7 @@ impl RichEditTextDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AlignmentIncludesTrailingWhitespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AlignmentIncludesTrailingWhitespace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAlignmentIncludesTrailingWhitespace(&self, value: bool) -> ::windows_core::Result<()> { @@ -2115,7 +2115,7 @@ impl RichEditTextDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnoreTrailingCharacterSpacing)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnoreTrailingCharacterSpacing)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIgnoreTrailingCharacterSpacing(&self, value: bool) -> ::windows_core::Result<()> { @@ -2161,7 +2161,7 @@ impl RichEditTextRange { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLinkInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLinkInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentLinkInfo(&self, value: P0) -> ::windows_core::Result<()> @@ -2175,7 +2175,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Character)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCharacter(&self, value: u16) -> ::windows_core::Result<()> { @@ -2186,7 +2186,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharacterFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharacterFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -2200,7 +2200,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FormattedText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFormattedText(&self, value: P0) -> ::windows_core::Result<()> @@ -2214,7 +2214,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEndPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -2225,7 +2225,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gravity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetGravity(&self, value: RangeGravity) -> ::windows_core::Result<()> { @@ -2236,14 +2236,14 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Link(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Link)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLink(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2254,7 +2254,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ParagraphFormat)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetParagraphFormat(&self, value: P0) -> ::windows_core::Result<()> @@ -2268,7 +2268,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartPosition)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStartPosition(&self, value: i32) -> ::windows_core::Result<()> { @@ -2279,14 +2279,14 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StoryLength)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2297,7 +2297,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanPaste)(::windows_core::Interface::as_raw(this), format, &mut result__).map(|| result__) } } pub fn ChangeCase(&self, value: LetterCase) -> ::windows_core::Result<()> { @@ -2320,28 +2320,28 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EndOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } pub fn Expand(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expand)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn FindText(&self, value: &::windows_core::HSTRING, scanlength: i32, options: FindOptions) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(value), scanlength, options, &mut result__).map(|| result__) } } pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows_core::Result<()> { @@ -2352,14 +2352,14 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetClone)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetIndex)(::windows_core::Interface::as_raw(this), unit, &mut result__).map(|| result__) } } pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows_core::Result<()> { @@ -2389,7 +2389,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InRange)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2407,7 +2407,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InStory)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn IsEqual(&self, range: P0) -> ::windows_core::Result @@ -2417,28 +2417,28 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), range.into_param().abi(), &mut result__).map(|| result__) } } pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Move)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveEnd)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveStart)(::windows_core::Interface::as_raw(this), unit, count, &mut result__).map(|| result__) } } pub fn Paste(&self, format: i32) -> ::windows_core::Result<()> { @@ -2481,7 +2481,7 @@ impl RichEditTextRange { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartOf)(::windows_core::Interface::as_raw(this), unit, extend, &mut result__).map(|| result__) } } } @@ -2502,49 +2502,49 @@ impl TextConstants { pub fn AutoColor() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MinUnitCount() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinUnitCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinUnitCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MaxUnitCount() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxUnitCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxUnitCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UndefinedColor() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndefinedColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndefinedColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UndefinedFloatValue() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndefinedFloatValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndefinedFloatValue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UndefinedInt32Value() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndefinedInt32Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndefinedInt32Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UndefinedFontStretch() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndefinedFontStretch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndefinedFontStretch)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn UndefinedFontStyle() -> ::windows_core::Result { Self::ITextConstantsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UndefinedFontStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UndefinedFontStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] 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 41e99300e4..94703a1f27 100644 --- a/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs @@ -16,7 +16,7 @@ impl ICoreAutomationConnectionBoundObjectProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsComThreadingRequired)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsComThreadingRequired)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -78,7 +78,7 @@ impl ICoreAutomationRemoteOperationExtensionProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExtensionSupported)(::windows_core::Interface::as_raw(this), extensionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExtensionSupported)(::windows_core::Interface::as_raw(this), extensionid, &mut result__).map(|| result__) } } } @@ -153,35 +153,35 @@ impl AutomationRemoteOperationResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExtendedError(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ErrorLocation(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ErrorLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ErrorLocation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HasOperand(&self, operandid: AutomationRemoteOperationOperandId) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasOperand)(::windows_core::Interface::as_raw(this), operandid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasOperand)(::windows_core::Interface::as_raw(this), operandid, &mut result__).map(|| result__) } } pub fn GetOperand(&self, operandid: AutomationRemoteOperationOperandId) -> ::windows_core::Result<::windows_core::IInspectable> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOperand)(::windows_core::Interface::as_raw(this), operandid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOperand)(::windows_core::Interface::as_raw(this), operandid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -202,7 +202,7 @@ impl CoreAutomationRegistrar { pub fn RegisterAnnotationType(guid: ::windows_core::GUID) -> ::windows_core::Result { Self::ICoreAutomationRegistrarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RegisterAnnotationType)(::windows_core::Interface::as_raw(this), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RegisterAnnotationType)(::windows_core::Interface::as_raw(this), guid, &mut result__).map(|| result__) }) } pub fn UnregisterAnnotationType(registration: AutomationAnnotationTypeRegistration) -> ::windows_core::Result<()> { @@ -233,7 +233,7 @@ impl CoreAutomationRemoteOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOpcodeSupported)(::windows_core::Interface::as_raw(this), opcode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOpcodeSupported)(::windows_core::Interface::as_raw(this), opcode, &mut result__).map(|| result__) } } pub fn ImportElement(&self, operandid: AutomationRemoteOperationOperandId, element: P0) -> ::windows_core::Result<()> @@ -258,7 +258,7 @@ impl CoreAutomationRemoteOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Execute)(::windows_core::Interface::as_raw(this), bytecodebuffer.len().try_into().unwrap(), bytecodebuffer.as_ptr(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Execute)(::windows_core::Interface::as_raw(this), bytecodebuffer.len().try_into().unwrap(), bytecodebuffer.as_ptr(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImportConnectionBoundObject(&self, operandid: AutomationRemoteOperationOperandId, connectionboundobject: P0) -> ::windows_core::Result<()> @@ -290,7 +290,7 @@ impl CoreAutomationRemoteOperationContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetOperand)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetOperand)(::windows_core::Interface::as_raw(this), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetOperand(&self, id: AutomationRemoteOperationOperandId, operand: P0) -> ::windows_core::Result<()> @@ -340,14 +340,14 @@ impl RemoteAutomationClientSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWindowAsync)(::windows_core::Interface::as_raw(this), remotewindowid, remoteprocessid, parentautomationelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWindowAsync)(::windows_core::Interface::as_raw(this), remotewindowid, remoteprocessid, parentautomationelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SessionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SessionId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ConnectionRequested(&self, handler: P0) -> ::windows_core::Result @@ -357,7 +357,7 @@ impl RemoteAutomationClientSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConnectionRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -371,7 +371,7 @@ impl RemoteAutomationClientSession { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Disconnected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDisconnected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -381,13 +381,13 @@ impl RemoteAutomationClientSession { pub fn CreateInstance(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IRemoteAutomationClientSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateInstance2(name: &::windows_core::HSTRING, sessionid: ::windows_core::GUID) -> ::windows_core::Result { Self::IRemoteAutomationClientSessionFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateInstance2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), sessionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateInstance2)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), sessionid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -417,14 +417,14 @@ impl RemoteAutomationConnectionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPipeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPipeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RemoteProcessId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoteProcessId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoteProcessId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -449,7 +449,7 @@ impl RemoteAutomationDisconnectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalPipeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalPipeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -488,14 +488,14 @@ impl RemoteAutomationWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomationProvider)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomationProvider)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnregisterAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnregisterAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnregisterAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs b/crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs index ccd7bcf664..da12ce9028 100644 --- a/crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs +++ b/crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs @@ -40,21 +40,21 @@ impl AutomationConnection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppUserModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExecutableFileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -79,7 +79,7 @@ impl AutomationConnectionBoundObject { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -104,21 +104,21 @@ impl AutomationElement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsRemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsRemoteSystem)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AppUserModelId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppUserModelId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ExecutableFileName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutableFileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs b/crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs index 488ad288eb..e213e718d0 100644 --- a/crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs @@ -197,7 +197,7 @@ impl CoreFrameworkInputView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryViewAnimationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryViewAnimationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrimaryViewAnimationStarting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -211,7 +211,7 @@ impl CoreFrameworkInputView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOcclusionsChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -224,13 +224,13 @@ impl CoreFrameworkInputView { { Self::ICoreFrameworkInputViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICoreFrameworkInputViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -261,21 +261,21 @@ impl CoreFrameworkInputViewAnimationStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FrameworkAnimationRecommended(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameworkAnimationRecommended)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameworkAnimationRecommended)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AnimationDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnimationDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnimationDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -301,14 +301,14 @@ impl CoreFrameworkInputViewOcclusionsChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -336,7 +336,7 @@ impl CoreInputView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveOcclusionsChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -348,21 +348,21 @@ impl CoreInputView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCoreInputViewOcclusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCoreInputViewOcclusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryShowPrimaryView(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowPrimaryView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowPrimaryView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryHidePrimaryView(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryHidePrimaryView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryHidePrimaryView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn XYFocusTransferringFromPrimaryView(&self, handler: P0) -> ::windows_core::Result @@ -372,7 +372,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XYFocusTransferringFromPrimaryView)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XYFocusTransferringFromPrimaryView)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveXYFocusTransferringFromPrimaryView(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -386,7 +386,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).XYFocusTransferredToPrimaryView)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).XYFocusTransferredToPrimaryView)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveXYFocusTransferredToPrimaryView(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -397,28 +397,28 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryTransferXYFocusToPrimaryView)(::windows_core::Interface::as_raw(this), origin, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryTransferXYFocusToPrimaryView)(::windows_core::Interface::as_raw(this), origin, direction, &mut result__).map(|| result__) } } pub fn TryShow(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryShowWithKind(&self, r#type: CoreInputViewKind) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowWithKind)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowWithKind)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn TryHide(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryHide)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryHide)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PrimaryViewShowing(&self, handler: P0) -> ::windows_core::Result @@ -428,7 +428,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryViewShowing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryViewShowing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrimaryViewShowing(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -442,7 +442,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryViewHiding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryViewHiding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrimaryViewHiding(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -453,7 +453,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsKindSupported)(::windows_core::Interface::as_raw(this), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsKindSupported)(::windows_core::Interface::as_raw(this), r#type, &mut result__).map(|| result__) } } pub fn SupportedKindsChanged(&self, handler: P0) -> ::windows_core::Result @@ -463,7 +463,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SupportedKindsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SupportedKindsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSupportedKindsChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -477,7 +477,7 @@ impl CoreInputView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryViewAnimationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryViewAnimationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePrimaryViewAnimationStarting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -487,7 +487,7 @@ impl CoreInputView { pub fn GetForCurrentView() -> ::windows_core::Result { Self::ICoreInputViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUIContext(context: P0) -> ::windows_core::Result @@ -496,7 +496,7 @@ impl CoreInputView { { Self::ICoreInputViewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -532,14 +532,14 @@ impl CoreInputViewAnimationStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -550,7 +550,7 @@ impl CoreInputViewAnimationStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnimationDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnimationDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -575,7 +575,7 @@ impl CoreInputViewHidingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -600,14 +600,14 @@ impl CoreInputViewOcclusion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OccludingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OccludingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn OcclusionKind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OcclusionKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OcclusionKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -633,14 +633,14 @@ impl CoreInputViewOcclusionsChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Occlusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -669,7 +669,7 @@ impl CoreInputViewShowingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -694,14 +694,14 @@ impl CoreInputViewTransferringXYFocusEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Origin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Direction(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Direction)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTransferHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -712,7 +712,7 @@ impl CoreInputViewTransferringXYFocusEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferHandled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferHandled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetKeepPrimaryViewVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -723,7 +723,7 @@ impl CoreInputViewTransferringXYFocusEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeepPrimaryViewVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeepPrimaryViewVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -767,7 +767,7 @@ impl UISettingsController { pub fn RequestDefaultAsync() -> ::windows_core::Result> { Self::IUISettingsControllerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestDefaultAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs b/crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs index 82437be719..79534014ec 100644 --- a/crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs +++ b/crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs @@ -528,14 +528,14 @@ impl AccessibilitySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighContrast)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighContrast)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn HighContrastScheme(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighContrastScheme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighContrastScheme)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HighContrastChanged(&self, handler: P0) -> ::windows_core::Result @@ -545,7 +545,7 @@ impl AccessibilitySettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HighContrastChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HighContrastChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHighContrastChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -574,21 +574,21 @@ impl ActivationViewSwitcher { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsStandaloneAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsStandaloneAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ShowAsStandaloneWithSizePreferenceAsync(&self, viewid: i32, sizepreference: ViewSizePreference) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsStandaloneWithSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsStandaloneWithSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsViewPresentedOnActivationVirtualDesktop(&self, viewid: i32) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsViewPresentedOnActivationVirtualDesktop)(::windows_core::Interface::as_raw(this), viewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsViewPresentedOnActivationVirtualDesktop)(::windows_core::Interface::as_raw(this), viewid, &mut result__).map(|| result__) } } } @@ -613,21 +613,21 @@ impl ApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orientation)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdjacentToLeftDisplayEdge(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdjacentToLeftDisplayEdge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdjacentToLeftDisplayEdge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdjacentToRightDisplayEdge(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdjacentToRightDisplayEdge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdjacentToRightDisplayEdge)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -635,21 +635,21 @@ impl ApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFullScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFullScreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsOnLockScreen(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOnLockScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOnLockScreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsScreenCaptureEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScreenCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScreenCaptureEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsScreenCaptureEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -664,14 +664,14 @@ impl ApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Id(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Consolidated(&self, handler: P0) -> ::windows_core::Result @@ -681,7 +681,7 @@ impl ApplicationView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Consolidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Consolidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveConsolidated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -693,7 +693,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuppressSystemOverlays)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuppressSystemOverlays)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "deprecated")] @@ -705,7 +705,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibleBounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibleBounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn VisibleBoundsChanged(&self, handler: P0) -> ::windows_core::Result @@ -715,7 +715,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VisibleBoundsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VisibleBoundsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveVisibleBoundsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -726,28 +726,28 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetDesiredBoundsMode)(::windows_core::Interface::as_raw(this), boundsmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetDesiredBoundsMode)(::windows_core::Interface::as_raw(this), boundsmode, &mut result__).map(|| result__) } } pub fn DesiredBoundsMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DesiredBoundsMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DesiredBoundsMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TitleBar(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FullScreenSystemOverlayMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FullScreenSystemOverlayMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FullScreenSystemOverlayMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFullScreenSystemOverlayMode(&self, value: FullScreenSystemOverlayMode) -> ::windows_core::Result<()> { @@ -758,14 +758,14 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsFullScreenMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsFullScreenMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryEnterFullScreenMode(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnterFullScreenMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnterFullScreenMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ExitFullScreenMode(&self) -> ::windows_core::Result<()> { @@ -780,7 +780,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryResizeView)(::windows_core::Interface::as_raw(this), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryResizeView)(::windows_core::Interface::as_raw(this), value, &mut result__).map(|| result__) } } pub fn SetPreferredMinSize(&self, minsize: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -791,21 +791,21 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsViewModeSupported(&self, viewmode: ApplicationViewMode) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsViewModeSupported)(::windows_core::Interface::as_raw(this), viewmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsViewModeSupported)(::windows_core::Interface::as_raw(this), viewmode, &mut result__).map(|| result__) } } pub fn TryEnterViewModeAsync(&self, viewmode: ApplicationViewMode) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnterViewModeAsync)(::windows_core::Interface::as_raw(this), viewmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnterViewModeAsync)(::windows_core::Interface::as_raw(this), viewmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryEnterViewModeWithPreferencesAsync(&self, viewmode: ApplicationViewMode, viewmodepreferences: P0) -> ::windows_core::Result> @@ -815,21 +815,21 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryEnterViewModeWithPreferencesAsync)(::windows_core::Interface::as_raw(this), viewmode, viewmodepreferences.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryEnterViewModeWithPreferencesAsync)(::windows_core::Interface::as_raw(this), viewmode, viewmodepreferences.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryConsolidateAsync(&self) -> ::windows_core::Result> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryConsolidateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryConsolidateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PersistedStateId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PersistedStateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PersistedStateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPersistedStateId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -841,7 +841,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "UI_WindowManagement"))] @@ -849,14 +849,14 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "deprecated")] pub fn TryUnsnapToFullscreen() -> ::windows_core::Result { Self::IApplicationViewFullscreenStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUnsnapToFullscreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUnsnapToFullscreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "UI_Core")] @@ -866,33 +866,33 @@ impl ApplicationView { { Self::IApplicationViewInteropStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetApplicationViewIdForWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetApplicationViewIdForWindow)(::windows_core::Interface::as_raw(this), window.into_param().abi(), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn Value() -> ::windows_core::Result { Self::IApplicationViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[cfg(feature = "deprecated")] pub fn TryUnsnap() -> ::windows_core::Result { Self::IApplicationViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryUnsnap)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryUnsnap)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IApplicationViewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TerminateAppOnFinalViewClose() -> ::windows_core::Result { Self::IApplicationViewStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TerminateAppOnFinalViewClose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TerminateAppOnFinalViewClose)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetTerminateAppOnFinalViewClose(value: bool) -> ::windows_core::Result<()> { @@ -901,7 +901,7 @@ impl ApplicationView { pub fn PreferredLaunchWindowingMode() -> ::windows_core::Result { Self::IApplicationViewStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredLaunchWindowingMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredLaunchWindowingMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetPreferredLaunchWindowingMode(value: ApplicationViewWindowingMode) -> ::windows_core::Result<()> { @@ -910,7 +910,7 @@ impl ApplicationView { pub fn PreferredLaunchViewSize() -> ::windows_core::Result { Self::IApplicationViewStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreferredLaunchViewSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreferredLaunchViewSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SetPreferredLaunchViewSize(value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -926,7 +926,7 @@ impl ApplicationView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -983,14 +983,14 @@ impl ApplicationViewConsolidatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsUserInitiated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsUserInitiated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsAppInitiated(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsAppInitiated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsAppInitiated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1014,13 +1014,13 @@ impl ApplicationViewScaling { pub fn DisableLayoutScaling() -> ::windows_core::Result { Self::IApplicationViewScalingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisableLayoutScaling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisableLayoutScaling)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn TrySetDisableLayoutScaling(disablelayoutscaling: bool) -> ::windows_core::Result { Self::IApplicationViewScalingStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetDisableLayoutScaling)(::windows_core::Interface::as_raw(this), disablelayoutscaling, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetDisableLayoutScaling)(::windows_core::Interface::as_raw(this), disablelayoutscaling, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1047,43 +1047,43 @@ impl ApplicationViewSwitcher { pub fn TryShowAsStandaloneAsync(viewid: i32) -> ::windows_core::Result> { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsStandaloneAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsStandaloneAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryShowAsStandaloneWithSizePreferenceAsync(viewid: i32, sizepreference: ViewSizePreference) -> ::windows_core::Result> { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsStandaloneWithSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsStandaloneWithSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryShowAsStandaloneWithAnchorViewAndSizePreferenceAsync(viewid: i32, sizepreference: ViewSizePreference, anchorviewid: i32, anchorsizepreference: ViewSizePreference) -> ::windows_core::Result> { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsStandaloneWithAnchorViewAndSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, anchorviewid, anchorsizepreference, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsStandaloneWithAnchorViewAndSizePreferenceAsync)(::windows_core::Interface::as_raw(this), viewid, sizepreference, anchorviewid, anchorsizepreference, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SwitchAsync(viewid: i32) -> ::windows_core::Result { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchAsync)(::windows_core::Interface::as_raw(this), viewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SwitchFromViewAsync(toviewid: i32, fromviewid: i32) -> ::windows_core::Result { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchFromViewAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchFromViewAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SwitchFromViewWithOptionsAsync(toviewid: i32, fromviewid: i32, options: ApplicationViewSwitchingOptions) -> ::windows_core::Result { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwitchFromViewWithOptionsAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwitchFromViewWithOptionsAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn PrepareForCustomAnimatedSwitchAsync(toviewid: i32, fromviewid: i32, options: ApplicationViewSwitchingOptions) -> ::windows_core::Result> { Self::IApplicationViewSwitcherStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrepareForCustomAnimatedSwitchAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrepareForCustomAnimatedSwitchAsync)(::windows_core::Interface::as_raw(this), toviewid, fromviewid, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn DisableSystemViewActivationPolicy() -> ::windows_core::Result<()> { @@ -1092,7 +1092,7 @@ impl ApplicationViewSwitcher { pub fn TryShowAsViewModeAsync(viewid: i32, viewmode: ApplicationViewMode) -> ::windows_core::Result> { Self::IApplicationViewSwitcherStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsViewModeAsync)(::windows_core::Interface::as_raw(this), viewid, viewmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsViewModeAsync)(::windows_core::Interface::as_raw(this), viewid, viewmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryShowAsViewModeWithPreferencesAsync(viewid: i32, viewmode: ApplicationViewMode, viewmodepreferences: P0) -> ::windows_core::Result> @@ -1101,7 +1101,7 @@ impl ApplicationViewSwitcher { { Self::IApplicationViewSwitcherStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsViewModeWithPreferencesAsync)(::windows_core::Interface::as_raw(this), viewid, viewmode, viewmodepreferences.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsViewModeWithPreferencesAsync)(::windows_core::Interface::as_raw(this), viewid, viewmode, viewmodepreferences.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1139,7 +1139,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1153,7 +1153,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1167,7 +1167,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1181,7 +1181,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonHoverForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1195,7 +1195,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonHoverForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonHoverForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonHoverBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1209,7 +1209,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonHoverBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonHoverBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonPressedForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1223,7 +1223,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonPressedBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1237,7 +1237,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInactiveForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1251,7 +1251,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInactiveBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1265,7 +1265,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonInactiveForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1279,7 +1279,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonInactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonInactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonInactiveBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1293,7 +1293,7 @@ impl ApplicationViewTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonInactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonInactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1325,7 +1325,7 @@ impl ApplicationViewTransferContext { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetViewId(&self, value: i32) -> ::windows_core::Result<()> { @@ -1335,7 +1335,7 @@ impl ApplicationViewTransferContext { pub fn DataPackageFormatId() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IApplicationViewTransferContextStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DataPackageFormatId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DataPackageFormatId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1366,7 +1366,7 @@ impl InputPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShowing(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1380,7 +1380,7 @@ impl InputPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hiding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hiding)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHiding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1391,28 +1391,28 @@ impl InputPane { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryShow(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TryHide(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryHide)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryHide)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Visible(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -1422,7 +1422,7 @@ impl InputPane { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IInputPaneStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetForUIContext(context: P0) -> ::windows_core::Result @@ -1431,7 +1431,7 @@ impl InputPane { { Self::IInputPaneStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForUIContext)(::windows_core::Interface::as_raw(this), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1464,7 +1464,7 @@ impl InputPaneVisibilityEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnsuredFocusedElementInView(&self, value: bool) -> ::windows_core::Result<()> { @@ -1475,7 +1475,7 @@ impl InputPaneVisibilityEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnsuredFocusedElementInView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnsuredFocusedElementInView)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1494,25 +1494,25 @@ impl ProjectionManager { pub fn StartProjectingAsync(projectionviewid: i32, anchorviewid: i32) -> ::windows_core::Result { Self::IProjectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SwapDisplaysForViewsAsync(projectionviewid: i32, anchorviewid: i32) -> ::windows_core::Result { Self::IProjectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SwapDisplaysForViewsAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SwapDisplaysForViewsAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn StopProjectingAsync(projectionviewid: i32, anchorviewid: i32) -> ::windows_core::Result { Self::IProjectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ProjectionDisplayAvailable() -> ::windows_core::Result { Self::IProjectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionDisplayAvailable)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionDisplayAvailable)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ProjectionDisplayAvailableChanged(handler: P0) -> ::windows_core::Result @@ -1521,7 +1521,7 @@ impl ProjectionManager { { Self::IProjectionManagerStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProjectionDisplayAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProjectionDisplayAvailableChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveProjectionDisplayAvailableChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1534,26 +1534,26 @@ impl ProjectionManager { { Self::IProjectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StartProjectingWithDeviceInfoAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, displaydeviceinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StartProjectingWithDeviceInfoAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, displaydeviceinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn RequestStartProjectingAsync(projectionviewid: i32, anchorviewid: i32, selection: super::super::Foundation::Rect) -> ::windows_core::Result> { Self::IProjectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStartProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, selection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStartProjectingAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, selection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "UI_Popups")] pub fn RequestStartProjectingWithPlacementAsync(projectionviewid: i32, anchorviewid: i32, selection: super::super::Foundation::Rect, prefferedplacement: super::Popups::Placement) -> ::windows_core::Result> { Self::IProjectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestStartProjectingWithPlacementAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, selection, prefferedplacement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestStartProjectingWithPlacementAsync)(::windows_core::Interface::as_raw(this), projectionviewid, anchorviewid, selection, prefferedplacement, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetDeviceSelector() -> ::windows_core::Result<::windows_core::HSTRING> { Self::IProjectionManagerStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeviceSelector)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1579,21 +1579,21 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HideAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HideAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HideAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BackgroundOpacity(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundOpacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundOpacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundOpacity(&self, value: f64) -> ::windows_core::Result<()> { @@ -1604,7 +1604,7 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1618,7 +1618,7 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -1632,14 +1632,14 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgressIndicator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgressIndicator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn OccludedRect(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OccludedRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Showing(&self, eventhandler: P0) -> ::windows_core::Result @@ -1649,7 +1649,7 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Showing)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveShowing(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1663,7 +1663,7 @@ impl StatusBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Hiding)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Hiding)(::windows_core::Interface::as_raw(this), eventhandler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveHiding(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1673,7 +1673,7 @@ impl StatusBar { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IStatusBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1703,21 +1703,21 @@ impl StatusBarProgressIndicator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HideAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HideAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HideAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1728,7 +1728,7 @@ impl StatusBarProgressIndicator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProgressValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProgressValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProgressValue(&self, value: P0) -> ::windows_core::Result<()> @@ -1767,98 +1767,98 @@ impl UISettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HandPreference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HandPreference)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CursorSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CursorSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CursorSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScrollBarSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScrollBarSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScrollBarSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScrollBarArrowSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScrollBarArrowSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScrollBarArrowSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ScrollBarThumbBoxSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScrollBarThumbBoxSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScrollBarThumbBoxSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MessageDuration(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageDuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageDuration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AnimationsEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnimationsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnimationsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CaretBrowsingEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaretBrowsingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaretBrowsingEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CaretBlinkRate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaretBlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaretBlinkRate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CaretWidth(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaretWidth)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaretWidth)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DoubleClickTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DoubleClickTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DoubleClickTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn MouseHoverTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MouseHoverTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MouseHoverTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn UIElementColor(&self, desiredelement: UIElementType) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIElementColor)(::windows_core::Interface::as_raw(this), desiredelement, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIElementColor)(::windows_core::Interface::as_raw(this), desiredelement, &mut result__).map(|| result__) } } pub fn TextScaleFactor(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextScaleFactor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn TextScaleFactorChanged(&self, handler: P0) -> ::windows_core::Result @@ -1868,7 +1868,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TextScaleFactorChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TextScaleFactorChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveTextScaleFactorChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1879,7 +1879,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetColorValue)(::windows_core::Interface::as_raw(this), desiredcolor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetColorValue)(::windows_core::Interface::as_raw(this), desiredcolor, &mut result__).map(|| result__) } } pub fn ColorValuesChanged(&self, handler: P0) -> ::windows_core::Result @@ -1889,7 +1889,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColorValuesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColorValuesChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveColorValuesChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1900,7 +1900,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvancedEffectsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvancedEffectsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AdvancedEffectsEnabledChanged(&self, handler: P0) -> ::windows_core::Result @@ -1910,7 +1910,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AdvancedEffectsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AdvancedEffectsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAdvancedEffectsEnabledChanged(&self, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1921,7 +1921,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoHideScrollBars)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoHideScrollBars)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AutoHideScrollBarsChanged(&self, handler: P0) -> ::windows_core::Result @@ -1931,7 +1931,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutoHideScrollBarsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutoHideScrollBarsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAutoHideScrollBarsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1945,7 +1945,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AnimationsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AnimationsEnabledChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAnimationsEnabledChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1959,7 +1959,7 @@ impl UISettings { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MessageDurationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MessageDurationChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMessageDurationChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -2039,13 +2039,13 @@ impl UIViewSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInteractionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInteractionMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetForCurrentView() -> ::windows_core::Result { Self::IUIViewSettingsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2075,7 +2075,7 @@ impl ViewModePreferences { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ViewSizePreference)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ViewSizePreference)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetViewSizePreference(&self, value: ViewSizePreference) -> ::windows_core::Result<()> { @@ -2086,7 +2086,7 @@ impl ViewModePreferences { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CustomSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CustomSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCustomSize(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { @@ -2096,7 +2096,7 @@ impl ViewModePreferences { pub fn CreateDefault(mode: ApplicationViewMode) -> ::windows_core::Result { Self::IViewModePreferencesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateDefault)(::windows_core::Interface::as_raw(this), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateDefault)(::windows_core::Interface::as_raw(this), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/WebUI/Core/mod.rs b/crates/libs/windows/src/Windows/UI/WebUI/Core/mod.rs index 7cad2f03e3..254cce60e1 100644 --- a/crates/libs/windows/src/Windows/UI/WebUI/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/WebUI/Core/mod.rs @@ -141,7 +141,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Visible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -152,7 +152,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Opacity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetOpacity(&self, value: f64) -> ::windows_core::Result<()> { @@ -163,7 +163,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetForegroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -174,7 +174,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBackgroundColor(&self, value: super::super::Color) -> ::windows_core::Result<()> { @@ -185,7 +185,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClosedDisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClosedDisplayMode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetClosedDisplayMode(&self, value: WebUICommandBarClosedDisplayMode) -> ::windows_core::Result<()> { @@ -196,7 +196,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsOpen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsOpen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsOpen(&self, value: bool) -> ::windows_core::Result<()> { @@ -207,7 +207,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -215,7 +215,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrimaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrimaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -223,7 +223,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SecondaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SecondaryCommands)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MenuOpened(&self, handler: P0) -> ::windows_core::Result @@ -233,7 +233,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MenuOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MenuOpened)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMenuOpened(&self, value: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -247,7 +247,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MenuClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MenuClosed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMenuClosed(&self, value: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -261,7 +261,7 @@ impl WebUICommandBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SizeChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveSizeChanged(&self, value: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -271,7 +271,7 @@ impl WebUICommandBar { pub fn GetForCurrentView() -> ::windows_core::Result { Self::IWebUICommandBarStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetForCurrentView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -309,7 +309,7 @@ impl WebUICommandBarBitmapIcon { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -325,7 +325,7 @@ impl WebUICommandBarBitmapIcon { { Self::IWebUICommandBarBitmapIconFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -363,7 +363,7 @@ impl WebUICommandBarConfirmationButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -377,7 +377,7 @@ impl WebUICommandBarConfirmationButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemInvoked(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -414,7 +414,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -425,7 +425,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -436,7 +436,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsToggleButton)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsToggleButton)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsToggleButton(&self, value: bool) -> ::windows_core::Result<()> { @@ -447,7 +447,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsChecked)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsChecked)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsChecked(&self, value: bool) -> ::windows_core::Result<()> { @@ -458,7 +458,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Icon)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIcon(&self, value: P0) -> ::windows_core::Result<()> @@ -475,7 +475,7 @@ impl WebUICommandBarIconButton { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemInvoked)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveItemInvoked(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -504,7 +504,7 @@ impl WebUICommandBarItemInvokedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrimaryCommand)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrimaryCommand)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -529,7 +529,7 @@ impl WebUICommandBarSizeChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -562,7 +562,7 @@ impl WebUICommandBarSymbolIcon { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Symbol)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Symbol)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSymbol(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -572,7 +572,7 @@ impl WebUICommandBarSymbolIcon { pub fn Create(symbol: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IWebUICommandBarSymbolIconFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(symbol), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(symbol), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/UI/WebUI/mod.rs b/crates/libs/windows/src/Windows/UI/WebUI/mod.rs index deca8dde02..280cde2a30 100644 --- a/crates/libs/windows/src/Windows/UI/WebUI/mod.rs +++ b/crates/libs/windows/src/Windows/UI/WebUI/mod.rs @@ -14,7 +14,7 @@ impl IActivatedEventArgsDeferral { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -142,7 +142,7 @@ impl IWebUIBackgroundTaskInstance { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSucceeded(&self, succeeded: bool) -> ::windows_core::Result<()> { @@ -181,7 +181,7 @@ impl IWebUINavigatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -254,7 +254,7 @@ impl ActivatedOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -283,7 +283,7 @@ impl BackgroundActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskInstance)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -319,7 +319,7 @@ impl EnteredBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -355,7 +355,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetContent(&self, value: PrintContent) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeftMargin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeftMargin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLeftMargin(&self, value: f32) -> ::windows_core::Result<()> { @@ -377,7 +377,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TopMargin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TopMargin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTopMargin(&self, value: f32) -> ::windows_core::Result<()> { @@ -388,7 +388,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RightMargin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RightMargin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetRightMargin(&self, value: f32) -> ::windows_core::Result<()> { @@ -399,7 +399,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BottomMargin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BottomMargin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBottomMargin(&self, value: f32) -> ::windows_core::Result<()> { @@ -410,7 +410,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnableHeaderFooter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnableHeaderFooter)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetEnableHeaderFooter(&self, value: bool) -> ::windows_core::Result<()> { @@ -421,7 +421,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShrinkToFit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShrinkToFit)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetShrinkToFit(&self, value: bool) -> ::windows_core::Result<()> { @@ -432,7 +432,7 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PercentScale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PercentScale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPercentScale(&self, scalepercent: f32) -> ::windows_core::Result<()> { @@ -443,14 +443,14 @@ impl HtmlPrintDocumentSource { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PageRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PageRange)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySetPageRange(&self, strpagerange: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySetPageRange)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(strpagerange), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySetPageRange)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(strpagerange), &mut result__).map(|| result__) } } } @@ -481,7 +481,7 @@ impl LeavingBackgroundEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -511,7 +511,7 @@ impl NewWebUIViewCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebUIView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebUIView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -519,21 +519,21 @@ impl NewWebUIViewCreatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedEventArgs)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedEventArgs)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasPendingNavigate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasPendingNavigate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasPendingNavigate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn GetDeferral(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -591,7 +591,7 @@ impl SuspendingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendingOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -623,7 +623,7 @@ impl SuspendingOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel")] @@ -631,7 +631,7 @@ impl SuspendingOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Deadline)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -657,7 +657,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveActivated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -670,7 +670,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Suspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Suspending)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveSuspending(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -682,7 +682,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Resuming)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Resuming)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveResuming(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -694,7 +694,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Navigated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Navigated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveNavigated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -707,7 +707,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LeavingBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LeavingBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveLeavingBackground(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -720,7 +720,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnteredBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnteredBackground)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveEnteredBackground(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -733,7 +733,7 @@ impl WebUIApplication { pub fn RequestRestartAsync(launcharguments: &::windows_core::HSTRING) -> ::windows_core::Result> { Self::IWebUIActivationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRestartAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(launcharguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRestartAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(launcharguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "ApplicationModel_Core", feature = "System"))] @@ -743,7 +743,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics3(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestRestartForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(launcharguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestRestartForUserAsync)(::windows_core::Interface::as_raw(this), user.into_param().abi(), ::core::mem::transmute_copy(launcharguments), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NewWebUIViewCreated(handler: P0) -> ::windows_core::Result @@ -752,7 +752,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewWebUIViewCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewWebUIViewCreated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveNewWebUIViewCreated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -765,7 +765,7 @@ impl WebUIApplication { { Self::IWebUIActivationStatics4(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundActivated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) }) } pub fn RemoveBackgroundActivated(token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -810,7 +810,7 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -818,7 +818,7 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -826,14 +826,14 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -841,7 +841,7 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -849,7 +849,7 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Appointments_AppointmentsProvider"))] @@ -857,7 +857,7 @@ impl WebUIAppointmentsProviderAddAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AddAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -889,7 +889,7 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -897,7 +897,7 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -905,14 +905,14 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -920,7 +920,7 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -928,7 +928,7 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Appointments_AppointmentsProvider"))] @@ -936,7 +936,7 @@ impl WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RemoveAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -968,7 +968,7 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -976,7 +976,7 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -984,14 +984,14 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -999,7 +999,7 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1007,7 +1007,7 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Appointments_AppointmentsProvider"))] @@ -1015,7 +1015,7 @@ impl WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReplaceAppointmentOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1047,7 +1047,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1055,7 +1055,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1063,14 +1063,14 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1078,7 +1078,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1086,7 +1086,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1094,7 +1094,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceStartDate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1102,7 +1102,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LocalId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1110,7 +1110,7 @@ impl WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoamingId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1142,7 +1142,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1150,7 +1150,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1158,14 +1158,14 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1173,7 +1173,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1181,7 +1181,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1189,7 +1189,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TimeToShow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1197,7 +1197,7 @@ impl WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Duration)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1219,7 +1219,7 @@ impl WebUIBackgroundTaskInstance { pub fn Current() -> ::windows_core::Result { Self::IWebUIBackgroundTaskInstanceStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Current)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1243,7 +1243,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InstanceId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1251,7 +1251,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Task)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1259,7 +1259,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Progress)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1272,7 +1272,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TriggerDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1283,7 +1283,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Canceled)(::windows_core::Interface::as_raw(this), cancelhandler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1296,7 +1296,7 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SuspendedCount)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Background")] @@ -1304,14 +1304,14 @@ impl WebUIBackgroundTaskInstanceRuntimeClass { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSucceeded(&self, succeeded: bool) -> ::windows_core::Result<()> { @@ -1344,7 +1344,7 @@ impl WebUIBarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1352,7 +1352,7 @@ impl WebUIBarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1360,14 +1360,14 @@ impl WebUIBarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1375,7 +1375,7 @@ impl WebUIBarcodeScannerPreviewActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1383,7 +1383,7 @@ impl WebUIBarcodeScannerPreviewActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1419,7 +1419,7 @@ impl WebUICachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1427,7 +1427,7 @@ impl WebUICachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1435,14 +1435,14 @@ impl WebUICachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1450,7 +1450,7 @@ impl WebUICachedFileUpdaterActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage_Provider"))] @@ -1458,7 +1458,7 @@ impl WebUICachedFileUpdaterActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CachedFileUpdaterUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1490,7 +1490,7 @@ impl WebUICameraSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1498,7 +1498,7 @@ impl WebUICameraSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1506,14 +1506,14 @@ impl WebUICameraSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1521,7 +1521,7 @@ impl WebUICameraSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceController)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1529,7 +1529,7 @@ impl WebUICameraSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VideoDeviceExtension)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1561,7 +1561,7 @@ impl WebUICommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1569,7 +1569,7 @@ impl WebUICommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1577,14 +1577,14 @@ impl WebUICommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1592,7 +1592,7 @@ impl WebUICommandLineActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1600,7 +1600,7 @@ impl WebUICommandLineActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1636,7 +1636,7 @@ impl WebUIContactCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1644,7 +1644,7 @@ impl WebUIContactCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1652,14 +1652,14 @@ impl WebUIContactCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1667,7 +1667,7 @@ impl WebUIContactCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1675,7 +1675,7 @@ impl WebUIContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1683,7 +1683,7 @@ impl WebUIContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1691,7 +1691,7 @@ impl WebUIContactCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1723,7 +1723,7 @@ impl WebUIContactMapActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1731,7 +1731,7 @@ impl WebUIContactMapActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1739,14 +1739,14 @@ impl WebUIContactMapActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1754,7 +1754,7 @@ impl WebUIContactMapActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1762,7 +1762,7 @@ impl WebUIContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Address)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1770,7 +1770,7 @@ impl WebUIContactMapActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1802,7 +1802,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1810,7 +1810,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1818,14 +1818,14 @@ impl WebUIContactMessageActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1833,7 +1833,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1841,7 +1841,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1849,7 +1849,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1857,7 +1857,7 @@ impl WebUIContactMessageActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1889,7 +1889,7 @@ impl WebUIContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1897,7 +1897,7 @@ impl WebUIContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1905,14 +1905,14 @@ impl WebUIContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -1920,7 +1920,7 @@ impl WebUIContactPanelActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1928,7 +1928,7 @@ impl WebUIContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPanel)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -1936,7 +1936,7 @@ impl WebUIContactPanelActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1972,7 +1972,7 @@ impl WebUIContactPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1980,7 +1980,7 @@ impl WebUIContactPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -1988,14 +1988,14 @@ impl WebUIContactPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts_Provider"))] @@ -2003,7 +2003,7 @@ impl WebUIContactPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContactPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2035,7 +2035,7 @@ impl WebUIContactPostActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2043,7 +2043,7 @@ impl WebUIContactPostActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2051,14 +2051,14 @@ impl WebUIContactPostActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2066,7 +2066,7 @@ impl WebUIContactPostActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2074,7 +2074,7 @@ impl WebUIContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2082,7 +2082,7 @@ impl WebUIContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -2090,7 +2090,7 @@ impl WebUIContactPostActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2122,7 +2122,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2130,7 +2130,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2138,14 +2138,14 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2153,7 +2153,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2161,7 +2161,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2169,7 +2169,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServiceUserId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Contacts"))] @@ -2177,7 +2177,7 @@ impl WebUIContactVideoCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contact)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2209,7 +2209,7 @@ impl WebUIDeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2217,7 +2217,7 @@ impl WebUIDeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2225,14 +2225,14 @@ impl WebUIDeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2240,7 +2240,7 @@ impl WebUIDeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2248,7 +2248,7 @@ impl WebUIDeviceActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2256,7 +2256,7 @@ impl WebUIDeviceActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformationId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2264,7 +2264,7 @@ impl WebUIDeviceActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2296,7 +2296,7 @@ impl WebUIDevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2304,7 +2304,7 @@ impl WebUIDevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2312,14 +2312,14 @@ impl WebUIDevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2327,7 +2327,7 @@ impl WebUIDevicePairingActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Devices_Enumeration"))] @@ -2335,7 +2335,7 @@ impl WebUIDevicePairingActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeviceInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2367,7 +2367,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2375,7 +2375,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2383,14 +2383,14 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2398,7 +2398,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2406,7 +2406,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2414,7 +2414,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AppName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2422,7 +2422,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2430,7 +2430,7 @@ impl WebUIDialReceiverActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2462,7 +2462,7 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2470,7 +2470,7 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2478,14 +2478,14 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2493,7 +2493,7 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2501,7 +2501,7 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections", feature = "Storage"))] @@ -2509,7 +2509,7 @@ impl WebUIFileActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2517,7 +2517,7 @@ impl WebUIFileActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Verb)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage_Search"))] @@ -2525,7 +2525,7 @@ impl WebUIFileActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NeighboringFilesQuery)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2557,7 +2557,7 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2565,7 +2565,7 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2573,14 +2573,14 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2588,7 +2588,7 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage_Pickers_Provider"))] @@ -2596,7 +2596,7 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileOpenPickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2604,7 +2604,7 @@ impl WebUIFileOpenPickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2636,7 +2636,7 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2644,7 +2644,7 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2652,14 +2652,14 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2667,7 +2667,7 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -2675,7 +2675,7 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections", feature = "Storage", feature = "deprecated"))] @@ -2683,7 +2683,7 @@ impl WebUIFileOpenPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Files)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2715,7 +2715,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2723,7 +2723,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2731,14 +2731,14 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2746,7 +2746,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage_Pickers_Provider"))] @@ -2754,7 +2754,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileSavePickerUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2762,7 +2762,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2770,7 +2770,7 @@ impl WebUIFileSavePickerActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2802,7 +2802,7 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2810,7 +2810,7 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2818,14 +2818,14 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2833,7 +2833,7 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -2841,7 +2841,7 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage", feature = "deprecated"))] @@ -2849,7 +2849,7 @@ impl WebUIFileSavePickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).File)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2881,7 +2881,7 @@ impl WebUIFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2889,7 +2889,7 @@ impl WebUIFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2897,14 +2897,14 @@ impl WebUIFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -2912,7 +2912,7 @@ impl WebUIFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -2920,7 +2920,7 @@ impl WebUIFolderPickerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Storage", feature = "deprecated"))] @@ -2928,7 +2928,7 @@ impl WebUIFolderPickerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Folder)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2969,7 +2969,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2977,7 +2977,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -2985,14 +2985,14 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3000,7 +3000,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3008,7 +3008,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3016,7 +3016,7 @@ impl WebUILaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3024,7 +3024,7 @@ impl WebUILaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3032,7 +3032,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileActivatedInfo)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3040,7 +3040,7 @@ impl WebUILaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrelaunchActivated)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3072,7 +3072,7 @@ impl WebUILockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3080,7 +3080,7 @@ impl WebUILockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3088,14 +3088,14 @@ impl WebUILockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3103,7 +3103,7 @@ impl WebUILockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3111,7 +3111,7 @@ impl WebUILockScreenActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3119,7 +3119,7 @@ impl WebUILockScreenActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Info)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3151,7 +3151,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3159,7 +3159,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3167,14 +3167,14 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3182,7 +3182,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3190,7 +3190,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Arguments)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3198,7 +3198,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TileId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Calls"))] @@ -3206,7 +3206,7 @@ impl WebUILockScreenCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallUI)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3238,7 +3238,7 @@ impl WebUILockScreenComponentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3246,7 +3246,7 @@ impl WebUILockScreenComponentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3254,14 +3254,14 @@ impl WebUILockScreenComponentActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3308,7 +3308,7 @@ impl WebUINavigatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3331,7 +3331,7 @@ impl WebUINavigatedOperation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3360,7 +3360,7 @@ impl WebUIPhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3368,7 +3368,7 @@ impl WebUIPhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3376,14 +3376,14 @@ impl WebUIPhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3391,7 +3391,7 @@ impl WebUIPhoneCallActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3399,7 +3399,7 @@ impl WebUIPhoneCallActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -3435,7 +3435,7 @@ impl WebUIPrint3DWorkflowActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3443,7 +3443,7 @@ impl WebUIPrint3DWorkflowActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3451,14 +3451,14 @@ impl WebUIPrint3DWorkflowActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Devices_Printers_Extensions"))] @@ -3466,7 +3466,7 @@ impl WebUIPrint3DWorkflowActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Workflow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3498,7 +3498,7 @@ impl WebUIPrintTaskSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3506,7 +3506,7 @@ impl WebUIPrintTaskSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3514,14 +3514,14 @@ impl WebUIPrintTaskSettingsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Devices_Printers_Extensions"))] @@ -3529,7 +3529,7 @@ impl WebUIPrintTaskSettingsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Configuration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3561,7 +3561,7 @@ impl WebUIPrintWorkflowForegroundTaskActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3569,7 +3569,7 @@ impl WebUIPrintWorkflowForegroundTaskActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3577,14 +3577,14 @@ impl WebUIPrintWorkflowForegroundTaskActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3616,7 +3616,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3624,7 +3624,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3632,14 +3632,14 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3647,7 +3647,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3655,7 +3655,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3663,7 +3663,7 @@ impl WebUIProtocolActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3671,7 +3671,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -3679,7 +3679,7 @@ impl WebUIProtocolActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3720,7 +3720,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3728,7 +3728,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3736,14 +3736,14 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3751,7 +3751,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3759,7 +3759,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3767,7 +3767,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3775,7 +3775,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CallerPackageFamilyName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -3783,7 +3783,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Data)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3791,7 +3791,7 @@ impl WebUIProtocolForResultsActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProtocolForResultsOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3823,7 +3823,7 @@ impl WebUIRestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3831,7 +3831,7 @@ impl WebUIRestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3839,14 +3839,14 @@ impl WebUIRestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -3854,7 +3854,7 @@ impl WebUIRestrictedLaunchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3862,7 +3862,7 @@ impl WebUIRestrictedLaunchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3894,7 +3894,7 @@ impl WebUISearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3902,7 +3902,7 @@ impl WebUISearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3910,14 +3910,14 @@ impl WebUISearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3925,7 +3925,7 @@ impl WebUISearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CurrentlyShownApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3933,7 +3933,7 @@ impl WebUISearchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).QueryText)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3941,7 +3941,7 @@ impl WebUISearchActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Search"))] @@ -3949,7 +3949,7 @@ impl WebUISearchActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LinguisticDetails)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -3981,7 +3981,7 @@ impl WebUIShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3989,7 +3989,7 @@ impl WebUIShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -3997,14 +3997,14 @@ impl WebUIShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -4012,7 +4012,7 @@ impl WebUIShareTargetActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_DataTransfer_ShareTarget"))] @@ -4020,7 +4020,7 @@ impl WebUIShareTargetActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ShareOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4052,7 +4052,7 @@ impl WebUIStartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4060,7 +4060,7 @@ impl WebUIStartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4068,14 +4068,14 @@ impl WebUIStartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -4083,7 +4083,7 @@ impl WebUIStartupTaskActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4091,7 +4091,7 @@ impl WebUIStartupTaskActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TaskId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4127,7 +4127,7 @@ impl WebUIToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4135,7 +4135,7 @@ impl WebUIToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4143,14 +4143,14 @@ impl WebUIToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -4158,7 +4158,7 @@ impl WebUIToastNotificationActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4166,7 +4166,7 @@ impl WebUIToastNotificationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Argument)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -4174,7 +4174,7 @@ impl WebUIToastNotificationActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserInput)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4206,7 +4206,7 @@ impl WebUIUserDataAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4214,7 +4214,7 @@ impl WebUIUserDataAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4222,14 +4222,14 @@ impl WebUIUserDataAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_UserDataAccounts_Provider"))] @@ -4237,7 +4237,7 @@ impl WebUIUserDataAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4265,7 +4265,7 @@ impl WebUIView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ApplicationViewId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Closed(&self, handler: P0) -> ::windows_core::Result @@ -4275,7 +4275,7 @@ impl WebUIView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4290,7 +4290,7 @@ impl WebUIView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Activated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveActivated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -4301,7 +4301,7 @@ impl WebUIView { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnoreApplicationContentUriRulesNavigationRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnoreApplicationContentUriRulesNavigationRestrictions)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIgnoreApplicationContentUriRulesNavigationRestrictions(&self, value: bool) -> ::windows_core::Result<()> { @@ -4311,7 +4311,7 @@ impl WebUIView { pub fn CreateAsync() -> ::windows_core::Result> { Self::IWebUIViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithUriAsync(uri: P0) -> ::windows_core::Result> @@ -4320,7 +4320,7 @@ impl WebUIView { { Self::IWebUIViewStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithUriAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Web_UI")] @@ -4328,7 +4328,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_UI")] @@ -4344,7 +4344,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_UI")] @@ -4352,7 +4352,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4360,7 +4360,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4373,7 +4373,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4381,7 +4381,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4389,7 +4389,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_UI"))] @@ -4397,7 +4397,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_UI")] @@ -4458,7 +4458,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "Web_UI"))] @@ -4469,7 +4469,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_DataTransfer", feature = "Web_UI"))] @@ -4477,7 +4477,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_UI")] @@ -4485,7 +4485,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_UI")] @@ -4501,7 +4501,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4517,7 +4517,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4533,7 +4533,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4549,7 +4549,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4565,7 +4565,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4581,7 +4581,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4597,7 +4597,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4613,7 +4613,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4629,7 +4629,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4645,7 +4645,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4661,7 +4661,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4677,7 +4677,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4693,7 +4693,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4709,7 +4709,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4725,7 +4725,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4741,7 +4741,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4757,7 +4757,7 @@ impl WebUIView { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Web_UI")] @@ -4801,7 +4801,7 @@ impl WebUIVoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4809,7 +4809,7 @@ impl WebUIVoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4817,14 +4817,14 @@ impl WebUIVoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -4832,7 +4832,7 @@ impl WebUIVoiceCommandActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Media_SpeechRecognition"))] @@ -4840,7 +4840,7 @@ impl WebUIVoiceCommandActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Result)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4872,7 +4872,7 @@ impl WebUIWalletActionActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4880,7 +4880,7 @@ impl WebUIWalletActionActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4888,14 +4888,14 @@ impl WebUIWalletActionActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "deprecated"))] @@ -4903,7 +4903,7 @@ impl WebUIWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "ApplicationModel_Wallet", feature = "deprecated"))] @@ -4911,7 +4911,7 @@ impl WebUIWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionKind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "deprecated"))] @@ -4919,7 +4919,7 @@ impl WebUIWalletActionActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActionId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4951,7 +4951,7 @@ impl WebUIWebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4959,7 +4959,7 @@ impl WebUIWebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -4967,14 +4967,14 @@ impl WebUIWebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "System"))] @@ -4982,7 +4982,7 @@ impl WebUIWebAccountProviderActivatedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Security_Authentication_Web_Provider"))] @@ -4990,7 +4990,7 @@ impl WebUIWebAccountProviderActivatedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Operation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -5022,7 +5022,7 @@ impl WebUIWebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -5030,7 +5030,7 @@ impl WebUIWebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousExecutionState)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "ApplicationModel_Activation")] @@ -5038,14 +5038,14 @@ impl WebUIWebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SplashScreen)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ActivatedOperation(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivatedOperation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Foundation_Collections"))] @@ -5053,7 +5053,7 @@ impl WebUIWebAuthenticationBrokerContinuationEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContinuationData)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "ApplicationModel_Activation", feature = "Security_Authentication_Web"))] @@ -5061,7 +5061,7 @@ impl WebUIWebAuthenticationBrokerContinuationEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebAuthenticationResult)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs b/crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs index fa8d013be3..3dfc72ce93 100644 --- a/crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs +++ b/crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs @@ -282,7 +282,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -290,28 +290,28 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispatcherQueue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Frame(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Frame)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn PersistedStateId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PersistedStateId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PersistedStateId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPersistedStateId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -322,14 +322,14 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Presenter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Presenter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Title(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -340,35 +340,35 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TitleBar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UIContext(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WindowingEnvironment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CloseAsync(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPlacement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPlacement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPlacement)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -376,7 +376,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestMoveToDisplayRegion(&self, displayregion: P0) -> ::windows_core::Result<()> @@ -423,7 +423,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryShowAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -433,7 +433,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -447,7 +447,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Closed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -461,7 +461,7 @@ impl AppWindow { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CloseRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveCloseRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -471,7 +471,7 @@ impl AppWindow { pub fn TryCreateAsync() -> ::windows_core::Result> { Self::IAppWindowStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryCreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryCreateAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ClearAllPersistedState() -> ::windows_core::Result<()> { @@ -507,56 +507,56 @@ impl AppWindowChangedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidAvailableWindowPresentationsChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidAvailableWindowPresentationsChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidDisplayRegionsChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidDisplayRegionsChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidDisplayRegionsChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidFrameChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidFrameChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidFrameChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidSizeChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidSizeChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidSizeChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidTitleBarChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidTitleBarChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidTitleBarChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidVisibilityChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidVisibilityChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidVisibilityChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidWindowingEnvironmentChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidWindowingEnvironmentChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidWindowingEnvironmentChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn DidWindowPresentationChange(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DidWindowPresentationChange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DidWindowPresentationChange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -581,7 +581,7 @@ impl AppWindowCloseRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCancel(&self, value: bool) -> ::windows_core::Result<()> { @@ -592,7 +592,7 @@ impl AppWindowCloseRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -617,7 +617,7 @@ impl AppWindowClosedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -643,14 +643,14 @@ impl AppWindowFrame { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DragRegionVisuals)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DragRegionVisuals)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetFrameStyle(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetFrameStyle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetFrameStyle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFrameStyle(&self, framestyle: AppWindowFrameStyle) -> ::windows_core::Result<()> { @@ -679,21 +679,21 @@ impl AppWindowPlacement { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayRegion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayRegion)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Offset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Offset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Size(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -718,7 +718,7 @@ impl AppWindowPresentationConfiguration { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -743,14 +743,14 @@ impl AppWindowPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetConfiguration)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPresentationSupported(&self, presentationkind: AppWindowPresentationKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPresentationSupported)(::windows_core::Interface::as_raw(this), presentationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPresentationSupported)(::windows_core::Interface::as_raw(this), presentationkind, &mut result__).map(|| result__) } } pub fn RequestPresentation(&self, configuration: P0) -> ::windows_core::Result @@ -760,14 +760,14 @@ impl AppWindowPresenter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPresentation)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPresentation)(::windows_core::Interface::as_raw(this), configuration.into_param().abi(), &mut result__).map(|| result__) } } pub fn RequestPresentationByKind(&self, presentationkind: AppWindowPresentationKind) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestPresentationByKind)(::windows_core::Interface::as_raw(this), presentationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestPresentationByKind)(::windows_core::Interface::as_raw(this), presentationkind, &mut result__).map(|| result__) } } } @@ -792,7 +792,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -806,7 +806,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -820,7 +820,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -834,7 +834,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonHoverBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonHoverBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonHoverBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -848,7 +848,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonHoverForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonHoverForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonHoverForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -862,7 +862,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonInactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonInactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonInactiveBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -876,7 +876,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonInactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonInactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonInactiveForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -890,7 +890,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressedBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonPressedBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -904,7 +904,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ButtonPressedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ButtonPressedForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetButtonPressedForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -918,7 +918,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendsContentIntoTitleBar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendsContentIntoTitleBar)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetExtendsContentIntoTitleBar(&self, value: bool) -> ::windows_core::Result<()> { @@ -929,7 +929,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -943,7 +943,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InactiveBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInactiveBackgroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -957,7 +957,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InactiveForegroundColor)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetInactiveForegroundColor(&self, value: P0) -> ::windows_core::Result<()> @@ -971,7 +971,7 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -979,14 +979,14 @@ impl AppWindowTitleBar { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetTitleBarOcclusions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetTitleBarOcclusions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetPreferredVisibility(&self) -> ::windows_core::Result { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetPreferredVisibility)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetPreferredVisibility)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPreferredVisibility(&self, visibilitymode: AppWindowTitleBarVisibility) -> ::windows_core::Result<()> { @@ -1015,7 +1015,7 @@ impl AppWindowTitleBarOcclusion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OccludingRect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OccludingRect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1048,7 +1048,7 @@ impl CompactOverlayPresentationConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1081,7 +1081,7 @@ impl DefaultPresentationConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1106,35 +1106,35 @@ impl DisplayRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DisplayMonitorDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DisplayMonitorDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsVisible(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WorkAreaOffset(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkAreaOffset)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkAreaOffset)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WorkAreaSize(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WorkAreaSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WorkAreaSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WindowingEnvironment(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -1144,7 +1144,7 @@ impl DisplayRegion { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1181,14 +1181,14 @@ impl FullScreenPresentationConfiguration { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn IsExclusive(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsExclusive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsExclusive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsExclusive(&self, value: bool) -> ::windows_core::Result<()> { @@ -1214,7 +1214,7 @@ impl WindowServices { pub fn FindAllTopLevelWindowIds() -> ::windows_core::Result> { Self::IWindowServicesStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllTopLevelWindowIds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllTopLevelWindowIds)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1235,14 +1235,14 @@ impl WindowingEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Kind(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Kind)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1250,7 +1250,7 @@ impl WindowingEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDisplayRegions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Changed(&self, handler: P0) -> ::windows_core::Result @@ -1260,7 +1260,7 @@ impl WindowingEnvironment { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -1271,14 +1271,14 @@ impl WindowingEnvironment { pub fn FindAll() -> ::windows_core::Result> { Self::IWindowingEnvironmentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAll)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] pub fn FindAllWithKind(kind: WindowingEnvironmentKind) -> ::windows_core::Result> { Self::IWindowingEnvironmentStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FindAllWithKind)(::windows_core::Interface::as_raw(this), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FindAllWithKind)(::windows_core::Interface::as_raw(this), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1308,7 +1308,7 @@ impl WindowingEnvironmentAddedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1350,7 +1350,7 @@ impl WindowingEnvironmentRemovedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WindowingEnvironment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/UI/mod.rs b/crates/libs/windows/src/Windows/UI/mod.rs index acca446632..1ac4dada03 100644 --- a/crates/libs/windows/src/Windows/UI/mod.rs +++ b/crates/libs/windows/src/Windows/UI/mod.rs @@ -220,13 +220,13 @@ impl ColorHelper { pub fn FromArgb(a: u8, r: u8, g: u8, b: u8) -> ::windows_core::Result { Self::IColorHelperStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FromArgb)(::windows_core::Interface::as_raw(this), a, r, g, b, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FromArgb)(::windows_core::Interface::as_raw(this), a, r, g, b, &mut result__).map(|| result__) }) } pub fn ToDisplayName(color: Color) -> ::windows_core::Result<::windows_core::HSTRING> { Self::IColorHelperStatics2(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToDisplayName)(::windows_core::Interface::as_raw(this), color, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToDisplayName)(::windows_core::Interface::as_raw(this), color, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -260,847 +260,847 @@ impl Colors { pub fn AliceBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AliceBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AliceBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn AntiqueWhite() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AntiqueWhite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AntiqueWhite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Aqua() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aqua)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aqua)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Aquamarine() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Aquamarine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Aquamarine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Azure() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Azure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Azure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Beige() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Beige)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Beige)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Bisque() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bisque)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bisque)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Black() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Black)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Black)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BlanchedAlmond() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlanchedAlmond)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlanchedAlmond)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Blue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Blue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Blue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BlueViolet() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BlueViolet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BlueViolet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Brown() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Brown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Brown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn BurlyWood() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BurlyWood)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BurlyWood)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CadetBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CadetBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CadetBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Chartreuse() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Chartreuse)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Chartreuse)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Chocolate() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Chocolate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Chocolate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Coral() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Coral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Coral)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn CornflowerBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CornflowerBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CornflowerBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Cornsilk() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cornsilk)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cornsilk)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Crimson() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Crimson)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Crimson)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Cyan() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cyan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cyan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkCyan() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkCyan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkCyan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkGoldenrod() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkGoldenrod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkGoldenrod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkKhaki() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkKhaki)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkKhaki)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkMagenta() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkMagenta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkMagenta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkOliveGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkOliveGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkOliveGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkOrange() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkOrange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkOrange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkOrchid() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkOrchid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkOrchid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkRed() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkRed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkRed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkSalmon() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkSalmon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkSalmon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkSeaGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkSlateBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkSlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkSlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkSlateGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkSlateGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkSlateGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkTurquoise() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DarkViolet() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DarkViolet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DarkViolet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DeepPink() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeepPink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeepPink)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DeepSkyBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeepSkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeepSkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DimGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DimGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DimGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn DodgerBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DodgerBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DodgerBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Firebrick() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Firebrick)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Firebrick)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn FloralWhite() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FloralWhite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FloralWhite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn ForestGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ForestGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ForestGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Fuchsia() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Fuchsia)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Fuchsia)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gainsboro() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gainsboro)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gainsboro)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GhostWhite() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GhostWhite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GhostWhite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gold() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gold)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gold)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Goldenrod() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Goldenrod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Goldenrod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Gray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Gray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Gray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Green() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Green)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Green)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn GreenYellow() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GreenYellow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GreenYellow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Honeydew() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Honeydew)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Honeydew)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn HotPink() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HotPink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HotPink)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn IndianRed() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndianRed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndianRed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Indigo() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Indigo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Indigo)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Ivory() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Ivory)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Ivory)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Khaki() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Khaki)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Khaki)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Lavender() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lavender)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lavender)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LavenderBlush() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LavenderBlush)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LavenderBlush)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LawnGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LawnGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LawnGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LemonChiffon() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LemonChiffon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LemonChiffon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightCoral() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightCoral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightCoral)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightCyan() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightCyan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightCyan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightGoldenrodYellow() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightGoldenrodYellow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightGoldenrodYellow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightPink() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightPink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightPink)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightSalmon() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSalmon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSalmon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightSeaGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightSkyBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightSlateGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSlateGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSlateGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightSteelBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightSteelBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightSteelBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LightYellow() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LightYellow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LightYellow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Lime() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn LimeGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LimeGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LimeGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Linen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Linen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Linen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Magenta() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Magenta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Magenta)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Maroon() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Maroon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Maroon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumAquamarine() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumAquamarine)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumAquamarine)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumOrchid() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumOrchid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumOrchid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumPurple() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumPurple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumPurple)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumSeaGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumSeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumSlateBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumSlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumSlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumSpringGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumSpringGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumSpringGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumTurquoise() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MediumVioletRed() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediumVioletRed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediumVioletRed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MidnightBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MidnightBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MidnightBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MintCream() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MintCream)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MintCream)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn MistyRose() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MistyRose)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MistyRose)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Moccasin() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Moccasin)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Moccasin)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn NavajoWhite() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavajoWhite)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavajoWhite)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Navy() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Navy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Navy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OldLace() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OldLace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OldLace)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Olive() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Olive)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Olive)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OliveDrab() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OliveDrab)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OliveDrab)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Orange() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orange)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn OrangeRed() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).OrangeRed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).OrangeRed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Orchid() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Orchid)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Orchid)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PaleGoldenrod() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaleGoldenrod)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaleGoldenrod)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PaleGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaleGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaleGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PaleTurquoise() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaleTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaleTurquoise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PaleVioletRed() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PaleVioletRed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PaleVioletRed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PapayaWhip() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PapayaWhip)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PapayaWhip)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PeachPuff() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PeachPuff)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PeachPuff)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Peru() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Peru)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Peru)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Pink() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Pink)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Pink)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Plum() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Plum)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Plum)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn PowderBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PowderBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PowderBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Purple() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Purple)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Purple)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Red() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Red)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Red)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RosyBrown() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RosyBrown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RosyBrown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn RoyalBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoyalBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoyalBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SaddleBrown() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SaddleBrown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SaddleBrown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Salmon() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Salmon)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Salmon)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SandyBrown() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SandyBrown)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SandyBrown)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SeaGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeaGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SeaShell() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SeaShell)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SeaShell)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Sienna() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Sienna)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Sienna)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Silver() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Silver)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Silver)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SkyBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SkyBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SlateBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlateBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SlateGray() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SlateGray)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SlateGray)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Snow() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Snow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Snow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SpringGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SpringGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SpringGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn SteelBlue() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SteelBlue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SteelBlue)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Tan() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tan)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tan)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Teal() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Teal)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Teal)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Thistle() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Thistle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Thistle)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Tomato() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Tomato)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Tomato)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Transparent() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Transparent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Transparent)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Turquoise() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Turquoise)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Turquoise)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Violet() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Violet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Violet)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Wheat() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Wheat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Wheat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn White() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).White)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).White)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn WhiteSmoke() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WhiteSmoke)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WhiteSmoke)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn Yellow() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Yellow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Yellow)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } pub fn YellowGreen() -> ::windows_core::Result { Self::IColorsStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).YellowGreen)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).YellowGreen)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1130,7 +1130,7 @@ impl UIContentRoot { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UIContext)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Wdk/NetworkManagement/Ndis/mod.rs b/crates/libs/windows/src/Windows/Wdk/NetworkManagement/Ndis/mod.rs index 91ed552d7d..99557d8aee 100644 --- a/crates/libs/windows/src/Windows/Wdk/NetworkManagement/Ndis/mod.rs +++ b/crates/libs/windows/src/Windows/Wdk/NetworkManagement/Ndis/mod.rs @@ -17,7 +17,7 @@ pub unsafe fn NdisCancelTimer(timer: *const NDIS_TIMER) -> super::super::super:: ::windows_targets::link!("ndis.sys" "system" fn NdisCancelTimer(timer : *const NDIS_TIMER, timercancelled : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); NdisCancelTimer(timer, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn NdisClAddParty(ndisvchandle: *const ::core::ffi::c_void, protocolpartycontext: *const ::core::ffi::c_void, callparameters: *mut CO_CALL_PARAMETERS, ndispartyhandle: *mut *mut ::core::ffi::c_void) -> i32 { @@ -219,7 +219,7 @@ pub unsafe fn NdisGetCurrentProcessorCpuUsage() -> u32 { ::windows_targets::link!("ndis.sys" "system" fn NdisGetCurrentProcessorCpuUsage(pcpuusage : *mut u32)); let mut result__ = ::std::mem::zeroed(); NdisGetCurrentProcessorCpuUsage(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn NdisGetRoutineAddress(ndisroutinename: *const super::super::super::Win32::Foundation::UNICODE_STRING) -> *mut ::core::ffi::c_void { @@ -267,7 +267,7 @@ pub unsafe fn NdisInitializeEvent() -> NDIS_EVENT { ::windows_targets::link!("ndis.sys" "system" fn NdisInitializeEvent(event : *mut NDIS_EVENT)); let mut result__ = ::std::mem::zeroed(); NdisInitializeEvent(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn NdisInitializeReadWriteLock(lock: *mut NDIS_RW_LOCK) { @@ -307,7 +307,7 @@ pub unsafe fn NdisMCancelTimer(timer: *const NDIS_MINIPORT_TIMER) -> super::supe ::windows_targets::link!("ndis.sys" "system" fn NdisMCancelTimer(timer : *const NDIS_MINIPORT_TIMER, timercancelled : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); NdisMCancelTimer(timer, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn NdisMCloseLog(loghandle: *const ::core::ffi::c_void) { diff --git a/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/Minifilters/mod.rs b/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/Minifilters/mod.rs index 61de6432f5..71de33895f 100644 --- a/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/Minifilters/mod.rs +++ b/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/Minifilters/mod.rs @@ -1212,7 +1212,7 @@ pub unsafe fn FltInitializePushLock() -> usize { ::windows_targets::link!("fltmgr.sys" "system" fn FltInitializePushLock(pushlock : *mut usize)); let mut result__ = ::std::mem::zeroed(); FltInitializePushLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] diff --git a/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/mod.rs b/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/mod.rs index 53061be4be..717dbc5d07 100644 --- a/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Wdk/Storage/FileSystem/mod.rs @@ -355,7 +355,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn CcUnpinRepinnedBcb(bcb : *const ::core::ffi::c_void, writethrough : super::super::super::Win32::Foundation:: BOOLEAN, iostatus : *mut super::super::super::Win32::System::IO:: IO_STATUS_BLOCK)); let mut result__ = ::std::mem::zeroed(); CcUnpinRepinnedBcb(bcb, writethrough.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn CcWaitForCurrentLazyWriterActivity() -> super::super::super::Win32::Foundation::NTSTATUS { @@ -1213,7 +1213,7 @@ pub unsafe fn FsRtlNotifyInitializeSync() -> super::super::Foundation::PNOTIFY_S ::windows_targets::link!("ntoskrnl.exe" "system" fn FsRtlNotifyInitializeSync(notifysync : *mut super::super::Foundation:: PNOTIFY_SYNC)); let mut result__ = ::std::mem::zeroed(); FsRtlNotifyInitializeSync(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] @@ -1466,7 +1466,7 @@ pub unsafe fn FsRtlResetBaseMcb() -> BASE_MCB { ::windows_targets::link!("ntoskrnl.exe" "system" fn FsRtlResetBaseMcb(mcb : *mut BASE_MCB)); let mut result__ = ::std::mem::zeroed(); FsRtlResetBaseMcb(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_System_Kernel"))] #[inline] @@ -1595,7 +1595,7 @@ pub unsafe fn IoAcquireVpbSpinLock() -> u8 { ::windows_targets::link!("ntoskrnl.exe" "system" fn IoAcquireVpbSpinLock(irql : *mut u8)); let mut result__ = ::std::mem::zeroed(); IoAcquireVpbSpinLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] @@ -2711,7 +2711,7 @@ pub unsafe fn PfxInitialize() -> PREFIX_TABLE { ::windows_targets::link!("ntdll.dll" "system" fn PfxInitialize(prefixtable : *mut PREFIX_TABLE)); let mut result__ = ::std::mem::zeroed(); PfxInitialize(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_System_Kernel"))] #[inline] @@ -3242,7 +3242,7 @@ pub unsafe fn RtlInitializeUnicodePrefix() -> UNICODE_PREFIX_TABLE { ::windows_targets::link!("ntoskrnl.exe" "system" fn RtlInitializeUnicodePrefix(prefixtable : *mut UNICODE_PREFIX_TABLE)); let mut result__ = ::std::mem::zeroed(); RtlInitializeUnicodePrefix(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] @@ -3433,14 +3433,14 @@ pub unsafe fn RtlSecondsSince1970ToTime(elapsedseconds: u32) -> i64 { ::windows_targets::link!("ntdll.dll" "system" fn RtlSecondsSince1970ToTime(elapsedseconds : u32, time : *mut i64)); let mut result__ = ::std::mem::zeroed(); RtlSecondsSince1970ToTime(elapsedseconds, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn RtlSecondsSince1980ToTime(elapsedseconds: u32) -> i64 { ::windows_targets::link!("ntdll.dll" "system" fn RtlSecondsSince1980ToTime(elapsedseconds : u32, time : *mut i64)); let mut result__ = ::std::mem::zeroed(); RtlSecondsSince1980ToTime(elapsedseconds, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Security")] #[inline] @@ -3758,7 +3758,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeCaptureSubjectContextEx(thread : super::super::Foundation:: PETHREAD, process : super::super::Foundation:: PEPROCESS, subjectcontext : *mut super::super::Foundation:: SECURITY_SUBJECT_CONTEXT)); let mut result__ = ::std::mem::zeroed(); SeCaptureSubjectContextEx(thread.into_param().abi(), process.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_Security"))] #[inline] @@ -3770,7 +3770,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeCheckForCriticalAceRemoval(currentdescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, newdescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, subjectsecuritycontext : *const super::super::Foundation:: SECURITY_SUBJECT_CONTEXT, aceremoved : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); SeCheckForCriticalAceRemoval(currentdescriptor.into_param().abi(), newdescriptor.into_param().abi(), subjectsecuritycontext, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_Security"))] #[inline] @@ -3886,7 +3886,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeOpenObjectAuditAlarm(objecttypename : *const super::super::super::Win32::Foundation:: UNICODE_STRING, object : *const ::core::ffi::c_void, absoluteobjectname : *const super::super::super::Win32::Foundation:: UNICODE_STRING, securitydescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, accessstate : *const super::super::Foundation:: ACCESS_STATE, objectcreated : super::super::super::Win32::Foundation:: BOOLEAN, accessgranted : super::super::super::Win32::Foundation:: BOOLEAN, accessmode : i8, generateonclose : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); SeOpenObjectAuditAlarm(objecttypename, ::core::mem::transmute(object.unwrap_or(::std::ptr::null())), ::core::mem::transmute(absoluteobjectname.unwrap_or(::std::ptr::null())), securitydescriptor.into_param().abi(), accessstate, objectcreated.into_param().abi(), accessgranted.into_param().abi(), accessmode, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Wdk_System_SystemServices", feature = "Win32_Security"))] #[inline] @@ -3899,7 +3899,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeOpenObjectAuditAlarmWithTransaction(objecttypename : *const super::super::super::Win32::Foundation:: UNICODE_STRING, object : *const ::core::ffi::c_void, absoluteobjectname : *const super::super::super::Win32::Foundation:: UNICODE_STRING, securitydescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, accessstate : *const super::super::Foundation:: ACCESS_STATE, objectcreated : super::super::super::Win32::Foundation:: BOOLEAN, accessgranted : super::super::super::Win32::Foundation:: BOOLEAN, accessmode : i8, transactionid : *const ::windows_core::GUID, generateonclose : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); SeOpenObjectAuditAlarmWithTransaction(objecttypename, ::core::mem::transmute(object.unwrap_or(::std::ptr::null())), ::core::mem::transmute(absoluteobjectname.unwrap_or(::std::ptr::null())), securitydescriptor.into_param().abi(), accessstate, objectcreated.into_param().abi(), accessgranted.into_param().abi(), accessmode, ::core::mem::transmute(transactionid.unwrap_or(::std::ptr::null())), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Wdk_System_SystemServices", feature = "Win32_Security"))] #[inline] @@ -3912,7 +3912,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeOpenObjectForDeleteAuditAlarm(objecttypename : *const super::super::super::Win32::Foundation:: UNICODE_STRING, object : *const ::core::ffi::c_void, absoluteobjectname : *const super::super::super::Win32::Foundation:: UNICODE_STRING, securitydescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, accessstate : *const super::super::Foundation:: ACCESS_STATE, objectcreated : super::super::super::Win32::Foundation:: BOOLEAN, accessgranted : super::super::super::Win32::Foundation:: BOOLEAN, accessmode : i8, generateonclose : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); SeOpenObjectForDeleteAuditAlarm(objecttypename, ::core::mem::transmute(object.unwrap_or(::std::ptr::null())), ::core::mem::transmute(absoluteobjectname.unwrap_or(::std::ptr::null())), securitydescriptor.into_param().abi(), accessstate, objectcreated.into_param().abi(), accessgranted.into_param().abi(), accessmode, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Wdk_System_SystemServices", feature = "Win32_Security"))] #[inline] @@ -3925,7 +3925,7 @@ where ::windows_targets::link!("ntoskrnl.exe" "system" fn SeOpenObjectForDeleteAuditAlarmWithTransaction(objecttypename : *const super::super::super::Win32::Foundation:: UNICODE_STRING, object : *const ::core::ffi::c_void, absoluteobjectname : *const super::super::super::Win32::Foundation:: UNICODE_STRING, securitydescriptor : super::super::super::Win32::Security:: PSECURITY_DESCRIPTOR, accessstate : *const super::super::Foundation:: ACCESS_STATE, objectcreated : super::super::super::Win32::Foundation:: BOOLEAN, accessgranted : super::super::super::Win32::Foundation:: BOOLEAN, accessmode : i8, transactionid : *const ::windows_core::GUID, generateonclose : *mut super::super::super::Win32::Foundation:: BOOLEAN)); let mut result__ = ::std::mem::zeroed(); SeOpenObjectForDeleteAuditAlarmWithTransaction(objecttypename, ::core::mem::transmute(object.unwrap_or(::std::ptr::null())), ::core::mem::transmute(absoluteobjectname.unwrap_or(::std::ptr::null())), securitydescriptor.into_param().abi(), accessstate, objectcreated.into_param().abi(), accessgranted.into_param().abi(), accessmode, ::core::mem::transmute(transactionid.unwrap_or(::std::ptr::null())), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_Security"))] #[inline] @@ -4219,7 +4219,7 @@ pub unsafe fn SspiSetAsyncNotifyCallback(context: *const super::super::Foundatio pub unsafe fn VerifySignature(phcontext: *const SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32) -> ::windows_core::Result { ::windows_targets::link!("secur32.dll" "system" fn VerifySignature(phcontext : *const SecHandle, pmessage : *const SecBufferDesc, messageseqno : u32, pfqop : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VerifySignature(phcontext, pmessage, messageseqno, &mut result__).from_abi(result__) + VerifySignature(phcontext, pmessage, messageseqno, &mut result__).map(|| result__) } #[inline] pub unsafe fn ZwAllocateVirtualMemory(processhandle: P0, baseaddress: *mut *mut ::core::ffi::c_void, zerobits: usize, regionsize: *mut usize, allocationtype: u32, protect: u32) -> super::super::super::Win32::Foundation::NTSTATUS diff --git a/crates/libs/windows/src/Windows/Wdk/System/SystemServices/mod.rs b/crates/libs/windows/src/Windows/Wdk/System/SystemServices/mod.rs index 238f21ee94..d4ca7255aa 100644 --- a/crates/libs/windows/src/Windows/Wdk/System/SystemServices/mod.rs +++ b/crates/libs/windows/src/Windows/Wdk/System/SystemServices/mod.rs @@ -842,7 +842,7 @@ pub unsafe fn ExInitializePushLock() -> usize { ::windows_targets::link!("ntoskrnl.exe" "system" fn ExInitializePushLock(pushlock : *mut usize)); let mut result__ = ::std::mem::zeroed(); ExInitializePushLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_System_Kernel"))] #[inline] @@ -855,7 +855,7 @@ pub unsafe fn ExInitializeRundownProtection() -> EX_RUNDOWN_REF { ::windows_targets::link!("ntoskrnl.exe" "system" fn ExInitializeRundownProtection(runref : *mut EX_RUNDOWN_REF)); let mut result__ = ::std::mem::zeroed(); ExInitializeRundownProtection(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] @@ -924,7 +924,7 @@ pub unsafe fn ExLocalTimeToSystemTime(localtime: *const i64) -> i64 { ::windows_targets::link!("ntoskrnl.exe" "system" fn ExLocalTimeToSystemTime(localtime : *const i64, systemtime : *mut i64)); let mut result__ = ::std::mem::zeroed(); ExLocalTimeToSystemTime(localtime, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn ExNotifyCallback(callbackobject: *const ::core::ffi::c_void, argument1: ::core::option::Option<*const ::core::ffi::c_void>, argument2: ::core::option::Option<*const ::core::ffi::c_void>) { @@ -1082,7 +1082,7 @@ pub unsafe fn ExRundownCompleted() -> EX_RUNDOWN_REF { ::windows_targets::link!("ntoskrnl.exe" "system" fn ExRundownCompleted(runref : *mut EX_RUNDOWN_REF)); let mut result__ = ::std::mem::zeroed(); ExRundownCompleted(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Wdk_Foundation")] #[inline] @@ -1153,7 +1153,7 @@ pub unsafe fn ExSystemTimeToLocalTime(systemtime: *const i64) -> i64 { ::windows_targets::link!("ntoskrnl.exe" "system" fn ExSystemTimeToLocalTime(systemtime : *const i64, localtime : *mut i64)); let mut result__ = ::std::mem::zeroed(); ExSystemTimeToLocalTime(systemtime, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn ExTryAcquireSpinLockExclusiveAtDpcLevel(spinlock: *mut i32) -> u32 { @@ -1355,7 +1355,7 @@ pub unsafe fn IoAcquireCancelSpinLock() -> u8 { ::windows_targets::link!("ntoskrnl.exe" "system" fn IoAcquireCancelSpinLock(irql : *mut u8)); let mut result__ = ::std::mem::zeroed(); IoAcquireCancelSpinLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Wdk_Storage_FileSystem", feature = "Win32_Security", feature = "Win32_System_IO", feature = "Win32_System_Kernel", feature = "Win32_System_Power"))] #[inline] @@ -3138,7 +3138,7 @@ pub unsafe fn KeInitializeSpinLock() -> usize { ::windows_targets::link!("ntoskrnl.exe" "system" fn KeInitializeSpinLock(spinlock : *mut usize)); let mut result__ = ::std::mem::zeroed(); KeInitializeSpinLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(all(feature = "Wdk_Foundation", feature = "Win32_System_Kernel"))] #[inline] @@ -3342,7 +3342,7 @@ pub unsafe fn KeQuerySystemTimePrecise() -> i64 { ::windows_targets::link!("ntoskrnl.exe" "system" fn KeQuerySystemTimePrecise(currenttime : *mut i64)); let mut result__ = ::std::mem::zeroed(); KeQuerySystemTimePrecise(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn KeQueryTimeIncrement() -> u32 { @@ -6299,7 +6299,7 @@ pub unsafe fn RtlRunOnceInitialize() -> super::super::super::Win32::System::Thre ::windows_targets::link!("ntdll.dll" "system" fn RtlRunOnceInitialize(runonce : *mut super::super::super::Win32::System::Threading:: INIT_ONCE)); let mut result__ = ::std::mem::zeroed(); RtlRunOnceInitialize(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn RtlSetAllBits(bitmapheader: *const RTL_BITMAP) { @@ -6384,7 +6384,7 @@ pub unsafe fn RtlTimeToTimeFields(time: *const i64) -> TIME_FIELDS { ::windows_targets::link!("ntdll.dll" "system" fn RtlTimeToTimeFields(time : *const i64, timefields : *mut TIME_FIELDS)); let mut result__ = ::std::mem::zeroed(); RtlTimeToTimeFields(time, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_System_Kernel")] #[inline] @@ -6546,7 +6546,7 @@ pub unsafe fn SeCaptureSubjectContext() -> super::super::Foundation::SECURITY_SU ::windows_targets::link!("ntoskrnl.exe" "system" fn SeCaptureSubjectContext(subjectcontext : *mut super::super::Foundation:: SECURITY_SUBJECT_CONTEXT)); let mut result__ = ::std::mem::zeroed(); SeCaptureSubjectContext(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Security")] #[inline] @@ -6671,7 +6671,7 @@ pub unsafe fn TmGetTransactionId(transaction: *const super::super::Foundation::K ::windows_targets::link!("ntoskrnl.exe" "system" fn TmGetTransactionId(transaction : *const super::super::Foundation:: KTRANSACTION, transactionid : *mut ::windows_core::GUID)); let mut result__ = ::std::mem::zeroed(); TmGetTransactionId(transaction, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn TmInitializeTransactionManager(transactionmanager: *const isize, logfilename: ::core::option::Option<*const super::super::super::Win32::Foundation::UNICODE_STRING>, tmid: ::core::option::Option<*const ::windows_core::GUID>, createoptions: u32) -> super::super::super::Win32::Foundation::NTSTATUS { diff --git a/crates/libs/windows/src/Windows/Web/AtomPub/mod.rs b/crates/libs/windows/src/Windows/Web/AtomPub/mod.rs index 21845427b1..b210ac9ebc 100644 --- a/crates/libs/windows/src/Windows/Web/AtomPub/mod.rs +++ b/crates/libs/windows/src/Windows/Web/AtomPub/mod.rs @@ -120,7 +120,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveServiceDocumentAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveServiceDocumentAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "Web_Syndication"))] @@ -131,7 +131,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -142,7 +142,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -154,7 +154,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(description), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(description), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "Web_Syndication"))] @@ -166,7 +166,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(mediatype), ::core::mem::transmute_copy(description), mediastream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(mediatype), ::core::mem::transmute_copy(description), mediastream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Storage_Streams", feature = "Web_Syndication"))] @@ -178,7 +178,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(mediatype), mediastream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateMediaResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(mediatype), mediastream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -190,7 +190,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -201,7 +201,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UpdateResourceItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UpdateResourceItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -212,7 +212,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteResourceAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -223,7 +223,7 @@ impl AtomPubClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteResourceItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteResourceItemAsync)(::windows_core::Interface::as_raw(this), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CancelAsyncOperations(&self) -> ::windows_core::Result<()> { @@ -237,7 +237,7 @@ impl AtomPubClient { { Self::IAtomPubClientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateAtomPubClientWithCredentials)(::windows_core::Interface::as_raw(this), servercredential.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateAtomPubClientWithCredentials)(::windows_core::Interface::as_raw(this), servercredential.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(all(feature = "Security_Credentials", feature = "Web_Syndication"))] @@ -245,7 +245,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Security_Credentials", feature = "Web_Syndication"))] @@ -261,7 +261,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Security_Credentials", feature = "Web_Syndication"))] @@ -277,7 +277,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_Syndication")] @@ -290,7 +290,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_Syndication")] @@ -303,7 +303,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Web_Syndication")] @@ -324,7 +324,7 @@ impl AtomPubClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -357,14 +357,14 @@ impl ResourceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Syndication"))] @@ -372,7 +372,7 @@ impl ResourceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -380,7 +380,7 @@ impl ResourceCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Accepts)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Accepts)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -388,7 +388,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -401,7 +401,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -414,7 +414,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -427,7 +427,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -440,7 +440,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -456,7 +456,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Syndication"))] @@ -464,7 +464,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Data_Xml_Dom", feature = "Web_Syndication"))] @@ -472,7 +472,7 @@ impl ResourceCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -500,7 +500,7 @@ impl ServiceDocument { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Workspaces)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Workspaces)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -508,7 +508,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -521,7 +521,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -534,7 +534,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -547,7 +547,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -560,7 +560,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -576,7 +576,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Syndication"))] @@ -584,7 +584,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Data_Xml_Dom", feature = "Web_Syndication"))] @@ -592,7 +592,7 @@ impl ServiceDocument { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -620,7 +620,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -633,7 +633,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -646,7 +646,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -659,7 +659,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -672,7 +672,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -688,7 +688,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Web_Syndication"))] @@ -696,7 +696,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Data_Xml_Dom", feature = "Web_Syndication"))] @@ -704,7 +704,7 @@ impl Workspace { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Syndication")] @@ -712,7 +712,7 @@ impl Workspace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -720,7 +720,7 @@ impl Workspace { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Collections)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs b/crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs index e754b5a98d..3e40607dcf 100644 --- a/crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs +++ b/crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs @@ -107,7 +107,7 @@ impl HttpDiagnosticProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSent)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSent)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRequestSent(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -121,7 +121,7 @@ impl HttpDiagnosticProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseReceived)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveResponseReceived(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -135,7 +135,7 @@ impl HttpDiagnosticProvider { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestResponseCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestResponseCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveRequestResponseCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -149,7 +149,7 @@ impl HttpDiagnosticProvider { { Self::IHttpDiagnosticProviderStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromProcessDiagnosticInfo)(::windows_core::Interface::as_raw(this), processdiagnosticinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromProcessDiagnosticInfo)(::windows_core::Interface::as_raw(this), processdiagnosticinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -179,42 +179,42 @@ impl HttpDiagnosticProviderRequestResponseCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Timestamps(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamps)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamps)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestedUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestedUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ThreadId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThreadId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThreadId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Initiator(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Initiator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Initiator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -222,7 +222,7 @@ impl HttpDiagnosticProviderRequestResponseCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceLocations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceLocations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -247,63 +247,63 @@ impl HttpDiagnosticProviderRequestResponseTimestamps { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheCheckedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheCheckedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionInitiatedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionInitiatedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionInitiatedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NameResolvedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NameResolvedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NameResolvedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SslNegotiatedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SslNegotiatedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SslNegotiatedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ConnectionCompletedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ConnectionCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ConnectionCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestSentTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestSentTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestSentTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestCompletedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseReceivedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseReceivedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseReceivedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseCompletedTimestamp(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseCompletedTimestamp)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -328,42 +328,42 @@ impl HttpDiagnosticProviderRequestSentEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActivityId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ProcessId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ThreadId(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ThreadId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ThreadId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Initiator(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Initiator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Initiator)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -371,7 +371,7 @@ impl HttpDiagnosticProviderRequestSentEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceLocations)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceLocations)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -396,21 +396,21 @@ impl HttpDiagnosticProviderResponseReceivedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timestamp)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ActivityId(&self) -> ::windows_core::Result<::windows_core::GUID> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ActivityId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Message(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Message)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -435,21 +435,21 @@ impl HttpDiagnosticSourceLocation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LineNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LineNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LineNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ColumnNumber(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ColumnNumber)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ColumnNumber)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs b/crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs index 03e8ff2f7e..f83480fc7f 100644 --- a/crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs +++ b/crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs @@ -110,7 +110,7 @@ impl IHttpFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -173,7 +173,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowAutoRedirect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowAutoRedirect)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowAutoRedirect(&self, value: bool) -> ::windows_core::Result<()> { @@ -184,7 +184,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AllowUI)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AllowUI)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAllowUI(&self, value: bool) -> ::windows_core::Result<()> { @@ -195,7 +195,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AutomaticDecompression)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AutomaticDecompression)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetAutomaticDecompression(&self, value: bool) -> ::windows_core::Result<()> { @@ -206,14 +206,14 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CookieManager(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CookieManager)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CookieManager)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -221,7 +221,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ClientCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -237,14 +237,14 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IgnorableServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MaxConnectionsPerServer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxConnectionsPerServer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxConnectionsPerServer)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxConnectionsPerServer(&self, value: u32) -> ::windows_core::Result<()> { @@ -256,7 +256,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -272,7 +272,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -287,7 +287,7 @@ impl HttpBaseProtocolFilter { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UseProxy)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UseProxy)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetUseProxy(&self, value: bool) -> ::windows_core::Result<()> { @@ -298,7 +298,7 @@ impl HttpBaseProtocolFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxVersion)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxVersion)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxVersion(&self, value: super::HttpVersion) -> ::windows_core::Result<()> { @@ -309,7 +309,7 @@ impl HttpBaseProtocolFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CookieUsageBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CookieUsageBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCookieUsageBehavior(&self, value: HttpCookieUsageBehavior) -> ::windows_core::Result<()> { @@ -323,7 +323,7 @@ impl HttpBaseProtocolFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCustomValidationRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveServerCustomValidationRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -339,7 +339,7 @@ impl HttpBaseProtocolFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).User)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "System")] @@ -349,7 +349,7 @@ impl HttpBaseProtocolFilter { { Self::IHttpBaseProtocolFilterStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateForUser)(::windows_core::Interface::as_raw(this), user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn SendRequestAsync(&self, request: P0) -> ::windows_core::Result> @@ -359,7 +359,7 @@ impl HttpBaseProtocolFilter { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -389,7 +389,7 @@ impl HttpCacheControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetReadBehavior(&self, value: HttpCacheReadBehavior) -> ::windows_core::Result<()> { @@ -400,7 +400,7 @@ impl HttpCacheControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteBehavior)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteBehavior)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetWriteBehavior(&self, value: HttpCacheWriteBehavior) -> ::windows_core::Result<()> { @@ -429,7 +429,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Cryptography_Certificates")] @@ -437,7 +437,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -445,7 +445,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -453,7 +453,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -461,7 +461,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Reject(&self) -> ::windows_core::Result<()> { @@ -472,7 +472,7 @@ impl HttpServerCustomValidationRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs b/crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs index 330fc79fc1..6d75eb990e 100644 --- a/crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs +++ b/crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs @@ -657,7 +657,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxAge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxAge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxAge(&self, value: P0) -> ::windows_core::Result<()> @@ -671,7 +671,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxStale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxStale)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxStale(&self, value: P0) -> ::windows_core::Result<()> @@ -685,7 +685,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MinFresh)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MinFresh)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMinFresh(&self, value: P0) -> ::windows_core::Result<()> @@ -699,7 +699,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SharedMaxAge)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SharedMaxAge)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSharedMaxAge(&self, value: P0) -> ::windows_core::Result<()> @@ -717,7 +717,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -725,14 +725,14 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -740,7 +740,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -748,7 +748,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -756,7 +756,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -767,7 +767,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -814,7 +814,7 @@ impl HttpCacheDirectiveHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -862,52 +862,52 @@ impl HttpChallengeHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Scheme(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Token(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromScheme(scheme: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpChallengeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromScheme)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromScheme)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromSchemeWithToken(scheme: &::windows_core::HSTRING, token: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpChallengeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSchemeWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSchemeWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpChallengeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, challengeheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpChallengeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), challengeheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), challengeheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -948,7 +948,7 @@ impl HttpChallengeHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -956,14 +956,14 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -971,7 +971,7 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -979,7 +979,7 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -987,7 +987,7 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -998,7 +998,7 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1045,7 +1045,7 @@ impl HttpChallengeHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1092,32 +1092,32 @@ impl HttpConnectionOptionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(token: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpConnectionOptionHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpConnectionOptionHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, connectionoptionheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpConnectionOptionHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), connectionoptionheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), connectionoptionheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1158,7 +1158,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1166,14 +1166,14 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1181,7 +1181,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1189,7 +1189,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1197,7 +1197,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1208,7 +1208,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1255,7 +1255,7 @@ impl HttpConnectionOptionHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1302,32 +1302,32 @@ impl HttpContentCodingHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentCoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentCoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(contentcoding: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentCodingHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentCodingHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, contentcodingheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpContentCodingHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentcodingheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentcodingheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1368,7 +1368,7 @@ impl HttpContentCodingHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1376,14 +1376,14 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1391,7 +1391,7 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1399,7 +1399,7 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1407,7 +1407,7 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1418,7 +1418,7 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1465,7 +1465,7 @@ impl HttpContentCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1512,45 +1512,45 @@ impl HttpContentCodingWithQualityHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentCoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentCoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Quality(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromValue(contentcoding: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentCodingWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromValueWithQuality(contentcoding: &::windows_core::HSTRING, quality: f64) -> ::windows_core::Result { Self::IHttpContentCodingWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromValueWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromValueWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentcoding), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentCodingWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, contentcodingwithqualityheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpContentCodingWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentcodingwithqualityheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentcodingwithqualityheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1591,7 +1591,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1599,14 +1599,14 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1614,7 +1614,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1622,7 +1622,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1630,7 +1630,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1641,7 +1641,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1688,7 +1688,7 @@ impl HttpContentCodingWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -1735,7 +1735,7 @@ impl HttpContentDispositionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DispositionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DispositionType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDispositionType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1746,7 +1746,7 @@ impl HttpContentDispositionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFileName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1757,7 +1757,7 @@ impl HttpContentDispositionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FileNameStar)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FileNameStar)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFileNameStar(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1768,7 +1768,7 @@ impl HttpContentDispositionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1780,14 +1780,14 @@ impl HttpContentDispositionHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSize(&self, value: P0) -> ::windows_core::Result<()> @@ -1800,26 +1800,26 @@ impl HttpContentDispositionHeaderValue { pub fn Create(dispositiontype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentDispositionHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(dispositiontype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(dispositiontype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentDispositionHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, contentdispositionheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpContentDispositionHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentdispositionheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentdispositionheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1863,7 +1863,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentDisposition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentDisposition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentDisposition(&self, value: P0) -> ::windows_core::Result<()> @@ -1877,21 +1877,21 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentEncoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentLanguage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ContentLength(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLength)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLength)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentLength(&self, value: P0) -> ::windows_core::Result<()> @@ -1905,7 +1905,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLocation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLocation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentLocation(&self, value: P0) -> ::windows_core::Result<()> @@ -1920,7 +1920,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentMD5)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentMD5)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1935,7 +1935,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentRange)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentRange(&self, value: P0) -> ::windows_core::Result<()> @@ -1949,7 +1949,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContentType(&self, value: P0) -> ::windows_core::Result<()> @@ -1963,7 +1963,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expires)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expires)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpires(&self, value: P0) -> ::windows_core::Result<()> @@ -1977,7 +1977,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastModified)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastModified)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLastModified(&self, value: P0) -> ::windows_core::Result<()> @@ -1995,7 +1995,7 @@ impl HttpContentHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2003,7 +2003,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2011,7 +2011,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2019,7 +2019,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2027,7 +2027,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2035,7 +2035,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2043,7 +2043,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2060,7 +2060,7 @@ impl HttpContentHeaderCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -2102,28 +2102,28 @@ impl HttpContentRangeHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstBytePosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstBytePosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastBytePosition(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastBytePosition)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastBytePosition)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Length(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Unit(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Unit)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUnit(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2133,38 +2133,38 @@ impl HttpContentRangeHeaderValue { pub fn CreateFromLength(length: u64) -> ::windows_core::Result { Self::IHttpContentRangeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLength)(::windows_core::Interface::as_raw(this), length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromRange(from: u64, to: u64) -> ::windows_core::Result { Self::IHttpContentRangeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromRange)(::windows_core::Interface::as_raw(this), from, to, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromRange)(::windows_core::Interface::as_raw(this), from, to, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromRangeWithLength(from: u64, to: u64, length: u64) -> ::windows_core::Result { Self::IHttpContentRangeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromRangeWithLength)(::windows_core::Interface::as_raw(this), from, to, length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromRangeWithLength)(::windows_core::Interface::as_raw(this), from, to, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpContentRangeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, contentrangeheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpContentRangeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentrangeheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), contentrangeheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2200,14 +2200,14 @@ impl HttpCookiePairHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2217,32 +2217,32 @@ impl HttpCookiePairHeaderValue { pub fn CreateFromName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCookiePairHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNameWithValue(name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCookiePairHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCookiePairHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, cookiepairheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpCookiePairHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), cookiepairheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), cookiepairheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2283,7 +2283,7 @@ impl HttpCookiePairHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2291,14 +2291,14 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2306,7 +2306,7 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2314,7 +2314,7 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2322,7 +2322,7 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2333,7 +2333,7 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2380,7 +2380,7 @@ impl HttpCookiePairHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2428,52 +2428,52 @@ impl HttpCredentialsHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Scheme(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Token(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Token)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromScheme(scheme: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCredentialsHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromScheme)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromScheme)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromSchemeWithToken(scheme: &::windows_core::HSTRING, token: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCredentialsHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromSchemeWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(token), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromSchemeWithToken)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(token), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCredentialsHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, credentialsheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpCredentialsHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), credentialsheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), credentialsheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2509,33 +2509,33 @@ impl HttpDateOrDeltaHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Delta(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delta)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpDateOrDeltaHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, dateordeltaheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpDateOrDeltaHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), dateordeltaheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), dateordeltaheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2566,14 +2566,14 @@ impl HttpExpectationHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2585,38 +2585,38 @@ impl HttpExpectationHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpExpectationHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNameWithValue(name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpExpectationHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpExpectationHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, expectationheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpExpectationHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), expectationheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), expectationheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2657,7 +2657,7 @@ impl HttpExpectationHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2665,14 +2665,14 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2680,7 +2680,7 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2688,7 +2688,7 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2696,7 +2696,7 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2707,7 +2707,7 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2754,7 +2754,7 @@ impl HttpExpectationHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -2806,7 +2806,7 @@ impl HttpLanguageHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2814,14 +2814,14 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2829,7 +2829,7 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2837,7 +2837,7 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2845,7 +2845,7 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2856,7 +2856,7 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2903,7 +2903,7 @@ impl HttpLanguageHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] @@ -2950,45 +2950,45 @@ impl HttpLanguageRangeWithQualityHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LanguageRange)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LanguageRange)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Quality(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromLanguageRange(languagerange: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpLanguageRangeWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLanguageRange)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagerange), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLanguageRange)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagerange), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromLanguageRangeWithQuality(languagerange: &::windows_core::HSTRING, quality: f64) -> ::windows_core::Result { Self::IHttpLanguageRangeWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromLanguageRangeWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagerange), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromLanguageRangeWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(languagerange), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpLanguageRangeWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, languagerangewithqualityheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpLanguageRangeWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), languagerangewithqualityheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), languagerangewithqualityheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3029,7 +3029,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3037,14 +3037,14 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3052,7 +3052,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3060,7 +3060,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3068,7 +3068,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3079,7 +3079,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3126,7 +3126,7 @@ impl HttpLanguageRangeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3173,7 +3173,7 @@ impl HttpMediaTypeHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharSet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharSet(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3184,7 +3184,7 @@ impl HttpMediaTypeHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMediaType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3196,32 +3196,32 @@ impl HttpMediaTypeHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(mediatype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMediaTypeHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMediaTypeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, mediatypeheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpMediaTypeHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), mediatypeheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), mediatypeheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3257,7 +3257,7 @@ impl HttpMediaTypeWithQualityHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CharSet)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CharSet)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCharSet(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3268,7 +3268,7 @@ impl HttpMediaTypeWithQualityHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMediaType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3280,14 +3280,14 @@ impl HttpMediaTypeWithQualityHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Quality(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Quality)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetQuality(&self, value: P0) -> ::windows_core::Result<()> @@ -3300,32 +3300,32 @@ impl HttpMediaTypeWithQualityHeaderValue { pub fn CreateFromMediaType(mediatype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMediaTypeWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMediaType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMediaType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromMediaTypeWithQuality(mediatype: &::windows_core::HSTRING, quality: f64) -> ::windows_core::Result { Self::IHttpMediaTypeWithQualityHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromMediaTypeWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), quality, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromMediaTypeWithQuality)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(mediatype), quality, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMediaTypeWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, mediatypewithqualityheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpMediaTypeWithQualityHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), mediatypewithqualityheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), mediatypewithqualityheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3366,7 +3366,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3374,14 +3374,14 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3389,7 +3389,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3397,7 +3397,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3405,7 +3405,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3416,7 +3416,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3463,7 +3463,7 @@ impl HttpMediaTypeWithQualityHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3515,7 +3515,7 @@ impl HttpMethodHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3523,14 +3523,14 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3538,7 +3538,7 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3546,7 +3546,7 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3554,7 +3554,7 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3565,7 +3565,7 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3612,7 +3612,7 @@ impl HttpMethodHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3659,14 +3659,14 @@ impl HttpNameValueHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -3676,32 +3676,32 @@ impl HttpNameValueHeaderValue { pub fn CreateFromName(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpNameValueHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNameWithValue(name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpNameValueHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNameWithValue)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpNameValueHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, namevalueheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpNameValueHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), namevalueheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), namevalueheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3737,45 +3737,45 @@ impl HttpProductHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Version(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromName(productname: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromName)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNameWithVersion(productname: &::windows_core::HSTRING, productversion: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNameWithVersion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), ::core::mem::transmute_copy(productversion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNameWithVersion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), ::core::mem::transmute_copy(productversion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, productheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpProductHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), productheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), productheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3811,45 +3811,45 @@ impl HttpProductInfoHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Product)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Product)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Comment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Comment)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromComment(productcomment: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductInfoHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromComment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productcomment), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromComment)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productcomment), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateFromNameWithVersion(productname: &::windows_core::HSTRING, productversion: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductInfoHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromNameWithVersion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), ::core::mem::transmute_copy(productversion), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromNameWithVersion)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(productname), ::core::mem::transmute_copy(productversion), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpProductInfoHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, productinfoheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpProductInfoHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), productinfoheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), productinfoheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -3890,7 +3890,7 @@ impl HttpProductInfoHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3898,14 +3898,14 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3913,7 +3913,7 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3921,7 +3921,7 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3929,7 +3929,7 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -3940,7 +3940,7 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -3987,7 +3987,7 @@ impl HttpProductInfoHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4035,28 +4035,28 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Accept)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Accept)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptEncoding(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptEncoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AcceptLanguage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceptLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceptLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Authorization(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Authorization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Authorization)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAuthorization(&self, value: P0) -> ::windows_core::Result<()> @@ -4070,28 +4070,28 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Connection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cookie(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cookie)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cookie)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Date(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDate(&self, value: P0) -> ::windows_core::Result<()> @@ -4105,14 +4105,14 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expect)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expect)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn From(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).From)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetFrom(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4124,7 +4124,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Host)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Host)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking")] @@ -4139,7 +4139,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IfModifiedSince)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IfModifiedSince)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIfModifiedSince(&self, value: P0) -> ::windows_core::Result<()> @@ -4153,7 +4153,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IfUnmodifiedSince)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IfUnmodifiedSince)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIfUnmodifiedSince(&self, value: P0) -> ::windows_core::Result<()> @@ -4167,7 +4167,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxForwards)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxForwards)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMaxForwards(&self, value: P0) -> ::windows_core::Result<()> @@ -4181,7 +4181,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyAuthorization)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyAuthorization)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetProxyAuthorization(&self, value: P0) -> ::windows_core::Result<()> @@ -4195,7 +4195,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Referer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Referer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReferer(&self, value: P0) -> ::windows_core::Result<()> @@ -4209,14 +4209,14 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferEncoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserAgent(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UserAgent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UserAgent)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Append(&self, name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4227,7 +4227,7 @@ impl HttpRequestHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4235,7 +4235,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4243,7 +4243,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4251,7 +4251,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4259,7 +4259,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4267,7 +4267,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4275,7 +4275,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4292,7 +4292,7 @@ impl HttpRequestHeaderCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4335,7 +4335,7 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Age)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Age)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetAge(&self, value: P0) -> ::windows_core::Result<()> @@ -4349,28 +4349,28 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Allow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Allow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CacheControl(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CacheControl)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Connection(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Connection)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Date(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Date)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDate(&self, value: P0) -> ::windows_core::Result<()> @@ -4384,7 +4384,7 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Location)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLocation(&self, value: P0) -> ::windows_core::Result<()> @@ -4398,14 +4398,14 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyAuthenticate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyAuthenticate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RetryAfter(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetryAfter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetryAfter)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRetryAfter(&self, value: P0) -> ::windows_core::Result<()> @@ -4419,14 +4419,14 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransferEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransferEncoding)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn WwwAuthenticate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WwwAuthenticate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WwwAuthenticate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Append(&self, name: &::windows_core::HSTRING, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -4437,7 +4437,7 @@ impl HttpResponseHeaderCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryAppendWithoutValidation)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4445,7 +4445,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4453,7 +4453,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Lookup)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4461,7 +4461,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4469,7 +4469,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HasKey)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4477,7 +4477,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4485,7 +4485,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Insert)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(key), ::core::mem::transmute_copy(value), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4502,7 +4502,7 @@ impl HttpResponseHeaderCollection { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -4545,39 +4545,39 @@ impl HttpTransferCodingHeaderValue { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parameters)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpTransferCodingHeaderValueFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Parse(input: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpTransferCodingHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Parse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn TryParse(input: &::windows_core::HSTRING, transfercodingheadervalue: &mut ::core::option::Option) -> ::windows_core::Result { Self::IHttpTransferCodingHeaderValueStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), transfercodingheadervalue as *mut _ as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParse)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), transfercodingheadervalue as *mut _ as _, &mut result__).map(|| result__) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -4618,7 +4618,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryParseAdd)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(input), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4626,14 +4626,14 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4641,7 +4641,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4649,7 +4649,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4657,7 +4657,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetView)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -4668,7 +4668,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -4715,7 +4715,7 @@ impl HttpTransferCodingHeaderValueCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] diff --git a/crates/libs/windows/src/Windows/Web/Http/mod.rs b/crates/libs/windows/src/Windows/Web/Http/mod.rs index 042df0c3fc..1031140929 100644 --- a/crates/libs/windows/src/Windows/Web/Http/mod.rs +++ b/crates/libs/windows/src/Windows/Web/Http/mod.rs @@ -87,14 +87,14 @@ impl IHttpContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -102,7 +102,7 @@ impl IHttpContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -110,21 +110,21 @@ impl IHttpContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -135,7 +135,7 @@ impl IHttpContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -455,7 +455,7 @@ impl HttpBufferContent { { Self::IHttpBufferContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBuffer)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] @@ -465,7 +465,7 @@ impl HttpBufferContent { { Self::IHttpBufferContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromBufferWithOffset)(::windows_core::Interface::as_raw(this), content.into_param().abi(), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromBufferWithOffset)(::windows_core::Interface::as_raw(this), content.into_param().abi(), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Web_Http_Headers")] @@ -473,14 +473,14 @@ impl HttpBufferContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -488,7 +488,7 @@ impl HttpBufferContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -496,21 +496,21 @@ impl HttpBufferContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -521,14 +521,14 @@ impl HttpBufferContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -573,7 +573,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeleteAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAsync(&self, uri: P0) -> ::windows_core::Result> @@ -583,7 +583,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetWithOptionAsync(&self, uri: P0, completionoption: HttpCompletionOption) -> ::windows_core::Result> @@ -593,7 +593,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWithOptionAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), completionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWithOptionAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), completionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -604,7 +604,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetBufferAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetBufferAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -615,7 +615,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetInputStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetInputStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetStringAsync(&self, uri: P0) -> ::windows_core::Result> @@ -625,7 +625,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStringAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStringAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PostAsync(&self, uri: P0, content: P1) -> ::windows_core::Result> @@ -636,7 +636,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PostAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PostAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PutAsync(&self, uri: P0, content: P1) -> ::windows_core::Result> @@ -647,7 +647,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PutAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PutAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendRequestAsync(&self, request: P0) -> ::windows_core::Result> @@ -657,7 +657,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SendRequestWithOptionAsync(&self, request: P0, completionoption: HttpCompletionOption) -> ::windows_core::Result> @@ -667,7 +667,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SendRequestWithOptionAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), completionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SendRequestWithOptionAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), completionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http_Headers")] @@ -675,7 +675,7 @@ impl HttpClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultRequestHeaders)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultRequestHeaders)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryDeleteAsync(&self, uri: P0) -> ::windows_core::Result> @@ -685,7 +685,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryDeleteAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAsync(&self, uri: P0) -> ::windows_core::Result> @@ -695,7 +695,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetAsync2(&self, uri: P0, completionoption: HttpCompletionOption) -> ::windows_core::Result> @@ -705,7 +705,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetAsync2)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), completionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetAsync2)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), completionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetBufferAsync(&self, uri: P0) -> ::windows_core::Result> @@ -715,7 +715,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetBufferAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetBufferAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetInputStreamAsync(&self, uri: P0) -> ::windows_core::Result> @@ -725,7 +725,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetInputStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetInputStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryGetStringAsync(&self, uri: P0) -> ::windows_core::Result> @@ -735,7 +735,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryGetStringAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryGetStringAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPostAsync(&self, uri: P0, content: P1) -> ::windows_core::Result> @@ -746,7 +746,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPostAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPostAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryPutAsync(&self, uri: P0, content: P1) -> ::windows_core::Result> @@ -757,7 +757,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryPutAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryPutAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySendRequestAsync(&self, request: P0) -> ::windows_core::Result> @@ -767,7 +767,7 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySendRequestAsync)(::windows_core::Interface::as_raw(this), request.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TrySendRequestAsync2(&self, request: P0, completionoption: HttpCompletionOption) -> ::windows_core::Result> @@ -777,14 +777,14 @@ impl HttpClient { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TrySendRequestAsync2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), completionoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TrySendRequestAsync2)(::windows_core::Interface::as_raw(this), request.into_param().abi(), completionoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DefaultPrivacyAnnotation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultPrivacyAnnotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultPrivacyAnnotation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetDefaultPrivacyAnnotation(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -798,14 +798,14 @@ impl HttpClient { { Self::IHttpClientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), filter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), filter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -836,28 +836,28 @@ impl HttpCookie { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Domain(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Domain)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Path)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Expires(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Expires)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Expires)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetExpires(&self, value: P0) -> ::windows_core::Result<()> @@ -871,7 +871,7 @@ impl HttpCookie { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).HttpOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).HttpOnly)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHttpOnly(&self, value: bool) -> ::windows_core::Result<()> { @@ -882,7 +882,7 @@ impl HttpCookie { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Secure)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Secure)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSecure(&self, value: bool) -> ::windows_core::Result<()> { @@ -893,7 +893,7 @@ impl HttpCookie { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -903,14 +903,14 @@ impl HttpCookie { pub fn Create(name: &::windows_core::HSTRING, domain: &::windows_core::HSTRING, path: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpCookieFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(domain), ::core::mem::transmute_copy(path), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(domain), ::core::mem::transmute_copy(path), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -946,7 +946,7 @@ impl HttpCookieCollection { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -954,7 +954,7 @@ impl HttpCookieCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetAt)(::windows_core::Interface::as_raw(this), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -962,7 +962,7 @@ impl HttpCookieCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Size)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -973,7 +973,7 @@ impl HttpCookieCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IndexOf)(::windows_core::Interface::as_raw(this), value.into_param().abi(), index, &mut result__).map(|| result__) } } #[cfg(feature = "Foundation_Collections")] @@ -981,7 +981,7 @@ impl HttpCookieCollection { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetMany)(::windows_core::Interface::as_raw(this), startindex, items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__).map(|| result__) } } } @@ -1030,7 +1030,7 @@ impl HttpCookieManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCookie)(::windows_core::Interface::as_raw(this), cookie.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCookie)(::windows_core::Interface::as_raw(this), cookie.into_param().abi(), &mut result__).map(|| result__) } } pub fn SetCookieWithThirdParty(&self, cookie: P0, thirdparty: bool) -> ::windows_core::Result @@ -1040,7 +1040,7 @@ impl HttpCookieManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SetCookieWithThirdParty)(::windows_core::Interface::as_raw(this), cookie.into_param().abi(), thirdparty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SetCookieWithThirdParty)(::windows_core::Interface::as_raw(this), cookie.into_param().abi(), thirdparty, &mut result__).map(|| result__) } } pub fn DeleteCookie(&self, cookie: P0) -> ::windows_core::Result<()> @@ -1058,7 +1058,7 @@ impl HttpCookieManager { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetCookies)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetCookies)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1089,14 +1089,14 @@ impl HttpFormUrlEncodedContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1104,7 +1104,7 @@ impl HttpFormUrlEncodedContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1112,21 +1112,21 @@ impl HttpFormUrlEncodedContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1137,7 +1137,7 @@ impl HttpFormUrlEncodedContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1147,14 +1147,14 @@ impl HttpFormUrlEncodedContent { { Self::IHttpFormUrlEncodedContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1189,28 +1189,28 @@ impl HttpGetBufferResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1218,14 +1218,14 @@ impl HttpGetBufferResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1255,28 +1255,28 @@ impl HttpGetInputStreamResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1284,14 +1284,14 @@ impl HttpGetInputStreamResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1321,42 +1321,42 @@ impl HttpGetStringResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1382,62 +1382,62 @@ impl HttpMethod { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(method: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMethodFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(method), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(method), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Delete() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Delete)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Get() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Get)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Get)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Head() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Head)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Head)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Options() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Options)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Patch() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Patch)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Patch)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Post() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Post)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Post)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn Put() -> ::windows_core::Result { Self::IHttpMethodStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Put)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Put)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1486,14 +1486,14 @@ impl HttpMultipartContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1501,7 +1501,7 @@ impl HttpMultipartContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1509,21 +1509,21 @@ impl HttpMultipartContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1534,7 +1534,7 @@ impl HttpMultipartContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Add(&self, content: P0) -> ::windows_core::Result<()> @@ -1547,13 +1547,13 @@ impl HttpMultipartContent { pub fn CreateWithSubtype(subtype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMultipartContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSubtype)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSubtype)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithSubtypeAndBoundary(subtype: &::windows_core::HSTRING, boundary: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMultipartContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithSubtypeAndBoundary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), ::core::mem::transmute_copy(boundary), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithSubtypeAndBoundary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(subtype), ::core::mem::transmute_copy(boundary), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1561,14 +1561,14 @@ impl HttpMultipartContent { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1628,14 +1628,14 @@ impl HttpMultipartFormDataContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1643,7 +1643,7 @@ impl HttpMultipartFormDataContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -1651,21 +1651,21 @@ impl HttpMultipartFormDataContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -1676,7 +1676,7 @@ impl HttpMultipartFormDataContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Add(&self, content: P0) -> ::windows_core::Result<()> @@ -1703,7 +1703,7 @@ impl HttpMultipartFormDataContent { pub fn CreateWithBoundary(boundary: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpMultipartFormDataContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithBoundary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(boundary), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithBoundary)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(boundary), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Foundation_Collections")] @@ -1711,14 +1711,14 @@ impl HttpMultipartFormDataContent { let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).First)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1776,7 +1776,7 @@ impl HttpRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContent(&self, value: P0) -> ::windows_core::Result<()> @@ -1791,14 +1791,14 @@ impl HttpRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Method(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Method)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMethod(&self, value: P0) -> ::windows_core::Result<()> @@ -1813,14 +1813,14 @@ impl HttpRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RequestUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1834,14 +1834,14 @@ impl HttpRequestMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TransportInformation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TransportInformation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PrivacyAnnotation(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivacyAnnotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivacyAnnotation)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPrivacyAnnotation(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1855,14 +1855,14 @@ impl HttpRequestMessage { { Self::IHttpRequestMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), method.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), method.into_param().abi(), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1897,35 +1897,35 @@ impl HttpRequestResult { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExtendedError)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RequestMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ResponseMessage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResponseMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Succeeded(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Succeeded)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1962,7 +1962,7 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContent(&self, value: P0) -> ::windows_core::Result<()> @@ -1977,21 +1977,21 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSuccessStatusCode(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuccessStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuccessStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ReasonPhrase(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReasonPhrase)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReasonPhrase)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetReasonPhrase(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2002,7 +2002,7 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RequestMessage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRequestMessage(&self, value: P0) -> ::windows_core::Result<()> @@ -2016,7 +2016,7 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetSource(&self, value: HttpResponseMessageSource) -> ::windows_core::Result<()> { @@ -2027,7 +2027,7 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StatusCode)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStatusCode(&self, value: HttpStatusCode) -> ::windows_core::Result<()> { @@ -2038,7 +2038,7 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetVersion(&self, value: HttpVersion) -> ::windows_core::Result<()> { @@ -2049,20 +2049,20 @@ impl HttpResponseMessage { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnsureSuccessStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnsureSuccessStatusCode)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Create(statuscode: HttpStatusCode) -> ::windows_core::Result { Self::IHttpResponseMessageFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), statuscode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), statuscode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2098,14 +2098,14 @@ impl HttpStreamContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2113,7 +2113,7 @@ impl HttpStreamContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2121,21 +2121,21 @@ impl HttpStreamContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2146,7 +2146,7 @@ impl HttpStreamContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2156,14 +2156,14 @@ impl HttpStreamContent { { Self::IHttpStreamContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromInputStream)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromInputStream)(::windows_core::Interface::as_raw(this), content.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2199,14 +2199,14 @@ impl HttpStringContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Headers)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BufferAllAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BufferAllAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2214,7 +2214,7 @@ impl HttpStringContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsBufferAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -2222,21 +2222,21 @@ impl HttpStringContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsInputStreamAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ReadAsStringAsync(&self) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ReadAsStringAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TryComputeLength(&self, length: &mut u64) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).TryComputeLength)(::windows_core::Interface::as_raw(this), length, &mut result__).map(|| result__) } } #[cfg(feature = "Storage_Streams")] @@ -2247,34 +2247,34 @@ impl HttpStringContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WriteToStreamAsync)(::windows_core::Interface::as_raw(this), outputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateFromString(content: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpStringContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromString)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn CreateFromStringWithEncoding(content: &::windows_core::HSTRING, encoding: super::super::Storage::Streams::UnicodeEncoding) -> ::windows_core::Result { Self::IHttpStringContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStringWithEncoding)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStringWithEncoding)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[cfg(feature = "Storage_Streams")] pub fn CreateFromStringWithEncodingAndMediaType(content: &::windows_core::HSTRING, encoding: super::super::Storage::Streams::UnicodeEncoding, mediatype: &::windows_core::HSTRING) -> ::windows_core::Result { Self::IHttpStringContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateFromStringWithEncodingAndMediaType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), encoding, ::core::mem::transmute_copy(mediatype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateFromStringWithEncodingAndMediaType)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(content), encoding, ::core::mem::transmute_copy(mediatype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2306,7 +2306,7 @@ impl HttpTransportInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificate)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Networking_Sockets")] @@ -2314,7 +2314,7 @@ impl HttpTransportInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrorSeverity)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -2322,7 +2322,7 @@ impl HttpTransportInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCertificateErrors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] @@ -2330,14 +2330,14 @@ impl HttpTransportInformation { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerIntermediateCertificates)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ToString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ToString)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Web/Syndication/mod.rs b/crates/libs/windows/src/Windows/Web/Syndication/mod.rs index 2963247058..d06d53634c 100644 --- a/crates/libs/windows/src/Windows/Web/Syndication/mod.rs +++ b/crates/libs/windows/src/Windows/Web/Syndication/mod.rs @@ -45,7 +45,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -61,7 +61,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -76,7 +76,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxResponseBufferSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -87,7 +87,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimeout(&self, value: u32) -> ::windows_core::Result<()> { @@ -98,7 +98,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBypassCacheOnRetrieve(&self, value: bool) -> ::windows_core::Result<()> { @@ -116,7 +116,7 @@ impl ISyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -352,7 +352,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -363,7 +363,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -374,7 +374,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -385,7 +385,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -396,7 +396,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -411,7 +411,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -419,7 +419,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -427,7 +427,7 @@ impl ISyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -496,7 +496,7 @@ impl ISyndicationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -507,7 +507,7 @@ impl ISyndicationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -519,7 +519,7 @@ impl ISyndicationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -534,7 +534,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -545,7 +545,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -556,7 +556,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -567,7 +567,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -578,7 +578,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -593,7 +593,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -601,7 +601,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -609,7 +609,7 @@ impl ISyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -657,7 +657,7 @@ impl SyndicationAttribute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -668,7 +668,7 @@ impl SyndicationAttribute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Namespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -679,7 +679,7 @@ impl SyndicationAttribute { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -689,7 +689,7 @@ impl SyndicationAttribute { pub fn CreateSyndicationAttribute(attributename: &::windows_core::HSTRING, attributenamespace: &::windows_core::HSTRING, attributevalue: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationAttributeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), ::core::mem::transmute_copy(attributenamespace), ::core::mem::transmute_copy(attributevalue), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationAttribute)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(attributename), ::core::mem::transmute_copy(attributenamespace), ::core::mem::transmute_copy(attributevalue), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -727,7 +727,7 @@ impl SyndicationCategory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Label)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLabel(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -738,7 +738,7 @@ impl SyndicationCategory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scheme)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetScheme(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -749,7 +749,7 @@ impl SyndicationCategory { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Term)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Term)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTerm(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -759,20 +759,20 @@ impl SyndicationCategory { pub fn CreateSyndicationCategory(term: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationCategoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationCategory)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(term), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationCategory)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(term), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSyndicationCategoryEx(term: &::windows_core::HSTRING, scheme: &::windows_core::HSTRING, label: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationCategoryFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationCategoryEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(term), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(label), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationCategoryEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(term), ::core::mem::transmute_copy(scheme), ::core::mem::transmute_copy(label), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -783,7 +783,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -794,7 +794,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -805,7 +805,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -816,7 +816,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -831,7 +831,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -839,7 +839,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -847,7 +847,7 @@ impl SyndicationCategory { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -886,7 +886,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ServerCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -902,7 +902,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProxyCredential)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -917,7 +917,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MaxResponseBufferSize)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMaxResponseBufferSize(&self, value: u32) -> ::windows_core::Result<()> { @@ -928,7 +928,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Timeout)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetTimeout(&self, value: u32) -> ::windows_core::Result<()> { @@ -939,7 +939,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BypassCacheOnRetrieve)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBypassCacheOnRetrieve(&self, value: bool) -> ::windows_core::Result<()> { @@ -957,7 +957,7 @@ impl SyndicationClient { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RetrieveFeedAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Security_Credentials")] @@ -967,7 +967,7 @@ impl SyndicationClient { { Self::ISyndicationClientFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationClient)(::windows_core::Interface::as_raw(this), servercredential.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationClient)(::windows_core::Interface::as_raw(this), servercredential.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -1005,7 +1005,7 @@ impl SyndicationContent { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSourceUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1018,7 +1018,7 @@ impl SyndicationContent { pub fn CreateSyndicationContent(text: &::windows_core::HSTRING, r#type: SyndicationTextType) -> ::windows_core::Result { Self::ISyndicationContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationContent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationContent)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSyndicationContentWithSourceUri(sourceuri: P0) -> ::windows_core::Result @@ -1027,14 +1027,14 @@ impl SyndicationContent { { Self::ISyndicationContentFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationContentWithSourceUri)(::windows_core::Interface::as_raw(this), sourceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationContentWithSourceUri)(::windows_core::Interface::as_raw(this), sourceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1045,7 +1045,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1056,7 +1056,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1067,7 +1067,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1078,7 +1078,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1093,7 +1093,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1101,7 +1101,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1109,14 +1109,14 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1127,7 +1127,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1139,7 +1139,7 @@ impl SyndicationContent { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1173,7 +1173,7 @@ impl SyndicationError { pub fn GetStatus(hresult: i32) -> ::windows_core::Result { Self::ISyndicationErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] @@ -1203,7 +1203,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Authors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Authors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1211,7 +1211,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1219,14 +1219,14 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contributors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contributors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Generator(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Generator)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Generator)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetGenerator(&self, value: P0) -> ::windows_core::Result<()> @@ -1240,7 +1240,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IconUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetIconUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1254,7 +1254,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1266,14 +1266,14 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Items)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastUpdatedTime(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastUpdatedTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1285,14 +1285,14 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Links)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Links)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ImageUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ImageUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ImageUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetImageUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1306,7 +1306,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rights)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rights)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRights(&self, value: P0) -> ::windows_core::Result<()> @@ -1320,7 +1320,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Subtitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSubtitle(&self, value: P0) -> ::windows_core::Result<()> @@ -1334,7 +1334,7 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: P0) -> ::windows_core::Result<()> @@ -1348,35 +1348,35 @@ impl SyndicationFeed { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FirstUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FirstUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn LastUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NextUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NextUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NextUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PreviousUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PreviousUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PreviousUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SourceFormat(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).SourceFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).SourceFormat)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Load(&self, feed: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1397,14 +1397,14 @@ impl SyndicationFeed { { Self::ISyndicationFeedFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationFeed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(subtitle), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationFeed)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(subtitle), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1415,7 +1415,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1426,7 +1426,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1437,7 +1437,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1448,7 +1448,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1463,7 +1463,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1471,7 +1471,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1479,7 +1479,7 @@ impl SyndicationFeed { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1517,7 +1517,7 @@ impl SyndicationGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1528,7 +1528,7 @@ impl SyndicationGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1542,7 +1542,7 @@ impl SyndicationGenerator { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Version)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetVersion(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1552,14 +1552,14 @@ impl SyndicationGenerator { pub fn CreateSyndicationGenerator(text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationGeneratorFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationGenerator)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationGenerator)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1570,7 +1570,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1581,7 +1581,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1592,7 +1592,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1603,7 +1603,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1618,7 +1618,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1626,7 +1626,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1634,7 +1634,7 @@ impl SyndicationGenerator { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1673,7 +1673,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Authors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Authors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1681,7 +1681,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Categories)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1689,14 +1689,14 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Contributors)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Contributors)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Content(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Content)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetContent(&self, value: P0) -> ::windows_core::Result<()> @@ -1710,7 +1710,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetId(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1721,7 +1721,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LastUpdatedTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLastUpdatedTime(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1733,14 +1733,14 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Links)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Links)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PublishedDate(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PublishedDate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PublishedDate)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetPublishedDate(&self, value: super::super::Foundation::DateTime) -> ::windows_core::Result<()> { @@ -1751,7 +1751,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Rights)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Rights)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRights(&self, value: P0) -> ::windows_core::Result<()> @@ -1765,7 +1765,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: P0) -> ::windows_core::Result<()> @@ -1779,7 +1779,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Summary)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Summary)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSummary(&self, value: P0) -> ::windows_core::Result<()> @@ -1793,7 +1793,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: P0) -> ::windows_core::Result<()> @@ -1807,7 +1807,7 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CommentsUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CommentsUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetCommentsUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1821,28 +1821,28 @@ impl SyndicationItem { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EditUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EditUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EditMediaUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EditMediaUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EditMediaUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ETag(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ETag)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ETag)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ItemUri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ItemUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ItemUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Load(&self, item: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1864,14 +1864,14 @@ impl SyndicationItem { { Self::ISyndicationItemFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), content.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationItem)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(title), content.into_param().abi(), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1882,7 +1882,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1893,7 +1893,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1904,7 +1904,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1915,7 +1915,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -1930,7 +1930,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -1938,7 +1938,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -1946,7 +1946,7 @@ impl SyndicationItem { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1984,7 +1984,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Length)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetLength(&self, value: u32) -> ::windows_core::Result<()> { @@ -1995,7 +1995,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetMediaType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2006,7 +2006,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Relationship)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetRelationship(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2017,7 +2017,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Title)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetTitle(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2028,7 +2028,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2042,7 +2042,7 @@ impl SyndicationLink { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ResourceLanguage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ResourceLanguage)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetResourceLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2055,7 +2055,7 @@ impl SyndicationLink { { Self::ISyndicationLinkFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationLink)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationLink)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSyndicationLinkEx(uri: P0, relationship: &::windows_core::HSTRING, title: &::windows_core::HSTRING, mediatype: &::windows_core::HSTRING, length: u32) -> ::windows_core::Result @@ -2064,14 +2064,14 @@ impl SyndicationLink { { Self::ISyndicationLinkFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationLinkEx)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(relationship), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(mediatype), length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationLinkEx)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), ::core::mem::transmute_copy(relationship), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(mediatype), length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn NodeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2082,7 +2082,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2093,7 +2093,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2104,7 +2104,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2115,7 +2115,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2130,7 +2130,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2138,7 +2138,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2146,7 +2146,7 @@ impl SyndicationLink { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2184,7 +2184,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2195,7 +2195,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2206,7 +2206,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2217,7 +2217,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2228,7 +2228,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2243,7 +2243,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2251,7 +2251,7 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2259,13 +2259,13 @@ impl SyndicationNode { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateSyndicationNode(nodename: &::windows_core::HSTRING, nodenamespace: &::windows_core::HSTRING, nodevalue: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationNodeFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(nodename), ::core::mem::transmute_copy(nodenamespace), ::core::mem::transmute_copy(nodevalue), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationNode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(nodename), ::core::mem::transmute_copy(nodenamespace), ::core::mem::transmute_copy(nodevalue), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2303,7 +2303,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2314,7 +2314,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2325,7 +2325,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2336,7 +2336,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2347,7 +2347,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2362,7 +2362,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2370,7 +2370,7 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2378,14 +2378,14 @@ impl SyndicationPerson { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Email(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Email)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetEmail(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2396,7 +2396,7 @@ impl SyndicationPerson { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Name)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2407,7 +2407,7 @@ impl SyndicationPerson { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2420,7 +2420,7 @@ impl SyndicationPerson { pub fn CreateSyndicationPerson(name: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationPersonFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationPerson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationPerson)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSyndicationPersonEx(name: &::windows_core::HSTRING, email: &::windows_core::HSTRING, uri: P0) -> ::windows_core::Result @@ -2429,7 +2429,7 @@ impl SyndicationPerson { { Self::ISyndicationPersonFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationPersonEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(email), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationPersonEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(email), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -2467,7 +2467,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeName)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeName(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2478,7 +2478,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeNamespace)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeNamespace(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2489,7 +2489,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NodeValue)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNodeValue(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2500,7 +2500,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Language)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetLanguage(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2511,7 +2511,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BaseUri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetBaseUri(&self, value: P0) -> ::windows_core::Result<()> @@ -2526,7 +2526,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AttributeExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -2534,7 +2534,7 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ElementExtensions)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2542,14 +2542,14 @@ impl SyndicationText { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetXmlDocument)(::windows_core::Interface::as_raw(this), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Text(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Text)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetText(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2560,7 +2560,7 @@ impl SyndicationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Type)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetType(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -2572,7 +2572,7 @@ impl SyndicationText { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Xml)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Data_Xml_Dom")] @@ -2586,13 +2586,13 @@ impl SyndicationText { pub fn CreateSyndicationText(text: &::windows_core::HSTRING) -> ::windows_core::Result { Self::ISyndicationTextFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationText)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateSyndicationTextEx(text: &::windows_core::HSTRING, r#type: SyndicationTextType) -> ::windows_core::Result { Self::ISyndicationTextFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateSyndicationTextEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateSyndicationTextEx)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(text), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs b/crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs index bf7bf01969..4d73d321f1 100644 --- a/crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs +++ b/crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs @@ -99,7 +99,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, source: P0) -> ::windows_core::Result<()> @@ -113,21 +113,21 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanGoBack(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanGoForward(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -140,21 +140,21 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContainsFullScreenElement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Settings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -162,7 +162,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GoForward(&self) -> ::windows_core::Result<()> { @@ -216,7 +216,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -227,7 +227,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_DataTransfer")] @@ -235,14 +235,14 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BuildLocalStreamUri(&self, contentidentifier: &::windows_core::HSTRING, relativepath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferredPermissionRequestById(&self, id: u32, result: &mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -256,7 +256,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationStarting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -270,7 +270,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentLoading(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -284,7 +284,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDOMContentLoaded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -298,7 +298,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -312,7 +312,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameNavigationStarting(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -326,7 +326,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameContentLoading(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -340,7 +340,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameDOMContentLoaded(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -354,7 +354,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameNavigationCompleted(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -368,7 +368,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScriptNotify(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -382,7 +382,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLongRunningScriptDetected(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -396,7 +396,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnsafeContentWarningDisplaying(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -410,7 +410,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnviewableContentIdentified(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -424,7 +424,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePermissionRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -438,7 +438,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnsupportedUriSchemeIdentified(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -452,7 +452,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNewWindowRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -466,7 +466,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContainsFullScreenElementChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -480,7 +480,7 @@ impl WebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWebResourceRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -495,7 +495,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Process)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Process)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetScale(&self, value: f64) -> ::windows_core::Result<()> { @@ -506,7 +506,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Scale)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetBounds(&self, value: super::super::super::Foundation::Rect) -> ::windows_core::Result<()> { @@ -517,7 +517,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Bounds)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsVisible(&self, value: bool) -> ::windows_core::Result<()> { @@ -528,7 +528,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsVisible)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Close(&self) -> ::windows_core::Result<()> { @@ -546,7 +546,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MoveFocusRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MoveFocusRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveMoveFocusRequested(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -560,7 +560,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).AcceleratorKeyPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).AcceleratorKeyPressed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveAcceleratorKeyPressed(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -574,7 +574,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GotFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GotFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveGotFocus(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -588,7 +588,7 @@ impl WebViewControl { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LostFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LostFocus)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLostFocus(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -616,7 +616,7 @@ impl WebViewControlAcceleratorKeyPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EventType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "System")] @@ -624,7 +624,7 @@ impl WebViewControlAcceleratorKeyPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).VirtualKey)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI_Core")] @@ -632,21 +632,21 @@ impl WebViewControlAcceleratorKeyPressedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).KeyStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn RoutingStage(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).RoutingStage)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).RoutingStage)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -673,7 +673,7 @@ impl WebViewControlMoveFocusRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Reason)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -703,28 +703,28 @@ impl WebViewControlProcess { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessId)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn EnterpriseId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsPrivateNetworkClientServerCapabilityEnabled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsPrivateNetworkClientServerCapabilityEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsPrivateNetworkClientServerCapabilityEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CreateWebViewControlAsync(&self, hostwindowhandle: i64, bounds: super::super::super::Foundation::Rect) -> ::windows_core::Result> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWebViewControlAsync)(::windows_core::Interface::as_raw(this), hostwindowhandle, bounds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWebViewControlAsync)(::windows_core::Interface::as_raw(this), hostwindowhandle, bounds, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -732,7 +732,7 @@ impl WebViewControlProcess { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetWebViewControls)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetWebViewControls)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Terminate(&self) -> ::windows_core::Result<()> { @@ -746,7 +746,7 @@ impl WebViewControlProcess { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ProcessExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ProcessExited)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveProcessExited(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -759,7 +759,7 @@ impl WebViewControlProcess { { Self::IWebViewControlProcessFactory(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CreateWithOptions)(::windows_core::Interface::as_raw(this), processoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CreateWithOptions)(::windows_core::Interface::as_raw(this), processoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] @@ -798,7 +798,7 @@ impl WebViewControlProcessOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).EnterpriseId)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetPrivateNetworkClientServerCapability(&self, value: WebViewControlProcessCapabilityState) -> ::windows_core::Result<()> { @@ -809,7 +809,7 @@ impl WebViewControlProcessOptions { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PrivateNetworkClientServerCapability)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PrivateNetworkClientServerCapability)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } diff --git a/crates/libs/windows/src/Windows/Web/UI/mod.rs b/crates/libs/windows/src/Windows/Web/UI/mod.rs index da300db68f..50a214b774 100644 --- a/crates/libs/windows/src/Windows/Web/UI/mod.rs +++ b/crates/libs/windows/src/Windows/Web/UI/mod.rs @@ -7,7 +7,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Source)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, source: P0) -> ::windows_core::Result<()> @@ -21,21 +21,21 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DocumentTitle)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CanGoBack(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoBack)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn CanGoForward(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CanGoForward)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } #[cfg(feature = "UI")] @@ -48,21 +48,21 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DefaultBackgroundColor)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn ContainsFullScreenElement(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElement)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Settings(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Settings)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] @@ -70,7 +70,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DeferredPermissionRequests)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GoForward(&self) -> ::windows_core::Result<()> { @@ -124,7 +124,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).InvokeScriptAsync)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(scriptname), arguments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Storage_Streams")] @@ -135,7 +135,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CapturePreviewToStreamAsync)(::windows_core::Interface::as_raw(this), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "ApplicationModel_DataTransfer")] @@ -143,14 +143,14 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).CaptureSelectedContentToDataPackageAsync)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn BuildLocalStreamUri(&self, contentidentifier: &::windows_core::HSTRING, relativepath: &::windows_core::HSTRING) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).BuildLocalStreamUri)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(contentidentifier), ::core::mem::transmute_copy(relativepath), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetDeferredPermissionRequestById(&self, id: u32, result: &mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -164,7 +164,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -178,7 +178,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContentLoading(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -192,7 +192,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).DOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveDOMContentLoaded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -206,7 +206,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNavigationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -220,7 +220,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationStarting)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameNavigationStarting(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -234,7 +234,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameContentLoading)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameContentLoading(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -248,7 +248,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameDOMContentLoaded)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameDOMContentLoaded(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -262,7 +262,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).FrameNavigationCompleted)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveFrameNavigationCompleted(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -276,7 +276,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ScriptNotify)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveScriptNotify(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -290,7 +290,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).LongRunningScriptDetected)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveLongRunningScriptDetected(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -304,7 +304,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsafeContentWarningDisplaying)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnsafeContentWarningDisplaying(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -318,7 +318,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnviewableContentIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnviewableContentIdentified(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -332,7 +332,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemovePermissionRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -346,7 +346,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UnsupportedUriSchemeIdentified)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveUnsupportedUriSchemeIdentified(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -360,7 +360,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewWindowRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveNewWindowRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -374,7 +374,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ContainsFullScreenElementChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveContainsFullScreenElementChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -388,7 +388,7 @@ impl IWebViewControl { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebResourceRequested)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).map(|| result__) } } pub fn RemoveWebResourceRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { @@ -656,7 +656,7 @@ impl WebViewControlContentLoadingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -679,7 +679,7 @@ impl WebViewControlDOMContentLoadedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -702,21 +702,21 @@ impl WebViewControlDeferredPermissionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PermissionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Allow(&self) -> ::windows_core::Result<()> { @@ -747,14 +747,14 @@ impl WebViewControlLongRunningScriptDetectedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).ExecutionTime)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).ExecutionTime)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn StopPageScriptExecution(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).StopPageScriptExecution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).StopPageScriptExecution)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetStopPageScriptExecution(&self, value: bool) -> ::windows_core::Result<()> { @@ -781,21 +781,21 @@ impl WebViewControlNavigationCompletedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsSuccess(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsSuccess)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsSuccess)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn WebErrorStatus(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).WebErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).WebErrorStatus)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -818,14 +818,14 @@ impl WebViewControlNavigationStartingEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Cancel(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Cancel)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetCancel(&self, value: bool) -> ::windows_core::Result<()> { @@ -852,21 +852,21 @@ impl WebViewControlNewWindowRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Referrer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Referrer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Referrer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -877,7 +877,7 @@ impl WebViewControlNewWindowRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).NewWindow)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).NewWindow)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNewWindow(&self, value: P0) -> ::windows_core::Result<()> @@ -891,7 +891,7 @@ impl WebViewControlNewWindowRequestedEventArgs { let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -914,28 +914,28 @@ impl WebViewControlPermissionRequest { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Uri(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PermissionType(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionType)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn State(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Defer(&self) -> ::windows_core::Result<()> { @@ -970,7 +970,7 @@ impl WebViewControlPermissionRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).PermissionRequest)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).PermissionRequest)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -993,14 +993,14 @@ impl WebViewControlScriptNotifyEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Value)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1027,7 +1027,7 @@ impl WebViewControlSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsJavaScriptEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsJavaScriptEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsIndexedDBEnabled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1038,7 +1038,7 @@ impl WebViewControlSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsIndexedDBEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsIndexedDBEnabled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetIsScriptNotifyAllowed(&self, value: bool) -> ::windows_core::Result<()> { @@ -1049,7 +1049,7 @@ impl WebViewControlSettings { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).IsScriptNotifyAllowed)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).IsScriptNotifyAllowed)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } } @@ -1072,14 +1072,14 @@ impl WebViewControlUnsupportedUriSchemeIdentifiedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Handled(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> { @@ -1106,21 +1106,21 @@ impl WebViewControlUnviewableContentIdentifiedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Uri)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Referrer(&self) -> ::windows_core::Result { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Referrer)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Referrer)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MediaType(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).MediaType)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1143,7 +1143,7 @@ impl WebViewControlWebResourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -1151,7 +1151,7 @@ impl WebViewControlWebResourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Request)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Web_Http")] @@ -1167,7 +1167,7 @@ impl WebViewControlWebResourceRequestedEventArgs { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).Response)(::windows_core::Interface::as_raw(this), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/libs/windows/src/Windows/Web/mod.rs b/crates/libs/windows/src/Windows/Web/mod.rs index 153493ff93..ae718dcaeb 100644 --- a/crates/libs/windows/src/Windows/Web/mod.rs +++ b/crates/libs/windows/src/Windows/Web/mod.rs @@ -17,7 +17,7 @@ impl IUriToStreamResolver { let this = self; unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).UriToStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).UriToStreamAsync)(::windows_core::Interface::as_raw(this), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -45,7 +45,7 @@ impl WebError { pub fn GetStatus(hresult: i32) -> ::windows_core::Result { Self::IWebErrorStatics(|this| unsafe { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(this).GetStatus)(::windows_core::Interface::as_raw(this), hresult, &mut result__).map(|| result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/DirectML/mod.rs b/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/DirectML/mod.rs index dd352680ec..38193a610b 100644 --- a/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/DirectML/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/DirectML/mod.rs @@ -44,7 +44,7 @@ impl IDMLBindingTable { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BindInputs(&self, bindings: ::core::option::Option<&[DML_BINDING_DESC]>) { (::windows_core::Interface::vtable(self).BindInputs)(::windows_core::Interface::as_raw(self), bindings.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(bindings.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -102,7 +102,7 @@ impl IDMLCommandRecorder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn RecordDispatch(&self, commandlist: P0, dispatchable: P1, bindings: P2) @@ -149,7 +149,7 @@ impl IDMLCompiledOperator { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBindingProperties(&self) -> DML_BINDING_PROPERTIES { let mut result__: DML_BINDING_PROPERTIES = ::core::mem::zeroed(); @@ -220,14 +220,14 @@ impl IDMLDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateOperatorInitializer)(::windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(operators.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOperatorInitializer)(::windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(operators.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandRecorder(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandRecorder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandRecorder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateBindingTable(&self, desc: ::core::option::Option<*const DML_BINDING_TABLE_DESC>) -> ::windows_core::Result @@ -235,7 +235,7 @@ impl IDMLDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateBindingTable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBindingTable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -251,7 +251,7 @@ impl IDMLDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetParentDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -314,14 +314,14 @@ impl IDMLDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateOperatorInitializer)(::windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(operators.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOperatorInitializer)(::windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(operators.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandRecorder(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandRecorder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandRecorder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateBindingTable(&self, desc: ::core::option::Option<*const DML_BINDING_TABLE_DESC>) -> ::windows_core::Result @@ -329,7 +329,7 @@ impl IDMLDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateBindingTable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBindingTable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -345,7 +345,7 @@ impl IDMLDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParentDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompileGraph(&self, desc: *const DML_GRAPH_DESC, flags: DML_EXECUTION_FLAGS, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -386,7 +386,7 @@ impl IDMLDeviceChild { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -421,7 +421,7 @@ impl IDMLDispatchable { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBindingProperties(&self) -> DML_BINDING_PROPERTIES { let mut result__: DML_BINDING_PROPERTIES = ::core::mem::zeroed(); @@ -492,7 +492,7 @@ impl IDMLOperator { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -526,7 +526,7 @@ impl IDMLOperatorInitializer { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBindingProperties(&self) -> DML_BINDING_PROPERTIES { let mut result__: DML_BINDING_PROPERTIES = ::core::mem::zeroed(); @@ -569,7 +569,7 @@ impl IDMLPageable { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/WinML/mod.rs b/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/WinML/mod.rs index 9338de52a6..8f5520fcdf 100644 --- a/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/WinML/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/AI/MachineLearning/WinML/mod.rs @@ -2,13 +2,13 @@ pub unsafe fn MLCreateOperatorRegistry() -> ::windows_core::Result { ::windows_targets::link!("windows.ai.machinelearning.dll" "system" fn MLCreateOperatorRegistry(registry : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MLCreateOperatorRegistry(&mut result__).from_abi(result__) + MLCreateOperatorRegistry(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WinMLCreateRuntime() -> ::windows_core::Result { ::windows_targets::link!("winml.dll" "system" fn WinMLCreateRuntime(runtime : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WinMLCreateRuntime(&mut result__).from_abi(result__) + WinMLCreateRuntime(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IMLOperatorAttributes, IMLOperatorAttributes_Vtbl, 0x4b1b1759_ec40_466c_aab4_beb5347fd24c); ::windows_core::imp::interface_hierarchy!(IMLOperatorAttributes, ::windows_core::IUnknown); @@ -18,7 +18,7 @@ impl IMLOperatorAttributes { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).map(|| result__) } pub unsafe fn GetAttribute(&self, name: P0, r#type: MLOperatorAttributeType, elementcount: u32, elementbytesize: usize, value: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -31,7 +31,7 @@ impl IMLOperatorAttributes { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).map(|| result__) } pub unsafe fn GetStringAttributeElement(&self, name: P0, elementindex: u32, attributeelement: &mut [u8]) -> ::windows_core::Result<()> where @@ -70,24 +70,24 @@ pub struct IMLOperatorKernel_Vtbl { impl IMLOperatorKernelContext { pub unsafe fn GetInputTensor(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputTensor)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputTensor)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputTensor(&self, outputindex: u32, dimensionsizes: &[u32]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputTensor)(::windows_core::Interface::as_raw(self), outputindex, dimensionsizes.len().try_into().unwrap(), ::core::mem::transmute(dimensionsizes.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputTensor)(::windows_core::Interface::as_raw(self), outputindex, dimensionsizes.len().try_into().unwrap(), ::core::mem::transmute(dimensionsizes.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputTensor2(&self, outputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputTensor2)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputTensor2)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllocateTemporaryData(&self, size: usize) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateTemporaryData)(::windows_core::Interface::as_raw(self), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateTemporaryData)(::windows_core::Interface::as_raw(self), size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExecutionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetExecutionInterface)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } #[repr(C)] @@ -108,7 +108,7 @@ impl IMLOperatorKernelCreationContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).map(|| result__) } pub unsafe fn GetAttribute(&self, name: P0, r#type: MLOperatorAttributeType, elementcount: u32, elementbytesize: usize, value: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -121,7 +121,7 @@ impl IMLOperatorKernelCreationContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).map(|| result__) } pub unsafe fn GetStringAttributeElement(&self, name: P0, elementindex: u32, attributeelement: &mut [u8]) -> ::windows_core::Result<()> where @@ -143,23 +143,23 @@ impl IMLOperatorKernelCreationContext { } pub unsafe fn GetInputEdgeDescription(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).map(|| result__) } pub unsafe fn GetOutputEdgeDescription(&self, outputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputEdgeDescription)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputEdgeDescription)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).map(|| result__) } pub unsafe fn HasTensorShapeDescription(&self) -> bool { (::windows_core::Interface::vtable(self).HasTensorShapeDescription)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetTensorShapeDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTensorShapeDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTensorShapeDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExecutionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetExecutionInterface)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } #[repr(C)] @@ -184,7 +184,7 @@ impl IMLOperatorKernelFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateKernel)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateKernel)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -226,7 +226,7 @@ impl IMLOperatorShapeInferenceContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).map(|| result__) } pub unsafe fn GetAttribute(&self, name: P0, r#type: MLOperatorAttributeType, elementcount: u32, elementbytesize: usize, value: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -239,7 +239,7 @@ impl IMLOperatorShapeInferenceContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).map(|| result__) } pub unsafe fn GetStringAttributeElement(&self, name: P0, elementindex: u32, attributeelement: &mut [u8]) -> ::windows_core::Result<()> where @@ -261,11 +261,11 @@ impl IMLOperatorShapeInferenceContext { } pub unsafe fn GetInputEdgeDescription(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).map(|| result__) } pub unsafe fn GetInputTensorDimensionCount(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputTensorDimensionCount)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputTensorDimensionCount)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).map(|| result__) } pub unsafe fn GetInputTensorShape(&self, inputindex: u32, dimensions: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputTensorShape)(::windows_core::Interface::as_raw(self), inputindex, dimensions.len().try_into().unwrap(), ::core::mem::transmute(dimensions.as_ptr())).ok() @@ -327,7 +327,7 @@ impl IMLOperatorTensor { pub unsafe fn GetDataInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDataInterface)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } #[repr(C)] @@ -347,7 +347,7 @@ pub struct IMLOperatorTensor_Vtbl { impl IMLOperatorTensorShapeDescription { pub unsafe fn GetInputTensorDimensionCount(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputTensorDimensionCount)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputTensorDimensionCount)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).map(|| result__) } pub unsafe fn GetInputTensorShape(&self, inputindex: u32, dimensions: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputTensorShape)(::windows_core::Interface::as_raw(self), inputindex, dimensions.len().try_into().unwrap(), ::core::mem::transmute(dimensions.as_ptr())).ok() @@ -357,7 +357,7 @@ impl IMLOperatorTensorShapeDescription { } pub unsafe fn GetOutputTensorDimensionCount(&self, outputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputTensorDimensionCount)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputTensorDimensionCount)(::windows_core::Interface::as_raw(self), outputindex, &mut result__).map(|| result__) } pub unsafe fn GetOutputTensorShape(&self, outputindex: u32, dimensions: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetOutputTensorShape)(::windows_core::Interface::as_raw(self), outputindex, dimensions.len().try_into().unwrap(), ::core::mem::transmute(dimensions.as_ptr())).ok() @@ -381,7 +381,7 @@ impl IMLOperatorTypeInferenceContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeElementCount)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).map(|| result__) } pub unsafe fn GetAttribute(&self, name: P0, r#type: MLOperatorAttributeType, elementcount: u32, elementbytesize: usize, value: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -394,7 +394,7 @@ impl IMLOperatorTypeInferenceContext { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringAttributeElementLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), elementindex, &mut result__).map(|| result__) } pub unsafe fn GetStringAttributeElement(&self, name: P0, elementindex: u32, attributeelement: &mut [u8]) -> ::windows_core::Result<()> where @@ -416,7 +416,7 @@ impl IMLOperatorTypeInferenceContext { } pub unsafe fn GetInputEdgeDescription(&self, inputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputEdgeDescription)(::windows_core::Interface::as_raw(self), inputindex, &mut result__).map(|| result__) } pub unsafe fn SetOutputEdgeDescription(&self, outputindex: u32, edgedescription: *const MLOperatorEdgeDescription) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputEdgeDescription)(::windows_core::Interface::as_raw(self), outputindex, edgedescription).ok() @@ -462,7 +462,7 @@ impl IWinMLEvaluationContext { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -487,18 +487,18 @@ pub struct IWinMLEvaluationContext_Vtbl { impl IWinMLModel { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<*mut WINML_MODEL_DESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerateMetadata(&self, index: u32, pkey: *mut ::windows_core::PCWSTR, pvalue: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateMetadata)(::windows_core::Interface::as_raw(self), index, pkey, pvalue).ok() } pub unsafe fn EnumerateModelInputs(&self, index: u32) -> ::windows_core::Result<*mut WINML_VARIABLE_DESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateModelInputs)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateModelInputs)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumerateModelOutputs(&self, index: u32) -> ::windows_core::Result<*mut WINML_VARIABLE_DESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateModelOutputs)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateModelOutputs)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } } #[repr(C)] @@ -518,7 +518,7 @@ impl IWinMLRuntime { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadModel)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadModel)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateEvaluationContext(&self, device: P0) -> ::windows_core::Result @@ -526,7 +526,7 @@ impl IWinMLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEvaluationContext)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEvaluationContext)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EvaluateModel(&self, pcontext: P0) -> ::windows_core::Result<()> where @@ -551,7 +551,7 @@ pub struct IWinMLRuntime_Vtbl { impl IWinMLRuntimeFactory { pub unsafe fn CreateRuntime(&self, runtimetype: WINML_RUNTIME_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRuntime)(::windows_core::Interface::as_raw(self), runtimetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRuntime)(::windows_core::Interface::as_raw(self), runtimetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Data/HtmlHelp/mod.rs b/crates/libs/windows/src/Windows/Win32/Data/HtmlHelp/mod.rs index b4b7af1b6a..484ca1f52e 100644 --- a/crates/libs/windows/src/Windows/Win32/Data/HtmlHelp/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Data/HtmlHelp/mod.rs @@ -62,7 +62,7 @@ impl IITPropList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { @@ -86,7 +86,7 @@ impl IITPropList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { @@ -428,7 +428,7 @@ impl IWordBreakerConfig { #[cfg(feature = "Win32_System_Search")] pub unsafe fn GetWordStemmer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWordStemmer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWordStemmer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Data/Xml/MsXml/mod.rs b/crates/libs/windows/src/Windows/Win32/Data/Xml/MsXml/mod.rs index d6944ac7f9..8842c05785 100644 --- a/crates/libs/windows/src/Windows/Win32/Data/Xml/MsXml/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Data/Xml/MsXml/mod.rs @@ -101,7 +101,7 @@ impl IMXNamespaceManager { } pub unsafe fn getAllowOverride(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAllowOverride)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAllowOverride)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() @@ -174,15 +174,15 @@ pub struct IMXNamespaceManager_Vtbl { impl IMXNamespacePrefixes { pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -257,7 +257,7 @@ impl IMXWriter { } pub unsafe fn output(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).output)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).output)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setencoding(&self, strencoding: P0) -> ::windows_core::Result<()> where @@ -267,7 +267,7 @@ impl IMXWriter { } pub unsafe fn encoding(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).encoding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).encoding)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetbyteOrderMark(&self, fwritebyteordermark: P0) -> ::windows_core::Result<()> where @@ -277,7 +277,7 @@ impl IMXWriter { } pub unsafe fn byteOrderMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).byteOrderMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).byteOrderMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setindent(&self, findentmode: P0) -> ::windows_core::Result<()> where @@ -287,7 +287,7 @@ impl IMXWriter { } pub unsafe fn indent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).indent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).indent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setstandalone(&self, fvalue: P0) -> ::windows_core::Result<()> where @@ -297,7 +297,7 @@ impl IMXWriter { } pub unsafe fn standalone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).standalone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).standalone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetomitXMLDeclaration(&self, fvalue: P0) -> ::windows_core::Result<()> where @@ -307,7 +307,7 @@ impl IMXWriter { } pub unsafe fn omitXMLDeclaration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).omitXMLDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).omitXMLDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setversion(&self, strversion: P0) -> ::windows_core::Result<()> where @@ -317,7 +317,7 @@ impl IMXWriter { } pub unsafe fn version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdisableOutputEscaping(&self, fvalue: P0) -> ::windows_core::Result<()> where @@ -327,7 +327,7 @@ impl IMXWriter { } pub unsafe fn disableOutputEscaping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).disableOutputEscaping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).disableOutputEscaping)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn flush(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).flush)(::windows_core::Interface::as_raw(self)).ok() @@ -367,7 +367,7 @@ impl IMXXMLFilter { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn putFeature(&self, strname: P0, fvalue: P1) -> ::windows_core::Result<()> where @@ -381,7 +381,7 @@ impl IMXXMLFilter { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putProperty(&self, strname: P0, varvalue: P1) -> ::windows_core::Result<()> where @@ -392,7 +392,7 @@ impl IMXXMLFilter { } pub unsafe fn entityResolver(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).entityResolver)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).entityResolver)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_entityResolver(&self, oresolver: P0) -> ::windows_core::Result<()> where @@ -402,7 +402,7 @@ impl IMXXMLFilter { } pub unsafe fn contentHandler(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_contentHandler(&self, ohandler: P0) -> ::windows_core::Result<()> where @@ -412,7 +412,7 @@ impl IMXXMLFilter { } pub unsafe fn dtdHandler(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dtdHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dtdHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_dtdHandler(&self, ohandler: P0) -> ::windows_core::Result<()> where @@ -422,7 +422,7 @@ impl IMXXMLFilter { } pub unsafe fn errorHandler(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_errorHandler(&self, ohandler: P0) -> ::windows_core::Result<()> where @@ -454,7 +454,7 @@ pub struct IMXXMLFilter_Vtbl { impl ISAXAttributes { pub unsafe fn getLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getURI(&self, nindex: i32, ppwchuri: *mut *mut u16, pcchuri: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).getURI)(::windows_core::Interface::as_raw(self), nindex, ppwchuri, pcchuri).ok() @@ -474,14 +474,14 @@ impl ISAXAttributes { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getIndexFromName)(::windows_core::Interface::as_raw(self), pwchuri.into_param().abi(), cchuri, pwchlocalname.into_param().abi(), cchlocalname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getIndexFromName)(::windows_core::Interface::as_raw(self), pwchuri.into_param().abi(), cchuri, pwchlocalname.into_param().abi(), cchlocalname, &mut result__).map(|| result__) } pub unsafe fn getIndexFromQName(&self, pwchqname: P0, cchqname: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getIndexFromQName)(::windows_core::Interface::as_raw(self), pwchqname.into_param().abi(), cchqname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getIndexFromQName)(::windows_core::Interface::as_raw(self), pwchqname.into_param().abi(), cchqname, &mut result__).map(|| result__) } pub unsafe fn getType(&self, nindex: i32, ppwchtype: *mut *mut u16, pcchtype: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).getType)(::windows_core::Interface::as_raw(self), nindex, ppwchtype, pcchtype).ok() @@ -703,7 +703,7 @@ impl ISAXEntityResolver { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).resolveEntity)(::windows_core::Interface::as_raw(self), pwchpublicid.into_param().abi(), pwchsystemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).resolveEntity)(::windows_core::Interface::as_raw(self), pwchpublicid.into_param().abi(), pwchsystemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -801,19 +801,19 @@ pub struct ISAXLexicalHandler_Vtbl { impl ISAXLocator { pub unsafe fn getColumnNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getColumnNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getColumnNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getLineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getPublicId(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getPublicId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getPublicId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getSystemId(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -833,7 +833,7 @@ impl ISAXXMLFilter { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getFeature)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getFeature)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn putFeature(&self, pwchname: P0, vfvalue: P1) -> ::windows_core::Result<()> where @@ -847,7 +847,7 @@ impl ISAXXMLFilter { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getProperty)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getProperty)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putProperty(&self, pwchname: P0, varvalue: P1) -> ::windows_core::Result<()> where @@ -858,7 +858,7 @@ impl ISAXXMLFilter { } pub unsafe fn getEntityResolver(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getEntityResolver)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getEntityResolver)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putEntityResolver(&self, presolver: P0) -> ::windows_core::Result<()> where @@ -868,7 +868,7 @@ impl ISAXXMLFilter { } pub unsafe fn getContentHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getContentHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getContentHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putContentHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -878,7 +878,7 @@ impl ISAXXMLFilter { } pub unsafe fn getDTDHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getDTDHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getDTDHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putDTDHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -888,7 +888,7 @@ impl ISAXXMLFilter { } pub unsafe fn getErrorHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getErrorHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getErrorHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putErrorHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -898,7 +898,7 @@ impl ISAXXMLFilter { } pub unsafe fn getBaseURL(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn putBaseURL(&self, pwchbaseurl: P0) -> ::windows_core::Result<()> where @@ -908,7 +908,7 @@ impl ISAXXMLFilter { } pub unsafe fn getSecureBaseURL(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getSecureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getSecureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn putSecureBaseURL(&self, pwchsecurebaseurl: P0) -> ::windows_core::Result<()> where @@ -930,7 +930,7 @@ impl ISAXXMLFilter { } pub unsafe fn getParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putParent(&self, preader: P0) -> ::windows_core::Result<()> where @@ -954,7 +954,7 @@ impl ISAXXMLReader { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn putFeature(&self, pwchname: P0, vfvalue: P1) -> ::windows_core::Result<()> where @@ -968,7 +968,7 @@ impl ISAXXMLReader { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), pwchname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putProperty(&self, pwchname: P0, varvalue: P1) -> ::windows_core::Result<()> where @@ -979,7 +979,7 @@ impl ISAXXMLReader { } pub unsafe fn getEntityResolver(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getEntityResolver)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getEntityResolver)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putEntityResolver(&self, presolver: P0) -> ::windows_core::Result<()> where @@ -989,7 +989,7 @@ impl ISAXXMLReader { } pub unsafe fn getContentHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getContentHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getContentHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putContentHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -999,7 +999,7 @@ impl ISAXXMLReader { } pub unsafe fn getDTDHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDTDHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDTDHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putDTDHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -1009,7 +1009,7 @@ impl ISAXXMLReader { } pub unsafe fn getErrorHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putErrorHandler(&self, phandler: P0) -> ::windows_core::Result<()> where @@ -1019,7 +1019,7 @@ impl ISAXXMLReader { } pub unsafe fn getBaseURL(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn putBaseURL(&self, pwchbaseurl: P0) -> ::windows_core::Result<()> where @@ -1029,7 +1029,7 @@ impl ISAXXMLReader { } pub unsafe fn getSecureBaseURL(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getSecureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getSecureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn putSecureBaseURL(&self, pwchsecurebaseurl: P0) -> ::windows_core::Result<()> where @@ -1081,79 +1081,79 @@ pub struct ISAXXMLReader_Vtbl { impl ISchema { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn targetNamespace(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).targetNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).targetNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn types(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).types)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).types)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn elements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).elements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).elements)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributeGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributeGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributeGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn modelGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).modelGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).modelGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn notations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).notations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).notations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schemaLocations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).schemaLocations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).schemaLocations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1200,53 +1200,53 @@ pub struct ISchema_Vtbl { impl ISchemaAny { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn namespaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).namespaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).namespaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn processContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).processContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).processContents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1268,62 +1268,62 @@ pub struct ISchemaAny_Vtbl { impl ISchemaAttribute { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn r#type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).scope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn defaultValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).defaultValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).defaultValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fixedValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fixedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fixedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#use(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#use)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#use)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn isReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1352,46 +1352,46 @@ pub struct ISchemaAttribute_Vtbl { impl ISchemaAttributeGroup { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn anyAttribute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).anyAttribute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).anyAttribute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1416,137 +1416,137 @@ pub struct ISchemaAttributeGroup_Vtbl { impl ISchemaComplexType { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn baseTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#final(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.r#final)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.r#final)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn variety(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.variety)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.variety)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn derivedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.derivedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.derivedBy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn isValid(&self, data: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.isValid)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.isValid)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minExclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minExclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minExclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn minInclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minInclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minInclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxExclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxExclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxExclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxInclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxInclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxInclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn totalDigits(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.totalDigits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.totalDigits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fractionDigits(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.fractionDigits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.fractionDigits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn minLength(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minLength)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxLength(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxLength)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn enumeration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.enumeration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.enumeration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn whitespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.whitespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.whitespace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn patterns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.patterns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.patterns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isAbstract(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isAbstract)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isAbstract)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn anyAttribute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).anyAttribute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).anyAttribute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn contentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn contentModel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prohibitedSubstitutions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).prohibitedSubstitutions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).prohibitedSubstitutions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1578,92 +1578,92 @@ pub struct ISchemaComplexType_Vtbl { impl ISchemaElement { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn r#type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).scope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn defaultValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).defaultValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).defaultValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fixedValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fixedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fixedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isNillable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isNillable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isNillable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn identityConstraints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).identityConstraints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).identityConstraints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn substitutionGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).substitutionGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).substitutionGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn substitutionGroupExclusions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).substitutionGroupExclusions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).substitutionGroupExclusions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn disallowedSubstitutions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).disallowedSubstitutions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).disallowedSubstitutions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn isAbstract(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isAbstract)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isAbstract)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn isReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1703,50 +1703,50 @@ pub struct ISchemaElement_Vtbl { impl ISchemaIdentityConstraint { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn selector(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).selector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).selector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn fields(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fields)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fields)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn referencedKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).referencedKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).referencedKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1772,36 +1772,36 @@ pub struct ISchemaIdentityConstraint_Vtbl { impl ISchemaItem { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1832,7 +1832,7 @@ impl ISchemaItemCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn itemByName(&self, name: P0) -> ::windows_core::Result @@ -1840,7 +1840,7 @@ impl ISchemaItemCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).itemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).itemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn itemByQName(&self, name: P0, namespaceuri: P1) -> ::windows_core::Result @@ -1849,15 +1849,15 @@ impl ISchemaItemCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).itemByQName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).itemByQName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1888,49 +1888,49 @@ pub struct ISchemaItemCollection_Vtbl { impl ISchemaModelGroup { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn particles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).particles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).particles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1951,44 +1951,44 @@ pub struct ISchemaModelGroup_Vtbl { impl ISchemaNotation { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn systemIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).systemIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).systemIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn publicIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).publicIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).publicIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2007,44 +2007,44 @@ pub struct ISchemaNotation_Vtbl { impl ISchemaParticle { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).minOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxOccurs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).maxOccurs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2063,15 +2063,15 @@ pub struct ISchemaParticle_Vtbl { impl ISchemaStringCollection { pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2091,110 +2091,110 @@ pub struct ISchemaStringCollection_Vtbl { impl ISchemaType { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn schema(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn itemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.itemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn unhandledAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.unhandledAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn writeAnnotation(&self, annotationsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.writeAnnotation)(::windows_core::Interface::as_raw(self), annotationsink.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn baseTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).baseTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).baseTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#final(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#final)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#final)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn variety(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).variety)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).variety)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn derivedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).derivedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).derivedBy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn isValid(&self, data: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isValid)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isValid)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn minExclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).minExclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).minExclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn minInclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).minInclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).minInclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxExclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).maxExclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).maxExclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxInclusive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).maxInclusive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).maxInclusive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn totalDigits(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).totalDigits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).totalDigits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fractionDigits(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fractionDigits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fractionDigits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn minLength(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).minLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).minLength)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn maxLength(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).maxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).maxLength)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn enumeration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).enumeration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).enumeration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn whitespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).whitespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).whitespace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn patterns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).patterns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).patterns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2257,11 +2257,11 @@ impl IServerXMLHTTPRequest { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAllResponseHeaders(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn send(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -2274,32 +2274,32 @@ impl IServerXMLHTTPRequest { } pub unsafe fn status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn statusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.statusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.statusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn responseXML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.responseXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.responseXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.responseText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.responseText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseBody(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.responseBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.responseBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseStream(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.responseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.responseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Setonreadystatechange(&self, preadystatesink: P0) -> ::windows_core::Result<()> @@ -2316,11 +2316,11 @@ impl IServerXMLHTTPRequest { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).waitForResponse)(::windows_core::Interface::as_raw(self), timeoutinseconds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).waitForResponse)(::windows_core::Interface::as_raw(self), timeoutinseconds.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn getOption(&self, option: SERVERXMLHTTP_OPTION) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getOption)(::windows_core::Interface::as_raw(self), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getOption)(::windows_core::Interface::as_raw(self), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setOption(&self, option: SERVERXMLHTTP_OPTION, value: P0) -> ::windows_core::Result<()> where @@ -2367,11 +2367,11 @@ impl IServerXMLHTTPRequest2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAllResponseHeaders(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn send(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -2384,32 +2384,32 @@ impl IServerXMLHTTPRequest2 { } pub unsafe fn status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn statusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.statusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.statusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn responseXML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.responseXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.responseXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.responseText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.responseText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseBody(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.responseBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.responseBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseStream(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.responseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.responseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Setonreadystatechange(&self, preadystatesink: P0) -> ::windows_core::Result<()> @@ -2426,11 +2426,11 @@ impl IServerXMLHTTPRequest2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.waitForResponse)(::windows_core::Interface::as_raw(self), timeoutinseconds.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.waitForResponse)(::windows_core::Interface::as_raw(self), timeoutinseconds.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn getOption(&self, option: SERVERXMLHTTP_OPTION) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getOption)(::windows_core::Interface::as_raw(self), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getOption)(::windows_core::Interface::as_raw(self), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setOption(&self, option: SERVERXMLHTTP_OPTION, value: P0) -> ::windows_core::Result<()> where @@ -2475,7 +2475,7 @@ impl IVBMXNamespaceManager { } pub unsafe fn allowOverride(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).allowOverride)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).allowOverride)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() @@ -2504,7 +2504,7 @@ impl IVBMXNamespaceManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn getDeclaredPrefixes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDeclaredPrefixes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDeclaredPrefixes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getPrefixes(&self, namespaceuri: P0) -> ::windows_core::Result @@ -2512,14 +2512,14 @@ impl IVBMXNamespaceManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getPrefixes)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getPrefixes)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getURI(&self, prefix: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getURI)(::windows_core::Interface::as_raw(self), prefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getURI)(::windows_core::Interface::as_raw(self), prefix.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getURIFromNode(&self, strprefix: P0, contextnode: P1) -> ::windows_core::Result<::windows_core::VARIANT> @@ -2528,7 +2528,7 @@ impl IVBMXNamespaceManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getURIFromNode)(::windows_core::Interface::as_raw(self), strprefix.into_param().abi(), contextnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getURIFromNode)(::windows_core::Interface::as_raw(self), strprefix.into_param().abi(), contextnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2568,19 +2568,19 @@ pub struct IVBMXNamespaceManager_Vtbl { impl IVBSAXAttributes { pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getURI(&self, nindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getURI)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getURI)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getLocalName(&self, nindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getLocalName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getLocalName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getQName(&self, nindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getQName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getQName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getIndexFromName(&self, struri: P0, strlocalname: P1) -> ::windows_core::Result where @@ -2588,18 +2588,18 @@ impl IVBSAXAttributes { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getIndexFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getIndexFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn getIndexFromQName(&self, strqname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getIndexFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getIndexFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn getType(&self, nindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getType)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getType)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getTypeFromName(&self, struri: P0, strlocalname: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -2607,18 +2607,18 @@ impl IVBSAXAttributes { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getTypeFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getTypeFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getTypeFromQName(&self, strqname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getTypeFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getTypeFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getValue(&self, nindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getValue)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getValue)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getValueFromName(&self, struri: P0, strlocalname: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -2626,14 +2626,14 @@ impl IVBSAXAttributes { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getValueFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getValueFromName)(::windows_core::Interface::as_raw(self), struri.into_param().abi(), strlocalname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getValueFromQName(&self, strqname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getValueFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getValueFromQName)(::windows_core::Interface::as_raw(self), strqname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2783,7 +2783,7 @@ pub struct IVBSAXDeclHandler_Vtbl { impl IVBSAXEntityResolver { pub unsafe fn resolveEntity(&self, strpublicid: *mut ::windows_core::BSTR, strsystemid: *mut ::windows_core::BSTR) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).resolveEntity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(strpublicid), ::core::mem::transmute(strsystemid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).resolveEntity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(strpublicid), ::core::mem::transmute(strsystemid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2888,19 +2888,19 @@ pub struct IVBSAXLexicalHandler_Vtbl { impl IVBSAXLocator { pub unsafe fn columnNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).columnNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).columnNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn lineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn publicId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn systemId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2922,7 +2922,7 @@ impl IVBSAXXMLFilter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_parent(&self, oreader: P0) -> ::windows_core::Result<()> @@ -2957,7 +2957,7 @@ impl IVBSAXXMLReader { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getFeature)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn putFeature(&self, strname: P0, fvalue: P1) -> ::windows_core::Result<()> where @@ -2971,7 +2971,7 @@ impl IVBSAXXMLReader { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putProperty(&self, strname: P0, varvalue: P1) -> ::windows_core::Result<()> where @@ -2983,7 +2983,7 @@ impl IVBSAXXMLReader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn entityResolver(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).entityResolver)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).entityResolver)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_entityResolver(&self, oresolver: P0) -> ::windows_core::Result<()> @@ -2995,7 +2995,7 @@ impl IVBSAXXMLReader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn contentHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_contentHandler(&self, ohandler: P0) -> ::windows_core::Result<()> @@ -3007,7 +3007,7 @@ impl IVBSAXXMLReader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn dtdHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dtdHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dtdHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_dtdHandler(&self, ohandler: P0) -> ::windows_core::Result<()> @@ -3019,7 +3019,7 @@ impl IVBSAXXMLReader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn errorHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_errorHandler(&self, ohandler: P0) -> ::windows_core::Result<()> @@ -3030,7 +3030,7 @@ impl IVBSAXXMLReader { } pub unsafe fn baseURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).baseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).baseURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetbaseURL(&self, strbaseurl: P0) -> ::windows_core::Result<()> where @@ -3040,7 +3040,7 @@ impl IVBSAXXMLReader { } pub unsafe fn secureBaseURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).secureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).secureBaseURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetsecureBaseURL(&self, strsecurebaseurl: P0) -> ::windows_core::Result<()> where @@ -3117,11 +3117,11 @@ pub struct IVBSAXXMLReader_Vtbl { impl IXMLAttribute { pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3140,11 +3140,11 @@ pub struct IXMLAttribute_Vtbl { impl IXMLDOMAttribute { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -3154,42 +3154,42 @@ impl IXMLDOMAttribute { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -3198,7 +3198,7 @@ impl IXMLDOMAttribute { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -3207,7 +3207,7 @@ impl IXMLDOMAttribute { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -3215,7 +3215,7 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3223,16 +3223,16 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -3240,15 +3240,15 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -3258,16 +3258,16 @@ impl IXMLDOMAttribute { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -3277,7 +3277,7 @@ impl IXMLDOMAttribute { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -3287,7 +3287,7 @@ impl IXMLDOMAttribute { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -3295,7 +3295,7 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -3303,7 +3303,7 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -3311,23 +3311,23 @@ impl IXMLDOMAttribute { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -3339,11 +3339,11 @@ impl IXMLDOMAttribute { } pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setvalue(&self, attributevalue: P0) -> ::windows_core::Result<()> where @@ -3369,11 +3369,11 @@ pub struct IXMLDOMAttribute_Vtbl { impl IXMLDOMCDATASection { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -3383,42 +3383,42 @@ impl IXMLDOMCDATASection { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -3427,7 +3427,7 @@ impl IXMLDOMCDATASection { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -3436,7 +3436,7 @@ impl IXMLDOMCDATASection { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -3444,7 +3444,7 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3452,16 +3452,16 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -3469,15 +3469,15 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -3487,16 +3487,16 @@ impl IXMLDOMCDATASection { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -3506,7 +3506,7 @@ impl IXMLDOMCDATASection { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -3516,7 +3516,7 @@ impl IXMLDOMCDATASection { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -3524,7 +3524,7 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -3532,7 +3532,7 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -3540,23 +3540,23 @@ impl IXMLDOMCDATASection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -3568,7 +3568,7 @@ impl IXMLDOMCDATASection { } pub unsafe fn data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setdata(&self, data: P0) -> ::windows_core::Result<()> where @@ -3578,11 +3578,11 @@ impl IXMLDOMCDATASection { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn substringData(&self, offset: i32, count: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn appendData(&self, data: P0) -> ::windows_core::Result<()> where @@ -3608,7 +3608,7 @@ impl IXMLDOMCDATASection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn splitText(&self, offset: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.splitText)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.splitText)(::windows_core::Interface::as_raw(self), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3625,11 +3625,11 @@ pub struct IXMLDOMCDATASection_Vtbl { impl IXMLDOMCharacterData { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -3639,42 +3639,42 @@ impl IXMLDOMCharacterData { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -3683,7 +3683,7 @@ impl IXMLDOMCharacterData { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -3692,7 +3692,7 @@ impl IXMLDOMCharacterData { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -3700,7 +3700,7 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3708,16 +3708,16 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -3725,15 +3725,15 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -3743,16 +3743,16 @@ impl IXMLDOMCharacterData { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -3762,7 +3762,7 @@ impl IXMLDOMCharacterData { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -3772,7 +3772,7 @@ impl IXMLDOMCharacterData { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -3780,7 +3780,7 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -3788,7 +3788,7 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -3796,23 +3796,23 @@ impl IXMLDOMCharacterData { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -3824,7 +3824,7 @@ impl IXMLDOMCharacterData { } pub unsafe fn data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setdata(&self, data: P0) -> ::windows_core::Result<()> where @@ -3834,11 +3834,11 @@ impl IXMLDOMCharacterData { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn substringData(&self, offset: i32, count: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn appendData(&self, data: P0) -> ::windows_core::Result<()> where @@ -3884,11 +3884,11 @@ pub struct IXMLDOMCharacterData_Vtbl { impl IXMLDOMComment { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -3898,42 +3898,42 @@ impl IXMLDOMComment { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -3942,7 +3942,7 @@ impl IXMLDOMComment { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -3951,7 +3951,7 @@ impl IXMLDOMComment { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -3959,7 +3959,7 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -3967,16 +3967,16 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -3984,15 +3984,15 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -4002,16 +4002,16 @@ impl IXMLDOMComment { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -4021,7 +4021,7 @@ impl IXMLDOMComment { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -4031,7 +4031,7 @@ impl IXMLDOMComment { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -4039,7 +4039,7 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -4047,7 +4047,7 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -4055,23 +4055,23 @@ impl IXMLDOMComment { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -4083,7 +4083,7 @@ impl IXMLDOMComment { } pub unsafe fn data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setdata(&self, data: P0) -> ::windows_core::Result<()> where @@ -4093,11 +4093,11 @@ impl IXMLDOMComment { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn substringData(&self, offset: i32, count: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn appendData(&self, data: P0) -> ::windows_core::Result<()> where @@ -4135,11 +4135,11 @@ pub struct IXMLDOMComment_Vtbl { impl IXMLDOMDocument { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -4149,42 +4149,42 @@ impl IXMLDOMDocument { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -4193,7 +4193,7 @@ impl IXMLDOMDocument { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -4202,7 +4202,7 @@ impl IXMLDOMDocument { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -4210,7 +4210,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -4218,16 +4218,16 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -4235,15 +4235,15 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -4253,16 +4253,16 @@ impl IXMLDOMDocument { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -4272,7 +4272,7 @@ impl IXMLDOMDocument { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -4282,7 +4282,7 @@ impl IXMLDOMDocument { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -4290,7 +4290,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -4298,7 +4298,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -4306,23 +4306,23 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -4335,17 +4335,17 @@ impl IXMLDOMDocument { #[cfg(feature = "Win32_System_Com")] pub unsafe fn doctype(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn implementation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).implementation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).implementation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn documentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).documentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).documentElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_documentElement(&self, domelement: P0) -> ::windows_core::Result<()> @@ -4360,12 +4360,12 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createDocumentFragment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createTextNode(&self, data: P0) -> ::windows_core::Result @@ -4373,7 +4373,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createComment(&self, data: P0) -> ::windows_core::Result @@ -4381,7 +4381,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createCDATASection(&self, data: P0) -> ::windows_core::Result @@ -4389,7 +4389,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createProcessingInstruction(&self, target: P0, data: P1) -> ::windows_core::Result @@ -4398,7 +4398,7 @@ impl IXMLDOMDocument { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createAttribute(&self, name: P0) -> ::windows_core::Result @@ -4406,7 +4406,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createEntityReference(&self, name: P0) -> ::windows_core::Result @@ -4414,7 +4414,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getElementsByTagName(&self, tagname: P0) -> ::windows_core::Result @@ -4422,7 +4422,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createNode(&self, r#type: P0, name: P1, namespaceuri: P2) -> ::windows_core::Result @@ -4432,7 +4432,7 @@ impl IXMLDOMDocument { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nodeFromID(&self, idstring: P0) -> ::windows_core::Result @@ -4440,31 +4440,31 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn load(&self, xmlsource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parseError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parseError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parseError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#async(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#async)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#async)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setasync(&self, isasync: P0) -> ::windows_core::Result<()> where @@ -4480,7 +4480,7 @@ impl IXMLDOMDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn save(&self, destination: P0) -> ::windows_core::Result<()> where @@ -4490,7 +4490,7 @@ impl IXMLDOMDocument { } pub unsafe fn validateOnParse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetvalidateOnParse(&self, isvalidating: P0) -> ::windows_core::Result<()> where @@ -4500,7 +4500,7 @@ impl IXMLDOMDocument { } pub unsafe fn resolveExternals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetresolveExternals(&self, isresolving: P0) -> ::windows_core::Result<()> where @@ -4510,7 +4510,7 @@ impl IXMLDOMDocument { } pub unsafe fn preserveWhiteSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetpreserveWhiteSpace(&self, ispreserving: P0) -> ::windows_core::Result<()> where @@ -4632,11 +4632,11 @@ pub struct IXMLDOMDocument_Vtbl { impl IXMLDOMDocument2 { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -4646,42 +4646,42 @@ impl IXMLDOMDocument2 { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -4690,7 +4690,7 @@ impl IXMLDOMDocument2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -4699,7 +4699,7 @@ impl IXMLDOMDocument2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -4707,7 +4707,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -4715,16 +4715,16 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -4732,15 +4732,15 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -4750,16 +4750,16 @@ impl IXMLDOMDocument2 { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -4769,7 +4769,7 @@ impl IXMLDOMDocument2 { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -4779,7 +4779,7 @@ impl IXMLDOMDocument2 { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -4787,7 +4787,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -4795,7 +4795,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -4803,23 +4803,23 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -4832,17 +4832,17 @@ impl IXMLDOMDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn doctype(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.doctype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.doctype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn implementation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.implementation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.implementation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn documentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.documentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.documentElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_documentElement(&self, domelement: P0) -> ::windows_core::Result<()> @@ -4857,12 +4857,12 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createDocumentFragment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createTextNode(&self, data: P0) -> ::windows_core::Result @@ -4870,7 +4870,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createComment(&self, data: P0) -> ::windows_core::Result @@ -4878,7 +4878,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createCDATASection(&self, data: P0) -> ::windows_core::Result @@ -4886,7 +4886,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createProcessingInstruction(&self, target: P0, data: P1) -> ::windows_core::Result @@ -4895,7 +4895,7 @@ impl IXMLDOMDocument2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createAttribute(&self, name: P0) -> ::windows_core::Result @@ -4903,7 +4903,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createEntityReference(&self, name: P0) -> ::windows_core::Result @@ -4911,7 +4911,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getElementsByTagName(&self, tagname: P0) -> ::windows_core::Result @@ -4919,7 +4919,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createNode(&self, r#type: P0, name: P1, namespaceuri: P2) -> ::windows_core::Result @@ -4929,7 +4929,7 @@ impl IXMLDOMDocument2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nodeFromID(&self, idstring: P0) -> ::windows_core::Result @@ -4937,31 +4937,31 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn load(&self, xmlsource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parseError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parseError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parseError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#async(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.r#async)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.r#async)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setasync(&self, isasync: P0) -> ::windows_core::Result<()> where @@ -4977,7 +4977,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn save(&self, destination: P0) -> ::windows_core::Result<()> where @@ -4987,7 +4987,7 @@ impl IXMLDOMDocument2 { } pub unsafe fn validateOnParse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetvalidateOnParse(&self, isvalidating: P0) -> ::windows_core::Result<()> where @@ -4997,7 +4997,7 @@ impl IXMLDOMDocument2 { } pub unsafe fn resolveExternals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetresolveExternals(&self, isresolving: P0) -> ::windows_core::Result<()> where @@ -5007,7 +5007,7 @@ impl IXMLDOMDocument2 { } pub unsafe fn preserveWhiteSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetpreserveWhiteSpace(&self, ispreserving: P0) -> ::windows_core::Result<()> where @@ -5036,11 +5036,11 @@ impl IXMLDOMDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn namespaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).namespaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).namespaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn schemas(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).schemas)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).schemas)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_schemas(&self, othercollection: P0) -> ::windows_core::Result<()> where @@ -5051,7 +5051,7 @@ impl IXMLDOMDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn validate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).validate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).validate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setProperty(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -5065,7 +5065,7 @@ impl IXMLDOMDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5094,11 +5094,11 @@ pub struct IXMLDOMDocument2_Vtbl { impl IXMLDOMDocument3 { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -5108,42 +5108,42 @@ impl IXMLDOMDocument3 { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -5152,7 +5152,7 @@ impl IXMLDOMDocument3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -5161,7 +5161,7 @@ impl IXMLDOMDocument3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -5169,7 +5169,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -5177,16 +5177,16 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -5194,15 +5194,15 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -5212,16 +5212,16 @@ impl IXMLDOMDocument3 { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -5231,7 +5231,7 @@ impl IXMLDOMDocument3 { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -5241,7 +5241,7 @@ impl IXMLDOMDocument3 { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -5249,7 +5249,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -5257,7 +5257,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -5265,23 +5265,23 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -5294,17 +5294,17 @@ impl IXMLDOMDocument3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn doctype(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.doctype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.doctype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn implementation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.implementation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.implementation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn documentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.documentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.documentElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_documentElement(&self, domelement: P0) -> ::windows_core::Result<()> @@ -5319,12 +5319,12 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createElement)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createDocumentFragment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createDocumentFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createTextNode(&self, data: P0) -> ::windows_core::Result @@ -5332,7 +5332,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createTextNode)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createComment(&self, data: P0) -> ::windows_core::Result @@ -5340,7 +5340,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createComment)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createCDATASection(&self, data: P0) -> ::windows_core::Result @@ -5348,7 +5348,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createCDATASection)(::windows_core::Interface::as_raw(self), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createProcessingInstruction(&self, target: P0, data: P1) -> ::windows_core::Result @@ -5357,7 +5357,7 @@ impl IXMLDOMDocument3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createProcessingInstruction)(::windows_core::Interface::as_raw(self), target.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createAttribute(&self, name: P0) -> ::windows_core::Result @@ -5365,7 +5365,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createEntityReference(&self, name: P0) -> ::windows_core::Result @@ -5373,7 +5373,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createEntityReference)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getElementsByTagName(&self, tagname: P0) -> ::windows_core::Result @@ -5381,7 +5381,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createNode(&self, r#type: P0, name: P1, namespaceuri: P2) -> ::windows_core::Result @@ -5391,7 +5391,7 @@ impl IXMLDOMDocument3 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createNode)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), name.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nodeFromID(&self, idstring: P0) -> ::windows_core::Result @@ -5399,31 +5399,31 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeFromID)(::windows_core::Interface::as_raw(self), idstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn load(&self, xmlsource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.load)(::windows_core::Interface::as_raw(self), xmlsource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parseError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parseError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parseError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#async(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.r#async)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.r#async)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setasync(&self, isasync: P0) -> ::windows_core::Result<()> where @@ -5439,7 +5439,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.loadXML)(::windows_core::Interface::as_raw(self), bstrxml.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn save(&self, destination: P0) -> ::windows_core::Result<()> where @@ -5449,7 +5449,7 @@ impl IXMLDOMDocument3 { } pub unsafe fn validateOnParse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.validateOnParse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetvalidateOnParse(&self, isvalidating: P0) -> ::windows_core::Result<()> where @@ -5459,7 +5459,7 @@ impl IXMLDOMDocument3 { } pub unsafe fn resolveExternals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.resolveExternals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetresolveExternals(&self, isresolving: P0) -> ::windows_core::Result<()> where @@ -5469,7 +5469,7 @@ impl IXMLDOMDocument3 { } pub unsafe fn preserveWhiteSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.preserveWhiteSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetpreserveWhiteSpace(&self, ispreserving: P0) -> ::windows_core::Result<()> where @@ -5498,11 +5498,11 @@ impl IXMLDOMDocument3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn namespaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn schemas(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.schemas)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.schemas)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_schemas(&self, othercollection: P0) -> ::windows_core::Result<()> where @@ -5513,7 +5513,7 @@ impl IXMLDOMDocument3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn validate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.validate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.validate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setProperty(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -5527,7 +5527,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn validateNode(&self, node: P0) -> ::windows_core::Result @@ -5535,7 +5535,7 @@ impl IXMLDOMDocument3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).validateNode)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).validateNode)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn importNode(&self, node: P0, deep: P1) -> ::windows_core::Result @@ -5544,7 +5544,7 @@ impl IXMLDOMDocument3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).importNode)(::windows_core::Interface::as_raw(self), node.into_param().abi(), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).importNode)(::windows_core::Interface::as_raw(self), node.into_param().abi(), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5569,11 +5569,11 @@ pub struct IXMLDOMDocument3_Vtbl { impl IXMLDOMDocumentFragment { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -5583,42 +5583,42 @@ impl IXMLDOMDocumentFragment { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -5627,7 +5627,7 @@ impl IXMLDOMDocumentFragment { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -5636,7 +5636,7 @@ impl IXMLDOMDocumentFragment { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -5644,7 +5644,7 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -5652,16 +5652,16 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -5669,15 +5669,15 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -5687,16 +5687,16 @@ impl IXMLDOMDocumentFragment { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -5706,7 +5706,7 @@ impl IXMLDOMDocumentFragment { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -5716,7 +5716,7 @@ impl IXMLDOMDocumentFragment { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -5724,7 +5724,7 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -5732,7 +5732,7 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -5740,23 +5740,23 @@ impl IXMLDOMDocumentFragment { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -5781,11 +5781,11 @@ pub struct IXMLDOMDocumentFragment_Vtbl { impl IXMLDOMDocumentType { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -5795,42 +5795,42 @@ impl IXMLDOMDocumentType { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -5839,7 +5839,7 @@ impl IXMLDOMDocumentType { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -5848,7 +5848,7 @@ impl IXMLDOMDocumentType { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -5856,7 +5856,7 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -5864,16 +5864,16 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -5881,15 +5881,15 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -5899,16 +5899,16 @@ impl IXMLDOMDocumentType { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -5918,7 +5918,7 @@ impl IXMLDOMDocumentType { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -5928,7 +5928,7 @@ impl IXMLDOMDocumentType { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -5936,7 +5936,7 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -5944,7 +5944,7 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -5952,23 +5952,23 @@ impl IXMLDOMDocumentType { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -5980,17 +5980,17 @@ impl IXMLDOMDocumentType { } pub unsafe fn name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn entities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).entities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).entities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn notations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).notations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).notations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6016,11 +6016,11 @@ pub struct IXMLDOMDocumentType_Vtbl { impl IXMLDOMElement { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -6030,42 +6030,42 @@ impl IXMLDOMElement { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -6074,7 +6074,7 @@ impl IXMLDOMElement { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -6083,7 +6083,7 @@ impl IXMLDOMElement { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -6091,7 +6091,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -6099,16 +6099,16 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -6116,15 +6116,15 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -6134,16 +6134,16 @@ impl IXMLDOMElement { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -6153,7 +6153,7 @@ impl IXMLDOMElement { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -6163,7 +6163,7 @@ impl IXMLDOMElement { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -6171,7 +6171,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -6179,7 +6179,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -6187,23 +6187,23 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -6215,14 +6215,14 @@ impl IXMLDOMElement { } pub unsafe fn tagName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAttribute(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setAttribute(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -6243,7 +6243,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttributeNode)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttributeNode)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn setAttributeNode(&self, domattribute: P0) -> ::windows_core::Result @@ -6251,7 +6251,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).setAttributeNode)(::windows_core::Interface::as_raw(self), domattribute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).setAttributeNode)(::windows_core::Interface::as_raw(self), domattribute.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeAttributeNode(&self, domattribute: P0) -> ::windows_core::Result @@ -6259,7 +6259,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).removeAttributeNode)(::windows_core::Interface::as_raw(self), domattribute.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).removeAttributeNode)(::windows_core::Interface::as_raw(self), domattribute.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getElementsByTagName(&self, tagname: P0) -> ::windows_core::Result @@ -6267,7 +6267,7 @@ impl IXMLDOMElement { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getElementsByTagName)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn normalize(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).normalize)(::windows_core::Interface::as_raw(self)).ok() @@ -6308,11 +6308,11 @@ pub struct IXMLDOMElement_Vtbl { impl IXMLDOMEntity { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -6322,42 +6322,42 @@ impl IXMLDOMEntity { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -6366,7 +6366,7 @@ impl IXMLDOMEntity { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -6375,7 +6375,7 @@ impl IXMLDOMEntity { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -6383,7 +6383,7 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -6391,16 +6391,16 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -6408,15 +6408,15 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -6426,16 +6426,16 @@ impl IXMLDOMEntity { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -6445,7 +6445,7 @@ impl IXMLDOMEntity { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -6455,7 +6455,7 @@ impl IXMLDOMEntity { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -6463,7 +6463,7 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -6471,7 +6471,7 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -6479,23 +6479,23 @@ impl IXMLDOMEntity { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -6507,15 +6507,15 @@ impl IXMLDOMEntity { } pub unsafe fn publicId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn systemId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn notationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).notationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).notationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6535,11 +6535,11 @@ pub struct IXMLDOMEntity_Vtbl { impl IXMLDOMEntityReference { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -6549,42 +6549,42 @@ impl IXMLDOMEntityReference { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -6593,7 +6593,7 @@ impl IXMLDOMEntityReference { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -6602,7 +6602,7 @@ impl IXMLDOMEntityReference { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -6610,7 +6610,7 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -6618,16 +6618,16 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -6635,15 +6635,15 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -6653,16 +6653,16 @@ impl IXMLDOMEntityReference { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -6672,7 +6672,7 @@ impl IXMLDOMEntityReference { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -6682,7 +6682,7 @@ impl IXMLDOMEntityReference { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -6690,7 +6690,7 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -6698,7 +6698,7 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -6706,23 +6706,23 @@ impl IXMLDOMEntityReference { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -6751,7 +6751,7 @@ impl IXMLDOMImplementation { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hasFeature)(::windows_core::Interface::as_raw(self), feature.into_param().abi(), version.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hasFeature)(::windows_core::Interface::as_raw(self), feature.into_param().abi(), version.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6773,7 +6773,7 @@ impl IXMLDOMNamedNodeMap { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getNamedItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getNamedItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn setNamedItem(&self, newitem: P0) -> ::windows_core::Result @@ -6781,7 +6781,7 @@ impl IXMLDOMNamedNodeMap { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).setNamedItem)(::windows_core::Interface::as_raw(self), newitem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).setNamedItem)(::windows_core::Interface::as_raw(self), newitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeNamedItem(&self, name: P0) -> ::windows_core::Result @@ -6789,16 +6789,16 @@ impl IXMLDOMNamedNodeMap { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).removeNamedItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).removeNamedItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getQualifiedItem(&self, basename: P0, namespaceuri: P1) -> ::windows_core::Result @@ -6807,7 +6807,7 @@ impl IXMLDOMNamedNodeMap { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getQualifiedItem)(::windows_core::Interface::as_raw(self), basename.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getQualifiedItem)(::windows_core::Interface::as_raw(self), basename.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeQualifiedItem(&self, basename: P0, namespaceuri: P1) -> ::windows_core::Result @@ -6816,19 +6816,19 @@ impl IXMLDOMNamedNodeMap { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).removeQualifiedItem)(::windows_core::Interface::as_raw(self), basename.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).removeQualifiedItem)(::windows_core::Interface::as_raw(self), basename.into_param().abi(), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nextNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nextNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6876,11 +6876,11 @@ pub struct IXMLDOMNamedNodeMap_Vtbl { impl IXMLDOMNode { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -6890,42 +6890,42 @@ impl IXMLDOMNode { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -6934,7 +6934,7 @@ impl IXMLDOMNode { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -6943,7 +6943,7 @@ impl IXMLDOMNode { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -6951,7 +6951,7 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -6959,16 +6959,16 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -6976,15 +6976,15 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -6994,16 +6994,16 @@ impl IXMLDOMNode { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -7013,7 +7013,7 @@ impl IXMLDOMNode { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -7023,7 +7023,7 @@ impl IXMLDOMNode { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -7031,7 +7031,7 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -7039,7 +7039,7 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -7047,23 +7047,23 @@ impl IXMLDOMNode { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -7179,23 +7179,23 @@ impl IXMLDOMNodeList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nextNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nextNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7223,11 +7223,11 @@ pub struct IXMLDOMNodeList_Vtbl { impl IXMLDOMNotation { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -7237,42 +7237,42 @@ impl IXMLDOMNotation { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -7281,7 +7281,7 @@ impl IXMLDOMNotation { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -7290,7 +7290,7 @@ impl IXMLDOMNotation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -7298,7 +7298,7 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -7306,16 +7306,16 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -7323,15 +7323,15 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -7341,16 +7341,16 @@ impl IXMLDOMNotation { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -7360,7 +7360,7 @@ impl IXMLDOMNotation { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -7370,7 +7370,7 @@ impl IXMLDOMNotation { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -7378,7 +7378,7 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -7386,7 +7386,7 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -7394,23 +7394,23 @@ impl IXMLDOMNotation { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -7422,11 +7422,11 @@ impl IXMLDOMNotation { } pub unsafe fn publicId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).publicId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn systemId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).systemId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7445,31 +7445,31 @@ pub struct IXMLDOMNotation_Vtbl { impl IXMLDOMParseError { pub unsafe fn errorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reason(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).reason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).reason)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn srcText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).srcText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).srcText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn line(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).line)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).line)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn linepos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).linepos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).linepos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn filepos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).filepos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).filepos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7493,48 +7493,48 @@ pub struct IXMLDOMParseError_Vtbl { impl IXMLDOMParseError2 { pub unsafe fn errorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.errorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.errorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reason(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.reason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.reason)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn srcText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.srcText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.srcText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn line(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.line)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.line)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn linepos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.linepos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.linepos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn filepos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.filepos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.filepos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn errorXPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorXPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorXPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn allErrors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).allErrors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).allErrors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn errorParameters(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorParameters)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorParameters)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn errorParametersCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).errorParametersCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).errorParametersCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7559,23 +7559,23 @@ impl IXMLDOMParseErrorCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7603,11 +7603,11 @@ pub struct IXMLDOMParseErrorCollection_Vtbl { impl IXMLDOMProcessingInstruction { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -7617,42 +7617,42 @@ impl IXMLDOMProcessingInstruction { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -7661,7 +7661,7 @@ impl IXMLDOMProcessingInstruction { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -7670,7 +7670,7 @@ impl IXMLDOMProcessingInstruction { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -7678,7 +7678,7 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -7686,16 +7686,16 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -7703,15 +7703,15 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -7721,16 +7721,16 @@ impl IXMLDOMProcessingInstruction { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -7740,7 +7740,7 @@ impl IXMLDOMProcessingInstruction { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -7750,7 +7750,7 @@ impl IXMLDOMProcessingInstruction { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -7758,7 +7758,7 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -7766,7 +7766,7 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -7774,23 +7774,23 @@ impl IXMLDOMProcessingInstruction { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -7802,11 +7802,11 @@ impl IXMLDOMProcessingInstruction { } pub unsafe fn target(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).target)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).target)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setdata(&self, value: P0) -> ::windows_core::Result<()> where @@ -7843,7 +7843,7 @@ impl IXMLDOMSchemaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn remove(&self, namespaceuri: P0) -> ::windows_core::Result<()> where @@ -7853,11 +7853,11 @@ impl IXMLDOMSchemaCollection { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_namespaceURI(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_namespaceURI)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_namespaceURI)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn addCollection(&self, othercollection: P0) -> ::windows_core::Result<()> @@ -7868,7 +7868,7 @@ impl IXMLDOMSchemaCollection { } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7909,7 +7909,7 @@ impl IXMLDOMSchemaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn remove(&self, namespaceuri: P0) -> ::windows_core::Result<()> where @@ -7919,11 +7919,11 @@ impl IXMLDOMSchemaCollection2 { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_namespaceURI(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_namespaceURI)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_namespaceURI)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn addCollection(&self, othercollection: P0) -> ::windows_core::Result<()> @@ -7934,7 +7934,7 @@ impl IXMLDOMSchemaCollection2 { } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn validate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).validate)(::windows_core::Interface::as_raw(self)).ok() @@ -7947,7 +7947,7 @@ impl IXMLDOMSchemaCollection2 { } pub unsafe fn validateOnLoad(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).validateOnLoad)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).validateOnLoad)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getSchema(&self, namespaceuri: P0) -> ::windows_core::Result @@ -7955,7 +7955,7 @@ impl IXMLDOMSchemaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getSchema)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getSchema)(::windows_core::Interface::as_raw(self), namespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getDeclaration(&self, node: P0) -> ::windows_core::Result @@ -7963,7 +7963,7 @@ impl IXMLDOMSchemaCollection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDeclaration)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDeclaration)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7992,27 +7992,27 @@ impl IXMLDOMSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn expr(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).expr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).expr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setexpr(&self, expression: P0) -> ::windows_core::Result<()> where @@ -8023,7 +8023,7 @@ impl IXMLDOMSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn context(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).context)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).context)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_context(&self, pnode: P0) -> ::windows_core::Result<()> @@ -8035,7 +8035,7 @@ impl IXMLDOMSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn peekNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).peekNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).peekNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn matches(&self, pnode: P0) -> ::windows_core::Result @@ -8043,12 +8043,12 @@ impl IXMLDOMSelection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).matches)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).matches)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).removeNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).removeNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn removeAll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).removeAll)(::windows_core::Interface::as_raw(self)).ok() @@ -8056,14 +8056,14 @@ impl IXMLDOMSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getProperty(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setProperty(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -8116,11 +8116,11 @@ pub struct IXMLDOMSelection_Vtbl { impl IXMLDOMText { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -8130,42 +8130,42 @@ impl IXMLDOMText { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -8174,7 +8174,7 @@ impl IXMLDOMText { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -8183,7 +8183,7 @@ impl IXMLDOMText { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -8191,7 +8191,7 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -8199,16 +8199,16 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -8216,15 +8216,15 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -8234,16 +8234,16 @@ impl IXMLDOMText { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -8253,7 +8253,7 @@ impl IXMLDOMText { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -8263,7 +8263,7 @@ impl IXMLDOMText { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -8271,7 +8271,7 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -8279,7 +8279,7 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -8287,23 +8287,23 @@ impl IXMLDOMText { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -8315,7 +8315,7 @@ impl IXMLDOMText { } pub unsafe fn data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setdata(&self, data: P0) -> ::windows_core::Result<()> where @@ -8325,11 +8325,11 @@ impl IXMLDOMText { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn substringData(&self, offset: i32, count: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.substringData)(::windows_core::Interface::as_raw(self), offset, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn appendData(&self, data: P0) -> ::windows_core::Result<()> where @@ -8355,7 +8355,7 @@ impl IXMLDOMText { #[cfg(feature = "Win32_System_Com")] pub unsafe fn splitText(&self, offset: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).splitText)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).splitText)(::windows_core::Interface::as_raw(self), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8377,7 +8377,7 @@ impl IXMLDSOControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn XMLDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXMLDocument(&self, ppdoc: P0) -> ::windows_core::Result<()> @@ -8388,7 +8388,7 @@ impl IXMLDSOControl { } pub unsafe fn JavaDSOCompatible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JavaDSOCompatible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JavaDSOCompatible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJavaDSOCompatible(&self, fjavadsocompatible: P0) -> ::windows_core::Result<()> where @@ -8398,7 +8398,7 @@ impl IXMLDSOControl { } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8427,23 +8427,23 @@ impl IXMLDocument { #[cfg(feature = "Win32_System_Com")] pub unsafe fn root(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileSize(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileSize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileModifiedDate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileUpdatedDate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileUpdatedDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileUpdatedDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn URL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetURL(&self, p: P0) -> ::windows_core::Result<()> where @@ -8453,15 +8453,15 @@ impl IXMLDocument { } pub unsafe fn mimeType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).mimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).mimeType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn charset(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).charset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).charset)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setcharset(&self, p: P0) -> ::windows_core::Result<()> where @@ -8471,15 +8471,15 @@ impl IXMLDocument { } pub unsafe fn version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn doctype(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn dtdURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dtdURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dtdURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createElement(&self, vtype: P0, var1: P1) -> ::windows_core::Result @@ -8488,7 +8488,7 @@ impl IXMLDocument { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), vtype.into_param().abi(), var1.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), vtype.into_param().abi(), var1.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8526,23 +8526,23 @@ impl IXMLDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn root(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileSize(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileSize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileModifiedDate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn fileUpdatedDate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).fileUpdatedDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).fileUpdatedDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn URL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetURL(&self, p: P0) -> ::windows_core::Result<()> where @@ -8552,15 +8552,15 @@ impl IXMLDocument2 { } pub unsafe fn mimeType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).mimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).mimeType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn charset(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).charset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).charset)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setcharset(&self, p: P0) -> ::windows_core::Result<()> where @@ -8570,15 +8570,15 @@ impl IXMLDocument2 { } pub unsafe fn version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn doctype(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).doctype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn dtdURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dtdURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dtdURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createElement(&self, vtype: P0, var1: P1) -> ::windows_core::Result @@ -8587,11 +8587,11 @@ impl IXMLDocument2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), vtype.into_param().abi(), var1.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createElement)(::windows_core::Interface::as_raw(self), vtype.into_param().abi(), var1.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#async(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#async)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#async)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setasync(&self, f: P0) -> ::windows_core::Result<()> where @@ -8636,7 +8636,7 @@ pub struct IXMLDocument2_Vtbl { impl IXMLElement { pub unsafe fn tagName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettagName(&self, p: P0) -> ::windows_core::Result<()> where @@ -8647,7 +8647,7 @@ impl IXMLElement { #[cfg(feature = "Win32_System_Com")] pub unsafe fn parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setAttribute(&self, strpropertyname: P0, propertyvalue: P1) -> ::windows_core::Result<()> where @@ -8661,7 +8661,7 @@ impl IXMLElement { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn removeAttribute(&self, strpropertyname: P0) -> ::windows_core::Result<()> where @@ -8672,15 +8672,15 @@ impl IXMLElement { #[cfg(feature = "Win32_System_Com")] pub unsafe fn children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, p: P0) -> ::windows_core::Result<()> where @@ -8741,7 +8741,7 @@ pub struct IXMLElement_Vtbl { impl IXMLElement2 { pub unsafe fn tagName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).tagName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettagName(&self, p: P0) -> ::windows_core::Result<()> where @@ -8752,7 +8752,7 @@ impl IXMLElement2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setAttribute(&self, strpropertyname: P0, propertyvalue: P1) -> ::windows_core::Result<()> where @@ -8766,7 +8766,7 @@ impl IXMLElement2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn removeAttribute(&self, strpropertyname: P0) -> ::windows_core::Result<()> where @@ -8777,15 +8777,15 @@ impl IXMLElement2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn r#type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).r#type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, p: P0) -> ::windows_core::Result<()> where @@ -8810,7 +8810,7 @@ impl IXMLElement2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8858,11 +8858,11 @@ impl IXMLElementCollection { } pub unsafe fn length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _newEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._newEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn item(&self, var1: P0, var2: P1) -> ::windows_core::Result @@ -8871,7 +8871,7 @@ impl IXMLElementCollection { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), var1.into_param().abi(), var2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), var1.into_param().abi(), var2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8928,11 +8928,11 @@ impl IXMLHTTPRequest { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getResponseHeader)(::windows_core::Interface::as_raw(self), bstrheader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAllResponseHeaders(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn send(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -8945,32 +8945,32 @@ impl IXMLHTTPRequest { } pub unsafe fn status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn statusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).statusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).statusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn responseXML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).responseXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).responseXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).responseText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).responseText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseBody(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).responseBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).responseBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn responseStream(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).responseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).responseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Setonreadystatechange(&self, preadystatesink: P0) -> ::windows_core::Result<()> @@ -9033,7 +9033,7 @@ impl IXMLHTTPRequest2 { } pub unsafe fn SetCookie(&self, pcookie: *const XHR_COOKIE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetCookie)(::windows_core::Interface::as_raw(self), pcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetCookie)(::windows_core::Interface::as_raw(self), pcookie, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCustomResponseStream(&self, psequentialstream: P0) -> ::windows_core::Result<()> @@ -9054,7 +9054,7 @@ impl IXMLHTTPRequest2 { } pub unsafe fn GetAllResponseHeaders(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCookie(&self, pwszurl: P0, pwszname: P1, dwflags: u32, pccookies: *mut u32, ppcookies: *mut *mut XHR_COOKIE) -> ::windows_core::Result<()> where @@ -9068,7 +9068,7 @@ impl IXMLHTTPRequest2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResponseHeader)(::windows_core::Interface::as_raw(self), pwszheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResponseHeader)(::windows_core::Interface::as_raw(self), pwszheader.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -9175,7 +9175,7 @@ impl IXMLHTTPRequest3 { } pub unsafe fn SetCookie(&self, pcookie: *const XHR_COOKIE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetCookie)(::windows_core::Interface::as_raw(self), pcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetCookie)(::windows_core::Interface::as_raw(self), pcookie, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCustomResponseStream(&self, psequentialstream: P0) -> ::windows_core::Result<()> @@ -9196,7 +9196,7 @@ impl IXMLHTTPRequest3 { } pub unsafe fn GetAllResponseHeaders(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCookie(&self, pwszurl: P0, pwszname: P1, dwflags: u32, pccookies: *mut u32, ppcookies: *mut *mut XHR_COOKIE) -> ::windows_core::Result<()> where @@ -9210,7 +9210,7 @@ impl IXMLHTTPRequest3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResponseHeader)(::windows_core::Interface::as_raw(self), pwszheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResponseHeader)(::windows_core::Interface::as_raw(self), pwszheader.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetClientCertificate(&self, pbclientcertificatehash: &[u8], pwszpin: P0) -> ::windows_core::Result<()> where @@ -9298,12 +9298,12 @@ impl IXSLProcessor { } pub unsafe fn input(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).input)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).input)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ownerTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ownerTemplate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setStartMode(&self, mode: P0, namespaceuri: P1) -> ::windows_core::Result<()> where @@ -9314,11 +9314,11 @@ impl IXSLProcessor { } pub unsafe fn startMode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).startMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).startMode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn startModeURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).startModeURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).startModeURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setoutput(&self, output: P0) -> ::windows_core::Result<()> where @@ -9328,18 +9328,18 @@ impl IXSLProcessor { } pub unsafe fn output(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).output)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).output)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn transform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).transform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).transform)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn readyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).readyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn addParameter(&self, basename: P0, parameter: P1, namespaceuri: P2) -> ::windows_core::Result<()> where @@ -9360,7 +9360,7 @@ impl IXSLProcessor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn stylesheet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).stylesheet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).stylesheet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9408,12 +9408,12 @@ impl IXSLTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn stylesheet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).stylesheet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).stylesheet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createProcessor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createProcessor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createProcessor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9442,11 +9442,11 @@ pub struct IXSLTemplate_Vtbl { impl IXTLRuntime { pub unsafe fn nodeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -9456,42 +9456,42 @@ impl IXTLRuntime { } pub unsafe fn nodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn parentNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parentNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.childNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn firstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.firstChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn lastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.lastChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn previousSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.previousSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextSibling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nextSibling)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn insertBefore(&self, newchild: P0, refchild: P1) -> ::windows_core::Result @@ -9500,7 +9500,7 @@ impl IXTLRuntime { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.insertBefore)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), refchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn replaceChild(&self, newchild: P0, oldchild: P1) -> ::windows_core::Result @@ -9509,7 +9509,7 @@ impl IXTLRuntime { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.replaceChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), oldchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn removeChild(&self, childnode: P0) -> ::windows_core::Result @@ -9517,7 +9517,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.removeChild)(::windows_core::Interface::as_raw(self), childnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn appendChild(&self, newchild: P0) -> ::windows_core::Result @@ -9525,16 +9525,16 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.appendChild)(::windows_core::Interface::as_raw(self), newchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn hasChildNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.hasChildNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ownerDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ownerDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn cloneNode(&self, deep: P0) -> ::windows_core::Result @@ -9542,15 +9542,15 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cloneNode)(::windows_core::Interface::as_raw(self), deep.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypeString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypeString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settext(&self, text: P0) -> ::windows_core::Result<()> where @@ -9560,16 +9560,16 @@ impl IXTLRuntime { } pub unsafe fn specified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.specified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn nodeTypedValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.nodeTypedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetnodeTypedValue(&self, typedvalue: P0) -> ::windows_core::Result<()> where @@ -9579,7 +9579,7 @@ impl IXTLRuntime { } pub unsafe fn dataType(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dataType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdataType(&self, datatypename: P0) -> ::windows_core::Result<()> where @@ -9589,7 +9589,7 @@ impl IXTLRuntime { } pub unsafe fn xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNode(&self, stylesheet: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -9597,7 +9597,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.transformNode)(::windows_core::Interface::as_raw(self), stylesheet.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectNodes(&self, querystring: P0) -> ::windows_core::Result @@ -9605,7 +9605,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectNodes)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn selectSingleNode(&self, querystring: P0) -> ::windows_core::Result @@ -9613,23 +9613,23 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.selectSingleNode)(::windows_core::Interface::as_raw(self), querystring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn parsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.parsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn namespaceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.namespaceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn prefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.prefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn baseName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.baseName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn transformNodeToObject(&self, stylesheet: P0, outputobject: P1) -> ::windows_core::Result<()> @@ -9645,7 +9645,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).uniqueID)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).uniqueID)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn depth(&self, pnode: P0) -> ::windows_core::Result @@ -9653,7 +9653,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).depth)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).depth)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn childNumber(&self, pnode: P0) -> ::windows_core::Result @@ -9661,7 +9661,7 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).childNumber)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).childNumber)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ancestorChildNumber(&self, bstrnodename: P0, pnode: P1) -> ::windows_core::Result @@ -9670,7 +9670,7 @@ impl IXTLRuntime { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ancestorChildNumber)(::windows_core::Interface::as_raw(self), bstrnodename.into_param().abi(), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ancestorChildNumber)(::windows_core::Interface::as_raw(self), bstrnodename.into_param().abi(), pnode.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn absoluteChildNumber(&self, pnode: P0) -> ::windows_core::Result @@ -9678,21 +9678,21 @@ impl IXTLRuntime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).absoluteChildNumber)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).absoluteChildNumber)(::windows_core::Interface::as_raw(self), pnode.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn formatIndex(&self, lindex: i32, bstrformat: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).formatIndex)(::windows_core::Interface::as_raw(self), lindex, bstrformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).formatIndex)(::windows_core::Interface::as_raw(self), lindex, bstrformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn formatNumber(&self, dblnumber: f64, bstrformat: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).formatNumber)(::windows_core::Interface::as_raw(self), dblnumber, bstrformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).formatNumber)(::windows_core::Interface::as_raw(self), dblnumber, bstrformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn formatDate(&self, vardate: P0, bstrformat: P1, vardestlocale: P2) -> ::windows_core::Result<::windows_core::BSTR> where @@ -9701,7 +9701,7 @@ impl IXTLRuntime { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).formatDate)(::windows_core::Interface::as_raw(self), vardate.into_param().abi(), bstrformat.into_param().abi(), vardestlocale.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).formatDate)(::windows_core::Interface::as_raw(self), vardate.into_param().abi(), bstrformat.into_param().abi(), vardestlocale.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn formatTime(&self, vartime: P0, bstrformat: P1, vardestlocale: P2) -> ::windows_core::Result<::windows_core::BSTR> where @@ -9710,7 +9710,7 @@ impl IXTLRuntime { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).formatTime)(::windows_core::Interface::as_raw(self), vartime.into_param().abi(), bstrformat.into_param().abi(), vardestlocale.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).formatTime)(::windows_core::Interface::as_raw(self), vartime.into_param().abi(), bstrformat.into_param().abi(), vardestlocale.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Data/Xml/XmlLite/mod.rs b/crates/libs/windows/src/Windows/Win32/Data/Xml/XmlLite/mod.rs index 952a772dfe..9f50ca6df0 100644 --- a/crates/libs/windows/src/Windows/Win32/Data/Xml/XmlLite/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Data/Xml/XmlLite/mod.rs @@ -18,7 +18,7 @@ where { ::windows_targets::link!("xmllite.dll" "system" fn CreateXmlReaderInputWithEncodingCodePage(pinputstream : * mut::core::ffi::c_void, pmalloc : * mut::core::ffi::c_void, nencodingcodepage : u32, fencodinghint : super::super::super::Foundation:: BOOL, pwszbaseuri : ::windows_core::PCWSTR, ppinput : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateXmlReaderInputWithEncodingCodePage(pinputstream.into_param().abi(), pmalloc.into_param().abi(), nencodingcodepage, fencodinghint.into_param().abi(), pwszbaseuri.into_param().abi(), &mut result__).from_abi(result__) + CreateXmlReaderInputWithEncodingCodePage(pinputstream.into_param().abi(), pmalloc.into_param().abi(), nencodingcodepage, fencodinghint.into_param().abi(), pwszbaseuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -32,7 +32,7 @@ where { ::windows_targets::link!("xmllite.dll" "system" fn CreateXmlReaderInputWithEncodingName(pinputstream : * mut::core::ffi::c_void, pmalloc : * mut::core::ffi::c_void, pwszencodingname : ::windows_core::PCWSTR, fencodinghint : super::super::super::Foundation:: BOOL, pwszbaseuri : ::windows_core::PCWSTR, ppinput : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateXmlReaderInputWithEncodingName(pinputstream.into_param().abi(), pmalloc.into_param().abi(), pwszencodingname.into_param().abi(), fencodinghint.into_param().abi(), pwszbaseuri.into_param().abi(), &mut result__).from_abi(result__) + CreateXmlReaderInputWithEncodingName(pinputstream.into_param().abi(), pmalloc.into_param().abi(), pwszencodingname.into_param().abi(), fencodinghint.into_param().abi(), pwszbaseuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -52,7 +52,7 @@ where { ::windows_targets::link!("xmllite.dll" "system" fn CreateXmlWriterOutputWithEncodingCodePage(poutputstream : * mut::core::ffi::c_void, pmalloc : * mut::core::ffi::c_void, nencodingcodepage : u32, ppoutput : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateXmlWriterOutputWithEncodingCodePage(poutputstream.into_param().abi(), pmalloc.into_param().abi(), nencodingcodepage, &mut result__).from_abi(result__) + CreateXmlWriterOutputWithEncodingCodePage(poutputstream.into_param().abi(), pmalloc.into_param().abi(), nencodingcodepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -64,7 +64,7 @@ where { ::windows_targets::link!("xmllite.dll" "system" fn CreateXmlWriterOutputWithEncodingName(poutputstream : * mut::core::ffi::c_void, pmalloc : * mut::core::ffi::c_void, pwszencodingname : ::windows_core::PCWSTR, ppoutput : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateXmlWriterOutputWithEncodingName(poutputstream.into_param().abi(), pmalloc.into_param().abi(), pwszencodingname.into_param().abi(), &mut result__).from_abi(result__) + CreateXmlWriterOutputWithEncodingName(poutputstream.into_param().abi(), pmalloc.into_param().abi(), pwszencodingname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IXmlReader, IXmlReader_Vtbl, 0x7279fc81_709d_4095_b63d_69fe4b0d9030); ::windows_core::imp::interface_hierarchy!(IXmlReader, ::windows_core::IUnknown); @@ -77,7 +77,7 @@ impl IXmlReader { } pub unsafe fn GetProperty(&self, nproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).map(|| result__) } pub unsafe fn SetProperty(&self, nproperty: u32, pvalue: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), nproperty, pvalue).ok() @@ -87,7 +87,7 @@ impl IXmlReader { } pub unsafe fn GetNodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveToFirstAttribute(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).MoveToFirstAttribute)(::windows_core::Interface::as_raw(self)) @@ -134,19 +134,19 @@ impl IXmlReader { } pub unsafe fn GetLineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLinePosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinePosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinePosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEOF(&self) -> super::super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsEOF)(::windows_core::Interface::as_raw(self)) @@ -190,7 +190,7 @@ impl IXmlResolver { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResolveUri)(::windows_core::Interface::as_raw(self), pwszbaseuri.into_param().abi(), pwszpublicidentifier.into_param().abi(), pwszsystemidentifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResolveUri)(::windows_core::Interface::as_raw(self), pwszbaseuri.into_param().abi(), pwszpublicidentifier.into_param().abi(), pwszsystemidentifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -210,7 +210,7 @@ impl IXmlWriter { } pub unsafe fn GetProperty(&self, nproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).map(|| result__) } pub unsafe fn SetProperty(&self, nproperty: u32, pvalue: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), nproperty, pvalue).ok() @@ -406,7 +406,7 @@ impl IXmlWriterLite { } pub unsafe fn GetProperty(&self, nproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), nproperty, &mut result__).map(|| result__) } pub unsafe fn SetProperty(&self, nproperty: u32, pvalue: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), nproperty, pvalue).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Devices/BiometricFramework/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/BiometricFramework/mod.rs index f99e0dfcd3..d1c99bdb37 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/BiometricFramework/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/BiometricFramework/mod.rs @@ -155,7 +155,7 @@ pub unsafe fn WinBioFree(address: *const ::core::ffi::c_void) -> ::windows_core: pub unsafe fn WinBioGetCredentialState(identity: WINBIO_IDENTITY, r#type: WINBIO_CREDENTIAL_TYPE) -> ::windows_core::Result { ::windows_targets::link!("winbio.dll" "system" fn WinBioGetCredentialState(identity : WINBIO_IDENTITY, r#type : WINBIO_CREDENTIAL_TYPE, credentialstate : *mut WINBIO_CREDENTIAL_STATE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WinBioGetCredentialState(::core::mem::transmute(identity), r#type, &mut result__).from_abi(result__) + WinBioGetCredentialState(::core::mem::transmute(identity), r#type, &mut result__).map(|| result__) } #[inline] pub unsafe fn WinBioGetDomainLogonSetting(value: *mut u8, source: *mut WINBIO_SETTING_SOURCE) { @@ -171,7 +171,7 @@ pub unsafe fn WinBioGetEnabledSetting(value: *mut u8, source: *mut WINBIO_SETTIN pub unsafe fn WinBioGetEnrolledFactors(accountowner: *const WINBIO_IDENTITY) -> ::windows_core::Result { ::windows_targets::link!("winbio.dll" "system" fn WinBioGetEnrolledFactors(accountowner : *const WINBIO_IDENTITY, enrolledfactors : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WinBioGetEnrolledFactors(accountowner, &mut result__).from_abi(result__) + WinBioGetEnrolledFactors(accountowner, &mut result__).map(|| result__) } #[inline] pub unsafe fn WinBioGetLogonSetting(value: *mut u8, source: *mut WINBIO_SETTING_SOURCE) { @@ -232,7 +232,7 @@ pub unsafe fn WinBioMonitorPresence(sessionhandle: u32, unitid: u32) -> ::window pub unsafe fn WinBioOpenSession(factor: u32, pooltype: WINBIO_POOL, flags: u32, unitarray: ::core::option::Option<&[u32]>, databaseid: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result { ::windows_targets::link!("winbio.dll" "system" fn WinBioOpenSession(factor : u32, pooltype : WINBIO_POOL, flags : u32, unitarray : *const u32, unitcount : usize, databaseid : *const ::windows_core::GUID, sessionhandle : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WinBioOpenSession(factor, pooltype, flags, ::core::mem::transmute(unitarray.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), unitarray.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(databaseid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WinBioOpenSession(factor, pooltype, flags, ::core::mem::transmute(unitarray.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), unitarray.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(databaseid.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WinBioRegisterEventMonitor(sessionhandle: u32, eventmask: u32, eventcallback: PWINBIO_EVENT_CALLBACK, eventcallbackcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Devices/DeviceAccess/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/DeviceAccess/mod.rs index 31d8014d6b..7075e63e66 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/DeviceAccess/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/DeviceAccess/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("deviceaccess.dll" "system" fn CreateDeviceAccessInstance(deviceinterfacepath : ::windows_core::PCWSTR, desiredaccess : u32, createasync : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDeviceAccessInstance(deviceinterfacepath.into_param().abi(), desiredaccess, &mut result__).from_abi(result__) + CreateDeviceAccessInstance(deviceinterfacepath.into_param().abi(), desiredaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(ICreateDeviceAccessAsync, ICreateDeviceAccessAsync_Vtbl, 0x3474628f_683d_42d2_abcb_db018c6503bc); ::windows_core::imp::interface_hierarchy!(ICreateDeviceAccessAsync, ::windows_core::IUnknown); @@ -24,7 +24,7 @@ impl ICreateDeviceAccessAsync { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Devices/DeviceQuery/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/DeviceQuery/mod.rs index 23deea9720..d692e2dafb 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/DeviceQuery/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/DeviceQuery/mod.rs @@ -11,7 +11,7 @@ where pub unsafe fn DevCreateObjectQuery(objecttype: DEV_OBJECT_TYPE, queryflags: u32, prequestedproperties: ::core::option::Option<&[super::Properties::DEVPROPCOMPKEY]>, pfilter: ::core::option::Option<&[DEVPROP_FILTER_EXPRESSION]>, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-devices-query-l1-1-0.dll" "system" fn DevCreateObjectQuery(objecttype : DEV_OBJECT_TYPE, queryflags : u32, crequestedproperties : u32, prequestedproperties : *const super::Properties:: DEVPROPCOMPKEY, cfilterexpressioncount : u32, pfilter : *const DEVPROP_FILTER_EXPRESSION, pcallback : PDEV_QUERY_RESULT_CALLBACK, pcontext : *const ::core::ffi::c_void, phdevquery : *mut HDEVQUERY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DevCreateObjectQuery(objecttype, queryflags, prequestedproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prequestedproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pfilter.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pfilter.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcallback, ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + DevCreateObjectQuery(objecttype, queryflags, prequestedproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prequestedproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pfilter.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pfilter.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcallback, ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -31,7 +31,7 @@ pub unsafe fn DevCreateObjectQueryEx(objecttype: DEV_OBJECT_TYPE, queryflags: u3 ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__, ) - .from_abi(result__) + .map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -53,7 +53,7 @@ where ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__, ) - .from_abi(result__) + .map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -77,7 +77,7 @@ where ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__, ) - .from_abi(result__) + .map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -99,7 +99,7 @@ where ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__, ) - .from_abi(result__) + .map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -123,7 +123,7 @@ where ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__, ) - .from_abi(result__) + .map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Display/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Display/mod.rs index 595771d1ad..f5c1de1fed 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Display/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Display/mod.rs @@ -309,7 +309,7 @@ pub unsafe fn EngQueryLocalTime() -> ENG_TIME_FIELDS { ::windows_targets::link!("gdi32.dll" "system" fn EngQueryLocalTime(param0 : *mut ENG_TIME_FIELDS)); let mut result__ = ::std::mem::zeroed(); EngQueryLocalTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn EngReleaseSemaphore(hsem: P0) @@ -525,7 +525,7 @@ where { ::windows_targets::link!("dxva2.dll" "system" fn GetNumberOfPhysicalMonitorsFromIDirect3DDevice9(pdirect3ddevice9 : * mut::core::ffi::c_void, pdwnumberofphysicalmonitors : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetNumberOfPhysicalMonitorsFromIDirect3DDevice9(pdirect3ddevice9.into_param().abi(), &mut result__).from_abi(result__) + GetNumberOfPhysicalMonitorsFromIDirect3DDevice9(pdirect3ddevice9.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -834,7 +834,7 @@ impl IViewHelper { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetConfiguration)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetConfiguration)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetProceedOnNewConfiguration(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProceedOnNewConfiguration)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Enumeration/Pnp/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Enumeration/Pnp/mod.rs index bdfbefede4..895b23494c 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Enumeration/Pnp/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Enumeration/Pnp/mod.rs @@ -15,7 +15,7 @@ where { ::windows_targets::link!("cfgmgr32.dll" "system" fn SwDeviceCreate(pszenumeratorname : ::windows_core::PCWSTR, pszparentdeviceinstance : ::windows_core::PCWSTR, pcreateinfo : *const SW_DEVICE_CREATE_INFO, cpropertycount : u32, pproperties : *const super::super::Properties:: DEVPROPERTY, pcallback : SW_DEVICE_CREATE_CALLBACK, pcontext : *const ::core::ffi::c_void, phswdevice : *mut HSWDEVICE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SwDeviceCreate(pszenumeratorname.into_param().abi(), pszparentdeviceinstance.into_param().abi(), pcreateinfo, pproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcallback, ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + SwDeviceCreate(pszenumeratorname.into_param().abi(), pszparentdeviceinstance.into_param().abi(), pcreateinfo, pproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcallback, ::core::mem::transmute(pcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn SwDeviceGetLifetime(hswdevice: P0) -> ::windows_core::Result @@ -24,7 +24,7 @@ where { ::windows_targets::link!("cfgmgr32.dll" "system" fn SwDeviceGetLifetime(hswdevice : HSWDEVICE, plifetime : *mut SW_DEVICE_LIFETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SwDeviceGetLifetime(hswdevice.into_param().abi(), &mut result__).from_abi(result__) + SwDeviceGetLifetime(hswdevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Devices_Properties")] #[inline] @@ -46,7 +46,7 @@ where { ::windows_targets::link!("cfgmgr32.dll" "system" fn SwDeviceInterfaceRegister(hswdevice : HSWDEVICE, pinterfaceclassguid : *const ::windows_core::GUID, pszreferencestring : ::windows_core::PCWSTR, cpropertycount : u32, pproperties : *const super::super::Properties:: DEVPROPERTY, fenabled : super::super::super::Foundation:: BOOL, ppszdeviceinterfaceid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SwDeviceInterfaceRegister(hswdevice.into_param().abi(), pinterfaceclassguid, pszreferencestring.into_param().abi(), pproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), fenabled.into_param().abi(), &mut result__).from_abi(result__) + SwDeviceInterfaceRegister(hswdevice.into_param().abi(), pinterfaceclassguid, pszreferencestring.into_param().abi(), pproperties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pproperties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), fenabled.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SwDeviceInterfaceSetState(hswdevice: P0, pszdeviceinterfaceid: P1, fenabled: P2) -> ::windows_core::Result<()> @@ -88,7 +88,7 @@ impl IUPnPAddressFamilyControl { } pub unsafe fn GetAddressFamily(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAddressFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAddressFamily)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -119,7 +119,7 @@ pub struct IUPnPAsyncResult_Vtbl { impl IUPnPDescriptionDocument { pub unsafe fn ReadyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Load(&self, bstrurl: P0) -> ::windows_core::Result<()> where @@ -136,7 +136,7 @@ impl IUPnPDescriptionDocument { } pub unsafe fn LoadResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Abort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Abort)(::windows_core::Interface::as_raw(self)).ok() @@ -144,7 +144,7 @@ impl IUPnPDescriptionDocument { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RootDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DeviceByUDN(&self, bstrudn: P0) -> ::windows_core::Result @@ -152,7 +152,7 @@ impl IUPnPDescriptionDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceByUDN)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceByUDN)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -195,86 +195,86 @@ pub struct IUPnPDescriptionDocumentCallback_Vtbl { impl IUPnPDevice { pub unsafe fn IsRootDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRootDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRootDevice)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RootDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParentDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UniqueDeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PresentationURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PresentationURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PresentationURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ManufacturerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ManufacturerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ManufacturerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ManufacturerURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ManufacturerURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ManufacturerURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModelName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModelName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModelName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModelNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModelNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModelNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModelURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModelURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModelURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UPC(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UPC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UPC)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SerialNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IconURL(&self, bstrencodingformat: P0, lsizex: i32, lsizey: i32, lbitdepth: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IconURL)(::windows_core::Interface::as_raw(self), bstrencodingformat.into_param().abi(), lsizex, lsizey, lbitdepth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IconURL)(::windows_core::Interface::as_raw(self), bstrencodingformat.into_param().abi(), lsizex, lsizey, lbitdepth, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Services(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -332,7 +332,7 @@ impl IUPnPDeviceControl { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceObject)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), bstrserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceObject)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), bstrserviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -350,7 +350,7 @@ pub struct IUPnPDeviceControl_Vtbl { impl IUPnPDeviceControlHttpHeaders { pub unsafe fn GetAdditionalResponseHeaders(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdditionalResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdditionalResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -364,7 +364,7 @@ pub struct IUPnPDeviceControlHttpHeaders_Vtbl { impl IUPnPDeviceDocumentAccess { pub unsafe fn GetDocumentURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -378,7 +378,7 @@ pub struct IUPnPDeviceDocumentAccess_Vtbl { impl IUPnPDeviceDocumentAccessEx { pub unsafe fn GetDocument(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -399,7 +399,7 @@ impl IUPnPDeviceFinder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindByType)(::windows_core::Interface::as_raw(self), bstrtypeuri.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindByType)(::windows_core::Interface::as_raw(self), bstrtypeuri.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAsyncFind(&self, bstrtypeuri: P0, dwflags: u32, punkdevicefindercallback: P1) -> ::windows_core::Result where @@ -407,7 +407,7 @@ impl IUPnPDeviceFinder { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAsyncFind)(::windows_core::Interface::as_raw(self), bstrtypeuri.into_param().abi(), dwflags, punkdevicefindercallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAsyncFind)(::windows_core::Interface::as_raw(self), bstrtypeuri.into_param().abi(), dwflags, punkdevicefindercallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StartAsyncFind(&self, lfinddata: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartAsyncFind)(::windows_core::Interface::as_raw(self), lfinddata).ok() @@ -421,7 +421,7 @@ impl IUPnPDeviceFinder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindByUDN)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindByUDN)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -520,11 +520,11 @@ pub struct IUPnPDeviceProvider_Vtbl { impl IUPnPDevices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, bstrudn: P0) -> ::windows_core::Result @@ -532,7 +532,7 @@ impl IUPnPDevices { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrudn.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -618,7 +618,7 @@ impl IUPnPRegistrar { P4: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterDevice)(::windows_core::Interface::as_raw(self), bstrxmldesc.into_param().abi(), bstrprogiddevicecontrolclass.into_param().abi(), bstrinitstring.into_param().abi(), bstrcontainerid.into_param().abi(), bstrresourcepath.into_param().abi(), nlifetime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterDevice)(::windows_core::Interface::as_raw(self), bstrxmldesc.into_param().abi(), bstrprogiddevicecontrolclass.into_param().abi(), bstrinitstring.into_param().abi(), bstrcontainerid.into_param().abi(), bstrresourcepath.into_param().abi(), nlifetime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterRunningDevice(&self, bstrxmldesc: P0, punkdevicecontrol: P1, bstrinitstring: P2, bstrresourcepath: P3, nlifetime: i32) -> ::windows_core::Result<::windows_core::BSTR> where @@ -628,7 +628,7 @@ impl IUPnPRegistrar { P3: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterRunningDevice)(::windows_core::Interface::as_raw(self), bstrxmldesc.into_param().abi(), punkdevicecontrol.into_param().abi(), bstrinitstring.into_param().abi(), bstrresourcepath.into_param().abi(), nlifetime, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterRunningDevice)(::windows_core::Interface::as_raw(self), bstrxmldesc.into_param().abi(), punkdevicecontrol.into_param().abi(), bstrinitstring.into_param().abi(), bstrresourcepath.into_param().abi(), nlifetime, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterDeviceProvider(&self, bstrprovidername: P0, bstrprogidproviderclass: P1, bstrinitstring: P2, bstrcontainerid: P3) -> ::windows_core::Result<()> where @@ -645,7 +645,7 @@ impl IUPnPRegistrar { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUniqueDeviceName)(::windows_core::Interface::as_raw(self), bstrdeviceidentifier.into_param().abi(), bstrtemplateudn.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUniqueDeviceName)(::windows_core::Interface::as_raw(self), bstrdeviceidentifier.into_param().abi(), bstrtemplateudn.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterDevice(&self, bstrdeviceidentifier: P0, fpermanent: P1) -> ::windows_core::Result<()> where @@ -680,21 +680,21 @@ impl IUPnPRemoteEndpointInfo { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDwordValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDwordValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetStringValue(&self, bstrvaluename: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGuidValue(&self, bstrvaluename: P0) -> ::windows_core::Result<::windows_core::GUID> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuidValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuidValue)(::windows_core::Interface::as_raw(self), bstrvaluename.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -748,7 +748,7 @@ impl IUPnPService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryStateVariable)(::windows_core::Interface::as_raw(self), bstrvariablename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryStateVariable)(::windows_core::Interface::as_raw(self), bstrvariablename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvokeAction(&self, bstractionname: P0, vinactionargs: P1, pvoutactionargs: *mut ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -756,11 +756,11 @@ impl IUPnPService { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InvokeAction)(::windows_core::Interface::as_raw(self), bstractionname.into_param().abi(), vinactionargs.into_param().abi(), ::core::mem::transmute(pvoutactionargs), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InvokeAction)(::windows_core::Interface::as_raw(self), bstractionname.into_param().abi(), vinactionargs.into_param().abi(), ::core::mem::transmute(pvoutactionargs), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceTypeIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceTypeIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceTypeIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddCallback(&self, punkcallback: P0) -> ::windows_core::Result<()> where @@ -770,11 +770,11 @@ impl IUPnPService { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastTransportStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastTransportStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastTransportStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -799,7 +799,7 @@ impl IUPnPServiceAsync { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginInvokeAction)(::windows_core::Interface::as_raw(self), bstractionname.into_param().abi(), vinactionargs.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginInvokeAction)(::windows_core::Interface::as_raw(self), bstractionname.into_param().abi(), vinactionargs.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInvokeAction(&self, ullrequestid: u64, pvoutactionargs: *mut ::windows_core::VARIANT, pvretval: *mut ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndInvokeAction)(::windows_core::Interface::as_raw(self), ullrequestid, ::core::mem::transmute(pvoutactionargs), ::core::mem::transmute(pvretval)).ok() @@ -810,7 +810,7 @@ impl IUPnPServiceAsync { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginQueryStateVariable)(::windows_core::Interface::as_raw(self), bstrvariablename.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginQueryStateVariable)(::windows_core::Interface::as_raw(self), bstrvariablename.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndQueryStateVariable(&self, ullrequestid: u64, pvalue: *mut ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndQueryStateVariable)(::windows_core::Interface::as_raw(self), ullrequestid, ::core::mem::transmute(pvalue)).ok() @@ -821,7 +821,7 @@ impl IUPnPServiceAsync { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginSubscribeToEvents)(::windows_core::Interface::as_raw(self), punkcallback.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginSubscribeToEvents)(::windows_core::Interface::as_raw(self), punkcallback.into_param().abi(), pasyncresult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndSubscribeToEvents(&self, ullrequestid: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndSubscribeToEvents)(::windows_core::Interface::as_raw(self), ullrequestid).ok() @@ -831,11 +831,11 @@ impl IUPnPServiceAsync { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginSCPDDownload)(::windows_core::Interface::as_raw(self), pasyncresult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginSCPDDownload)(::windows_core::Interface::as_raw(self), pasyncresult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndSCPDDownload(&self, ullrequestid: u64) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndSCPDDownload)(::windows_core::Interface::as_raw(self), ullrequestid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndSCPDDownload)(::windows_core::Interface::as_raw(self), ullrequestid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CancelAsyncOperation(&self, ullrequestid: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelAsyncOperation)(::windows_core::Interface::as_raw(self), ullrequestid).ok() @@ -893,11 +893,11 @@ pub struct IUPnPServiceCallback_Vtbl { impl IUPnPServiceDocumentAccess { pub unsafe fn GetDocumentURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocument(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -928,11 +928,11 @@ pub struct IUPnPServiceEnumProperty_Vtbl { impl IUPnPServices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, bstrserviceid: P0) -> ::windows_core::Result @@ -940,7 +940,7 @@ impl IUPnPServices { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrserviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Fax/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Fax/mod.rs index 2363ba38a3..81313ffa61 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Fax/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Fax/mod.rs @@ -485,19 +485,19 @@ where impl IFaxAccount { pub unsafe fn AccountName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccountName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccountName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Folders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Folders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ListenToAccountEvents(&self, eventtypes: FAX_ACCOUNT_EVENTS_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ListenToAccountEvents)(::windows_core::Interface::as_raw(self), eventtypes).ok() } pub unsafe fn RegisteredEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -522,22 +522,22 @@ impl IFaxAccountFolders { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutgoingQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncomingQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncomingArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingArchive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutgoingArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingArchive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -570,11 +570,11 @@ pub struct IFaxAccountFolders_Vtbl { impl IFaxAccountIncomingArchive { pub unsafe fn SizeLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SizeHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -582,7 +582,7 @@ impl IFaxAccountIncomingArchive { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessages(&self, lprefetchsize: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessage(&self, bstrmessageid: P0) -> ::windows_core::Result @@ -590,7 +590,7 @@ impl IFaxAccountIncomingArchive { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -619,7 +619,7 @@ impl IFaxAccountIncomingQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJob(&self, bstrjobid: P0) -> ::windows_core::Result @@ -627,7 +627,7 @@ impl IFaxAccountIncomingQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -800,11 +800,11 @@ pub struct IFaxAccountNotify_Vtbl { impl IFaxAccountOutgoingArchive { pub unsafe fn SizeLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SizeHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -812,7 +812,7 @@ impl IFaxAccountOutgoingArchive { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessages(&self, lprefetchsize: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessage(&self, bstrmessageid: P0) -> ::windows_core::Result @@ -820,7 +820,7 @@ impl IFaxAccountOutgoingArchive { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -849,7 +849,7 @@ impl IFaxAccountOutgoingQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJob(&self, bstrjobid: P0) -> ::windows_core::Result @@ -857,7 +857,7 @@ impl IFaxAccountOutgoingQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -883,7 +883,7 @@ impl IFaxAccountSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAccounts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccounts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccounts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAccount(&self, bstraccountname: P0) -> ::windows_core::Result @@ -891,7 +891,7 @@ impl IFaxAccountSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccount)(::windows_core::Interface::as_raw(self), bstraccountname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccount)(::windows_core::Interface::as_raw(self), bstraccountname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddAccount(&self, bstraccountname: P0) -> ::windows_core::Result @@ -899,7 +899,7 @@ impl IFaxAccountSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddAccount)(::windows_core::Interface::as_raw(self), bstraccountname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddAccount)(::windows_core::Interface::as_raw(self), bstraccountname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveAccount(&self, bstraccountname: P0) -> ::windows_core::Result<()> where @@ -935,7 +935,7 @@ pub struct IFaxAccountSet_Vtbl { impl IFaxAccounts { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -943,11 +943,11 @@ impl IFaxAccounts { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -970,19 +970,19 @@ pub struct IFaxAccounts_Vtbl { impl IFaxActivity { pub unsafe fn IncomingMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingMessages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RoutingMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoutingMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoutingMessages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutgoingMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingMessages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueuedMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueuedMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueuedMessages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1007,7 +1007,7 @@ pub struct IFaxActivity_Vtbl { impl IFaxActivityLogging { pub unsafe fn LogIncoming(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogIncoming)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogIncoming)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogIncoming(&self, blogincoming: P0) -> ::windows_core::Result<()> where @@ -1017,7 +1017,7 @@ impl IFaxActivityLogging { } pub unsafe fn LogOutgoing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogOutgoing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogOutgoing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOutgoing(&self, blogoutgoing: P0) -> ::windows_core::Result<()> where @@ -1027,7 +1027,7 @@ impl IFaxActivityLogging { } pub unsafe fn DatabasePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DatabasePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DatabasePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDatabasePath(&self, bstrdatabasepath: P0) -> ::windows_core::Result<()> where @@ -1064,7 +1064,7 @@ pub struct IFaxActivityLogging_Vtbl { impl IFaxConfiguration { pub unsafe fn UseArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseArchive(&self, busearchive: P0) -> ::windows_core::Result<()> where @@ -1074,7 +1074,7 @@ impl IFaxConfiguration { } pub unsafe fn ArchiveLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArchiveLocation(&self, bstrarchivelocation: P0) -> ::windows_core::Result<()> where @@ -1084,7 +1084,7 @@ impl IFaxConfiguration { } pub unsafe fn SizeQuotaWarning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSizeQuotaWarning(&self, bsizequotawarning: P0) -> ::windows_core::Result<()> where @@ -1094,36 +1094,36 @@ impl IFaxConfiguration { } pub unsafe fn HighQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighQuotaWaterMark(&self, lhighquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHighQuotaWaterMark)(::windows_core::Interface::as_raw(self), lhighquotawatermark).ok() } pub unsafe fn LowQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLowQuotaWaterMark(&self, llowquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowQuotaWaterMark)(::windows_core::Interface::as_raw(self), llowquotawatermark).ok() } pub unsafe fn ArchiveAgeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveAgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveAgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetArchiveAgeLimit(&self, larchiveagelimit: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetArchiveAgeLimit)(::windows_core::Interface::as_raw(self), larchiveagelimit).ok() } pub unsafe fn ArchiveSizeLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveSizeLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveSizeLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ArchiveSizeHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveSizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveSizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutgoingQueueBlocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingQueueBlocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingQueueBlocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutgoingQueueBlocked(&self, boutgoingblocked: P0) -> ::windows_core::Result<()> where @@ -1133,7 +1133,7 @@ impl IFaxConfiguration { } pub unsafe fn OutgoingQueuePaused(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingQueuePaused)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingQueuePaused)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutgoingQueuePaused(&self, boutgoingpaused: P0) -> ::windows_core::Result<()> where @@ -1143,7 +1143,7 @@ impl IFaxConfiguration { } pub unsafe fn AllowPersonalCoverPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowPersonalCoverPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowPersonalCoverPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowPersonalCoverPages(&self, ballowpersonalcoverpages: P0) -> ::windows_core::Result<()> where @@ -1153,7 +1153,7 @@ impl IFaxConfiguration { } pub unsafe fn UseDeviceTSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseDeviceTSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseDeviceTSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseDeviceTSID(&self, busedevicetsid: P0) -> ::windows_core::Result<()> where @@ -1163,42 +1163,42 @@ impl IFaxConfiguration { } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRetries(&self, lretries: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetries)(::windows_core::Interface::as_raw(self), lretries).ok() } pub unsafe fn RetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRetryDelay(&self, lretrydelay: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetryDelay)(::windows_core::Interface::as_raw(self), lretrydelay).ok() } pub unsafe fn DiscountRateStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscountRateStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscountRateStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDiscountRateStart(&self, datediscountratestart: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDiscountRateStart)(::windows_core::Interface::as_raw(self), datediscountratestart).ok() } pub unsafe fn DiscountRateEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscountRateEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscountRateEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDiscountRateEnd(&self, datediscountrateend: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDiscountRateEnd)(::windows_core::Interface::as_raw(self), datediscountrateend).ok() } pub unsafe fn OutgoingQueueAgeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingQueueAgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingQueueAgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutgoingQueueAgeLimit(&self, loutgoingqueueagelimit: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutgoingQueueAgeLimit)(::windows_core::Interface::as_raw(self), loutgoingqueueagelimit).ok() } pub unsafe fn Branding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Branding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Branding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBranding(&self, bbranding: P0) -> ::windows_core::Result<()> where @@ -1208,7 +1208,7 @@ impl IFaxConfiguration { } pub unsafe fn IncomingQueueBlocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingQueueBlocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingQueueBlocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncomingQueueBlocked(&self, bincomingblocked: P0) -> ::windows_core::Result<()> where @@ -1218,7 +1218,7 @@ impl IFaxConfiguration { } pub unsafe fn AutoCreateAccountOnConnect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoCreateAccountOnConnect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoCreateAccountOnConnect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoCreateAccountOnConnect(&self, bautocreateaccountonconnect: P0) -> ::windows_core::Result<()> where @@ -1228,7 +1228,7 @@ impl IFaxConfiguration { } pub unsafe fn IncomingFaxesArePublic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingFaxesArePublic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingFaxesArePublic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncomingFaxesArePublic(&self, bincomingfaxesarepublic: P0) -> ::windows_core::Result<()> where @@ -1299,35 +1299,35 @@ pub struct IFaxConfiguration_Vtbl { impl IFaxDevice { pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProviderUniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderUniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderUniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PoweredOff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PoweredOff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PoweredOff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceivingNow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivingNow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivingNow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SendingNow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendingNow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendingNow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedRoutingMethods(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsedRoutingMethods)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsedRoutingMethods)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -1337,7 +1337,7 @@ impl IFaxDevice { } pub unsafe fn SendEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSendEnabled(&self, bsendenabled: P0) -> ::windows_core::Result<()> where @@ -1347,21 +1347,21 @@ impl IFaxDevice { } pub unsafe fn ReceiveMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveMode(&self, receivemode: FAX_DEVICE_RECEIVE_MODE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReceiveMode)(::windows_core::Interface::as_raw(self), receivemode).ok() } pub unsafe fn RingsBeforeAnswer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RingsBeforeAnswer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RingsBeforeAnswer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRingsBeforeAnswer(&self, lringsbeforeanswer: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRingsBeforeAnswer)(::windows_core::Interface::as_raw(self), lringsbeforeanswer).ok() } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCSID(&self, bstrcsid: P0) -> ::windows_core::Result<()> where @@ -1371,7 +1371,7 @@ impl IFaxDevice { } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTSID(&self, bstrtsid: P0) -> ::windows_core::Result<()> where @@ -1390,7 +1390,7 @@ impl IFaxDevice { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtensionProperty(&self, bstrguid: P0, vproperty: P1) -> ::windows_core::Result<()> where @@ -1408,7 +1408,7 @@ impl IFaxDevice { } pub unsafe fn RingingNow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RingingNow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RingingNow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AnswerCall(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AnswerCall)(::windows_core::Interface::as_raw(self)).ok() @@ -1454,15 +1454,15 @@ pub struct IFaxDevice_Vtbl { impl IFaxDeviceIds { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Add(&self, ldeviceid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), ldeviceid).ok() @@ -1494,51 +1494,51 @@ pub struct IFaxDeviceIds_Vtbl { impl IFaxDeviceProvider { pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImageName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TapiProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TapiProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TapiProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MajorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Debug(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitErrorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceIds(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1567,7 +1567,7 @@ pub struct IFaxDeviceProvider_Vtbl { impl IFaxDeviceProviders { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -1575,11 +1575,11 @@ impl IFaxDeviceProviders { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1602,7 +1602,7 @@ pub struct IFaxDeviceProviders_Vtbl { impl IFaxDevices { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -1610,16 +1610,16 @@ impl IFaxDevices { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemById(&self, lid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemById)(::windows_core::Interface::as_raw(self), lid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemById)(::windows_core::Interface::as_raw(self), lid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1646,7 +1646,7 @@ pub struct IFaxDevices_Vtbl { impl IFaxDocument { pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, bstrbody: P0) -> ::windows_core::Result<()> where @@ -1657,16 +1657,16 @@ impl IFaxDocument { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recipients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recipients)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoverPage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CoverPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CoverPage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCoverPage(&self, bstrcoverpage: P0) -> ::windows_core::Result<()> where @@ -1676,7 +1676,7 @@ impl IFaxDocument { } pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubject(&self, bstrsubject: P0) -> ::windows_core::Result<()> where @@ -1686,7 +1686,7 @@ impl IFaxDocument { } pub unsafe fn Note(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Note)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Note)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNote(&self, bstrnote: P0) -> ::windows_core::Result<()> where @@ -1696,14 +1696,14 @@ impl IFaxDocument { } pub unsafe fn ScheduleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduleTime(&self, datescheduletime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScheduleTime)(::windows_core::Interface::as_raw(self), datescheduletime).ok() } pub unsafe fn ReceiptAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReceiptAddress(&self, bstrreceiptaddress: P0) -> ::windows_core::Result<()> where @@ -1713,7 +1713,7 @@ impl IFaxDocument { } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentName(&self, bstrdocumentname: P0) -> ::windows_core::Result<()> where @@ -1723,35 +1723,35 @@ impl IFaxDocument { } pub unsafe fn CallHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCallHandle(&self, lcallhandle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCallHandle)(::windows_core::Interface::as_raw(self), lcallhandle).ok() } pub unsafe fn CoverPageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CoverPageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CoverPageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCoverPageType(&self, coverpagetype: FAX_COVERPAGE_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCoverPageType)(::windows_core::Interface::as_raw(self), coverpagetype).ok() } pub unsafe fn ScheduleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduleType(&self, scheduletype: FAX_SCHEDULE_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScheduleType)(::windows_core::Interface::as_raw(self), scheduletype).ok() } pub unsafe fn ReceiptType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiptType(&self, receipttype: FAX_RECEIPT_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReceiptType)(::windows_core::Interface::as_raw(self), receipttype).ok() } pub unsafe fn GroupBroadcastReceipts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupBroadcastReceipts(&self, busegrouping: P0) -> ::windows_core::Result<()> where @@ -1761,7 +1761,7 @@ impl IFaxDocument { } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, priority: FAX_PRIORITY_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), priority).ok() @@ -1769,7 +1769,7 @@ impl IFaxDocument { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TapiConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TapiConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TapiConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_TapiConnection(&self, ptapiconnection: P0) -> ::windows_core::Result<()> @@ -1783,7 +1783,7 @@ impl IFaxDocument { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Submit)(::windows_core::Interface::as_raw(self), bstrfaxservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Submit)(::windows_core::Interface::as_raw(self), bstrfaxservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConnectedSubmit(&self, pfaxserver: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -1791,11 +1791,11 @@ impl IFaxDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectedSubmit)(::windows_core::Interface::as_raw(self), pfaxserver.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectedSubmit)(::windows_core::Interface::as_raw(self), pfaxserver.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttachFaxToReceipt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachFaxToReceipt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachFaxToReceipt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachFaxToReceipt(&self, battachfax: P0) -> ::windows_core::Result<()> where @@ -1867,7 +1867,7 @@ pub struct IFaxDocument_Vtbl { impl IFaxDocument2 { pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, bstrbody: P0) -> ::windows_core::Result<()> where @@ -1878,16 +1878,16 @@ impl IFaxDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Recipients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Recipients)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoverPage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CoverPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CoverPage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCoverPage(&self, bstrcoverpage: P0) -> ::windows_core::Result<()> where @@ -1897,7 +1897,7 @@ impl IFaxDocument2 { } pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubject(&self, bstrsubject: P0) -> ::windows_core::Result<()> where @@ -1907,7 +1907,7 @@ impl IFaxDocument2 { } pub unsafe fn Note(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Note)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Note)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNote(&self, bstrnote: P0) -> ::windows_core::Result<()> where @@ -1917,14 +1917,14 @@ impl IFaxDocument2 { } pub unsafe fn ScheduleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScheduleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScheduleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduleTime(&self, datescheduletime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScheduleTime)(::windows_core::Interface::as_raw(self), datescheduletime).ok() } pub unsafe fn ReceiptAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReceiptAddress(&self, bstrreceiptaddress: P0) -> ::windows_core::Result<()> where @@ -1934,7 +1934,7 @@ impl IFaxDocument2 { } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentName(&self, bstrdocumentname: P0) -> ::windows_core::Result<()> where @@ -1944,35 +1944,35 @@ impl IFaxDocument2 { } pub unsafe fn CallHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCallHandle(&self, lcallhandle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCallHandle)(::windows_core::Interface::as_raw(self), lcallhandle).ok() } pub unsafe fn CoverPageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CoverPageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CoverPageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCoverPageType(&self, coverpagetype: FAX_COVERPAGE_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCoverPageType)(::windows_core::Interface::as_raw(self), coverpagetype).ok() } pub unsafe fn ScheduleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduleType(&self, scheduletype: FAX_SCHEDULE_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScheduleType)(::windows_core::Interface::as_raw(self), scheduletype).ok() } pub unsafe fn ReceiptType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiptType(&self, receipttype: FAX_RECEIPT_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetReceiptType)(::windows_core::Interface::as_raw(self), receipttype).ok() } pub unsafe fn GroupBroadcastReceipts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupBroadcastReceipts(&self, busegrouping: P0) -> ::windows_core::Result<()> where @@ -1982,7 +1982,7 @@ impl IFaxDocument2 { } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, priority: FAX_PRIORITY_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPriority)(::windows_core::Interface::as_raw(self), priority).ok() @@ -1990,7 +1990,7 @@ impl IFaxDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TapiConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TapiConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TapiConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_TapiConnection(&self, ptapiconnection: P0) -> ::windows_core::Result<()> @@ -2004,7 +2004,7 @@ impl IFaxDocument2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Submit)(::windows_core::Interface::as_raw(self), bstrfaxservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Submit)(::windows_core::Interface::as_raw(self), bstrfaxservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConnectedSubmit(&self, pfaxserver: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -2012,11 +2012,11 @@ impl IFaxDocument2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ConnectedSubmit)(::windows_core::Interface::as_raw(self), pfaxserver.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ConnectedSubmit)(::windows_core::Interface::as_raw(self), pfaxserver.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttachFaxToReceipt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AttachFaxToReceipt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AttachFaxToReceipt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachFaxToReceipt(&self, battachfax: P0) -> ::windows_core::Result<()> where @@ -2026,11 +2026,11 @@ impl IFaxDocument2 { } pub unsafe fn SubmissionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bodies(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bodies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bodies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBodies(&self, vbodies: P0) -> ::windows_core::Result<()> where @@ -2074,28 +2074,28 @@ pub struct IFaxDocument2_Vtbl { impl IFaxEventLogging { pub unsafe fn InitEventsLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitEventsLevel(&self, initeventlevel: FAX_LOG_LEVEL_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitEventsLevel)(::windows_core::Interface::as_raw(self), initeventlevel).ok() } pub unsafe fn InboundEventsLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InboundEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InboundEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInboundEventsLevel(&self, inboundeventlevel: FAX_LOG_LEVEL_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInboundEventsLevel)(::windows_core::Interface::as_raw(self), inboundeventlevel).ok() } pub unsafe fn OutboundEventsLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutboundEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutboundEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutboundEventsLevel(&self, outboundeventlevel: FAX_LOG_LEVEL_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutboundEventsLevel)(::windows_core::Interface::as_raw(self), outboundeventlevel).ok() } pub unsafe fn GeneralEventsLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GeneralEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GeneralEventsLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGeneralEventsLevel(&self, generaleventlevel: FAX_LOG_LEVEL_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGeneralEventsLevel)(::windows_core::Interface::as_raw(self), generaleventlevel).ok() @@ -2132,22 +2132,22 @@ impl IFaxFolders { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutgoingQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncomingQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncomingArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncomingArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncomingArchive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutgoingArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutgoingArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutgoingArchive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2181,12 +2181,12 @@ impl IFaxInboundRouting { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMethods(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMethods)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMethods)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2211,47 +2211,47 @@ pub struct IFaxInboundRouting_Vtbl { impl IFaxInboundRoutingExtension { pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImageName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MajorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Debug(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitErrorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Methods(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Methods)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Methods)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2279,7 +2279,7 @@ pub struct IFaxInboundRoutingExtension_Vtbl { impl IFaxInboundRoutingExtensions { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -2287,11 +2287,11 @@ impl IFaxInboundRoutingExtensions { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2314,27 +2314,27 @@ pub struct IFaxInboundRoutingExtensions_Vtbl { impl IFaxInboundRoutingMethod { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FunctionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FunctionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FunctionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExtensionFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtensionFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtensionFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExtensionImageName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtensionImageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtensionImageName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lpriority).ok() @@ -2369,7 +2369,7 @@ pub struct IFaxInboundRoutingMethod_Vtbl { impl IFaxInboundRoutingMethods { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -2377,11 +2377,11 @@ impl IFaxInboundRoutingMethods { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2404,7 +2404,7 @@ pub struct IFaxInboundRoutingMethods_Vtbl { impl IFaxIncomingArchive { pub unsafe fn UseArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseArchive(&self, busearchive: P0) -> ::windows_core::Result<()> where @@ -2414,7 +2414,7 @@ impl IFaxIncomingArchive { } pub unsafe fn ArchiveFolder(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArchiveFolder(&self, bstrarchivefolder: P0) -> ::windows_core::Result<()> where @@ -2424,7 +2424,7 @@ impl IFaxIncomingArchive { } pub unsafe fn SizeQuotaWarning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSizeQuotaWarning(&self, bsizequotawarning: P0) -> ::windows_core::Result<()> where @@ -2434,32 +2434,32 @@ impl IFaxIncomingArchive { } pub unsafe fn HighQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighQuotaWaterMark(&self, lhighquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHighQuotaWaterMark)(::windows_core::Interface::as_raw(self), lhighquotawatermark).ok() } pub unsafe fn LowQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLowQuotaWaterMark(&self, llowquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowQuotaWaterMark)(::windows_core::Interface::as_raw(self), llowquotawatermark).ok() } pub unsafe fn AgeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAgeLimit(&self, lagelimit: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAgeLimit)(::windows_core::Interface::as_raw(self), lagelimit).ok() } pub unsafe fn SizeLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SizeHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -2470,7 +2470,7 @@ impl IFaxIncomingArchive { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessages(&self, lprefetchsize: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessage(&self, bstrmessageid: P0) -> ::windows_core::Result @@ -2478,7 +2478,7 @@ impl IFaxIncomingArchive { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2519,67 +2519,67 @@ pub struct IFaxIncomingArchive_Vtbl { impl IFaxIncomingJob { pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AvailableOperations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoutingInformation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JobType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -2627,7 +2627,7 @@ pub struct IFaxIncomingJob_Vtbl { impl IFaxIncomingJobs { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -2635,11 +2635,11 @@ impl IFaxIncomingJobs { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2662,47 +2662,47 @@ pub struct IFaxIncomingJobs_Vtbl { impl IFaxIncomingMessage { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoutingInformation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyTiff(&self, bstrtiffpath: P0) -> ::windows_core::Result<()> where @@ -2741,47 +2741,47 @@ pub struct IFaxIncomingMessage_Vtbl { impl IFaxIncomingMessage2 { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoutingInformation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyTiff(&self, bstrtiffpath: P0) -> ::windows_core::Result<()> where @@ -2794,7 +2794,7 @@ impl IFaxIncomingMessage2 { } pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubject(&self, bstrsubject: P0) -> ::windows_core::Result<()> where @@ -2804,7 +2804,7 @@ impl IFaxIncomingMessage2 { } pub unsafe fn SenderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderName(&self, bstrsendername: P0) -> ::windows_core::Result<()> where @@ -2814,7 +2814,7 @@ impl IFaxIncomingMessage2 { } pub unsafe fn SenderFaxNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderFaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderFaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderFaxNumber(&self, bstrsenderfaxnumber: P0) -> ::windows_core::Result<()> where @@ -2824,7 +2824,7 @@ impl IFaxIncomingMessage2 { } pub unsafe fn HasCoverPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHasCoverPage(&self, bhascoverpage: P0) -> ::windows_core::Result<()> where @@ -2834,7 +2834,7 @@ impl IFaxIncomingMessage2 { } pub unsafe fn Recipients(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recipients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recipients)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRecipients(&self, bstrrecipients: P0) -> ::windows_core::Result<()> where @@ -2844,11 +2844,11 @@ impl IFaxIncomingMessage2 { } pub unsafe fn WasReAssigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WasReAssigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WasReAssigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Read(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRead(&self, bread: P0) -> ::windows_core::Result<()> where @@ -2897,18 +2897,18 @@ impl IFaxIncomingMessageIterator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Message(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PrefetchSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrefetchSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrefetchSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrefetchSize(&self, lprefetchsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrefetchSize)(::windows_core::Interface::as_raw(self), lprefetchsize).ok() } pub unsafe fn AtEOF(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AtEOF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AtEOF)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveFirst(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MoveFirst)(::windows_core::Interface::as_raw(self)).ok() @@ -2940,7 +2940,7 @@ pub struct IFaxIncomingMessageIterator_Vtbl { impl IFaxIncomingQueue { pub unsafe fn Blocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Blocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Blocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlocked(&self, bblocked: P0) -> ::windows_core::Result<()> where @@ -2957,7 +2957,7 @@ impl IFaxIncomingQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJob(&self, bstrjobid: P0) -> ::windows_core::Result @@ -2965,7 +2965,7 @@ impl IFaxIncomingQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2994,71 +2994,71 @@ pub struct IFaxIncomingQueue_Vtbl { impl IFaxJobStatus { pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExtendedStatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AvailableOperations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn JobType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoutingInformation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoutingInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3093,12 +3093,12 @@ impl IFaxLoggingOptions { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EventLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventLogging)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActivityLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivityLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivityLogging)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3124,12 +3124,12 @@ impl IFaxOutboundRouting { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3154,16 +3154,16 @@ pub struct IFaxOutboundRouting_Vtbl { impl IFaxOutboundRoutingGroup { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DeviceIds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3186,7 +3186,7 @@ pub struct IFaxOutboundRoutingGroup_Vtbl { impl IFaxOutboundRoutingGroups { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -3194,11 +3194,11 @@ impl IFaxOutboundRoutingGroups { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, bstrname: P0) -> ::windows_core::Result @@ -3206,7 +3206,7 @@ impl IFaxOutboundRoutingGroups { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, vindex: P0) -> ::windows_core::Result<()> where @@ -3240,19 +3240,19 @@ pub struct IFaxOutboundRoutingGroups_Vtbl { impl IFaxOutboundRoutingRule { pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AreaCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreaCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreaCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseDevice)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseDevice(&self, busedevice: P0) -> ::windows_core::Result<()> where @@ -3262,14 +3262,14 @@ impl IFaxOutboundRoutingRule { } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeviceId(&self, deviceid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeviceId)(::windows_core::Interface::as_raw(self), deviceid).ok() } pub unsafe fn GroupName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGroupName(&self, bstrgroupname: P0) -> ::windows_core::Result<()> where @@ -3309,21 +3309,21 @@ pub struct IFaxOutboundRoutingRule_Vtbl { impl IFaxOutboundRoutingRules { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ItemByCountryAndArea(&self, lcountrycode: i32, lareacode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemByCountryAndArea)(::windows_core::Interface::as_raw(self), lcountrycode, lareacode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemByCountryAndArea)(::windows_core::Interface::as_raw(self), lcountrycode, lareacode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveByCountryAndArea(&self, lcountrycode: i32, lareacode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveByCountryAndArea)(::windows_core::Interface::as_raw(self), lcountrycode, lareacode).ok() @@ -3338,7 +3338,7 @@ impl IFaxOutboundRoutingRules { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), lcountrycode, lareacode, busedevice.into_param().abi(), bstrgroupname.into_param().abi(), ldeviceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), lcountrycode, lareacode, busedevice.into_param().abi(), bstrgroupname.into_param().abi(), ldeviceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3371,7 +3371,7 @@ pub struct IFaxOutboundRoutingRules_Vtbl { impl IFaxOutgoingArchive { pub unsafe fn UseArchive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseArchive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseArchive(&self, busearchive: P0) -> ::windows_core::Result<()> where @@ -3381,7 +3381,7 @@ impl IFaxOutgoingArchive { } pub unsafe fn ArchiveFolder(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchiveFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchiveFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArchiveFolder(&self, bstrarchivefolder: P0) -> ::windows_core::Result<()> where @@ -3391,7 +3391,7 @@ impl IFaxOutgoingArchive { } pub unsafe fn SizeQuotaWarning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeQuotaWarning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSizeQuotaWarning(&self, bsizequotawarning: P0) -> ::windows_core::Result<()> where @@ -3401,32 +3401,32 @@ impl IFaxOutgoingArchive { } pub unsafe fn HighQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighQuotaWaterMark(&self, lhighquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHighQuotaWaterMark)(::windows_core::Interface::as_raw(self), lhighquotawatermark).ok() } pub unsafe fn LowQuotaWaterMark(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LowQuotaWaterMark)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLowQuotaWaterMark(&self, llowquotawatermark: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowQuotaWaterMark)(::windows_core::Interface::as_raw(self), llowquotawatermark).ok() } pub unsafe fn AgeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAgeLimit(&self, lagelimit: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAgeLimit)(::windows_core::Interface::as_raw(self), lagelimit).ok() } pub unsafe fn SizeLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SizeHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -3437,7 +3437,7 @@ impl IFaxOutgoingArchive { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessages(&self, lprefetchsize: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessages)(::windows_core::Interface::as_raw(self), lprefetchsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMessage(&self, bstrmessageid: P0) -> ::windows_core::Result @@ -3445,7 +3445,7 @@ impl IFaxOutgoingArchive { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), bstrmessageid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3486,105 +3486,105 @@ pub struct IFaxOutgoingArchive_Vtbl { impl IFaxOutgoingJob { pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OriginalScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceiptType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recipient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recipient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AvailableOperations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GroupBroadcastReceipts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -3659,105 +3659,105 @@ pub struct IFaxOutgoingJob_Vtbl { impl IFaxOutgoingJob2 { pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OriginalScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceiptType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Recipient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Recipient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExtendedStatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExtendedStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AvailableOperations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AvailableOperations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GroupBroadcastReceipts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GroupBroadcastReceipts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -3782,15 +3782,15 @@ impl IFaxOutgoingJob2 { } pub unsafe fn HasCoverPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceiptAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ScheduleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3810,7 +3810,7 @@ pub struct IFaxOutgoingJob2_Vtbl { impl IFaxOutgoingJobs { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, vindex: P0) -> ::windows_core::Result @@ -3818,11 +3818,11 @@ impl IFaxOutgoingJobs { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), vindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3845,73 +3845,73 @@ pub struct IFaxOutgoingJobs_Vtbl { impl IFaxOutgoingMessage { pub unsafe fn SubmissionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OriginalScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recipient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recipient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyTiff(&self, bstrtiffpath: P0) -> ::windows_core::Result<()> where @@ -3962,73 +3962,73 @@ pub struct IFaxOutgoingMessage_Vtbl { impl IFaxOutgoingMessage2 { pub unsafe fn SubmissionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubmissionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Subject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Pages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OriginalScheduledTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OriginalScheduledTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sender(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Sender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recipient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Recipient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Recipient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransmissionStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyTiff(&self, bstrtiffpath: P0) -> ::windows_core::Result<()> where @@ -4041,19 +4041,19 @@ impl IFaxOutgoingMessage2 { } pub unsafe fn HasCoverPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasCoverPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceiptType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReceiptAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Read(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRead(&self, bread: P0) -> ::windows_core::Result<()> where @@ -4090,15 +4090,15 @@ impl IFaxOutgoingMessageIterator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Message(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AtEOF(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AtEOF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AtEOF)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrefetchSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrefetchSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrefetchSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrefetchSize(&self, lprefetchsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrefetchSize)(::windows_core::Interface::as_raw(self), lprefetchsize).ok() @@ -4133,7 +4133,7 @@ pub struct IFaxOutgoingMessageIterator_Vtbl { impl IFaxOutgoingQueue { pub unsafe fn Blocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Blocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Blocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlocked(&self, bblocked: P0) -> ::windows_core::Result<()> where @@ -4143,7 +4143,7 @@ impl IFaxOutgoingQueue { } pub unsafe fn Paused(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Paused)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Paused)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPaused(&self, bpaused: P0) -> ::windows_core::Result<()> where @@ -4153,7 +4153,7 @@ impl IFaxOutgoingQueue { } pub unsafe fn AllowPersonalCoverPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowPersonalCoverPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowPersonalCoverPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowPersonalCoverPages(&self, ballowpersonalcoverpages: P0) -> ::windows_core::Result<()> where @@ -4163,7 +4163,7 @@ impl IFaxOutgoingQueue { } pub unsafe fn UseDeviceTSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseDeviceTSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseDeviceTSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseDeviceTSID(&self, busedevicetsid: P0) -> ::windows_core::Result<()> where @@ -4173,42 +4173,42 @@ impl IFaxOutgoingQueue { } pub unsafe fn Retries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRetries(&self, lretries: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetries)(::windows_core::Interface::as_raw(self), lretries).ok() } pub unsafe fn RetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRetryDelay(&self, lretrydelay: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetryDelay)(::windows_core::Interface::as_raw(self), lretrydelay).ok() } pub unsafe fn DiscountRateStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscountRateStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscountRateStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDiscountRateStart(&self, datediscountratestart: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDiscountRateStart)(::windows_core::Interface::as_raw(self), datediscountratestart).ok() } pub unsafe fn DiscountRateEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscountRateEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscountRateEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDiscountRateEnd(&self, datediscountrateend: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDiscountRateEnd)(::windows_core::Interface::as_raw(self), datediscountrateend).ok() } pub unsafe fn AgeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAgeLimit(&self, lagelimit: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAgeLimit)(::windows_core::Interface::as_raw(self), lagelimit).ok() } pub unsafe fn Branding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Branding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Branding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBranding(&self, bbranding: P0) -> ::windows_core::Result<()> where @@ -4225,7 +4225,7 @@ impl IFaxOutgoingQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetJob(&self, bstrjobid: P0) -> ::windows_core::Result @@ -4233,7 +4233,7 @@ impl IFaxOutgoingQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), bstrjobid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4280,14 +4280,14 @@ pub struct IFaxOutgoingQueue_Vtbl { impl IFaxReceiptOptions { pub unsafe fn AuthenticationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationType(&self, r#type: FAX_SMTP_AUTHENTICATION_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn SMTPServer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SMTPServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SMTPServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSMTPServer(&self, bstrsmtpserver: P0) -> ::windows_core::Result<()> where @@ -4297,14 +4297,14 @@ impl IFaxReceiptOptions { } pub unsafe fn SMTPPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SMTPPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SMTPPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSMTPPort(&self, lsmtpport: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSMTPPort)(::windows_core::Interface::as_raw(self), lsmtpport).ok() } pub unsafe fn SMTPSender(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SMTPSender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SMTPSender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSMTPSender(&self, bstrsmtpsender: P0) -> ::windows_core::Result<()> where @@ -4314,7 +4314,7 @@ impl IFaxReceiptOptions { } pub unsafe fn SMTPUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SMTPUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SMTPUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSMTPUser(&self, bstrsmtpuser: P0) -> ::windows_core::Result<()> where @@ -4324,14 +4324,14 @@ impl IFaxReceiptOptions { } pub unsafe fn AllowedReceipts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowedReceipts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowedReceipts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowedReceipts(&self, allowedreceipts: FAX_RECEIPT_TYPE_ENUM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllowedReceipts)(::windows_core::Interface::as_raw(self), allowedreceipts).ok() } pub unsafe fn SMTPPassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SMTPPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SMTPPassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSMTPPassword(&self, bstrsmtppassword: P0) -> ::windows_core::Result<()> where @@ -4347,7 +4347,7 @@ impl IFaxReceiptOptions { } pub unsafe fn UseForInboundRouting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseForInboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseForInboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseForInboundRouting(&self, buseforinboundrouting: P0) -> ::windows_core::Result<()> where @@ -4388,7 +4388,7 @@ pub struct IFaxReceiptOptions_Vtbl { impl IFaxRecipient { pub unsafe fn FaxNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFaxNumber(&self, bstrfaxnumber: P0) -> ::windows_core::Result<()> where @@ -4398,7 +4398,7 @@ impl IFaxRecipient { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4425,16 +4425,16 @@ pub struct IFaxRecipient_Vtbl { impl IFaxRecipients { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, bstrfaxnumber: P0, bstrrecipientname: P1) -> ::windows_core::Result @@ -4443,7 +4443,7 @@ impl IFaxRecipients { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrfaxnumber.into_param().abi(), bstrrecipientname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrfaxnumber.into_param().abi(), bstrrecipientname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, lindex: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), lindex).ok() @@ -4474,7 +4474,7 @@ pub struct IFaxRecipients_Vtbl { impl IFaxSecurity { pub unsafe fn Descriptor(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Descriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Descriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescriptor(&self, vdescriptor: P0) -> ::windows_core::Result<()> where @@ -4484,7 +4484,7 @@ impl IFaxSecurity { } pub unsafe fn GrantedRights(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GrantedRights)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GrantedRights)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4494,7 +4494,7 @@ impl IFaxSecurity { } pub unsafe fn InformationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InformationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InformationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInformationType(&self, linformationtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInformationType)(::windows_core::Interface::as_raw(self), linformationtype).ok() @@ -4521,7 +4521,7 @@ pub struct IFaxSecurity_Vtbl { impl IFaxSecurity2 { pub unsafe fn Descriptor(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Descriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Descriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescriptor(&self, vdescriptor: P0) -> ::windows_core::Result<()> where @@ -4531,7 +4531,7 @@ impl IFaxSecurity2 { } pub unsafe fn GrantedRights(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GrantedRights)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GrantedRights)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4541,7 +4541,7 @@ impl IFaxSecurity2 { } pub unsafe fn InformationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InformationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InformationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInformationType(&self, linformationtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInformationType)(::windows_core::Interface::as_raw(self), linformationtype).ok() @@ -4568,7 +4568,7 @@ pub struct IFaxSecurity2_Vtbl { impl IFaxSender { pub unsafe fn BillingCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BillingCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BillingCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBillingCode(&self, bstrbillingcode: P0) -> ::windows_core::Result<()> where @@ -4578,7 +4578,7 @@ impl IFaxSender { } pub unsafe fn City(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).City)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).City)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCity(&self, bstrcity: P0) -> ::windows_core::Result<()> where @@ -4588,7 +4588,7 @@ impl IFaxSender { } pub unsafe fn Company(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCompany(&self, bstrcompany: P0) -> ::windows_core::Result<()> where @@ -4598,7 +4598,7 @@ impl IFaxSender { } pub unsafe fn Country(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Country)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Country)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCountry(&self, bstrcountry: P0) -> ::windows_core::Result<()> where @@ -4608,7 +4608,7 @@ impl IFaxSender { } pub unsafe fn Department(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepartment(&self, bstrdepartment: P0) -> ::windows_core::Result<()> where @@ -4618,7 +4618,7 @@ impl IFaxSender { } pub unsafe fn Email(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Email)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Email)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEmail(&self, bstremail: P0) -> ::windows_core::Result<()> where @@ -4628,7 +4628,7 @@ impl IFaxSender { } pub unsafe fn FaxNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFaxNumber(&self, bstrfaxnumber: P0) -> ::windows_core::Result<()> where @@ -4638,7 +4638,7 @@ impl IFaxSender { } pub unsafe fn HomePhone(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HomePhone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HomePhone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHomePhone(&self, bstrhomephone: P0) -> ::windows_core::Result<()> where @@ -4648,7 +4648,7 @@ impl IFaxSender { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4658,7 +4658,7 @@ impl IFaxSender { } pub unsafe fn TSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTSID(&self, bstrtsid: P0) -> ::windows_core::Result<()> where @@ -4668,7 +4668,7 @@ impl IFaxSender { } pub unsafe fn OfficePhone(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfficePhone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfficePhone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOfficePhone(&self, bstrofficephone: P0) -> ::windows_core::Result<()> where @@ -4678,7 +4678,7 @@ impl IFaxSender { } pub unsafe fn OfficeLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfficeLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfficeLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOfficeLocation(&self, bstrofficelocation: P0) -> ::windows_core::Result<()> where @@ -4688,7 +4688,7 @@ impl IFaxSender { } pub unsafe fn State(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetState(&self, bstrstate: P0) -> ::windows_core::Result<()> where @@ -4698,7 +4698,7 @@ impl IFaxSender { } pub unsafe fn StreetAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StreetAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StreetAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStreetAddress(&self, bstrstreetaddress: P0) -> ::windows_core::Result<()> where @@ -4708,7 +4708,7 @@ impl IFaxSender { } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTitle(&self, bstrtitle: P0) -> ::windows_core::Result<()> where @@ -4718,7 +4718,7 @@ impl IFaxSender { } pub unsafe fn ZipCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ZipCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ZipCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetZipCode(&self, bstrzipcode: P0) -> ::windows_core::Result<()> where @@ -4787,72 +4787,72 @@ impl IFaxServer { } pub unsafe fn ServerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDeviceProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InboundRouting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Folders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Folders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoggingOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggingOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggingOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MajorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Debug(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Debug)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Activity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Activity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutboundRouting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiptOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiptOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiptOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disconnect(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self)).ok() @@ -4862,7 +4862,7 @@ impl IFaxServer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtensionProperty(&self, bstrguid: P0, vproperty: P1) -> ::windows_core::Result<()> where @@ -4906,11 +4906,11 @@ impl IFaxServer { } pub unsafe fn RegisteredEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn APIVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).APIVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).APIVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4986,72 +4986,72 @@ impl IFaxServer2 { } pub unsafe fn ServerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDeviceProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InboundRouting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Folders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Folders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoggingOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoggingOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoggingOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MajorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MajorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinorBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Debug(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Debug)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Debug)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Activity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Activity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Activity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutboundRouting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutboundRouting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiptOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReceiptOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReceiptOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disconnect(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Disconnect)(::windows_core::Interface::as_raw(self)).ok() @@ -5061,7 +5061,7 @@ impl IFaxServer2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExtensionProperty)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtensionProperty(&self, bstrguid: P0, vproperty: P1) -> ::windows_core::Result<()> where @@ -5105,31 +5105,31 @@ impl IFaxServer2 { } pub unsafe fn RegisteredEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisteredEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn APIVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.APIVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.APIVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Configuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAccount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FaxAccountSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxAccountSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxAccountSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5512,7 +5512,7 @@ impl IStiDevice { } pub unsafe fn GetLastError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LockDevice(&self, dwtimeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockDevice)(::windows_core::Interface::as_raw(self), dwtimeout).ok() @@ -5671,7 +5671,7 @@ impl IStiUSD { } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self, pdevstatus: *mut STI_DEVICE_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), pdevstatus).ok() @@ -5687,7 +5687,7 @@ impl IStiUSD { } pub unsafe fn GetLastError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LockDevice(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockDevice)(::windows_core::Interface::as_raw(self)).ok() @@ -5827,7 +5827,7 @@ impl IStillImageW { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHwNotificationState)(::windows_core::Interface::as_raw(self), pwszdevicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHwNotificationState)(::windows_core::Interface::as_raw(self), pwszdevicename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RefreshDeviceBus(&self, pwszdevicename: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Devices/FunctionDiscovery/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/FunctionDiscovery/mod.rs index 3ee3033eaf..22044db00d 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/FunctionDiscovery/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/FunctionDiscovery/mod.rs @@ -8,7 +8,7 @@ impl IFunctionDiscovery { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceCollection)(::windows_core::Interface::as_raw(self), pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), fincludeallsubcategories.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceCollection)(::windows_core::Interface::as_raw(self), pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), fincludeallsubcategories.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInstance(&self, pszfunctioninstanceidentity: P0) -> ::windows_core::Result @@ -16,7 +16,7 @@ impl IFunctionDiscovery { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstance)(::windows_core::Interface::as_raw(self), pszfunctioninstanceidentity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstance)(::windows_core::Interface::as_raw(self), pszfunctioninstanceidentity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceCollectionQuery(&self, pszcategory: P0, pszsubcategory: P1, fincludeallsubcategories: P2, pifunctiondiscoverynotification: P3, pfdqcquerycontext: *mut u64) -> ::windows_core::Result where @@ -26,7 +26,7 @@ impl IFunctionDiscovery { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceCollectionQuery)(::windows_core::Interface::as_raw(self), pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), fincludeallsubcategories.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), pfdqcquerycontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceCollectionQuery)(::windows_core::Interface::as_raw(self), pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), fincludeallsubcategories.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), pfdqcquerycontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceQuery(&self, pszfunctioninstanceidentity: P0, pifunctiondiscoverynotification: P1, pfdqcquerycontext: *mut u64) -> ::windows_core::Result where @@ -34,7 +34,7 @@ impl IFunctionDiscovery { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceQuery)(::windows_core::Interface::as_raw(self), pszfunctioninstanceidentity.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), pfdqcquerycontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceQuery)(::windows_core::Interface::as_raw(self), pszfunctioninstanceidentity.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), pfdqcquerycontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddInstance(&self, enumsystemvisibility: SystemVisibilityFlags, pszcategory: P0, pszsubcategory: P1, pszcategoryidentity: P2) -> ::windows_core::Result @@ -44,7 +44,7 @@ impl IFunctionDiscovery { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddInstance)(::windows_core::Interface::as_raw(self), enumsystemvisibility, pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), pszcategoryidentity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddInstance)(::windows_core::Interface::as_raw(self), enumsystemvisibility, pszcategory.into_param().abi(), pszsubcategory.into_param().abi(), pszcategoryidentity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveInstance(&self, enumsystemvisibility: SystemVisibilityFlags, pszcategory: P0, pszsubcategory: P1, pszcategoryidentity: P2) -> ::windows_core::Result<()> where @@ -115,14 +115,14 @@ impl IFunctionDiscoveryProvider { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pifunctiondiscoveryproviderfactory.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), lciduserdefault, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pifunctiondiscoveryproviderfactory.into_param().abi(), pifunctiondiscoverynotification.into_param().abi(), lciduserdefault, &mut result__).map(|| result__) } pub unsafe fn Query(&self, pifunctiondiscoveryproviderquery: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pifunctiondiscoveryproviderquery.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pifunctiondiscoveryproviderquery.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndQuery(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndQuery)(::windows_core::Interface::as_raw(self)).ok() @@ -140,7 +140,7 @@ impl IFunctionDiscoveryProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstancePropertyStoreOpen)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, dwstgaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstancePropertyStoreOpen)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, dwstgaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancePropertyStoreFlush(&self, pifunctioninstance: P0, iproviderinstancecontext: isize) -> ::windows_core::Result<()> @@ -155,7 +155,7 @@ impl IFunctionDiscoveryProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstanceQueryService)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, guidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstanceQueryService)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, guidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstanceReleased(&self, pifunctioninstance: P0, iproviderinstancecontext: isize) -> ::windows_core::Result<()> @@ -199,7 +199,7 @@ impl IFunctionDiscoveryProviderFactory { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn CreatePropertyStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn CreateInstance(&self, pszsubcategory: P0, pszproviderinstanceidentity: P1, iproviderinstancecontext: isize, pipropertystore: P2, pifunctiondiscoveryprovider: P3) -> ::windows_core::Result @@ -210,11 +210,11 @@ impl IFunctionDiscoveryProviderFactory { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pszsubcategory.into_param().abi(), pszproviderinstanceidentity.into_param().abi(), iproviderinstancecontext, pipropertystore.into_param().abi(), pifunctiondiscoveryprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pszsubcategory.into_param().abi(), pszproviderinstanceidentity.into_param().abi(), iproviderinstancecontext, pipropertystore.into_param().abi(), pifunctiondiscoveryprovider.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFunctionInstanceCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFunctionInstanceCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFunctionInstanceCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -242,11 +242,11 @@ impl IFunctionDiscoveryProviderQuery { } pub unsafe fn GetQueryConstraints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQueryConstraints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQueryConstraints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyConstraints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyConstraints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyConstraints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -268,7 +268,7 @@ impl IFunctionDiscoveryServiceProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -292,20 +292,20 @@ impl IFunctionInstance { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetID(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProviderInstanceID(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderInstanceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderInstanceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn OpenPropertyStore(&self, dwstgaccess: super::super::System::Com::STGM) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenPropertyStore)(::windows_core::Interface::as_raw(self), dwstgaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenPropertyStore)(::windows_core::Interface::as_raw(self), dwstgaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCategory(&self, ppszcomemcategory: *mut *mut u16, ppszcomemsubcategory: *mut *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), ppszcomemcategory, ppszcomemsubcategory).ok() @@ -329,7 +329,7 @@ pub struct IFunctionInstance_Vtbl { impl IFunctionInstanceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Get(&self, pszinstanceidentity: P0, pdwindex: *mut u32) -> ::windows_core::Result @@ -337,12 +337,12 @@ impl IFunctionInstanceCollection { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszinstanceidentity.into_param().abi(), pdwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszinstanceidentity.into_param().abi(), pdwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pifunctioninstance: P0) -> ::windows_core::Result<()> @@ -354,7 +354,7 @@ impl IFunctionInstanceCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Remove(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, dwindex: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), dwindex).ok() @@ -403,7 +403,7 @@ impl IFunctionInstanceCollectionQuery { } pub unsafe fn Execute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -423,7 +423,7 @@ impl IFunctionInstanceQuery { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Execute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -503,7 +503,7 @@ pub struct IPNPXDeviceAssociation_Vtbl { impl IPropertyStoreCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Get(&self, pszinstanceidentity: P0, pdwindex: *mut u32) -> ::windows_core::Result @@ -511,12 +511,12 @@ impl IPropertyStoreCollection { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszinstanceidentity.into_param().abi(), pdwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszinstanceidentity.into_param().abi(), pdwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Item(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Add(&self, pipropertystore: P0) -> ::windows_core::Result<()> @@ -528,7 +528,7 @@ impl IPropertyStoreCollection { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Remove(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, dwindex: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), dwindex).ok() @@ -570,7 +570,7 @@ impl IProviderProperties { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetAt(&self, pifunctioninstance: P0, iproviderinstancecontext: isize, dwindex: u32, pkey: *mut super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> @@ -585,7 +585,7 @@ impl IProviderProperties { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), pifunctioninstance.into_param().abi(), iproviderinstancecontext, key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn SetValue(&self, pifunctioninstance: P0, iproviderinstancecontext: isize, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, ppropvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> @@ -621,7 +621,7 @@ pub struct IProviderProperties_Vtbl { impl IProviderPropertyConstraintCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Get(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, ppropvar: *mut ::windows_core::PROPVARIANT, pdwpropertyconstraint: *mut u32) -> ::windows_core::Result<()> { @@ -672,7 +672,7 @@ impl IProviderPublishing { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), enumvisibilityflags, pszsubcategory.into_param().abi(), pszproviderinstanceidentity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), enumvisibilityflags, pszsubcategory.into_param().abi(), pszproviderinstanceidentity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveInstance(&self, enumvisibilityflags: SystemVisibilityFlags, pszsubcategory: P0, pszproviderinstanceidentity: P1) -> ::windows_core::Result<()> where @@ -697,14 +697,14 @@ pub struct IProviderPublishing_Vtbl { impl IProviderQueryConstraintCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Get(&self, pszconstraintname: P0) -> ::windows_core::Result<*mut u16> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszconstraintname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), pszconstraintname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Item(&self, dwindex: u32, ppszconstraintname: *mut *mut u16, ppszconstraintvalue: *mut *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), dwindex, ppszconstraintname, ppszconstraintvalue).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Geolocation/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Geolocation/mod.rs index a9bea8e0b9..c4d1de6bda 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Geolocation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Geolocation/mod.rs @@ -3,44 +3,44 @@ impl ICivicAddressReport { pub unsafe fn GetSensorID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, pkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAddressLine1(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAddressLine1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAddressLine1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAddressLine2(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAddressLine2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAddressLine2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStateProvince(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStateProvince)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStateProvince)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPostalCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPostalCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPostalCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCountryRegion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountryRegion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountryRegion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDetailLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -69,18 +69,18 @@ impl ICivicAddressReportFactory { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportInterval(&self, millisecondsrequested: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetReportInterval)(::windows_core::Interface::as_raw(self), millisecondsrequested).ok() } pub unsafe fn DesiredAccuracy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredAccuracy(&self, desiredaccuracy: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDesiredAccuracy)(::windows_core::Interface::as_raw(self), desiredaccuracy).ok() @@ -91,7 +91,7 @@ impl ICivicAddressReportFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CivicAddressReport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CivicAddressReport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CivicAddressReport)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -115,7 +115,7 @@ impl IDefaultLocation { } pub unsafe fn GetReport(&self, reporttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -133,35 +133,35 @@ pub struct IDefaultLocation_Vtbl { impl IDispCivicAddressReport { pub unsafe fn AddressLine1(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressLine1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressLine1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddressLine2(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressLine2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressLine2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn City(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).City)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).City)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StateProvince(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StateProvince)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StateProvince)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PostalCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CountryRegion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryRegion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryRegion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DetailLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DetailLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DetailLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Timestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -186,27 +186,27 @@ pub struct IDispCivicAddressReport_Vtbl { impl IDispLatLongReport { pub unsafe fn Latitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Latitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Latitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Longitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Longitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Longitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ErrorRadius(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorRadius)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorRadius)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Altitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Altitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Altitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AltitudeError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AltitudeError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AltitudeError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Timestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -226,36 +226,36 @@ pub struct IDispLatLongReport_Vtbl { impl ILatLongReport { pub unsafe fn GetSensorID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, pkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLatitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLongitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLongitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLongitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorRadius(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorRadius)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorRadius)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAltitude(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAltitude)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAltitude)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAltitudeError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAltitudeError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAltitudeError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -282,18 +282,18 @@ impl ILatLongReportFactory { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportInterval(&self, millisecondsrequested: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetReportInterval)(::windows_core::Interface::as_raw(self), millisecondsrequested).ok() } pub unsafe fn DesiredAccuracy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredAccuracy(&self, desiredaccuracy: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDesiredAccuracy)(::windows_core::Interface::as_raw(self), desiredaccuracy).ok() @@ -304,7 +304,7 @@ impl ILatLongReportFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LatLongReport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LatLongReport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LatLongReport)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -331,15 +331,15 @@ impl ILocation { } pub unsafe fn GetReport(&self, reporttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReportStatus(&self, reporttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReportStatus)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReportStatus)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).map(|| result__) } pub unsafe fn GetReportInterval(&self, reporttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReportInterval)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReportInterval)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).map(|| result__) } pub unsafe fn SetReportInterval(&self, reporttype: *const ::windows_core::GUID, millisecondsrequested: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReportInterval)(::windows_core::Interface::as_raw(self), reporttype, millisecondsrequested).ok() @@ -347,7 +347,7 @@ impl ILocation { #[cfg(feature = "Win32_Devices_Sensors")] pub unsafe fn GetDesiredAccuracy(&self, reporttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDesiredAccuracy)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDesiredAccuracy)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Devices_Sensors")] pub unsafe fn SetDesiredAccuracy(&self, reporttype: *const ::windows_core::GUID, desiredaccuracy: super::Sensors::LOCATION_DESIRED_ACCURACY) -> ::windows_core::Result<()> { @@ -423,16 +423,16 @@ pub struct ILocationPower_Vtbl { impl ILocationReport { pub unsafe fn GetSensorID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, pkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -460,18 +460,18 @@ impl ILocationReportFactory { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportInterval(&self, millisecondsrequested: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReportInterval)(::windows_core::Interface::as_raw(self), millisecondsrequested).ok() } pub unsafe fn DesiredAccuracy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredAccuracy(&self, desiredaccuracy: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredAccuracy)(::windows_core::Interface::as_raw(self), desiredaccuracy).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Devices/HumanInterfaceDevice/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/HumanInterfaceDevice/mod.rs index 822c5dafbe..9c03f7bc56 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/HumanInterfaceDevice/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/HumanInterfaceDevice/mod.rs @@ -52,7 +52,7 @@ pub unsafe fn HidD_GetHidGuid() -> ::windows_core::GUID { ::windows_targets::link!("hid.dll" "system" fn HidD_GetHidGuid(hidguid : *mut ::windows_core::GUID)); let mut result__ = ::std::mem::zeroed(); HidD_GetHidGuid(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn HidD_GetIndexedString(hiddeviceobject: P0, stringindex: u32, buffer: *mut ::core::ffi::c_void, bufferlength: u32) -> super::super::Foundation::BOOLEAN diff --git a/crates/libs/windows/src/Windows/Win32/Devices/ImageAcquisition/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/ImageAcquisition/mod.rs index f1b855eddb..7642fabd0a 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/ImageAcquisition/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/ImageAcquisition/mod.rs @@ -12,11 +12,11 @@ impl IEnumWIA_DEV_CAPS { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -43,11 +43,11 @@ impl IEnumWIA_DEV_INFO { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -74,11 +74,11 @@ impl IEnumWIA_FORMAT_INFO { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -105,11 +105,11 @@ impl IEnumWiaItem { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -136,11 +136,11 @@ impl IEnumWiaItem2 { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -158,7 +158,7 @@ pub struct IEnumWiaItem2_Vtbl { impl IWiaAppErrorHandler { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportStatus(&self, lflags: i32, pwiaitem2: P0, hrstatus: ::windows_core::HRESULT, lpercentcomplete: i32) -> ::windows_core::Result<()> where @@ -208,7 +208,7 @@ impl IWiaDataTransfer { } pub unsafe fn idtEnumWIA_FORMAT_INFO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).idtEnumWIA_FORMAT_INFO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).idtEnumWIA_FORMAT_INFO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn idtGetExtendedTransferInfo(&self, pextendedtransferinfo: *mut WIA_EXTENDED_TRANSFER_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).idtGetExtendedTransferInfo)(::windows_core::Interface::as_raw(self), pextendedtransferinfo).ok() @@ -232,14 +232,14 @@ pub struct IWiaDataTransfer_Vtbl { impl IWiaDevMgr { pub unsafe fn EnumDeviceInfo(&self, lflag: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDeviceInfo)(::windows_core::Interface::as_raw(self), lflag, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDeviceInfo)(::windows_core::Interface::as_raw(self), lflag, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDevice(&self, bstrdeviceid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), bstrdeviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), bstrdeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectDeviceDlg(&self, hwndparent: P0, ldevicetype: i32, lflags: i32, pbstrdeviceid: *mut ::windows_core::BSTR, ppitemroot: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -277,7 +277,7 @@ impl IWiaDevMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterEventCallbackInterface)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), peventguid, piwiaeventcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterEventCallbackInterface)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), peventguid, piwiaeventcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterEventCallbackCLSID(&self, lflags: i32, bstrdeviceid: P0, peventguid: *const ::windows_core::GUID, pclsid: *const ::windows_core::GUID, bstrname: P1, bstrdescription: P2, bstricon: P3) -> ::windows_core::Result<()> where @@ -314,14 +314,14 @@ pub struct IWiaDevMgr_Vtbl { impl IWiaDevMgr2 { pub unsafe fn EnumDeviceInfo(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDeviceInfo)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDeviceInfo)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDevice(&self, lflags: i32, bstrdeviceid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectDeviceDlg(&self, hwndparent: P0, ldevicetype: i32, lflags: i32, pbstrdeviceid: *mut ::windows_core::BSTR, ppitemroot: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -341,7 +341,7 @@ impl IWiaDevMgr2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterEventCallbackInterface)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), peventguid, piwiaeventcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterEventCallbackInterface)(::windows_core::Interface::as_raw(self), lflags, bstrdeviceid.into_param().abi(), peventguid, piwiaeventcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterEventCallbackProgram(&self, lflags: i32, bstrdeviceid: P0, peventguid: *const ::windows_core::GUID, bstrfullappname: P1, bstrcommandlinearg: P2, bstrname: P3, bstrdescription: P4, bstricon: P5) -> ::windows_core::Result<()> where @@ -391,19 +391,19 @@ pub struct IWiaDevMgr2_Vtbl { impl IWiaDrvItem { pub unsafe fn GetItemFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceSpecContext(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceSpecContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceSpecContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFullItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddItemToFolder(&self, __midl__iwiadrvitem0004: P0) -> ::windows_core::Result<()> where @@ -422,30 +422,30 @@ impl IWiaDrvItem { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), __midl__iwiadrvitem0007, __midl__iwiadrvitem0008.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), __midl__iwiadrvitem0007, __midl__iwiadrvitem0008.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindChildItemByName(&self, __midl__iwiadrvitem0010: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindChildItemByName)(::windows_core::Interface::as_raw(self), __midl__iwiadrvitem0010.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindChildItemByName)(::windows_core::Interface::as_raw(self), __midl__iwiadrvitem0010.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstChildItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstChildItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstChildItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextSiblingItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextSiblingItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextSiblingItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DumpItemData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DumpItemData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DumpItemData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -481,7 +481,7 @@ impl IWiaErrorHandler { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatusDescription)(::windows_core::Interface::as_raw(self), lflags, pwiaitem2.into_param().abi(), hrstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatusDescription)(::windows_core::Interface::as_raw(self), lflags, pwiaitem2.into_param().abi(), hrstatus, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -558,14 +558,14 @@ pub struct IWiaImageFilter_Vtbl { impl IWiaItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AnalyzeItem(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AnalyzeItem)(::windows_core::Interface::as_raw(self), lflags).ok() } pub unsafe fn EnumChildItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumChildItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumChildItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteItem)(::windows_core::Interface::as_raw(self), lflags).ok() @@ -576,18 +576,18 @@ impl IWiaItem { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChildItem)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChildItem)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumRegisterEventInfo(&self, lflags: i32, peventguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterEventInfo)(::windows_core::Interface::as_raw(self), lflags, peventguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterEventInfo)(::windows_core::Interface::as_raw(self), lflags, peventguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindItemByName(&self, lflags: i32, bstrfullitemname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), lflags, bstrfullitemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), lflags, bstrfullitemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceDlg(&self, hwndparent: P0, lflags: i32, lintent: i32, plitemcount: *mut i32, ppiwiaitem: *mut *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -600,23 +600,23 @@ impl IWiaItem { } pub unsafe fn GetRootItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDeviceCapabilities(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDeviceCapabilities)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDeviceCapabilities)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DumpItemData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DumpItemData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DumpItemData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DumpDrvItemData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DumpDrvItemData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DumpDrvItemData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DumpTreeItemData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DumpTreeItemData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DumpTreeItemData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Diagnostic(&self, pbuffer: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Diagnostic)(::windows_core::Interface::as_raw(self), pbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbuffer.as_ptr())).ok() @@ -650,29 +650,29 @@ impl IWiaItem2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChildItem)(::windows_core::Interface::as_raw(self), litemflags, lcreationflags, bstritemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChildItem)(::windows_core::Interface::as_raw(self), litemflags, lcreationflags, bstritemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteItem)(::windows_core::Interface::as_raw(self), lflags).ok() } pub unsafe fn EnumChildItems(&self, pcategoryguid: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumChildItems)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pcategoryguid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumChildItems)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pcategoryguid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindItemByName(&self, lflags: i32, bstrfullitemname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), lflags, bstrfullitemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByName)(::windows_core::Interface::as_raw(self), lflags, bstrfullitemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemCategory(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceDlg(&self, lflags: i32, hwndparent: P0, bstrfoldername: P1, bstrfilename: P2, plnumfiles: *mut i32, ppbstrfilepaths: *mut *mut ::windows_core::BSTR, ppitem: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -687,7 +687,7 @@ impl IWiaItem2 { } pub unsafe fn EnumDeviceCapabilities(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDeviceCapabilities)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDeviceCapabilities)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckExtension(&self, lflags: i32, bstrname: P0, riidextensioninterface: *const ::windows_core::GUID, pbextensionexists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -703,19 +703,19 @@ impl IWiaItem2 { } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreviewComponent(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviewComponent)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviewComponent)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumRegisterEventInfo(&self, lflags: i32, peventguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterEventInfo)(::windows_core::Interface::as_raw(self), lflags, peventguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterEventInfo)(::windows_core::Interface::as_raw(self), lflags, peventguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Diagnostic(&self, pbuffer: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Diagnostic)(::windows_core::Interface::as_raw(self), pbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbuffer.as_ptr())).ok() @@ -747,7 +747,7 @@ pub struct IWiaItem2_Vtbl { impl IWiaItemExtras { pub unsafe fn GetExtendedErrorInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtendedErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtendedErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Escape(&self, dwescapecode: u32, lpindata: &[u8], poutdata: &mut [u8], pdwactualdatasize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Escape)(::windows_core::Interface::as_raw(self), dwescapecode, ::core::mem::transmute(lpindata.as_ptr()), lpindata.len().try_into().unwrap(), ::core::mem::transmute(poutdata.as_ptr()), poutdata.len().try_into().unwrap(), pdwactualdatasize).ok() @@ -840,29 +840,29 @@ impl IWiaMiniDrv { } pub unsafe fn drvInitItemProperties(&self, __midl__iwiaminidrv0013: *const u8, __midl__iwiaminidrv0014: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvInitItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0013, __midl__iwiaminidrv0014, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvInitItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0013, __midl__iwiaminidrv0014, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn drvValidateItemProperties(&self, __midl__iwiaminidrv0016: *const u8, __midl__iwiaminidrv0017: i32, __midl__iwiaminidrv0018: u32, __midl__iwiaminidrv0019: *const super::super::System::Com::StructuredStorage::PROPSPEC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvValidateItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0016, __midl__iwiaminidrv0017, __midl__iwiaminidrv0018, __midl__iwiaminidrv0019, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvValidateItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0016, __midl__iwiaminidrv0017, __midl__iwiaminidrv0018, __midl__iwiaminidrv0019, &mut result__).map(|| result__) } pub unsafe fn drvWriteItemProperties(&self, __midl__iwiaminidrv0021: *const u8, __midl__iwiaminidrv0022: i32, __midl__iwiaminidrv0023: *const MINIDRV_TRANSFER_CONTEXT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvWriteItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0021, __midl__iwiaminidrv0022, __midl__iwiaminidrv0023, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvWriteItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0021, __midl__iwiaminidrv0022, __midl__iwiaminidrv0023, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn drvReadItemProperties(&self, __midl__iwiaminidrv0025: *const u8, __midl__iwiaminidrv0026: i32, __midl__iwiaminidrv0027: u32, __midl__iwiaminidrv0028: *const super::super::System::Com::StructuredStorage::PROPSPEC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvReadItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0025, __midl__iwiaminidrv0026, __midl__iwiaminidrv0027, __midl__iwiaminidrv0028, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvReadItemProperties)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0025, __midl__iwiaminidrv0026, __midl__iwiaminidrv0027, __midl__iwiaminidrv0028, &mut result__).map(|| result__) } pub unsafe fn drvLockWiaDevice(&self, __midl__iwiaminidrv0030: *const u8, __midl__iwiaminidrv0031: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvLockWiaDevice)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0030, __midl__iwiaminidrv0031, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvLockWiaDevice)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0030, __midl__iwiaminidrv0031, &mut result__).map(|| result__) } pub unsafe fn drvUnLockWiaDevice(&self, __midl__iwiaminidrv0033: *const u8, __midl__iwiaminidrv0034: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvUnLockWiaDevice)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0033, __midl__iwiaminidrv0034, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvUnLockWiaDevice)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0033, __midl__iwiaminidrv0034, &mut result__).map(|| result__) } pub unsafe fn drvAnalyzeItem(&self, __midl__iwiaminidrv0036: *const u8, __midl__iwiaminidrv0037: i32, __midl__iwiaminidrv0038: *const i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).drvAnalyzeItem)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0036, __midl__iwiaminidrv0037, __midl__iwiaminidrv0038).ok() @@ -878,11 +878,11 @@ impl IWiaMiniDrv { } pub unsafe fn drvDeleteItem(&self, __midl__iwiaminidrv0053: *const u8, __midl__iwiaminidrv0054: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvDeleteItem)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0053, __midl__iwiaminidrv0054, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvDeleteItem)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0053, __midl__iwiaminidrv0054, &mut result__).map(|| result__) } pub unsafe fn drvFreeDrvItemContext(&self, __midl__iwiaminidrv0056: i32, __midl__iwiaminidrv0057: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).drvFreeDrvItemContext)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0056, __midl__iwiaminidrv0057, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).drvFreeDrvItemContext)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0056, __midl__iwiaminidrv0057, &mut result__).map(|| result__) } pub unsafe fn drvGetWiaFormatInfo(&self, __midl__iwiaminidrv0059: *const u8, __midl__iwiaminidrv0060: i32, __midl__iwiaminidrv0061: *mut i32, __midl__iwiaminidrv0062: *mut *mut WIA_FORMAT_INFO, __midl__iwiaminidrv0063: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).drvGetWiaFormatInfo)(::windows_core::Interface::as_raw(self), __midl__iwiaminidrv0059, __midl__iwiaminidrv0060, __midl__iwiaminidrv0061, __midl__iwiaminidrv0062, __midl__iwiaminidrv0063).ok() @@ -948,7 +948,7 @@ impl IWiaMiniDrvTransferCallback { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextStream)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextStream)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendMessage(&self, lflags: i32, pwiatransferparams: *const WiaTransferParams) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendMessage)(::windows_core::Interface::as_raw(self), lflags, pwiatransferparams).ok() @@ -1043,7 +1043,7 @@ impl IWiaPropertyStorage { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn Enum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTimes(&self, pctime: *const super::super::Foundation::FILETIME, patime: *const super::super::Foundation::FILETIME, pmtime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimes)(::windows_core::Interface::as_raw(self), pctime, patime, pmtime).ok() @@ -1061,7 +1061,7 @@ impl IWiaPropertyStorage { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPropertyStream(&self, pcompatibilityid: *mut ::windows_core::GUID, ppistream: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -1163,7 +1163,7 @@ impl IWiaTransfer { } pub unsafe fn EnumWIA_FORMAT_INFO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumWIA_FORMAT_INFO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumWIA_FORMAT_INFO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1191,7 +1191,7 @@ impl IWiaTransferCallback { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextStream)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextStream)(::windows_core::Interface::as_raw(self), lflags, bstritemname.into_param().abi(), bstrfullitemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1268,7 +1268,7 @@ pub struct IWiaUIExtension2_Vtbl { impl IWiaVideo { pub unsafe fn PreviewVisible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreviewVisible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreviewVisible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreviewVisible(&self, bpreviewvisible: P0) -> ::windows_core::Result<()> where @@ -1278,7 +1278,7 @@ impl IWiaVideo { } pub unsafe fn ImagesDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImagesDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImagesDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetImagesDirectory(&self, bstrimagedirectory: P0) -> ::windows_core::Result<()> where @@ -1323,7 +1323,7 @@ impl IWiaVideo { } pub unsafe fn TakePicture(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TakePicture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TakePicture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResizeVideo(&self, bstretchtofitparent: P0) -> ::windows_core::Result<()> where @@ -1333,7 +1333,7 @@ impl IWiaVideo { } pub unsafe fn GetCurrentState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Devices/PortableDevices/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/PortableDevices/mod.rs index a1dc0a9bfb..b9999ac49c 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/PortableDevices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/PortableDevices/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("dmprocessxmlfiltered.dll" "system" fn DMProcessConfigXMLFiltered(pszxmlin : ::windows_core::PCWSTR, rgszallowedcspnodes : *const ::windows_core::PCWSTR, dwnumallowedcspnodes : u32, pbstrxmlout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DMProcessConfigXMLFiltered(pszxmlin.into_param().abi(), ::core::mem::transmute(rgszallowedcspnodes.as_ptr()), rgszallowedcspnodes.len().try_into().unwrap(), &mut result__).from_abi(result__) + DMProcessConfigXMLFiltered(pszxmlin.into_param().abi(), ::core::mem::transmute(rgszallowedcspnodes.as_ptr()), rgszallowedcspnodes.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IConnectionRequestCallback, IConnectionRequestCallback_Vtbl, 0x272c9ae0_7161_4ae0_91bd_9f448ee9c427); ::windows_core::imp::interface_hierarchy!(IConnectionRequestCallback, ::windows_core::IUnknown); @@ -34,7 +34,7 @@ impl IEnumPortableDeviceConnectors { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -60,7 +60,7 @@ impl IEnumPortableDeviceObjectIDs { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -81,7 +81,7 @@ pub struct IEnumPortableDeviceObjectIDs_Vtbl { impl IMediaRadioManager { pub unsafe fn GetRadioInstances(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadioInstances)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadioInstances)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnSystemRadioStateChange(&self, sysradiostate: SYSTEM_RADIO_STATE, utimeoutsec: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnSystemRadioStateChange)(::windows_core::Interface::as_raw(self), sysradiostate, utimeoutsec).ok() @@ -139,15 +139,15 @@ impl IPortableDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendCommand)(::windows_core::Interface::as_raw(self), dwflags, pparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendCommand)(::windows_core::Interface::as_raw(self), dwflags, pparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Content(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Capabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -161,7 +161,7 @@ impl IPortableDevice { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), dwflags, pcallback.into_param().abi(), pparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), dwflags, pcallback.into_param().abi(), pparameters.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, pszcookie: P0) -> ::windows_core::Result<()> where @@ -171,7 +171,7 @@ impl IPortableDevice { } pub unsafe fn GetPnPDeviceID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPnPDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPnPDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -193,48 +193,48 @@ pub struct IPortableDevice_Vtbl { impl IPortableDeviceCapabilities { pub unsafe fn GetSupportedCommands(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCommandOptions(&self, command: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCommandOptions)(::windows_core::Interface::as_raw(self), command, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCommandOptions)(::windows_core::Interface::as_raw(self), command, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionalCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionalCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionalCategories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionalObjects(&self, category: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionalObjects)(::windows_core::Interface::as_raw(self), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionalObjects)(::windows_core::Interface::as_raw(self), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedContentTypes(&self, category: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedContentTypes)(::windows_core::Interface::as_raw(self), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedContentTypes)(::windows_core::Interface::as_raw(self), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedFormats(&self, contenttype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedFormats)(::windows_core::Interface::as_raw(self), contenttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedFormats)(::windows_core::Interface::as_raw(self), contenttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedFormatProperties(&self, format: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedFormatProperties)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedFormatProperties)(::windows_core::Interface::as_raw(self), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetFixedPropertyAttributes(&self, format: *const ::windows_core::GUID, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFixedPropertyAttributes)(::windows_core::Interface::as_raw(self), format, key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFixedPropertyAttributes)(::windows_core::Interface::as_raw(self), format, key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetSupportedEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedEvents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEventOptions(&self, event: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventOptions)(::windows_core::Interface::as_raw(self), event, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventOptions)(::windows_core::Interface::as_raw(self), event, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -290,7 +290,7 @@ impl IPortableDeviceConnector { } pub unsafe fn GetPnPID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPnPID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPnPID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -319,15 +319,15 @@ impl IPortableDeviceContent { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumObjects)(::windows_core::Interface::as_raw(self), dwflags, pszparentobjectid.into_param().abi(), pfilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumObjects)(::windows_core::Interface::as_raw(self), dwflags, pszparentobjectid.into_param().abi(), pfilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Transfer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Transfer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Transfer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateObjectWithPropertiesOnly(&self, pvalues: P0, ppszobjectid: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> where @@ -353,7 +353,7 @@ impl IPortableDeviceContent { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectIDsFromPersistentUniqueIDs)(::windows_core::Interface::as_raw(self), ppersistentuniqueids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectIDsFromPersistentUniqueIDs)(::windows_core::Interface::as_raw(self), ppersistentuniqueids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -400,15 +400,15 @@ impl IPortableDeviceContent2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumObjects)(::windows_core::Interface::as_raw(self), dwflags, pszparentobjectid.into_param().abi(), pfilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumObjects)(::windows_core::Interface::as_raw(self), dwflags, pszparentobjectid.into_param().abi(), pfilter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Transfer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Transfer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Transfer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateObjectWithPropertiesOnly(&self, pvalues: P0, ppszobjectid: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> where @@ -434,7 +434,7 @@ impl IPortableDeviceContent2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectIDsFromPersistentUniqueIDs)(::windows_core::Interface::as_raw(self), ppersistentuniqueids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectIDsFromPersistentUniqueIDs)(::windows_core::Interface::as_raw(self), ppersistentuniqueids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -523,11 +523,11 @@ impl IPortableDeviceDataStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -550,7 +550,7 @@ impl IPortableDeviceDispatchFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceDispatch)(::windows_core::Interface::as_raw(self), pszpnpdeviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceDispatch)(::windows_core::Interface::as_raw(self), pszpnpdeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -679,7 +679,7 @@ impl IPortableDevicePropVariantCollection { } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeType(&self, vt: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ChangeType)(::windows_core::Interface::as_raw(self), vt).ok() @@ -711,7 +711,7 @@ impl IPortableDeviceProperties { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedProperties)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedProperties)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyAttributes(&self, pszobjectid: P0, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result @@ -719,7 +719,7 @@ impl IPortableDeviceProperties { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyAttributes)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyAttributes)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValues(&self, pszobjectid: P0, pkeys: P1) -> ::windows_core::Result where @@ -727,7 +727,7 @@ impl IPortableDeviceProperties { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValues)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), pkeys.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValues)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), pkeys.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValues(&self, pszobjectid: P0, pvalues: P1) -> ::windows_core::Result where @@ -735,7 +735,7 @@ impl IPortableDeviceProperties { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetValues)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), pvalues.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetValues)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), pvalues.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, pszobjectid: P0, pkeys: P1) -> ::windows_core::Result<()> where @@ -772,7 +772,7 @@ impl IPortableDevicePropertiesBulk { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGetValuesByObjectList)(::windows_core::Interface::as_raw(self), pobjectids.into_param().abi(), pkeys.into_param().abi(), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGetValuesByObjectList)(::windows_core::Interface::as_raw(self), pobjectids.into_param().abi(), pkeys.into_param().abi(), pcallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn QueueGetValuesByObjectFormat(&self, pguidobjectformat: *const ::windows_core::GUID, pszparentobjectid: P0, dwdepth: u32, pkeys: P1, pcallback: P2) -> ::windows_core::Result<::windows_core::GUID> where @@ -781,7 +781,7 @@ impl IPortableDevicePropertiesBulk { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGetValuesByObjectFormat)(::windows_core::Interface::as_raw(self), pguidobjectformat, pszparentobjectid.into_param().abi(), dwdepth, pkeys.into_param().abi(), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGetValuesByObjectFormat)(::windows_core::Interface::as_raw(self), pguidobjectformat, pszparentobjectid.into_param().abi(), dwdepth, pkeys.into_param().abi(), pcallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn QueueSetValuesByObjectList(&self, pobjectvalues: P0, pcallback: P1) -> ::windows_core::Result<::windows_core::GUID> where @@ -789,7 +789,7 @@ impl IPortableDevicePropertiesBulk { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueSetValuesByObjectList)(::windows_core::Interface::as_raw(self), pobjectvalues.into_param().abi(), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueSetValuesByObjectList)(::windows_core::Interface::as_raw(self), pobjectvalues.into_param().abi(), pcallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Start(&self, pcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self), pcontext).ok() @@ -840,7 +840,7 @@ impl IPortableDeviceResources { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedResources)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedResources)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetResourceAttributes(&self, pszobjectid: P0, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result @@ -848,7 +848,7 @@ impl IPortableDeviceResources { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceAttributes)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceAttributes)(::windows_core::Interface::as_raw(self), pszobjectid.into_param().abi(), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetStream(&self, pszobjectid: P0, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, dwmode: u32, pdwoptimalbuffersize: *mut u32, ppstream: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -907,15 +907,15 @@ impl IPortableDeviceService { } pub unsafe fn Capabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Content(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Methods(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Methods)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Methods)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -925,11 +925,11 @@ impl IPortableDeviceService { } pub unsafe fn GetServiceObjectID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceObjectID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceObjectID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPnPServiceID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPnPServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPnPServiceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, dwflags: u32, pcallback: P0, pparameters: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -937,7 +937,7 @@ impl IPortableDeviceService { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), dwflags, pcallback.into_param().abi(), pparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), dwflags, pcallback.into_param().abi(), pparameters.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, pszcookie: P0) -> ::windows_core::Result<()> where @@ -950,7 +950,7 @@ impl IPortableDeviceService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendCommand)(::windows_core::Interface::as_raw(self), dwflags, pparameters.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendCommand)(::windows_core::Interface::as_raw(self), dwflags, pparameters.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -996,67 +996,67 @@ pub struct IPortableDeviceServiceActivation_Vtbl { impl IPortableDeviceServiceCapabilities { pub unsafe fn GetSupportedMethods(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedMethods)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedMethods)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedMethodsByFormat(&self, format: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedMethodsByFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedMethodsByFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMethodAttributes(&self, method: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMethodAttributes)(::windows_core::Interface::as_raw(self), method, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMethodAttributes)(::windows_core::Interface::as_raw(self), method, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetMethodParameterAttributes(&self, method: *const ::windows_core::GUID, parameter: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMethodParameterAttributes)(::windows_core::Interface::as_raw(self), method, parameter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMethodParameterAttributes)(::windows_core::Interface::as_raw(self), method, parameter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedFormats)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFormatAttributes(&self, format: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatAttributes)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatAttributes)(::windows_core::Interface::as_raw(self), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedFormatProperties(&self, format: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedFormatProperties)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedFormatProperties)(::windows_core::Interface::as_raw(self), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetFormatPropertyAttributes(&self, format: *const ::windows_core::GUID, property: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatPropertyAttributes)(::windows_core::Interface::as_raw(self), format, property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatPropertyAttributes)(::windows_core::Interface::as_raw(self), format, property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedEvents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEventAttributes(&self, event: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventAttributes)(::windows_core::Interface::as_raw(self), event, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventAttributes)(::windows_core::Interface::as_raw(self), event, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetEventParameterAttributes(&self, event: *const ::windows_core::GUID, parameter: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventParameterAttributes)(::windows_core::Interface::as_raw(self), event, parameter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventParameterAttributes)(::windows_core::Interface::as_raw(self), event, parameter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInheritedServices(&self, dwinheritancetype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInheritedServices)(::windows_core::Interface::as_raw(self), dwinheritancetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInheritedServices)(::windows_core::Interface::as_raw(self), dwinheritancetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFormatRenderingProfiles(&self, format: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatRenderingProfiles)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatRenderingProfiles)(::windows_core::Interface::as_raw(self), format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSupportedCommands(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCommandOptions(&self, command: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCommandOptions)(::windows_core::Interface::as_raw(self), command, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCommandOptions)(::windows_core::Interface::as_raw(self), command, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -1109,7 +1109,7 @@ impl IPortableDeviceServiceManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceForService)(::windows_core::Interface::as_raw(self), pszpnpserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceForService)(::windows_core::Interface::as_raw(self), pszpnpserviceid.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1213,7 +1213,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetStringValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: P0) -> ::windows_core::Result<()> @@ -1225,7 +1225,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetStringValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetUnsignedIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: u32) -> ::windows_core::Result<()> { @@ -1234,7 +1234,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetUnsignedIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnsignedIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnsignedIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetSignedIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: i32) -> ::windows_core::Result<()> { @@ -1243,7 +1243,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSignedIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignedIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignedIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetUnsignedLargeIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: u64) -> ::windows_core::Result<()> { @@ -1252,7 +1252,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetUnsignedLargeIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnsignedLargeIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnsignedLargeIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetSignedLargeIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: i64) -> ::windows_core::Result<()> { @@ -1261,7 +1261,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSignedLargeIntegerValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignedLargeIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignedLargeIntegerValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetFloatValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: f32) -> ::windows_core::Result<()> { @@ -1270,7 +1270,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetFloatValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFloatValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFloatValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetErrorValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: ::windows_core::HRESULT) -> ::windows_core::Result<()> { @@ -1279,7 +1279,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetErrorValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetKeyValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> { @@ -1299,7 +1299,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetBoolValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoolValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoolValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetIUnknownValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalue: P0) -> ::windows_core::Result<()> @@ -1311,7 +1311,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetIUnknownValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIUnknownValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIUnknownValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetGuidValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, value: *const ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1320,7 +1320,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetGuidValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuidValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuidValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetBufferValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalue: &[u8]) -> ::windows_core::Result<()> { @@ -1340,7 +1340,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetIPortableDeviceValuesValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetIPortableDevicePropVariantCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalue: P0) -> ::windows_core::Result<()> @@ -1352,7 +1352,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetIPortableDevicePropVariantCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIPortableDevicePropVariantCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIPortableDevicePropVariantCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetIPortableDeviceKeyCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalue: P0) -> ::windows_core::Result<()> @@ -1364,7 +1364,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetIPortableDeviceKeyCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIPortableDeviceKeyCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIPortableDeviceKeyCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetIPortableDeviceValuesCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalue: P0) -> ::windows_core::Result<()> @@ -1376,7 +1376,7 @@ impl IPortableDeviceValues { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetIPortableDeviceValuesCollectionValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesCollectionValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn RemoveValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> { @@ -1567,7 +1567,7 @@ impl IPortableDeviceValuesCollection { } pub unsafe fn GetAt(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, pvalues: P0) -> ::windows_core::Result<()> where @@ -1604,7 +1604,7 @@ impl IPortableDeviceWebControl { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceFromId)(::windows_core::Interface::as_raw(self), deviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceFromId)(::windows_core::Interface::as_raw(self), deviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDeviceFromIdAsync(&self, deviceid: P0, pcompletionhandler: P1, perrorhandler: P2) -> ::windows_core::Result<()> @@ -1635,19 +1635,19 @@ pub struct IPortableDeviceWebControl_Vtbl { impl IRadioInstance { pub unsafe fn GetRadioManagerSignature(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadioManagerSignature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadioManagerSignature)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInstanceSignature(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceSignature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceSignature)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFriendlyName(&self, lcid: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRadioState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadioState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadioState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadioState(&self, radiostate: DEVICE_RADIO_STATE, utimeoutsec: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadioState)(::windows_core::Interface::as_raw(self), radiostate, utimeoutsec).ok() @@ -1676,11 +1676,11 @@ pub struct IRadioInstance_Vtbl { impl IRadioInstanceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, uindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1695,7 +1695,7 @@ pub struct IRadioInstanceCollection_Vtbl { impl IWpdSerializer { pub unsafe fn GetIPortableDeviceValuesFromBuffer(&self, pbuffer: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesFromBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIPortableDeviceValuesFromBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WriteIPortableDeviceValuesToBuffer(&self, presults: P0, pbuffer: &mut [u8], pdwbyteswritten: *mut u32) -> ::windows_core::Result<()> where @@ -1714,7 +1714,7 @@ impl IWpdSerializer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSerializedSize)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSerializedSize)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Sensors/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Sensors/mod.rs index 53b0ca2b7d..9da74e5053 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Sensors/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Sensors/mod.rs @@ -78,13 +78,13 @@ pub unsafe fn GetPerformanceTime(timems: *mut u32) -> super::super::Foundation:: pub unsafe fn InitPropVariantFromCLSIDArray(members: &[::windows_core::GUID]) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("sensorsutilsv2.dll" "system" fn InitPropVariantFromCLSIDArray(members : *const ::windows_core::GUID, size : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromCLSIDArray(::core::mem::transmute(members.as_ptr()), members.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitPropVariantFromCLSIDArray(::core::mem::transmute(members.as_ptr()), members.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromFloat(fltval: f32) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("sensorsutilsv2.dll" "system" fn InitPropVariantFromFloat(fltval : f32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromFloat(fltval, &mut result__).from_abi(result__) + InitPropVariantFromFloat(fltval, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] #[inline] @@ -243,7 +243,7 @@ pub unsafe fn SerializationBufferFree(buffer: ::core::option::Option<*const u8>) impl ILocationPermissions { pub unsafe fn GetGlobalLocationPermission(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlobalLocationPermission)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlobalLocationPermission)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CheckLocationCapability(&self, dwclientthreadid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckLocationCapability)(::windows_core::Interface::as_raw(self), dwclientthreadid).ok() @@ -261,24 +261,24 @@ pub struct ILocationPermissions_Vtbl { impl ISensor { pub unsafe fn GetID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperty(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Devices_PortableDevices")] pub unsafe fn GetProperties(&self, pkeys: P0) -> ::windows_core::Result @@ -286,12 +286,12 @@ impl ISensor { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), pkeys.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), pkeys.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Devices_PortableDevices")] pub unsafe fn GetSupportedDataFields(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedDataFields)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedDataFields)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Devices_PortableDevices")] pub unsafe fn SetProperties(&self, pproperties: P0) -> ::windows_core::Result @@ -299,24 +299,24 @@ impl ISensor { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetProperties)(::windows_core::Interface::as_raw(self), pproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetProperties)(::windows_core::Interface::as_raw(self), pproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SupportsDataField(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsDataField)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsDataField)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsEvent(&self, eventguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsEvent)(::windows_core::Interface::as_raw(self), eventguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsEvent)(::windows_core::Interface::as_raw(self), eventguid, &mut result__).map(|| result__) } pub unsafe fn GetEventInterest(&self, ppvalues: *mut *mut ::windows_core::GUID, pcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), ppvalues, pcount).ok() @@ -371,11 +371,11 @@ pub struct ISensor_Vtbl { impl ISensorCollection { pub unsafe fn GetAt(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Add(&self, psensor: P0) -> ::windows_core::Result<()> where @@ -412,12 +412,12 @@ pub struct ISensorCollection_Vtbl { impl ISensorDataReport { pub unsafe fn GetTimestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSensorValue(&self, pkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorValue)(::windows_core::Interface::as_raw(self), pkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Devices_PortableDevices")] pub unsafe fn GetSensorValues(&self, pkeys: P0) -> ::windows_core::Result @@ -425,7 +425,7 @@ impl ISensorDataReport { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorValues)(::windows_core::Interface::as_raw(self), pkeys.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorValues)(::windows_core::Interface::as_raw(self), pkeys.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -487,15 +487,15 @@ pub struct ISensorEvents_Vtbl { impl ISensorManager { pub unsafe fn GetSensorsByCategory(&self, sensorcategory: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorsByCategory)(::windows_core::Interface::as_raw(self), sensorcategory, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorsByCategory)(::windows_core::Interface::as_raw(self), sensorcategory, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSensorsByType(&self, sensortype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorsByType)(::windows_core::Interface::as_raw(self), sensortype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorsByType)(::windows_core::Interface::as_raw(self), sensortype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSensorByID(&self, sensorid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorByID)(::windows_core::Interface::as_raw(self), sensorid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorByID)(::windows_core::Interface::as_raw(self), sensorid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventSink(&self, pevents: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Devices/Tapi/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/Tapi/mod.rs index 0435f8fae4..20f70b0fbb 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/Tapi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/Tapi/mod.rs @@ -1663,7 +1663,7 @@ impl IEnumACDGroup { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1693,7 +1693,7 @@ impl IEnumAddress { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1723,7 +1723,7 @@ impl IEnumAgent { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1753,7 +1753,7 @@ impl IEnumAgentHandler { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1783,7 +1783,7 @@ impl IEnumAgentSession { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1812,7 +1812,7 @@ impl IEnumBstr { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1839,7 +1839,7 @@ impl IEnumCall { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1869,7 +1869,7 @@ impl IEnumCallHub { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1899,7 +1899,7 @@ impl IEnumCallingCard { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1928,7 +1928,7 @@ impl IEnumDialableAddrs { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1955,7 +1955,7 @@ impl IEnumDirectory { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1985,7 +1985,7 @@ impl IEnumDirectoryObject { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2015,7 +2015,7 @@ impl IEnumLocation { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2045,7 +2045,7 @@ impl IEnumMcastScope { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2075,7 +2075,7 @@ impl IEnumPhone { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2105,7 +2105,7 @@ impl IEnumPluggableSuperclassInfo { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2135,7 +2135,7 @@ impl IEnumPluggableTerminalClassInfo { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2165,7 +2165,7 @@ impl IEnumQueue { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2195,7 +2195,7 @@ impl IEnumStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2225,7 +2225,7 @@ impl IEnumSubStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2255,7 +2255,7 @@ impl IEnumTerminal { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2284,7 +2284,7 @@ impl IEnumTerminalClass { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2304,11 +2304,11 @@ pub struct IEnumTerminalClass_Vtbl { impl IMcastAddressAllocation { pub unsafe fn Scopes(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scopes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateScopes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateScopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateScopes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RequestAddress(&self, pscope: P0, leasestarttime: f64, leasestoptime: f64, numaddresses: i32) -> ::windows_core::Result @@ -2316,7 +2316,7 @@ impl IMcastAddressAllocation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestAddress)(::windows_core::Interface::as_raw(self), pscope.into_param().abi(), leasestarttime, leasestoptime, numaddresses, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAddress)(::windows_core::Interface::as_raw(self), pscope.into_param().abi(), leasestarttime, leasestoptime, numaddresses, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RenewAddress(&self, lreserved: i32, prenewrequest: P0) -> ::windows_core::Result @@ -2324,7 +2324,7 @@ impl IMcastAddressAllocation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RenewAddress)(::windows_core::Interface::as_raw(self), lreserved, prenewrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RenewAddress)(::windows_core::Interface::as_raw(self), lreserved, prenewrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReleaseAddress(&self, preleaserequest: P0) -> ::windows_core::Result<()> @@ -2340,7 +2340,7 @@ impl IMcastAddressAllocation { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLeaseInfo)(::windows_core::Interface::as_raw(self), leasestarttime, leasestoptime, dwnumaddresses, ppaddresses, prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLeaseInfo)(::windows_core::Interface::as_raw(self), leasestarttime, leasestoptime, dwnumaddresses, ppaddresses, prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateLeaseInfoFromVariant(&self, leasestarttime: f64, leasestoptime: f64, vaddresses: P0, prequestid: P1, pserveraddress: P2) -> ::windows_core::Result @@ -2350,7 +2350,7 @@ impl IMcastAddressAllocation { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLeaseInfoFromVariant)(::windows_core::Interface::as_raw(self), leasestarttime, leasestoptime, vaddresses.into_param().abi(), prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLeaseInfoFromVariant)(::windows_core::Interface::as_raw(self), leasestarttime, leasestoptime, vaddresses.into_param().abi(), prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2389,41 +2389,41 @@ pub struct IMcastAddressAllocation_Vtbl { impl IMcastLeaseInfo { pub unsafe fn RequestID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LeaseStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LeaseStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LeaseStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeaseStartTime(&self, time: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeaseStartTime)(::windows_core::Interface::as_raw(self), time).ok() } pub unsafe fn LeaseStopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LeaseStopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LeaseStopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeaseStopTime(&self, time: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeaseStopTime)(::windows_core::Interface::as_raw(self), time).ok() } pub unsafe fn AddressCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServerAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TTL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TTL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TTL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Addresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2450,23 +2450,23 @@ pub struct IMcastLeaseInfo_Vtbl { impl IMcastScope { pub unsafe fn ScopeID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScopeID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScopeID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServerID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InterfaceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScopeDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScopeDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScopeDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TTL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TTL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TTL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2488,15 +2488,15 @@ pub struct IMcastScope_Vtbl { impl ITACDGroup { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateQueues(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateQueues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateQueues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Queues(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Queues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Queues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2517,11 +2517,11 @@ impl ITACDGroupEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Group(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2541,7 +2541,7 @@ impl ITAMMediaFormat { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaFormat(&self) -> ::windows_core::Result<*mut super::super::Media::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaFormat(&self, pmt: *const super::super::Media::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -2570,16 +2570,16 @@ impl ITASRTerminalEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2605,20 +2605,20 @@ pub struct ITASRTerminalEvent_Vtbl { impl ITAddress { pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddressName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TAPIObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateCall(&self, pdestaddress: P0, laddresstype: i32, lmediatypes: i32) -> ::windows_core::Result @@ -2626,24 +2626,24 @@ impl ITAddress { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCall)(::windows_core::Interface::as_raw(self), pdestaddress.into_param().abi(), laddresstype, lmediatypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCall)(::windows_core::Interface::as_raw(self), pdestaddress.into_param().abi(), laddresstype, lmediatypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Calls(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Calls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Calls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DialableAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DialableAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DialableAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateForwardInfoObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateForwardInfoObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForwardInfoObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Forward(&self, pforwardinfo: P0, pcall: P1) -> ::windows_core::Result<()> @@ -2656,7 +2656,7 @@ impl ITAddress { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentForwardInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentForwardInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentForwardInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMessageWaiting(&self, fmessagewaiting: P0) -> ::windows_core::Result<()> where @@ -2666,7 +2666,7 @@ impl ITAddress { } pub unsafe fn MessageWaiting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageWaiting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageWaiting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDoNotDisturb(&self, fdonotdisturb: P0) -> ::windows_core::Result<()> where @@ -2676,7 +2676,7 @@ impl ITAddress { } pub unsafe fn DoNotDisturb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoNotDisturb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoNotDisturb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2723,20 +2723,20 @@ pub struct ITAddress_Vtbl { impl ITAddress2 { pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddressName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddressName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddressName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TAPIObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateCall(&self, pdestaddress: P0, laddresstype: i32, lmediatypes: i32) -> ::windows_core::Result @@ -2744,24 +2744,24 @@ impl ITAddress2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCall)(::windows_core::Interface::as_raw(self), pdestaddress.into_param().abi(), laddresstype, lmediatypes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCall)(::windows_core::Interface::as_raw(self), pdestaddress.into_param().abi(), laddresstype, lmediatypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Calls(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Calls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Calls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DialableAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DialableAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DialableAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateForwardInfoObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateForwardInfoObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateForwardInfoObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Forward(&self, pforwardinfo: P0, pcall: P1) -> ::windows_core::Result<()> @@ -2774,7 +2774,7 @@ impl ITAddress2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentForwardInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentForwardInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentForwardInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMessageWaiting(&self, fmessagewaiting: P0) -> ::windows_core::Result<()> where @@ -2784,7 +2784,7 @@ impl ITAddress2 { } pub unsafe fn MessageWaiting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MessageWaiting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MessageWaiting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDoNotDisturb(&self, fdonotdisturb: P0) -> ::windows_core::Result<()> where @@ -2794,15 +2794,15 @@ impl ITAddress2 { } pub unsafe fn DoNotDisturb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoNotDisturb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoNotDisturb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Phones(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Phones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Phones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePhones(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePhones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePhones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPhoneFromTerminal(&self, pterminal: P0) -> ::windows_core::Result @@ -2810,19 +2810,19 @@ impl ITAddress2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPhoneFromTerminal)(::windows_core::Interface::as_raw(self), pterminal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPhoneFromTerminal)(::windows_core::Interface::as_raw(self), pterminal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PreferredPhones(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredPhones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredPhones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePreferredPhones(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePreferredPhones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePreferredPhones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EventFilter)(::windows_core::Interface::as_raw(self), tapievent, lsubevent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EventFilter)(::windows_core::Interface::as_raw(self), tapievent, lsubevent, &mut result__).map(|| result__) } pub unsafe fn put_EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32, benable: P0) -> ::windows_core::Result<()> where @@ -2847,7 +2847,7 @@ impl ITAddress2 { } pub unsafe fn NegotiateExtVersion(&self, llowversion: i32, lhighversion: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NegotiateExtVersion)(::windows_core::Interface::as_raw(self), llowversion, lhighversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NegotiateExtVersion)(::windows_core::Interface::as_raw(self), llowversion, lhighversion, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2883,35 +2883,35 @@ pub struct ITAddress2_Vtbl { impl ITAddressCapabilities { pub unsafe fn get_AddressCapability(&self, addresscap: ADDRESS_CAPABILITY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AddressCapability)(::windows_core::Interface::as_raw(self), addresscap, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AddressCapability)(::windows_core::Interface::as_raw(self), addresscap, &mut result__).map(|| result__) } pub unsafe fn get_AddressCapabilityString(&self, addresscapstring: ADDRESS_CAPABILITY_STRING) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AddressCapabilityString)(::windows_core::Interface::as_raw(self), addresscapstring, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AddressCapabilityString)(::windows_core::Interface::as_raw(self), addresscapstring, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallTreatments(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallTreatments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallTreatments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCallTreatments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCallTreatments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCallTreatments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompletionMessages(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompletionMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompletionMessages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCompletionMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCompletionMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCompletionMessages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceClasses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDeviceClasses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDeviceClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDeviceClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2937,24 +2937,24 @@ impl ITAddressDeviceSpecificEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn lParam1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn lParam2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn lParam3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam3)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam3)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2983,16 +2983,16 @@ impl ITAddressEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3022,7 +3022,7 @@ impl ITAddressTranslation { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslateAddress)(::windows_core::Interface::as_raw(self), paddresstotranslate.into_param().abi(), lcard, ltranslateoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslateAddress)(::windows_core::Interface::as_raw(self), paddresstotranslate.into_param().abi(), lcard, ltranslateoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateDialog(&self, hwndowner: isize, paddressin: P0) -> ::windows_core::Result<()> where @@ -3032,19 +3032,19 @@ impl ITAddressTranslation { } pub unsafe fn EnumerateLocations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateLocations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateLocations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Locations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Locations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Locations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCallingCards(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCallingCards)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCallingCards)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallingCards(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallingCards)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallingCards)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3070,23 +3070,23 @@ pub struct ITAddressTranslation_Vtbl { impl ITAddressTranslationInfo { pub unsafe fn DialableString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DialableString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DialableString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayableString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayableString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayableString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationCountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationCountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationCountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TranslationResults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslationResults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslationResults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3108,7 +3108,7 @@ pub struct ITAddressTranslationInfo_Vtbl { impl ITAgent { pub unsafe fn EnumerateAgentSessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAgentSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAgentSessions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSession(&self, pacdgroup: P0, paddress: P1) -> ::windows_core::Result @@ -3117,7 +3117,7 @@ impl ITAgent { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSessionWithPIN(&self, pacdgroup: P0, paddress: P1, ppin: P2) -> ::windows_core::Result @@ -3127,62 +3127,62 @@ impl ITAgent { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSessionWithPIN)(::windows_core::Interface::as_raw(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSessionWithPIN)(::windows_core::Interface::as_raw(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), ppin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn User(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetState(&self, agentstate: AGENT_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), agentstate).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMeasurementPeriod(&self, lperiod: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMeasurementPeriod)(::windows_core::Interface::as_raw(self), lperiod).ok() } pub unsafe fn MeasurementPeriod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MeasurementPeriod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MeasurementPeriod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OverallCallRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OverallCallRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OverallCallRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfACDCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfACDCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfACDCalls)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfIncomingCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfIncomingCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfIncomingCalls)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfOutgoingCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfOutgoingCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfOutgoingCalls)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalACDTalkTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalACDTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalACDTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalACDCallTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalACDCallTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalACDCallTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalWrapUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AgentSessions(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgentSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgentSessions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3226,11 +3226,11 @@ impl ITAgentEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Agent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Agent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Agent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3252,12 +3252,12 @@ pub struct ITAgentEvent_Vtbl { impl ITAgentHandler { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAgent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAgent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAgent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAgentWithID(&self, pid: P0, ppin: P1) -> ::windows_core::Result @@ -3266,23 +3266,23 @@ impl ITAgentHandler { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAgentWithID)(::windows_core::Interface::as_raw(self), pid.into_param().abi(), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAgentWithID)(::windows_core::Interface::as_raw(self), pid.into_param().abi(), ppin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateACDGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateACDGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateACDGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateUsableAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateUsableAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateUsableAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ACDGroups(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ACDGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ACDGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UsableAddresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsableAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsableAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3313,11 +3313,11 @@ impl ITAgentHandlerEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AgentHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgentHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgentHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3340,73 +3340,73 @@ impl ITAgentSession { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Agent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Agent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Agent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ACDGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ACDGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ACDGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetState(&self, sessionstate: AGENT_SESSION_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), sessionstate).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfCalls)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalTalkTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AverageTalkTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AverageTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AverageTalkTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalCallTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalCallTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalCallTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AverageCallTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AverageCallTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AverageCallTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalWrapUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AverageWrapUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AverageWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AverageWrapUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ACDCallRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ACDCallRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ACDCallRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LongestTimeToAnswer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LongestTimeToAnswer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LongestTimeToAnswer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AverageTimeToAnswer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AverageTimeToAnswer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AverageTimeToAnswer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3453,11 +3453,11 @@ impl ITAgentSessionEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3481,7 +3481,7 @@ impl ITAllocatorProperties { #[cfg(feature = "Win32_Media_DirectShow")] pub unsafe fn GetAllocatorProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocatorProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocatorProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllocateBuffers(&self, ballocbuffers: P0) -> ::windows_core::Result<()> where @@ -3491,14 +3491,14 @@ impl ITAllocatorProperties { } pub unsafe fn GetAllocateBuffers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateBuffers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateBuffers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferSize(&self, buffersize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferSize)(::windows_core::Interface::as_raw(self), buffersize).ok() } pub unsafe fn GetBufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3532,7 +3532,7 @@ impl ITAutomatedPhoneControl { } pub unsafe fn Tone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartRinger(&self, lringmode: i32, lduration: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartRinger)(::windows_core::Interface::as_raw(self), lringmode, lduration).ok() @@ -3542,7 +3542,7 @@ impl ITAutomatedPhoneControl { } pub unsafe fn Ringer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ringer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ringer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPhoneHandlingEnabled(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3552,14 +3552,14 @@ impl ITAutomatedPhoneControl { } pub unsafe fn PhoneHandlingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhoneHandlingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhoneHandlingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoEndOfNumberTimeout(&self, ltimeout: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoEndOfNumberTimeout)(::windows_core::Interface::as_raw(self), ltimeout).ok() } pub unsafe fn AutoEndOfNumberTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoEndOfNumberTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoEndOfNumberTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoDialtone(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3569,7 +3569,7 @@ impl ITAutomatedPhoneControl { } pub unsafe fn AutoDialtone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoDialtone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoDialtone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoStopTonesOnOnHook(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3579,7 +3579,7 @@ impl ITAutomatedPhoneControl { } pub unsafe fn AutoStopTonesOnOnHook(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoStopTonesOnOnHook)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoStopTonesOnOnHook)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoStopRingOnOffHook(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3589,7 +3589,7 @@ impl ITAutomatedPhoneControl { } pub unsafe fn AutoStopRingOnOffHook(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoStopRingOnOffHook)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoStopRingOnOffHook)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoKeypadTones(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3599,14 +3599,14 @@ impl ITAutomatedPhoneControl { } pub unsafe fn AutoKeypadTones(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoKeypadTones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoKeypadTones)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoKeypadTonesMinimumDuration(&self, lduration: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoKeypadTonesMinimumDuration)(::windows_core::Interface::as_raw(self), lduration).ok() } pub unsafe fn AutoKeypadTonesMinimumDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoKeypadTonesMinimumDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoKeypadTonesMinimumDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoVolumeControl(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -3616,28 +3616,28 @@ impl ITAutomatedPhoneControl { } pub unsafe fn AutoVolumeControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoVolumeControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoVolumeControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoVolumeControlStep(&self, lstepsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoVolumeControlStep)(::windows_core::Interface::as_raw(self), lstepsize).ok() } pub unsafe fn AutoVolumeControlStep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoVolumeControlStep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoVolumeControlStep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoVolumeControlRepeatDelay(&self, ldelay: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoVolumeControlRepeatDelay)(::windows_core::Interface::as_raw(self), ldelay).ok() } pub unsafe fn AutoVolumeControlRepeatDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoVolumeControlRepeatDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoVolumeControlRepeatDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoVolumeControlRepeatPeriod(&self, lperiod: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoVolumeControlRepeatPeriod)(::windows_core::Interface::as_raw(self), lperiod).ok() } pub unsafe fn AutoVolumeControlRepeatPeriod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoVolumeControlRepeatPeriod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoVolumeControlRepeatPeriod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectCall(&self, pcall: P0, fselectdefaultterminals: P1) -> ::windows_core::Result<()> @@ -3656,11 +3656,11 @@ impl ITAutomatedPhoneControl { } pub unsafe fn EnumerateSelectedCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateSelectedCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateSelectedCalls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectedCalls(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectedCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectedCalls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3718,14 +3718,14 @@ impl ITBasicAudioTerminal { } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBalance(&self, lbalance: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBalance)(::windows_core::Interface::as_raw(self), lbalance).ok() } pub unsafe fn Balance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3808,7 +3808,7 @@ impl ITBasicCallControl { } pub unsafe fn ParkIndirect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParkIndirect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParkIndirect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Unpark(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unpark)(::windows_core::Interface::as_raw(self)).ok() @@ -3938,7 +3938,7 @@ impl ITBasicCallControl2 { } pub unsafe fn ParkIndirect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParkIndirect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParkIndirect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Unpark(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unpark)(::windows_core::Interface::as_raw(self)).ok() @@ -3970,7 +3970,7 @@ impl ITBasicCallControl2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestTerminal)(::windows_core::Interface::as_raw(self), bstrterminalclassguid.into_param().abi(), lmediatype, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestTerminal)(::windows_core::Interface::as_raw(self), bstrterminalclassguid.into_param().abi(), lmediatype, direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectTerminalOnCall(&self, pterminal: P0) -> ::windows_core::Result<()> @@ -4016,19 +4016,19 @@ impl ITCallHub { } pub unsafe fn EnumerateCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCalls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Calls(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Calls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Calls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NumCalls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumCalls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumCalls)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4050,17 +4050,17 @@ pub struct ITCallHub_Vtbl { impl ITCallHubEvent { pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CallHub(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4087,31 +4087,31 @@ impl ITCallInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Privilege(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Privilege)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Privilege)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CallHub(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_CallInfoLong(&self, callinfolong: CALLINFO_LONG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, &mut result__).map(|| result__) } pub unsafe fn put_CallInfoLong(&self, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, lcallinfolongval).ok() } pub unsafe fn get_CallInfoString(&self, callinfostring: CALLINFO_STRING) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CallInfoString)(::windows_core::Interface::as_raw(self), callinfostring, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CallInfoString)(::windows_core::Interface::as_raw(self), callinfostring, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_CallInfoString(&self, callinfostring: CALLINFO_STRING, pcallinfostring: P0) -> ::windows_core::Result<()> where @@ -4121,7 +4121,7 @@ impl ITCallInfo { } pub unsafe fn get_CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CallInfoBuffer)(::windows_core::Interface::as_raw(self), callinfobuffer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CallInfoBuffer)(::windows_core::Interface::as_raw(self), callinfobuffer, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: P0) -> ::windows_core::Result<()> where @@ -4173,31 +4173,31 @@ impl ITCallInfo2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Privilege(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Privilege)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Privilege)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CallHub(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallHub)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallHub)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_CallInfoLong(&self, callinfolong: CALLINFO_LONG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, &mut result__).map(|| result__) } pub unsafe fn put_CallInfoLong(&self, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_CallInfoLong)(::windows_core::Interface::as_raw(self), callinfolong, lcallinfolongval).ok() } pub unsafe fn get_CallInfoString(&self, callinfostring: CALLINFO_STRING) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_CallInfoString)(::windows_core::Interface::as_raw(self), callinfostring, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_CallInfoString)(::windows_core::Interface::as_raw(self), callinfostring, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_CallInfoString(&self, callinfostring: CALLINFO_STRING, pcallinfostring: P0) -> ::windows_core::Result<()> where @@ -4207,7 +4207,7 @@ impl ITCallInfo2 { } pub unsafe fn get_CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_CallInfoBuffer)(::windows_core::Interface::as_raw(self), callinfobuffer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_CallInfoBuffer)(::windows_core::Interface::as_raw(self), callinfobuffer, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: P0) -> ::windows_core::Result<()> where @@ -4226,7 +4226,7 @@ impl ITCallInfo2 { } pub unsafe fn get_EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EventFilter)(::windows_core::Interface::as_raw(self), tapievent, lsubevent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EventFilter)(::windows_core::Interface::as_raw(self), tapievent, lsubevent, &mut result__).map(|| result__) } pub unsafe fn put_EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32, benable: P0) -> ::windows_core::Result<()> where @@ -4252,15 +4252,15 @@ impl ITCallInfoChangeEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cause(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4284,29 +4284,29 @@ impl ITCallMediaEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Stream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cause(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4339,15 +4339,15 @@ impl ITCallNotificationEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4371,19 +4371,19 @@ impl ITCallStateEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cause(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4407,31 +4407,31 @@ pub struct ITCallStateEvent_Vtbl { impl ITCallingCard { pub unsafe fn PermanentCardID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermanentCardID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermanentCardID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfDigits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfDigits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfDigits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Options(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CardName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CardName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CardName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SameAreaDialingRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SameAreaDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SameAreaDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LongDistanceDialingRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LongDistanceDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LongDistanceDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InternationalDialingRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternationalDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternationalDialingRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4455,15 +4455,15 @@ pub struct ITCallingCard_Vtbl { impl ITCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4483,15 +4483,15 @@ pub struct ITCollection_Vtbl { impl ITCollection2 { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, index: i32, pvariant: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(pvariant)).ok() @@ -4516,28 +4516,28 @@ pub struct ITCollection2_Vtbl { impl ITCustomTone { pub unsafe fn Frequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Frequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Frequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFrequency(&self, lfrequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrequency)(::windows_core::Interface::as_raw(self), lfrequency).ok() } pub unsafe fn CadenceOn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CadenceOn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CadenceOn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCadenceOn(&self, cadenceon: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCadenceOn)(::windows_core::Interface::as_raw(self), cadenceon).ok() } pub unsafe fn CadenceOff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CadenceOff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CadenceOff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCadenceOff(&self, lcadenceoff: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCadenceOff)(::windows_core::Interface::as_raw(self), lcadenceoff).ok() } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, lvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), lvolume).ok() @@ -4565,21 +4565,21 @@ pub struct ITCustomTone_Vtbl { impl ITDetectTone { pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppSpecific)(::windows_core::Interface::as_raw(self), lappspecific).ok() } pub unsafe fn Duration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDuration(&self, lduration: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDuration)(::windows_core::Interface::as_raw(self), lduration).ok() } pub unsafe fn get_Frequency(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Frequency)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Frequency)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn put_Frequency(&self, index: i32, lfrequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_Frequency)(::windows_core::Interface::as_raw(self), index, lfrequency).ok() @@ -4606,23 +4606,23 @@ impl ITDigitDetectionEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Digit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Digit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Digit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DigitMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DigitMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DigitMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4648,19 +4648,19 @@ impl ITDigitGenerationEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GenerationTermination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerationTermination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerationTermination)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4685,23 +4685,23 @@ impl ITDigitsGatheredEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Digits(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Digits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Digits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GatherTermination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GatherTermination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GatherTermination)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4726,19 +4726,19 @@ pub struct ITDigitsGatheredEvent_Vtbl { impl ITDirectory { pub unsafe fn DirectoryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DirectoryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DirectoryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsDynamic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDynamic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDynamic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultObjectTTL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultObjectTTL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultObjectTTL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultObjectTTL(&self, ttl: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultObjectTTL)(::windows_core::Interface::as_raw(self), ttl).ok() @@ -4796,14 +4796,14 @@ impl ITDirectory { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DirectoryObjects)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DirectoryObjects)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDirectoryObjects(&self, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDirectoryObjects)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDirectoryObjects)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4846,11 +4846,11 @@ pub struct ITDirectory_Vtbl { impl ITDirectoryObject { pub unsafe fn ObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, pname: P0) -> ::windows_core::Result<()> where @@ -4860,16 +4860,16 @@ impl ITDirectoryObject { } pub unsafe fn get_DialableAddrs(&self, dwaddresstype: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DialableAddrs)(::windows_core::Interface::as_raw(self), dwaddresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DialableAddrs)(::windows_core::Interface::as_raw(self), dwaddresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDialableAddrs(&self, dwaddresstype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDialableAddrs)(::windows_core::Interface::as_raw(self), dwaddresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDialableAddrs)(::windows_core::Interface::as_raw(self), dwaddresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityDescriptor(&self, psecdes: P0) -> ::windows_core::Result<()> @@ -4906,11 +4906,11 @@ pub struct ITDirectoryObject_Vtbl { impl ITDirectoryObjectConference { pub unsafe fn Protocol(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Originator(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Originator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Originator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOriginator(&self, poriginator: P0) -> ::windows_core::Result<()> where @@ -4920,14 +4920,14 @@ impl ITDirectoryObjectConference { } pub unsafe fn AdvertisingScope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdvertisingScope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdvertisingScope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAdvertisingScope(&self, advertisingscope: RND_ADVERTISING_SCOPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAdvertisingScope)(::windows_core::Interface::as_raw(self), advertisingscope).ok() } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUrl(&self, purl: P0) -> ::windows_core::Result<()> where @@ -4937,7 +4937,7 @@ impl ITDirectoryObjectConference { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, pdescription: P0) -> ::windows_core::Result<()> where @@ -4947,7 +4947,7 @@ impl ITDirectoryObjectConference { } pub unsafe fn IsEncrypted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEncrypted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEncrypted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsEncrypted(&self, fencrypted: P0) -> ::windows_core::Result<()> where @@ -4957,14 +4957,14 @@ impl ITDirectoryObjectConference { } pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartTime(&self, date: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartTime)(::windows_core::Interface::as_raw(self), date).ok() } pub unsafe fn StopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStopTime(&self, date: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStopTime)(::windows_core::Interface::as_raw(self), date).ok() @@ -4999,7 +4999,7 @@ pub struct ITDirectoryObjectConference_Vtbl { impl ITDirectoryObjectUser { pub unsafe fn IPPhonePrimary(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IPPhonePrimary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IPPhonePrimary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIPPhonePrimary(&self, pname: P0) -> ::windows_core::Result<()> where @@ -5029,7 +5029,7 @@ impl ITDispatchMapper { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDispatchInterface)(::windows_core::Interface::as_raw(self), piid.into_param().abi(), pinterfacetomap.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDispatchInterface)(::windows_core::Interface::as_raw(self), piid.into_param().abi(), pinterfacetomap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5051,29 +5051,29 @@ impl ITFileTerminalEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Track(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Track)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Track)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cause(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cause)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5106,7 +5106,7 @@ impl ITFileTrack { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn Format(&self) -> ::windows_core::Result<*mut super::super::Media::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetFormat(&self, pmt: *const super::super::Media::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -5115,12 +5115,12 @@ impl ITFileTrack { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ControllingTerminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControllingTerminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControllingTerminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioFormatForScripting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioFormatForScripting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioFormatForScripting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAudioFormatForScripting(&self, paudioformat: P0) -> ::windows_core::Result<()> @@ -5132,7 +5132,7 @@ impl ITFileTrack { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EmptyAudioFormatForScripting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EmptyAudioFormatForScripting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EmptyAudioFormatForScripting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5176,7 +5176,7 @@ impl ITForwardInformation { } pub unsafe fn NumRingsNoAnswer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumRingsNoAnswer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumRingsNoAnswer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForwardType(&self, forwardtype: i32, pdestaddress: P0, pcalleraddress: P1) -> ::windows_core::Result<()> where @@ -5187,11 +5187,11 @@ impl ITForwardInformation { } pub unsafe fn get_ForwardTypeDestination(&self, forwardtype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ForwardTypeDestination)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ForwardTypeDestination)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ForwardTypeCaller(&self, forwardtype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ForwardTypeCaller)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ForwardTypeCaller)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetForwardType(&self, forwardtype: i32, ppdestinationaddress: *mut ::windows_core::BSTR, ppcalleraddress: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetForwardType)(::windows_core::Interface::as_raw(self), forwardtype, ::core::mem::transmute(ppdestinationaddress), ::core::mem::transmute(ppcalleraddress)).ok() @@ -5224,7 +5224,7 @@ impl ITForwardInformation2 { } pub unsafe fn NumRingsNoAnswer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NumRingsNoAnswer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NumRingsNoAnswer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForwardType(&self, forwardtype: i32, pdestaddress: P0, pcalleraddress: P1) -> ::windows_core::Result<()> where @@ -5235,11 +5235,11 @@ impl ITForwardInformation2 { } pub unsafe fn get_ForwardTypeDestination(&self, forwardtype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ForwardTypeDestination)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ForwardTypeDestination)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ForwardTypeCaller(&self, forwardtype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ForwardTypeCaller)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ForwardTypeCaller)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetForwardType(&self, forwardtype: i32, ppdestinationaddress: *mut ::windows_core::BSTR, ppcalleraddress: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetForwardType)(::windows_core::Interface::as_raw(self), forwardtype, ::core::mem::transmute(ppdestinationaddress), ::core::mem::transmute(ppcalleraddress)).ok() @@ -5259,11 +5259,11 @@ impl ITForwardInformation2 { } pub unsafe fn get_ForwardTypeDestinationAddressType(&self, forwardtype: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ForwardTypeDestinationAddressType)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ForwardTypeDestinationAddressType)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).map(|| result__) } pub unsafe fn get_ForwardTypeCallerAddressType(&self, forwardtype: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ForwardTypeCallerAddressType)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ForwardTypeCallerAddressType)(::windows_core::Interface::as_raw(self), forwardtype, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5284,7 +5284,7 @@ pub struct ITForwardInformation2_Vtbl { impl ITILSConfig { pub unsafe fn Port(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Port)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Port)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPort(&self, port: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPort)(::windows_core::Interface::as_raw(self), port).ok() @@ -5475,19 +5475,19 @@ impl ITLegacyCallMediaControl2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDetectToneObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDetectToneObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDetectToneObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateCustomToneObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomToneObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomToneObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIDAsVariant(&self, bstrdeviceclass: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDAsVariant)(::windows_core::Interface::as_raw(self), bstrdeviceclass.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDAsVariant)(::windows_core::Interface::as_raw(self), bstrdeviceclass.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5526,7 +5526,7 @@ pub struct ITLegacyCallMediaControl2_Vtbl { impl ITLegacyWaveSupport { pub unsafe fn IsFullDuplex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFullDuplex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFullDuplex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5544,47 +5544,47 @@ pub struct ITLegacyWaveSupport_Vtbl { impl ITLocationInfo { pub unsafe fn PermanentLocationID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermanentLocationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermanentLocationID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CountryID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Options(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PreferredCardID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredCardID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredCardID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CityCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CityCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CityCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LocalAccessCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalAccessCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalAccessCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LongDistanceAccessCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LongDistanceAccessCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LongDistanceAccessCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TollPrefixList(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TollPrefixList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TollPrefixList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CancelCallWaitingCode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CancelCallWaitingCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CancelCallWaitingCode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5618,7 +5618,7 @@ impl ITMSPAddress { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMSPCall)(::windows_core::Interface::as_raw(self), hcall, dwreserved, dwmediatype, pouterunknown.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMSPCall)(::windows_core::Interface::as_raw(self), hcall, dwreserved, dwmediatype, pouterunknown.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShutdownMSPCall(&self, pstreamcontrol: P0) -> ::windows_core::Result<()> where @@ -5664,7 +5664,7 @@ impl ITMediaControl { } pub unsafe fn MediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5691,7 +5691,7 @@ impl ITMediaPlayback { } pub unsafe fn PlayList(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5716,7 +5716,7 @@ impl ITMediaRecord { } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5735,11 +5735,11 @@ pub struct ITMediaRecord_Vtbl { impl ITMediaSupport { pub unsafe fn MediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryMediaType(&self, lmediatype: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMediaType)(::windows_core::Interface::as_raw(self), lmediatype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMediaType)(::windows_core::Interface::as_raw(self), lmediatype, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5758,24 +5758,24 @@ pub struct ITMediaSupport_Vtbl { impl ITMultiTrackTerminal { pub unsafe fn TrackTerminals(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrackTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrackTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateTrackTerminals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTrackTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTrackTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTrackTerminal(&self, mediatype: i32, terminaldirection: TERMINAL_DIRECTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTrackTerminal)(::windows_core::Interface::as_raw(self), mediatype, terminaldirection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTrackTerminal)(::windows_core::Interface::as_raw(self), mediatype, terminaldirection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MediaTypesInUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaTypesInUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaTypesInUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DirectionsInUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DirectionsInUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DirectionsInUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveTrackTerminal(&self, ptrackterminaltoremove: P0) -> ::windows_core::Result<()> @@ -5817,19 +5817,19 @@ impl ITPhone { } pub unsafe fn Addresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_PhoneCapsLong(&self, pclcap: PHONECAPS_LONG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PhoneCapsLong)(::windows_core::Interface::as_raw(self), pclcap, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PhoneCapsLong)(::windows_core::Interface::as_raw(self), pclcap, &mut result__).map(|| result__) } pub unsafe fn get_PhoneCapsString(&self, pcscap: PHONECAPS_STRING) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PhoneCapsString)(::windows_core::Interface::as_raw(self), pcscap, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PhoneCapsString)(::windows_core::Interface::as_raw(self), pcscap, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Terminals(&self, paddress: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -5837,7 +5837,7 @@ impl ITPhone { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Terminals)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Terminals)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateTerminals(&self, paddress: P0) -> ::windows_core::Result @@ -5845,25 +5845,25 @@ impl ITPhone { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ButtonMode(&self, lbuttonid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonMode)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonMode)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).map(|| result__) } pub unsafe fn put_ButtonMode(&self, lbuttonid: i32, buttonmode: PHONE_BUTTON_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_ButtonMode)(::windows_core::Interface::as_raw(self), lbuttonid, buttonmode).ok() } pub unsafe fn get_ButtonFunction(&self, lbuttonid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonFunction)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonFunction)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).map(|| result__) } pub unsafe fn put_ButtonFunction(&self, lbuttonid: i32, buttonfunction: PHONE_BUTTON_FUNCTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_ButtonFunction)(::windows_core::Interface::as_raw(self), lbuttonid, buttonfunction).ok() } pub unsafe fn get_ButtonText(&self, lbuttonid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonText)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonText)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_ButtonText(&self, lbuttonid: i32, bstrbuttontext: P0) -> ::windows_core::Result<()> where @@ -5873,11 +5873,11 @@ impl ITPhone { } pub unsafe fn get_ButtonState(&self, lbuttonid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonState)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonState)(::windows_core::Interface::as_raw(self), lbuttonid, &mut result__).map(|| result__) } pub unsafe fn get_HookSwitchState(&self, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_HookSwitchState)(::windows_core::Interface::as_raw(self), hookswitchdevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_HookSwitchState)(::windows_core::Interface::as_raw(self), hookswitchdevice, &mut result__).map(|| result__) } pub unsafe fn put_HookSwitchState(&self, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE, hookswitchstate: PHONE_HOOK_SWITCH_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_HookSwitchState)(::windows_core::Interface::as_raw(self), hookswitchdevice, hookswitchstate).ok() @@ -5887,36 +5887,36 @@ impl ITPhone { } pub unsafe fn RingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRingVolume(&self, lringvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRingVolume)(::windows_core::Interface::as_raw(self), lringvolume).ok() } pub unsafe fn RingVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RingVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RingVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Privilege(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Privilege)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Privilege)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPhoneCapsBuffer(&self, pcbcaps: PHONECAPS_BUFFER, pdwsize: *mut u32, ppphonecapsbuffer: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPhoneCapsBuffer)(::windows_core::Interface::as_raw(self), pcbcaps, pdwsize, ppphonecapsbuffer).ok() } pub unsafe fn get_PhoneCapsBuffer(&self, pcbcaps: PHONECAPS_BUFFER) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PhoneCapsBuffer)(::windows_core::Interface::as_raw(self), pcbcaps, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PhoneCapsBuffer)(::windows_core::Interface::as_raw(self), pcbcaps, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_LampMode(&self, llampid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_LampMode)(::windows_core::Interface::as_raw(self), llampid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_LampMode)(::windows_core::Interface::as_raw(self), llampid, &mut result__).map(|| result__) } pub unsafe fn put_LampMode(&self, llampid: i32, lampmode: PHONE_LAMP_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_LampMode)(::windows_core::Interface::as_raw(self), llampid, lampmode).ok() } pub unsafe fn Display(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Display)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Display)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplay(&self, lrow: i32, lcolumn: i32, bstrdisplay: P0) -> ::windows_core::Result<()> where @@ -5926,11 +5926,11 @@ impl ITPhone { } pub unsafe fn PreferredAddresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePreferredAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePreferredAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePreferredAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceSpecific(&self, pparams: *const u8, dwsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeviceSpecific)(::windows_core::Interface::as_raw(self), pparams, dwsize).ok() @@ -5943,7 +5943,7 @@ impl ITPhone { } pub unsafe fn NegotiateExtVersion(&self, llowversion: i32, lhighversion: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NegotiateExtVersion)(::windows_core::Interface::as_raw(self), llowversion, lhighversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NegotiateExtVersion)(::windows_core::Interface::as_raw(self), llowversion, lhighversion, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6000,19 +6000,19 @@ impl ITPhoneDeviceSpecificEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Phone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn lParam1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn lParam2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn lParam3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).lParam3)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).lParam3)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6037,40 +6037,40 @@ impl ITPhoneEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Phone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ButtonState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ButtonState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ButtonState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HookSwitchState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HookSwitchState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HookSwitchState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HookSwitchDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HookSwitchDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HookSwitchDevice)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ButtonLampId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ButtonLampId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ButtonLampId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberGathered(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberGathered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberGathered)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6102,31 +6102,31 @@ pub struct ITPhoneEvent_Vtbl { impl ITPluggableTerminalClassInfo { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Company(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TerminalClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6187,11 +6187,11 @@ pub struct ITPluggableTerminalEventSinkRegistration_Vtbl { impl ITPluggableTerminalSuperclassInfo { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6211,26 +6211,26 @@ impl ITPrivateEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CallHub(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallHub)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EventCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EventInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6265,15 +6265,15 @@ impl ITQOSEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6299,47 +6299,47 @@ impl ITQueue { } pub unsafe fn MeasurementPeriod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MeasurementPeriod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MeasurementPeriod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalCallsQueued(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalCallsQueued)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalCallsQueued)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCallsQueued(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCallsQueued)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCallsQueued)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalCallsAbandoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalCallsAbandoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalCallsAbandoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalCallsFlowedIn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalCallsFlowedIn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalCallsFlowedIn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalCallsFlowedOut(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalCallsFlowedOut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalCallsFlowedOut)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LongestEverWaitTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LongestEverWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LongestEverWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLongestWaitTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLongestWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLongestWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AverageWaitTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AverageWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AverageWaitTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FinalDisposition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FinalDisposition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FinalDisposition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6369,11 +6369,11 @@ impl ITQueueEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Queue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Queue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Queue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6395,11 +6395,11 @@ pub struct ITQueueEvent_Vtbl { impl ITRendezvous { pub unsafe fn DefaultDirectories(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultDirectories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultDirectories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDefaultDirectories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDefaultDirectories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDefaultDirectories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDirectory(&self, directorytype: DIRECTORY_TYPE, pname: P0) -> ::windows_core::Result @@ -6407,7 +6407,7 @@ impl ITRendezvous { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirectory)(::windows_core::Interface::as_raw(self), directorytype, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirectory)(::windows_core::Interface::as_raw(self), directorytype, pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDirectoryObject(&self, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: P0) -> ::windows_core::Result @@ -6415,7 +6415,7 @@ impl ITRendezvous { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirectoryObject)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirectoryObject)(::windows_core::Interface::as_raw(self), directoryobjecttype, pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6465,27 +6465,27 @@ pub struct ITRequest_Vtbl { impl ITRequestEvent { pub unsafe fn RegistrationInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistrationInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistrationInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AppName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CalledParty(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CalledParty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CalledParty)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Comment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6508,42 +6508,42 @@ pub struct ITRequestEvent_Vtbl { impl ITScriptableAudioFormat { pub unsafe fn Channels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Channels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Channels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannels(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannels)(::windows_core::Interface::as_raw(self), nnewval).ok() } pub unsafe fn SamplesPerSec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SamplesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SamplesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSamplesPerSec(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSamplesPerSec)(::windows_core::Interface::as_raw(self), nnewval).ok() } pub unsafe fn AvgBytesPerSec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvgBytesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvgBytesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAvgBytesPerSec(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAvgBytesPerSec)(::windows_core::Interface::as_raw(self), nnewval).ok() } pub unsafe fn BlockAlign(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockAlign)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockAlign)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockAlign(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBlockAlign)(::windows_core::Interface::as_raw(self), nnewval).ok() } pub unsafe fn BitsPerSample(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitsPerSample)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitsPerSample)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBitsPerSample(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBitsPerSample)(::windows_core::Interface::as_raw(self), nnewval).ok() } pub unsafe fn FormatTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFormatTag(&self, nnewval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFormatTag)(::windows_core::Interface::as_raw(self), nnewval).ok() @@ -6575,7 +6575,7 @@ pub struct ITScriptableAudioFormat_Vtbl { impl ITStaticAudioTerminal { pub unsafe fn WaveId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaveId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaveId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6593,15 +6593,15 @@ pub struct ITStaticAudioTerminal_Vtbl { impl ITStream { pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartStream(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartStream)(::windows_core::Interface::as_raw(self)).ok() @@ -6628,11 +6628,11 @@ impl ITStream { } pub unsafe fn EnumerateTerminals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Terminals(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6666,7 +6666,7 @@ impl ITStreamControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStream(&self, lmediatype: i32, td: TERMINAL_DIRECTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), lmediatype, td, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), lmediatype, td, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveStream(&self, pstream: P0) -> ::windows_core::Result<()> @@ -6677,11 +6677,11 @@ impl ITStreamControl { } pub unsafe fn EnumerateStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Streams(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Streams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Streams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6731,16 +6731,16 @@ impl ITSubStream { } pub unsafe fn EnumerateTerminals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Terminals(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Stream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6775,7 +6775,7 @@ impl ITSubStreamControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSubStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSubStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSubStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveSubStream(&self, psubstream: P0) -> ::windows_core::Result<()> @@ -6786,11 +6786,11 @@ impl ITSubStreamControl { } pub unsafe fn EnumerateSubStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateSubStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateSubStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SubStreams(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6823,11 +6823,11 @@ impl ITTAPI { } pub unsafe fn Addresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Addresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterCallNotifications(&self, paddress: P0, fmonitor: P1, fowner: P2, lmediatypes: i32, lcallbackinstance: i32) -> ::windows_core::Result @@ -6837,18 +6837,18 @@ impl ITTAPI { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterCallNotifications)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), fmonitor.into_param().abi(), fowner.into_param().abi(), lmediatypes, lcallbackinstance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterCallNotifications)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), fmonitor.into_param().abi(), fowner.into_param().abi(), lmediatypes, lcallbackinstance, &mut result__).map(|| result__) } pub unsafe fn UnregisterNotifications(&self, lregister: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterNotifications)(::windows_core::Interface::as_raw(self), lregister).ok() } pub unsafe fn CallHubs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallHubs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallHubs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCallHubs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateCallHubs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateCallHubs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCallHubTracking(&self, paddresses: P0, btracking: P1) -> ::windows_core::Result<()> where @@ -6860,11 +6860,11 @@ impl ITTAPI { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumeratePrivateTAPIObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PrivateTAPIObjects(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterRequestRecipient(&self, lregistrationinstance: i32, lrequestmode: i32, fenable: P0) -> ::windows_core::Result<()> where @@ -6891,7 +6891,7 @@ impl ITTAPI { } pub unsafe fn EventFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6936,11 +6936,11 @@ impl ITTAPI2 { } pub unsafe fn Addresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Addresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Addresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAddresses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterCallNotifications(&self, paddress: P0, fmonitor: P1, fowner: P2, lmediatypes: i32, lcallbackinstance: i32) -> ::windows_core::Result @@ -6950,18 +6950,18 @@ impl ITTAPI2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterCallNotifications)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), fmonitor.into_param().abi(), fowner.into_param().abi(), lmediatypes, lcallbackinstance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterCallNotifications)(::windows_core::Interface::as_raw(self), paddress.into_param().abi(), fmonitor.into_param().abi(), fowner.into_param().abi(), lmediatypes, lcallbackinstance, &mut result__).map(|| result__) } pub unsafe fn UnregisterNotifications(&self, lregister: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UnregisterNotifications)(::windows_core::Interface::as_raw(self), lregister).ok() } pub unsafe fn CallHubs(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallHubs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallHubs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateCallHubs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateCallHubs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateCallHubs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCallHubTracking(&self, paddresses: P0, btracking: P1) -> ::windows_core::Result<()> where @@ -6973,11 +6973,11 @@ impl ITTAPI2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumeratePrivateTAPIObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumeratePrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumeratePrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PrivateTAPIObjects(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrivateTAPIObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterRequestRecipient(&self, lregistrationinstance: i32, lrequestmode: i32, fenable: P0) -> ::windows_core::Result<()> where @@ -7004,20 +7004,20 @@ impl ITTAPI2 { } pub unsafe fn EventFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Phones(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Phones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Phones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePhones(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePhones)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePhones)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateEmptyCollectionObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEmptyCollectionObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEmptyCollectionObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7040,11 +7040,11 @@ pub struct ITTAPI2_Vtbl { impl ITTAPICallCenter { pub unsafe fn EnumerateAgentHandlers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAgentHandlers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAgentHandlers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AgentHandlers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AgentHandlers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AgentHandlers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7096,20 +7096,20 @@ impl ITTAPIObjectEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TAPIObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7137,25 +7137,25 @@ impl ITTAPIObjectEvent2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TAPIObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TAPIObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Address(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Phone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Phone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7177,16 +7177,16 @@ impl ITTTSTerminalEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7212,27 +7212,27 @@ pub struct ITTTSTerminalEvent_Vtbl { impl ITTerminal { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TerminalType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TerminalClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7255,19 +7255,19 @@ pub struct ITTerminal_Vtbl { impl ITTerminalSupport { pub unsafe fn StaticTerminals(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateStaticTerminals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateStaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateStaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DynamicTerminalClasses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDynamicTerminalClasses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTerminal(&self, pterminalclass: P0, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows_core::Result @@ -7275,12 +7275,12 @@ impl ITTerminalSupport { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTerminal)(::windows_core::Interface::as_raw(self), pterminalclass.into_param().abi(), lmediatype, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTerminal)(::windows_core::Interface::as_raw(self), pterminalclass.into_param().abi(), lmediatype, direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDefaultStaticTerminal(&self, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultStaticTerminal)(::windows_core::Interface::as_raw(self), lmediatype, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultStaticTerminal)(::windows_core::Interface::as_raw(self), lmediatype, direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7309,19 +7309,19 @@ pub struct ITTerminalSupport_Vtbl { impl ITTerminalSupport2 { pub unsafe fn StaticTerminals(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateStaticTerminals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateStaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateStaticTerminals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DynamicTerminalClasses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateDynamicTerminalClasses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateDynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateDynamicTerminalClasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTerminal(&self, pterminalclass: P0, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows_core::Result @@ -7329,31 +7329,31 @@ impl ITTerminalSupport2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTerminal)(::windows_core::Interface::as_raw(self), pterminalclass.into_param().abi(), lmediatype, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTerminal)(::windows_core::Interface::as_raw(self), pterminalclass.into_param().abi(), lmediatype, direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDefaultStaticTerminal(&self, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultStaticTerminal)(::windows_core::Interface::as_raw(self), lmediatype, direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultStaticTerminal)(::windows_core::Interface::as_raw(self), lmediatype, direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PluggableSuperclasses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PluggableSuperclasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PluggableSuperclasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePluggableSuperclasses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePluggableSuperclasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePluggableSuperclasses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_PluggableTerminalClasses(&self, bstrterminalsuperclass: P0, lmediatype: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PluggableTerminalClasses)(::windows_core::Interface::as_raw(self), bstrterminalsuperclass.into_param().abi(), lmediatype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PluggableTerminalClasses)(::windows_core::Interface::as_raw(self), bstrterminalsuperclass.into_param().abi(), lmediatype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePluggableTerminalClasses(&self, iidterminalsuperclass: ::windows_core::GUID, lmediatype: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePluggableTerminalClasses)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(iidterminalsuperclass), lmediatype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePluggableTerminalClasses)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(iidterminalsuperclass), lmediatype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7375,19 +7375,19 @@ impl ITToneDetectionEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CallbackInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallbackInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7412,16 +7412,16 @@ impl ITToneTerminalEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Terminal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Terminal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Call(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Call)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7459,7 +7459,7 @@ impl ITnef { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenTaggedBody)(::windows_core::Interface::as_raw(self), lpmessage.into_param().abi(), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenTaggedBody)(::windows_core::Interface::as_raw(self), lpmessage.into_param().abi(), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))] pub unsafe fn SetProps(&self, ulflags: u32, ulelemid: u32, cvalues: u32, lpprops: *mut super::super::System::AddressBook::SPropValue) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Devices/WebServicesOnDevices/mod.rs b/crates/libs/windows/src/Windows/Win32/Devices/WebServicesOnDevices/mod.rs index 6e33aa9d84..fcd584c41f 100644 --- a/crates/libs/windows/src/Windows/Win32/Devices/WebServicesOnDevices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Devices/WebServicesOnDevices/mod.rs @@ -16,7 +16,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceHost(pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, ppdevicehost : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceHost(pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDCreateDeviceHost(pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDeviceHost2(pszlocalid: P0, pcontext: P1, pconfigparams: ::core::option::Option<&[WSD_CONFIG_PARAM]>) -> ::windows_core::Result @@ -26,7 +26,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceHost2(pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, pconfigparams : *const WSD_CONFIG_PARAM, dwconfigparamcount : u32, ppdevicehost : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceHost2(pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WSDCreateDeviceHost2(pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDeviceHostAdvanced(pszlocalid: P0, pcontext: P1, pphostaddresses: ::core::option::Option<&[::core::option::Option]>) -> ::windows_core::Result @@ -36,7 +36,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceHostAdvanced(pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, pphostaddresses : *const * mut::core::ffi::c_void, dwhostaddresscount : u32, ppdevicehost : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceHostAdvanced(pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pphostaddresses.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pphostaddresses.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WSDCreateDeviceHostAdvanced(pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pphostaddresses.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pphostaddresses.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDeviceProxy(pszdeviceid: P0, pszlocalid: P1, pcontext: P2) -> ::windows_core::Result @@ -47,7 +47,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceProxy(pszdeviceid : ::windows_core::PCWSTR, pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, ppdeviceproxy : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceProxy(pszdeviceid.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDCreateDeviceProxy(pszdeviceid.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDeviceProxy2(pszdeviceid: P0, pszlocalid: P1, pcontext: P2, pconfigparams: ::core::option::Option<&[WSD_CONFIG_PARAM]>) -> ::windows_core::Result @@ -58,7 +58,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceProxy2(pszdeviceid : ::windows_core::PCWSTR, pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, pconfigparams : *const WSD_CONFIG_PARAM, dwconfigparamcount : u32, ppdeviceproxy : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceProxy2(pszdeviceid.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WSDCreateDeviceProxy2(pszdeviceid.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDeviceProxyAdvanced(pszdeviceid: P0, pdeviceaddress: P1, pszlocalid: P2, pcontext: P3) -> ::windows_core::Result @@ -70,7 +70,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDeviceProxyAdvanced(pszdeviceid : ::windows_core::PCWSTR, pdeviceaddress : * mut::core::ffi::c_void, pszlocalid : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, ppdeviceproxy : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDeviceProxyAdvanced(pszdeviceid.into_param().abi(), pdeviceaddress.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDCreateDeviceProxyAdvanced(pszdeviceid.into_param().abi(), pdeviceaddress.into_param().abi(), pszlocalid.into_param().abi(), pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDiscoveryProvider(pcontext: P0) -> ::windows_core::Result @@ -79,7 +79,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDiscoveryProvider(pcontext : * mut::core::ffi::c_void, ppprovider : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDiscoveryProvider(pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDCreateDiscoveryProvider(pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDiscoveryProvider2(pcontext: P0, pconfigparams: ::core::option::Option<&[WSD_CONFIG_PARAM]>) -> ::windows_core::Result @@ -88,7 +88,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDiscoveryProvider2(pcontext : * mut::core::ffi::c_void, pconfigparams : *const WSD_CONFIG_PARAM, dwconfigparamcount : u32, ppprovider : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDiscoveryProvider2(pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WSDCreateDiscoveryProvider2(pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDiscoveryPublisher(pcontext: P0) -> ::windows_core::Result @@ -97,7 +97,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDiscoveryPublisher(pcontext : * mut::core::ffi::c_void, pppublisher : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDiscoveryPublisher(pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDCreateDiscoveryPublisher(pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateDiscoveryPublisher2(pcontext: P0, pconfigparams: ::core::option::Option<&[WSD_CONFIG_PARAM]>) -> ::windows_core::Result @@ -106,37 +106,37 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateDiscoveryPublisher2(pcontext : * mut::core::ffi::c_void, pconfigparams : *const WSD_CONFIG_PARAM, dwconfigparamcount : u32, pppublisher : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateDiscoveryPublisher2(pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WSDCreateDiscoveryPublisher2(pcontext.into_param().abi(), ::core::mem::transmute(pconfigparams.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pconfigparams.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateHttpAddress() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateHttpAddress(ppaddress : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateHttpAddress(&mut result__).from_abi(result__) + WSDCreateHttpAddress(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateHttpMessageParameters() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateHttpMessageParameters(pptxparams : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateHttpMessageParameters(&mut result__).from_abi(result__) + WSDCreateHttpMessageParameters(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateOutboundAttachment() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateOutboundAttachment(ppattachment : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateOutboundAttachment(&mut result__).from_abi(result__) + WSDCreateOutboundAttachment(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateUdpAddress() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateUdpAddress(ppaddress : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateUdpAddress(&mut result__).from_abi(result__) + WSDCreateUdpAddress(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDCreateUdpMessageParameters() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDCreateUdpMessageParameters(pptxparams : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDCreateUdpMessageParameters(&mut result__).from_abi(result__) + WSDCreateUdpMessageParameters(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDDetachLinkedMemory(pvoid: *mut ::core::ffi::c_void) { @@ -159,7 +159,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDGenerateFault(pszcode : ::windows_core::PCWSTR, pszsubcode : ::windows_core::PCWSTR, pszreason : ::windows_core::PCWSTR, pszdetail : ::windows_core::PCWSTR, pcontext : * mut::core::ffi::c_void, ppfault : *mut *mut WSD_SOAP_FAULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDGenerateFault(pszcode.into_param().abi(), pszsubcode.into_param().abi(), pszreason.into_param().abi(), pszdetail.into_param().abi(), pcontext.into_param().abi(), &mut result__).from_abi(result__) + WSDGenerateFault(pszcode.into_param().abi(), pszsubcode.into_param().abi(), pszreason.into_param().abi(), pszdetail.into_param().abi(), pcontext.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WSDGenerateFaultEx(pcode: *const WSDXML_NAME, psubcode: ::core::option::Option<*const WSDXML_NAME>, preasons: *const WSD_LOCALIZED_STRING_LIST, pszdetail: P0) -> ::windows_core::Result<*mut WSD_SOAP_FAULT> @@ -168,7 +168,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDGenerateFaultEx(pcode : *const WSDXML_NAME, psubcode : *const WSDXML_NAME, preasons : *const WSD_LOCALIZED_STRING_LIST, pszdetail : ::windows_core::PCWSTR, ppfault : *mut *mut WSD_SOAP_FAULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDGenerateFaultEx(pcode, ::core::mem::transmute(psubcode.unwrap_or(::std::ptr::null())), preasons, pszdetail.into_param().abi(), &mut result__).from_abi(result__) + WSDGenerateFaultEx(pcode, ::core::mem::transmute(psubcode.unwrap_or(::std::ptr::null())), preasons, pszdetail.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WSDGetConfigurationOption(dwoption: u32, pvoid: *mut ::core::ffi::c_void, cboutbuffer: u32) -> ::windows_core::Result<()> { @@ -217,7 +217,7 @@ pub unsafe fn WSDXMLCleanupElement(pany: *mut WSDXML_ELEMENT) -> ::windows_core: pub unsafe fn WSDXMLCreateContext() -> ::windows_core::Result { ::windows_targets::link!("wsdapi.dll" "system" fn WSDXMLCreateContext(ppcontext : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDXMLCreateContext(&mut result__).from_abi(result__) + WSDXMLCreateContext(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WSDXMLGetNameFromBuiltinNamespace(psznamespace: P0, pszname: P1) -> ::windows_core::Result<*mut WSDXML_NAME> @@ -227,7 +227,7 @@ where { ::windows_targets::link!("wsdapi.dll" "system" fn WSDXMLGetNameFromBuiltinNamespace(psznamespace : ::windows_core::PCWSTR, pszname : ::windows_core::PCWSTR, ppname : *mut *mut WSDXML_NAME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WSDXMLGetNameFromBuiltinNamespace(psznamespace.into_param().abi(), pszname.into_param().abi(), &mut result__).from_abi(result__) + WSDXMLGetNameFromBuiltinNamespace(psznamespace.into_param().abi(), pszname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WSDXMLGetValueFromAny(psznamespace: P0, pszname: P1, pany: *mut WSDXML_ELEMENT, ppszvalue: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> @@ -299,7 +299,7 @@ impl IWSDAsyncResult { } pub unsafe fn GetAsyncState(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAsyncState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAsyncState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Abort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Abort)(::windows_core::Interface::as_raw(self)).ok() @@ -309,7 +309,7 @@ impl IWSDAsyncResult { } pub unsafe fn GetEndpointProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -426,7 +426,7 @@ impl IWSDDeviceHostNotify { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), pszserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), pszserviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -450,7 +450,7 @@ impl IWSDDeviceProxy { } pub unsafe fn BeginGetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndGetMetadata(&self, presult: P0) -> ::windows_core::Result<()> where @@ -460,34 +460,34 @@ impl IWSDDeviceProxy { } pub unsafe fn GetHostMetadata(&self) -> ::windows_core::Result<*mut WSD_HOST_METADATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThisModelMetadata(&self) -> ::windows_core::Result<*mut WSD_THIS_MODEL_METADATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThisModelMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThisModelMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThisDeviceMetadata(&self) -> ::windows_core::Result<*mut WSD_THIS_DEVICE_METADATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThisDeviceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThisDeviceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllMetadata(&self) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceProxyById(&self, pszserviceid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProxyById)(::windows_core::Interface::as_raw(self), pszserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProxyById)(::windows_core::Interface::as_raw(self), pszserviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceProxyByType(&self, ptype: *const WSDXML_NAME) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProxyByType)(::windows_core::Interface::as_raw(self), ptype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProxyByType)(::windows_core::Interface::as_raw(self), ptype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEndpointProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -520,7 +520,7 @@ impl IWSDEndpointProxy { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendTwoWayRequestAsync)(::windows_core::Interface::as_raw(self), pbody, poperation, pasyncstate.into_param().abi(), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendTwoWayRequestAsync)(::windows_core::Interface::as_raw(self), pbody, poperation, pasyncstate.into_param().abi(), pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AbortAsyncOperation(&self, pasyncresult: P0) -> ::windows_core::Result<()> where @@ -533,11 +533,11 @@ impl IWSDEndpointProxy { } pub unsafe fn GetErrorInfo(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFaultInfo(&self) -> ::windows_core::Result<*mut WSD_SOAP_FAULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFaultInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFaultInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -599,21 +599,21 @@ impl IWSDHttpAddress { } pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPort(&self, wport: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPort)(::windows_core::Interface::as_raw(self), wport).ok() } pub unsafe fn GetTransportAddress(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportAddressEx(&self, fsafe: P0) -> ::windows_core::Result<::windows_core::PCWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetTransportAddress(&self, pszaddress: P0) -> ::windows_core::Result<()> where @@ -632,7 +632,7 @@ impl IWSDHttpAddress { } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPath(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -655,11 +655,11 @@ pub struct IWSDHttpAddress_Vtbl { impl IWSDHttpAuthParameters { pub unsafe fn GetClientAccessToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientAccessToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientAccessToken)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -674,7 +674,7 @@ pub struct IWSDHttpAuthParameters_Vtbl { impl IWSDHttpMessageParameters { pub unsafe fn GetLocalAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -684,7 +684,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetRemoteAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -694,7 +694,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetLowerParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInboundHttpHeaders(&self, pszheaders: P0) -> ::windows_core::Result<()> where @@ -704,7 +704,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetInboundHttpHeaders(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInboundHttpHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInboundHttpHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutboundHttpHeaders(&self, pszheaders: P0) -> ::windows_core::Result<()> where @@ -714,7 +714,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetOutboundHttpHeaders(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutboundHttpHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutboundHttpHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetID(&self, pszid: P0) -> ::windows_core::Result<()> where @@ -724,7 +724,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetID(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContext(&self, pcontext: P0) -> ::windows_core::Result<()> where @@ -734,7 +734,7 @@ impl IWSDHttpMessageParameters { } pub unsafe fn GetContext(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -776,7 +776,7 @@ pub struct IWSDInboundAttachment_Vtbl { impl IWSDMessageParameters { pub unsafe fn GetLocalAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -786,7 +786,7 @@ impl IWSDMessageParameters { } pub unsafe fn GetRemoteAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -796,7 +796,7 @@ impl IWSDMessageParameters { } pub unsafe fn GetLowerParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -814,7 +814,7 @@ pub struct IWSDMessageParameters_Vtbl { impl IWSDMetadataExchange { pub unsafe fn GetMetadata(&self) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -828,7 +828,7 @@ pub struct IWSDMetadataExchange_Vtbl { impl IWSDOutboundAttachment { pub unsafe fn Write(&self, pbuffer: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -851,11 +851,11 @@ impl IWSDSSLClientCertificate { #[cfg(feature = "Win32_Security_Cryptography")] pub unsafe fn GetClientCertificate(&self) -> ::windows_core::Result<*mut super::super::Security::Cryptography::CERT_CONTEXT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMappedAccessToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMappedAccessToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMappedAccessToken)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -873,7 +873,7 @@ pub struct IWSDSSLClientCertificate_Vtbl { impl IWSDScopeMatchingRule { pub unsafe fn GetScopeRule(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeRule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MatchScopes(&self, pszscope1: P0, pszscope2: P1) -> ::windows_core::Result where @@ -881,7 +881,7 @@ impl IWSDScopeMatchingRule { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchScopes)(::windows_core::Interface::as_raw(self), pszscope1.into_param().abi(), pszscope2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchScopes)(::windows_core::Interface::as_raw(self), pszscope1.into_param().abi(), pszscope2.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -919,22 +919,22 @@ pub struct IWSDServiceMessaging_Vtbl { impl IWSDServiceProxy { pub unsafe fn GetMetadata(&self) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginGetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndGetMetadata(&self, presult: P0) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndGetMetadata)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndGetMetadata)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetServiceMetadata(&self) -> ::windows_core::Result<*mut WSD_SERVICE_METADATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubscribeToOperation(&self, poperation: *const WSD_OPERATION, punknown: P0, pany: *const WSDXML_ELEMENT, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -953,7 +953,7 @@ impl IWSDServiceProxy { } pub unsafe fn GetEndpointProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -973,22 +973,22 @@ pub struct IWSDServiceProxy_Vtbl { impl IWSDServiceProxyEventing { pub unsafe fn GetMetadata(&self) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginGetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginGetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndGetMetadata(&self, presult: P0) -> ::windows_core::Result<*mut WSD_METADATA_SECTION_LIST> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndGetMetadata)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndGetMetadata)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetServiceMetadata(&self) -> ::windows_core::Result<*mut WSD_SERVICE_METADATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceMetadata)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubscribeToOperation(&self, poperation: *const WSD_OPERATION, punknown: P0, pany: *const WSDXML_ELEMENT, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -1007,7 +1007,7 @@ impl IWSDServiceProxyEventing { } pub unsafe fn GetEndpointProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEndpointProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SubscribeToMultipleOperations(&self, poperations: &[WSD_OPERATION], punknown: P0, pexpires: ::core::option::Option<*const WSD_EVENTING_EXPIRES>, pany: ::core::option::Option<*const WSDXML_ELEMENT>, ppexpires: ::core::option::Option<*mut *mut WSD_EVENTING_EXPIRES>, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -1022,7 +1022,7 @@ impl IWSDServiceProxyEventing { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginSubscribeToMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), punknown.into_param().abi(), ::core::mem::transmute(pexpires.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginSubscribeToMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), punknown.into_param().abi(), ::core::mem::transmute(pexpires.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndSubscribeToMultipleOperations(&self, poperations: &[WSD_OPERATION], presult: P0, ppexpires: ::core::option::Option<*mut *mut WSD_EVENTING_EXPIRES>, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -1039,7 +1039,7 @@ impl IWSDServiceProxyEventing { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginUnsubscribeToMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginUnsubscribeToMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndUnsubscribeToMultipleOperations(&self, poperations: &[WSD_OPERATION], presult: P0) -> ::windows_core::Result<()> where @@ -1056,7 +1056,7 @@ impl IWSDServiceProxyEventing { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginRenewMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pexpires.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginRenewMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pexpires.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndRenewMultipleOperations(&self, poperations: &[WSD_OPERATION], presult: P0, ppexpires: ::core::option::Option<*mut *mut WSD_EVENTING_EXPIRES>, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -1073,7 +1073,7 @@ impl IWSDServiceProxyEventing { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginGetStatusForMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginGetStatusForMultipleOperations)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poperations.as_ptr()), poperations.len().try_into().unwrap(), ::core::mem::transmute(pany.unwrap_or(::std::ptr::null())), pasyncstate.into_param().abi(), pasynccallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndGetStatusForMultipleOperations(&self, poperations: &[WSD_OPERATION], presult: P0, ppexpires: ::core::option::Option<*mut *mut WSD_EVENTING_EXPIRES>, ppany: ::core::option::Option<*mut *mut WSDXML_ELEMENT>) -> ::windows_core::Result<()> where @@ -1104,11 +1104,11 @@ pub struct IWSDServiceProxyEventing_Vtbl { impl IWSDSignatureProperty { pub unsafe fn IsMessageSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMessageSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMessageSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMessageSignatureTrusted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMessageSignatureTrusted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMessageSignatureTrusted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyInfo(&self, pbkeyinfo: ::core::option::Option<*mut u8>, pdwkeyinfosize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetKeyInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbkeyinfo.unwrap_or(::std::ptr::null_mut())), pdwkeyinfosize).ok() @@ -1147,21 +1147,21 @@ impl IWSDTransportAddress { } pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPort(&self, wport: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPort)(::windows_core::Interface::as_raw(self), wport).ok() } pub unsafe fn GetTransportAddress(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportAddressEx(&self, fsafe: P0) -> ::windows_core::Result<::windows_core::PCWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetTransportAddress(&self, pszaddress: P0) -> ::windows_core::Result<()> where @@ -1197,21 +1197,21 @@ impl IWSDUdpAddress { } pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPort(&self, wport: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPort)(::windows_core::Interface::as_raw(self), wport).ok() } pub unsafe fn GetTransportAddress(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportAddressEx(&self, fsafe: P0) -> ::windows_core::Result<::windows_core::PCWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportAddressEx)(::windows_core::Interface::as_raw(self), fsafe.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetTransportAddress(&self, pszaddress: P0) -> ::windows_core::Result<()> where @@ -1241,21 +1241,21 @@ impl IWSDUdpAddress { } pub unsafe fn GetMessageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTTL(&self, dwttl: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTTL)(::windows_core::Interface::as_raw(self), dwttl).ok() } pub unsafe fn GetTTL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTTL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTTL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlias(&self, palias: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAlias)(::windows_core::Interface::as_raw(self), palias).ok() } pub unsafe fn GetAlias(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlias)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlias)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1284,7 +1284,7 @@ pub struct IWSDUdpAddress_Vtbl { impl IWSDUdpMessageParameters { pub unsafe fn GetLocalAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLocalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -1294,7 +1294,7 @@ impl IWSDUdpMessageParameters { } pub unsafe fn GetRemoteAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRemoteAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddress(&self, paddress: P0) -> ::windows_core::Result<()> where @@ -1304,7 +1304,7 @@ impl IWSDUdpMessageParameters { } pub unsafe fn GetLowerParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLowerParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRetransmitParams(&self, pparams: *const WSDUdpRetransmitParams) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetransmitParams)(::windows_core::Interface::as_raw(self), pparams).ok() @@ -1358,46 +1358,46 @@ pub struct IWSDXMLContext_Vtbl { impl IWSDiscoveredService { pub unsafe fn GetEndpointReference(&self) -> ::windows_core::Result<*mut WSD_ENDPOINT_REFERENCE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndpointReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndpointReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypes(&self) -> ::windows_core::Result<*mut WSD_NAME_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScopes(&self) -> ::windows_core::Result<*mut WSD_URI_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetXAddrs(&self) -> ::windows_core::Result<*mut WSD_URI_LIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXAddrs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXAddrs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMetadataVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExtendedDiscoXML(&self, ppheaderany: *mut *mut WSDXML_ELEMENT, ppbodyany: *mut *mut WSDXML_ELEMENT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExtendedDiscoXML)(::windows_core::Interface::as_raw(self), ppheaderany, ppbodyany).ok() } pub unsafe fn GetProbeResolveTag(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProbeResolveTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProbeResolveTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRemoteTransportAddress(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalTransportAddress(&self) -> ::windows_core::Result<::windows_core::PCWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalTransportAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalInterfaceGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalInterfaceGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalInterfaceGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInstanceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1454,7 +1454,7 @@ impl IWSDiscoveryProvider { } pub unsafe fn GetXMLContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXMLContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXMLContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1643,7 +1643,7 @@ impl IWSDiscoveryPublisher { } pub unsafe fn GetXMLContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXMLContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXMLContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Gaming/mod.rs b/crates/libs/windows/src/Windows/Win32/Gaming/mod.rs index 2edb63ebec..f45ad00744 100644 --- a/crates/libs/windows/src/Windows/Win32/Gaming/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Gaming/mod.rs @@ -2,7 +2,7 @@ pub unsafe fn CheckGamingPrivilegeSilently(privilegeid: u32, scope: &::windows_core::HSTRING, policy: &::windows_core::HSTRING) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-gaming-tcui-l1-1-1.dll" "system" fn CheckGamingPrivilegeSilently(privilegeid : u32, scope : ::std::mem::MaybeUninit <::windows_core::HSTRING >, policy : ::std::mem::MaybeUninit <::windows_core::HSTRING >, hasprivilege : *mut super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CheckGamingPrivilegeSilently(privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).from_abi(result__) + CheckGamingPrivilegeSilently(privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).map(|| result__) } #[inline] pub unsafe fn CheckGamingPrivilegeSilentlyForUser(user: P0, privilegeid: u32, scope: &::windows_core::HSTRING, policy: &::windows_core::HSTRING) -> ::windows_core::Result @@ -11,7 +11,7 @@ where { ::windows_targets::link!("api-ms-win-gaming-tcui-l1-1-2.dll" "system" fn CheckGamingPrivilegeSilentlyForUser(user : * mut::core::ffi::c_void, privilegeid : u32, scope : ::std::mem::MaybeUninit <::windows_core::HSTRING >, policy : ::std::mem::MaybeUninit <::windows_core::HSTRING >, hasprivilege : *mut super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CheckGamingPrivilegeSilentlyForUser(user.into_param().abi(), privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).from_abi(result__) + CheckGamingPrivilegeSilentlyForUser(user.into_param().abi(), privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).map(|| result__) } #[inline] pub unsafe fn CheckGamingPrivilegeWithUI(privilegeid: u32, scope: &::windows_core::HSTRING, policy: &::windows_core::HSTRING, friendlymessage: &::windows_core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> { @@ -30,19 +30,19 @@ where pub unsafe fn GetExpandedResourceExclusiveCpuCount() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-gaming-expandedresources-l1-1-0.dll" "system" fn GetExpandedResourceExclusiveCpuCount(exclusivecpucount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetExpandedResourceExclusiveCpuCount(&mut result__).from_abi(result__) + GetExpandedResourceExclusiveCpuCount(&mut result__).map(|| result__) } #[inline] pub unsafe fn GetGamingDeviceModelInformation() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-gaming-deviceinformation-l1-1-0.dll" "system" fn GetGamingDeviceModelInformation(information : *mut GAMING_DEVICE_MODEL_INFORMATION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetGamingDeviceModelInformation(&mut result__).from_abi(result__) + GetGamingDeviceModelInformation(&mut result__).map(|| result__) } #[inline] pub unsafe fn HasExpandedResources() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-gaming-expandedresources-l1-1-0.dll" "system" fn HasExpandedResources(hasexpandedresources : *mut super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HasExpandedResources(&mut result__).from_abi(result__) + HasExpandedResources(&mut result__).map(|| result__) } #[inline] pub unsafe fn ProcessPendingGameUI(waitforcompletion: P0) -> ::windows_core::Result<()> @@ -213,7 +213,7 @@ impl IGameExplorer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerifyAccess)(::windows_core::Interface::as_raw(self), bstrgdfbinarypath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerifyAccess)(::windows_core::Interface::as_raw(self), bstrgdfbinarypath.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -246,7 +246,7 @@ impl IGameExplorer2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckAccess)(::windows_core::Interface::as_raw(self), binarygdfpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckAccess)(::windows_core::Interface::as_raw(self), binarygdfpath.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -262,23 +262,23 @@ pub struct IGameExplorer2_Vtbl { impl IGameStatistics { pub unsafe fn GetMaxCategoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxCategoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxCategoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxNameLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxNameLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxNameLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxValueLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxValueLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxValueLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxCategories)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxStatsPerCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxStatsPerCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxStatsPerCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategoryTitle(&self, categoryindex: u16, title: P0) -> ::windows_core::Result<()> where @@ -288,7 +288,7 @@ impl IGameStatistics { } pub unsafe fn GetCategoryTitle(&self, categoryindex: u16) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategoryTitle)(::windows_core::Interface::as_raw(self), categoryindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategoryTitle)(::windows_core::Interface::as_raw(self), categoryindex, &mut result__).map(|| result__) } pub unsafe fn GetStatistic(&self, categoryindex: u16, statindex: u16, pname: ::core::option::Option<*mut ::windows_core::PWSTR>, pvalue: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatistic)(::windows_core::Interface::as_raw(self), categoryindex, statindex, ::core::mem::transmute(pname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -311,7 +311,7 @@ impl IGameStatistics { } pub unsafe fn GetLastPlayedCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPlayedCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPlayedCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -376,11 +376,11 @@ impl IXblIdpAuthManager { } pub unsafe fn GetEnvironment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSandbox(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSandbox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSandbox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTokenAndSignatureWithTokenResult(&self, msaaccountid: P0, appsid: P1, msatarget: P2, msapolicy: P3, httpmethod: P4, uri: P5, headers: P6, body: &[u8], forcerefresh: P7) -> ::windows_core::Result where @@ -394,7 +394,7 @@ impl IXblIdpAuthManager { P7: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTokenAndSignatureWithTokenResult)(::windows_core::Interface::as_raw(self), msaaccountid.into_param().abi(), appsid.into_param().abi(), msatarget.into_param().abi(), msapolicy.into_param().abi(), httpmethod.into_param().abi(), uri.into_param().abi(), headers.into_param().abi(), ::core::mem::transmute(body.as_ptr()), body.len().try_into().unwrap(), forcerefresh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTokenAndSignatureWithTokenResult)(::windows_core::Interface::as_raw(self), msaaccountid.into_param().abi(), appsid.into_param().abi(), msatarget.into_param().abi(), msapolicy.into_param().abi(), httpmethod.into_param().abi(), uri.into_param().abi(), headers.into_param().abi(), ::core::mem::transmute(body.as_ptr()), body.len().try_into().unwrap(), forcerefresh.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -422,7 +422,7 @@ impl IXblIdpAuthManager2 { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserlessTokenAndSignatureWithTokenResult)(::windows_core::Interface::as_raw(self), appsid.into_param().abi(), msatarget.into_param().abi(), msapolicy.into_param().abi(), httpmethod.into_param().abi(), uri.into_param().abi(), headers.into_param().abi(), ::core::mem::transmute(body.as_ptr()), body.len().try_into().unwrap(), forcerefresh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserlessTokenAndSignatureWithTokenResult)(::windows_core::Interface::as_raw(self), appsid.into_param().abi(), msatarget.into_param().abi(), msapolicy.into_param().abi(), httpmethod.into_param().abi(), uri.into_param().abi(), headers.into_param().abi(), ::core::mem::transmute(body.as_ptr()), body.len().try_into().unwrap(), forcerefresh.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -436,83 +436,83 @@ pub struct IXblIdpAuthManager2_Vtbl { impl IXblIdpAuthTokenResult { pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetToken(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetToken)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignature(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignature)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSandbox(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSandbox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSandbox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnvironment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMsaAccountId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMsaAccountId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMsaAccountId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetXuid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGamertag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGamertag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGamertag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAgeGroup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAgeGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAgeGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrivileges(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrivileges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrivileges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMsaTarget(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMsaTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMsaTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMsaPolicy(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMsaPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMsaPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMsaAppId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMsaAppId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMsaAppId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRedirect(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRedirect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRedirect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMessage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHelpId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnforcementBans(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnforcementBans)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnforcementBans)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRestrictions(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTitleRestrictions(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitleRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitleRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -545,15 +545,15 @@ pub struct IXblIdpAuthTokenResult_Vtbl { impl IXblIdpAuthTokenResult2 { pub unsafe fn GetModernGamertag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModernGamertag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModernGamertag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModernGamertagSuffix(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModernGamertagSuffix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModernGamertagSuffix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUniqueModernGamertag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUniqueModernGamertag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUniqueModernGamertag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Globalization/mod.rs b/crates/libs/windows/src/Windows/Win32/Globalization/mod.rs index f586e616c6..7b0ac8ceee 100644 --- a/crates/libs/windows/src/Windows/Win32/Globalization/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Globalization/mod.rs @@ -338,7 +338,7 @@ where { ::windows_targets::link!("bcp47mrm.dll" "system" fn GetDistanceOfClosestLanguageInList(pszlanguage : ::windows_core::PCWSTR, pszlanguageslist : ::windows_core::PCWSTR, wchlistdelimiter : u16, pclosestdistance : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetDistanceOfClosestLanguageInList(pszlanguage.into_param().abi(), pszlanguageslist.into_param().abi(), wchlistdelimiter, &mut result__).from_abi(result__) + GetDistanceOfClosestLanguageInList(pszlanguage.into_param().abi(), pszlanguageslist.into_param().abi(), wchlistdelimiter, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetDurationFormat(locale: u32, dwflags: u32, lpduration: ::core::option::Option<*const super::Foundation::SYSTEMTIME>, ullduration: u64, lpformat: P0, lpdurationstr: ::core::option::Option<&mut [u16]>) -> i32 @@ -968,7 +968,7 @@ where pub unsafe fn ScriptRecordDigitSubstitution(locale: u32) -> ::windows_core::Result { ::windows_targets::link!("usp10.dll" "system" fn ScriptRecordDigitSubstitution(locale : u32, psds : *mut SCRIPT_DIGITSUBSTITUTE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ScriptRecordDigitSubstitution(locale, &mut result__).from_abi(result__) + ScriptRecordDigitSubstitution(locale, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -1006,7 +1006,7 @@ where { ::windows_targets::link!("usp10.dll" "system" fn ScriptStringCPtoX(ssa : *const ::core::ffi::c_void, icp : i32, ftrailing : super::Foundation:: BOOL, px : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ScriptStringCPtoX(ssa, icp, ftrailing.into_param().abi(), &mut result__).from_abi(result__) + ScriptStringCPtoX(ssa, icp, ftrailing.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn ScriptStringFree(pssa: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -7062,7 +7062,7 @@ impl IComprehensiveSpellCheckProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7164,18 +7164,18 @@ pub struct IEnumSpellingError_Vtbl { impl IMLangCodePages { pub unsafe fn GetCharCodePages(&self, chsrc: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).map(|| result__) } pub unsafe fn GetStrCodePages(&self, pszsrc: &[u16], dwprioritycodepages: u32, pdwcodepages: ::core::option::Option<*mut u32>, pcchcodepages: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStrCodePages)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszsrc.as_ptr()), pszsrc.len().try_into().unwrap(), dwprioritycodepages, ::core::mem::transmute(pdwcodepages.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcchcodepages.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn CodePageToCodePages(&self, ucodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).map(|| result__) } pub unsafe fn CodePagesToCodePage(&self, dwcodepages: u32, udefaultcodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).map(|| result__) } } #[repr(C)] @@ -7195,15 +7195,15 @@ impl IMLangConvertCharset { } pub unsafe fn GetSourceCodePage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceCodePage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceCodePage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDestinationCodePage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationCodePage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationCodePage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoConversion(&self, psrcstr: *const u8, pcsrcsize: ::core::option::Option<*mut u32>, pdststr: *mut u8, pcdstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DoConversion)(::windows_core::Interface::as_raw(self), psrcstr, ::core::mem::transmute(pcsrcsize.unwrap_or(::std::ptr::null_mut())), pdststr, ::core::mem::transmute(pcdstsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7238,18 +7238,18 @@ pub struct IMLangConvertCharset_Vtbl { impl IMLangFontLink { pub unsafe fn GetCharCodePages(&self, chsrc: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).map(|| result__) } pub unsafe fn GetStrCodePages(&self, pszsrc: &[u16], dwprioritycodepages: u32, pdwcodepages: ::core::option::Option<*mut u32>, pcchcodepages: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStrCodePages)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszsrc.as_ptr()), pszsrc.len().try_into().unwrap(), dwprioritycodepages, ::core::mem::transmute(pdwcodepages.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcchcodepages.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn CodePageToCodePages(&self, ucodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).map(|| result__) } pub unsafe fn CodePagesToCodePage(&self, dwcodepages: u32, udefaultcodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetFontCodePages(&self, hdc: P0, hfont: P1, pdwcodepages: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -7301,18 +7301,18 @@ pub struct IMLangFontLink_Vtbl { impl IMLangFontLink2 { pub unsafe fn GetCharCodePages(&self, chsrc: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCharCodePages)(::windows_core::Interface::as_raw(self), chsrc, &mut result__).map(|| result__) } pub unsafe fn GetStrCodePages(&self, pszsrc: &[u16], dwprioritycodepages: u32, pdwcodepages: ::core::option::Option<*mut u32>, pcchcodepages: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStrCodePages)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszsrc.as_ptr()), pszsrc.len().try_into().unwrap(), dwprioritycodepages, ::core::mem::transmute(pdwcodepages.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcchcodepages.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn CodePageToCodePages(&self, ucodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CodePageToCodePages)(::windows_core::Interface::as_raw(self), ucodepage, &mut result__).map(|| result__) } pub unsafe fn CodePagesToCodePage(&self, dwcodepages: u32, udefaultcodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CodePagesToCodePage)(::windows_core::Interface::as_raw(self), dwcodepages, udefaultcodepage, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetFontCodePages(&self, hdc: P0, hfont: P1, pdwcodepages: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -7351,7 +7351,7 @@ impl IMLangFontLink2 { } pub unsafe fn CodePageToScriptID(&self, uicodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CodePageToScriptID)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CodePageToScriptID)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).map(|| result__) } } #[repr(C)] @@ -7635,18 +7635,18 @@ pub struct IMLangStringWStr_Vtbl { impl IMultiLanguage { pub unsafe fn GetNumberOfCodePageInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodePageInfo(&self, uicodepage: u32, pcodepageinfo: *mut MIMECPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCodePageInfo)(::windows_core::Interface::as_raw(self), uicodepage, pcodepageinfo).ok() } pub unsafe fn GetFamilyCodePage(&self, uicodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).map(|| result__) } pub unsafe fn EnumCodePages(&self, grfflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCharsetInfo(&self, charset: P0, pcharsetinfo: *mut MIMECSETINFO) -> ::windows_core::Result<()> where @@ -7677,7 +7677,7 @@ impl IMultiLanguage { } pub unsafe fn GetRfc1766FromLcid(&self, locale: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLcidFromRfc1766(&self, plocale: *mut u32, bstrrfc1766: P0) -> ::windows_core::Result<()> where @@ -7687,14 +7687,14 @@ impl IMultiLanguage { } pub unsafe fn EnumRfc1766(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRfc1766)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRfc1766)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRfc1766Info(&self, locale: u32, prfc1766info: *mut RFC1766INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRfc1766Info)(::windows_core::Interface::as_raw(self), locale, prfc1766info).ok() } pub unsafe fn CreateConvertCharset(&self, uisrccodepage: u32, uidstcodepage: u32, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7722,18 +7722,18 @@ pub struct IMultiLanguage_Vtbl { impl IMultiLanguage2 { pub unsafe fn GetNumberOfCodePageInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodePageInfo(&self, uicodepage: u32, langid: u16, pcodepageinfo: *mut MIMECPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCodePageInfo)(::windows_core::Interface::as_raw(self), uicodepage, langid, pcodepageinfo).ok() } pub unsafe fn GetFamilyCodePage(&self, uicodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).map(|| result__) } pub unsafe fn EnumCodePages(&self, grfflags: u32, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCharsetInfo(&self, charset: P0, pcharsetinfo: *mut MIMECSETINFO) -> ::windows_core::Result<()> where @@ -7764,7 +7764,7 @@ impl IMultiLanguage2 { } pub unsafe fn GetRfc1766FromLcid(&self, locale: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLcidFromRfc1766(&self, plocale: *mut u32, bstrrfc1766: P0) -> ::windows_core::Result<()> where @@ -7774,14 +7774,14 @@ impl IMultiLanguage2 { } pub unsafe fn EnumRfc1766(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRfc1766)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRfc1766)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRfc1766Info(&self, locale: u32, langid: u16, prfc1766info: *mut RFC1766INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRfc1766Info)(::windows_core::Interface::as_raw(self), locale, langid, prfc1766info).ok() } pub unsafe fn CreateConvertCharset(&self, uisrccodepage: u32, uidstcodepage: u32, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConvertStringInIStream(&self, pdwmode: ::core::option::Option<*mut u32>, dwflag: u32, lpfallback: P0, dwsrcencoding: u32, dwdstencoding: u32, pstmin: P1, pstmout: P2) -> ::windows_core::Result<()> @@ -7836,11 +7836,11 @@ impl IMultiLanguage2 { } pub unsafe fn GetNumberOfScripts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfScripts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfScripts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumScripts(&self, dwflags: u32, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumScripts)(::windows_core::Interface::as_raw(self), dwflags, langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumScripts)(::windows_core::Interface::as_raw(self), dwflags, langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ValidateCodePageEx(&self, uicodepage: u32, hwnd: P0, dwfiodcontrol: u32) -> ::windows_core::Result<()> where @@ -7892,18 +7892,18 @@ pub struct IMultiLanguage2_Vtbl { impl IMultiLanguage3 { pub unsafe fn GetNumberOfCodePageInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumberOfCodePageInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodePageInfo(&self, uicodepage: u32, langid: u16, pcodepageinfo: *mut MIMECPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCodePageInfo)(::windows_core::Interface::as_raw(self), uicodepage, langid, pcodepageinfo).ok() } pub unsafe fn GetFamilyCodePage(&self, uicodepage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFamilyCodePage)(::windows_core::Interface::as_raw(self), uicodepage, &mut result__).map(|| result__) } pub unsafe fn EnumCodePages(&self, grfflags: u32, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCodePages)(::windows_core::Interface::as_raw(self), grfflags, langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCharsetInfo(&self, charset: P0, pcharsetinfo: *mut MIMECSETINFO) -> ::windows_core::Result<()> where @@ -7934,7 +7934,7 @@ impl IMultiLanguage3 { } pub unsafe fn GetRfc1766FromLcid(&self, locale: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRfc1766FromLcid)(::windows_core::Interface::as_raw(self), locale, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLcidFromRfc1766(&self, plocale: *mut u32, bstrrfc1766: P0) -> ::windows_core::Result<()> where @@ -7944,14 +7944,14 @@ impl IMultiLanguage3 { } pub unsafe fn EnumRfc1766(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumRfc1766)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumRfc1766)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRfc1766Info(&self, locale: u32, langid: u16, prfc1766info: *mut RFC1766INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRfc1766Info)(::windows_core::Interface::as_raw(self), locale, langid, prfc1766info).ok() } pub unsafe fn CreateConvertCharset(&self, uisrccodepage: u32, uidstcodepage: u32, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateConvertCharset)(::windows_core::Interface::as_raw(self), uisrccodepage, uidstcodepage, dwproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConvertStringInIStream(&self, pdwmode: ::core::option::Option<*mut u32>, dwflag: u32, lpfallback: P0, dwsrcencoding: u32, dwdstencoding: u32, pstmin: P1, pstmout: P2) -> ::windows_core::Result<()> @@ -8006,11 +8006,11 @@ impl IMultiLanguage3 { } pub unsafe fn GetNumberOfScripts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumberOfScripts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumberOfScripts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumScripts(&self, dwflags: u32, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumScripts)(::windows_core::Interface::as_raw(self), dwflags, langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumScripts)(::windows_core::Interface::as_raw(self), dwflags, langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ValidateCodePageEx(&self, uicodepage: u32, hwnd: P0, dwfiodcontrol: u32) -> ::windows_core::Result<()> where @@ -8048,20 +8048,20 @@ pub struct IMultiLanguage3_Vtbl { impl IOptionDescription { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Heading(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Heading)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Heading)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Labels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Labels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Labels)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8081,14 +8081,14 @@ pub struct IOptionDescription_Vtbl { impl ISpellCheckProvider { pub unsafe fn LanguageTag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Check(&self, text: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Suggest(&self, word: P0) -> ::windows_core::Result @@ -8096,14 +8096,14 @@ impl ISpellCheckProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOptionValue(&self, optionid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOptionValue(&self, optionid: P0, value: u8) -> ::windows_core::Result<()> where @@ -8114,22 +8114,22 @@ impl ISpellCheckProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OptionIds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalizedName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptionDescription(&self, optionid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeWordlist(&self, wordlisttype: WORDLIST_TYPE, words: P0) -> ::windows_core::Result<()> @@ -8169,21 +8169,21 @@ impl ISpellCheckProviderFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedLanguages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSupported(&self, languagetag: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSupported)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSupported)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateSpellCheckProvider(&self, languagetag: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSpellCheckProvider)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSpellCheckProvider)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8202,14 +8202,14 @@ pub struct ISpellCheckProviderFactory_Vtbl { impl ISpellChecker { pub unsafe fn LanguageTag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Check(&self, text: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Suggest(&self, word: P0) -> ::windows_core::Result @@ -8217,7 +8217,7 @@ impl ISpellChecker { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, word: P0) -> ::windows_core::Result<()> where @@ -8243,27 +8243,27 @@ impl ISpellChecker { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OptionIds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalizedName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn add_SpellCheckerChanged(&self, handler: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).add_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).add_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), handler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn remove_SpellCheckerChanged(&self, eventcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).remove_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), eventcookie).ok() @@ -8273,14 +8273,14 @@ impl ISpellChecker { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComprehensiveCheck(&self, text: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8313,14 +8313,14 @@ pub struct ISpellChecker_Vtbl { impl ISpellChecker2 { pub unsafe fn LanguageTag(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LanguageTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Check(&self, text: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Check)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Suggest(&self, word: P0) -> ::windows_core::Result @@ -8328,7 +8328,7 @@ impl ISpellChecker2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Suggest)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, word: P0) -> ::windows_core::Result<()> where @@ -8354,27 +8354,27 @@ impl ISpellChecker2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptionValue)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OptionIds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OptionIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalizedName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalizedName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn add_SpellCheckerChanged(&self, handler: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.add_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), handler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.add_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), handler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn remove_SpellCheckerChanged(&self, eventcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.remove_SpellCheckerChanged)(::windows_core::Interface::as_raw(self), eventcookie).ok() @@ -8384,14 +8384,14 @@ impl ISpellChecker2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptionDescription)(::windows_core::Interface::as_raw(self), optionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComprehensiveCheck(&self, text: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComprehensiveCheck)(::windows_core::Interface::as_raw(self), text.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, word: P0) -> ::windows_core::Result<()> where @@ -8428,21 +8428,21 @@ impl ISpellCheckerFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedLanguages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSupported(&self, languagetag: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSupported)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSupported)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateSpellChecker(&self, languagetag: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSpellChecker)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSpellChecker)(::windows_core::Interface::as_raw(self), languagetag.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8461,19 +8461,19 @@ pub struct ISpellCheckerFactory_Vtbl { impl ISpellingError { pub unsafe fn StartIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CorrectiveAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrectiveAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrectiveAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Replacement(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Replacement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Replacement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/CompositionSwapchain/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/CompositionSwapchain/mod.rs index 7c20f44e62..ebc1c5f6a8 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/CompositionSwapchain/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/CompositionSwapchain/mod.rs @@ -123,11 +123,11 @@ pub struct IPresentStatusPresentStatistics_Vtbl { impl IPresentationBuffer { pub unsafe fn GetAvailableEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -161,7 +161,7 @@ impl IPresentationFactory { } pub unsafe fn CreatePresentationManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePresentationManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePresentationManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -180,14 +180,14 @@ impl IPresentationManager { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBufferFromResource)(::windows_core::Interface::as_raw(self), resource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBufferFromResource)(::windows_core::Interface::as_raw(self), resource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePresentationSurface(&self, compositionsurfacehandle: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePresentationSurface)(::windows_core::Interface::as_raw(self), compositionsurfacehandle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePresentationSurface)(::windows_core::Interface::as_raw(self), compositionsurfacehandle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextPresentId(&self) -> u64 { (::windows_core::Interface::vtable(self).GetNextPresentId)(::windows_core::Interface::as_raw(self)) @@ -206,25 +206,25 @@ impl IPresentationManager { } pub unsafe fn GetPresentRetiringFence(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut ::core::ffi::c_void> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentRetiringFence)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentRetiringFence)(::windows_core::Interface::as_raw(self), riid, &mut result__).map(|| result__) } pub unsafe fn CancelPresentsFrom(&self, presentidtocancelfrom: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelPresentsFrom)(::windows_core::Interface::as_raw(self), presentidtocancelfrom).ok() } pub unsafe fn GetLostEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLostEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLostEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPresentStatisticsAvailableEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentStatisticsAvailableEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentStatisticsAvailableEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnablePresentStatisticsKind(&self, presentstatisticskind: PresentStatisticsKind, enabled: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnablePresentStatisticsKind)(::windows_core::Interface::as_raw(self), presentstatisticskind, enabled).ok() } pub unsafe fn GetNextPresentStatistics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextPresentStatistics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextPresentStatistics)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DXCore/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DXCore/mod.rs index f300941757..72abd56b09 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DXCore/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DXCore/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("dxcore.dll" "system" fn DXCoreCreateAdapterFactory(riid : *const ::windows_core::GUID, ppvfactory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DXCoreCreateAdapterFactory(&T::IID, &mut result__).from_abi(result__) + DXCoreCreateAdapterFactory(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDXCoreAdapter, IDXCoreAdapter_Vtbl, 0xf0db4c7f_fe5a_42a2_bd62_f2a6cf6fc83e); ::windows_core::imp::interface_hierarchy!(IDXCoreAdapter, ::windows_core::IUnknown); @@ -24,7 +24,7 @@ impl IDXCoreAdapter { } pub unsafe fn GetPropertySize(&self, property: DXCoreAdapterProperty) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertySize)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertySize)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn IsQueryStateSupported(&self, property: DXCoreAdapterState) -> bool { (::windows_core::Interface::vtable(self).IsQueryStateSupported)(::windows_core::Interface::as_raw(self), property) @@ -43,7 +43,7 @@ impl IDXCoreAdapter { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFactory)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFactory)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -69,14 +69,14 @@ impl IDXCoreAdapterFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateAdapterList)(::windows_core::Interface::as_raw(self), filterattributes.len().try_into().unwrap(), ::core::mem::transmute(filterattributes.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAdapterList)(::windows_core::Interface::as_raw(self), filterattributes.len().try_into().unwrap(), ::core::mem::transmute(filterattributes.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapterByLuid(&self, adapterluid: *const super::super::Foundation::LUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAdapterByLuid)(::windows_core::Interface::as_raw(self), adapterluid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdapterByLuid)(::windows_core::Interface::as_raw(self), adapterluid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsNotificationTypeSupported(&self, notificationtype: DXCoreNotificationType) -> bool { (::windows_core::Interface::vtable(self).IsNotificationTypeSupported)(::windows_core::Interface::as_raw(self), notificationtype) @@ -86,7 +86,7 @@ impl IDXCoreAdapterFactory { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterEventNotification)(::windows_core::Interface::as_raw(self), dxcoreobject.into_param().abi(), notificationtype, callbackfunction, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterEventNotification)(::windows_core::Interface::as_raw(self), dxcoreobject.into_param().abi(), notificationtype, callbackfunction, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn UnregisterEventNotification(&self, eventcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterEventNotification)(::windows_core::Interface::as_raw(self), eventcookie).ok() @@ -110,7 +110,7 @@ impl IDXCoreAdapterList { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAdapter)(::windows_core::Interface::as_raw(self), index, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdapter)(::windows_core::Interface::as_raw(self), index, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapterCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetAdapterCount)(::windows_core::Interface::as_raw(self)) @@ -123,7 +123,7 @@ impl IDXCoreAdapterList { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFactory)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFactory)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Sort(&self, preferences: &[DXCoreAdapterPreference]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Sort)(::windows_core::Interface::as_raw(self), preferences.len().try_into().unwrap(), ::core::mem::transmute(preferences.as_ptr())).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct2D/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct2D/mod.rs index 36bd36dafe..2ffa3fcc2b 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct2D/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct2D/mod.rs @@ -20,7 +20,7 @@ where { ::windows_targets::link!("d2d1.dll" "system" fn D2D1CreateDevice(dxgidevice : * mut::core::ffi::c_void, creationproperties : *const D2D1_CREATION_PROPERTIES, d2ddevice : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D2D1CreateDevice(dxgidevice.into_param().abi(), ::core::mem::transmute(creationproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + D2D1CreateDevice(dxgidevice.into_param().abi(), ::core::mem::transmute(creationproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] #[inline] @@ -30,7 +30,7 @@ where { ::windows_targets::link!("d2d1.dll" "system" fn D2D1CreateDeviceContext(dxgisurface : * mut::core::ffi::c_void, creationproperties : *const D2D1_CREATION_PROPERTIES, d2ddevicecontext : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D2D1CreateDeviceContext(dxgisurface.into_param().abi(), ::core::mem::transmute(creationproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + D2D1CreateDeviceContext(dxgisurface.into_param().abi(), ::core::mem::transmute(creationproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D2D1CreateFactory(factorytype: D2D1_FACTORY_TYPE, pfactoryoptions: ::core::option::Option<*const D2D1_FACTORY_OPTIONS>) -> ::windows_core::Result @@ -39,7 +39,7 @@ where { ::windows_targets::link!("d2d1.dll" "system" fn D2D1CreateFactory(factorytype : D2D1_FACTORY_TYPE, riid : *const ::windows_core::GUID, pfactoryoptions : *const D2D1_FACTORY_OPTIONS, ppifactory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - D2D1CreateFactory(factorytype, &T::IID, ::core::mem::transmute(pfactoryoptions.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + D2D1CreateFactory(factorytype, &T::IID, ::core::mem::transmute(pfactoryoptions.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] #[inline] @@ -107,7 +107,7 @@ impl ID2D1Bitmap { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetSize(&self) -> Common::D2D_SIZE_F { @@ -187,7 +187,7 @@ impl ID2D1Bitmap1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetSize(&self) -> Common::D2D_SIZE_F { @@ -231,7 +231,7 @@ impl ID2D1Bitmap1 { pub unsafe fn GetColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetColorContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetOptions(&self) -> D2D1_BITMAP_OPTIONS { (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self)) @@ -239,11 +239,11 @@ impl ID2D1Bitmap1 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Map(&self, options: D2D1_MAP_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), options, &mut result__).map(|| result__) } pub unsafe fn Unmap(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unmap)(::windows_core::Interface::as_raw(self)).ok() @@ -270,7 +270,7 @@ impl ID2D1BitmapBrush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -313,7 +313,7 @@ impl ID2D1BitmapBrush { pub unsafe fn GetBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1BitmapBrush {} @@ -337,7 +337,7 @@ impl ID2D1BitmapBrush1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -380,7 +380,7 @@ impl ID2D1BitmapBrush1 { pub unsafe fn GetBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetInterpolationMode1(&self, interpolationmode: D2D1_INTERPOLATION_MODE) { (::windows_core::Interface::vtable(self).SetInterpolationMode1)(::windows_core::Interface::as_raw(self), interpolationmode) @@ -404,12 +404,12 @@ impl ID2D1BitmapRenderTarget { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -417,7 +417,7 @@ impl ID2D1BitmapRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -429,17 +429,17 @@ impl ID2D1BitmapRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -447,7 +447,7 @@ impl ID2D1BitmapRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -455,21 +455,21 @@ impl ID2D1BitmapRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -616,7 +616,7 @@ impl ID2D1BitmapRenderTarget { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -699,7 +699,7 @@ impl ID2D1BitmapRenderTarget { } pub unsafe fn GetBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1BitmapRenderTarget {} @@ -792,7 +792,7 @@ impl ID2D1BoundsAdjustmentTransform { pub unsafe fn GetOutputBounds(&self) -> super::super::Foundation::RECT { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetOutputBounds)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID2D1BoundsAdjustmentTransform {} @@ -810,7 +810,7 @@ impl ID2D1Brush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -850,7 +850,7 @@ impl ID2D1ColorContext { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetColorSpace(&self) -> D2D1_COLOR_SPACE { (::windows_core::Interface::vtable(self).GetColorSpace)(::windows_core::Interface::as_raw(self)) @@ -878,7 +878,7 @@ impl ID2D1ColorContext1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetColorSpace(&self) -> D2D1_COLOR_SPACE { (::windows_core::Interface::vtable(self).base__.GetColorSpace)(::windows_core::Interface::as_raw(self)) @@ -923,7 +923,7 @@ impl ID2D1CommandList { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Stream(&self, sink: P0) -> ::windows_core::Result<()> where @@ -2085,7 +2085,7 @@ impl ID2D1ComputeTransform { } pub unsafe fn MapInvalidRect(&self, inputindex: u32, invalidinputrect: super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).map(|| result__) } pub unsafe fn SetComputeInfo(&self, computeinfo: P0) -> ::windows_core::Result<()> where @@ -2137,12 +2137,12 @@ impl ID2D1DCRenderTarget { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -2150,7 +2150,7 @@ impl ID2D1DCRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -2162,17 +2162,17 @@ impl ID2D1DCRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -2180,7 +2180,7 @@ impl ID2D1DCRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -2188,21 +2188,21 @@ impl ID2D1DCRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -2349,7 +2349,7 @@ impl ID2D1DCRenderTarget { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -2455,11 +2455,11 @@ impl ID2D1Device { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2468,7 +2468,7 @@ impl ID2D1Device { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2501,11 +2501,11 @@ impl ID2D1Device1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2514,7 +2514,7 @@ impl ID2D1Device1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2533,7 +2533,7 @@ impl ID2D1Device1 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device1 {} @@ -2552,11 +2552,11 @@ impl ID2D1Device2 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2565,7 +2565,7 @@ impl ID2D1Device2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2584,11 +2584,11 @@ impl ID2D1Device2 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2599,7 +2599,7 @@ impl ID2D1Device2 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device2 {} @@ -2621,11 +2621,11 @@ impl ID2D1Device3 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2634,7 +2634,7 @@ impl ID2D1Device3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2653,11 +2653,11 @@ impl ID2D1Device3 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2668,11 +2668,11 @@ impl ID2D1Device3 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext4(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device3 {} @@ -2689,11 +2689,11 @@ impl ID2D1Device4 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2702,7 +2702,7 @@ impl ID2D1Device4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2721,11 +2721,11 @@ impl ID2D1Device4 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2736,15 +2736,15 @@ impl ID2D1Device4 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext4(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext5(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumColorGlyphCacheMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).SetMaximumColorGlyphCacheMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2769,11 +2769,11 @@ impl ID2D1Device5 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2782,7 +2782,7 @@ impl ID2D1Device5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2801,11 +2801,11 @@ impl ID2D1Device5 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2816,15 +2816,15 @@ impl ID2D1Device5 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext4(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext5(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumColorGlyphCacheMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.SetMaximumColorGlyphCacheMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2834,7 +2834,7 @@ impl ID2D1Device5 { } pub unsafe fn CreateDeviceContext6(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device5 {} @@ -2851,11 +2851,11 @@ impl ID2D1Device6 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2864,7 +2864,7 @@ impl ID2D1Device6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2883,11 +2883,11 @@ impl ID2D1Device6 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2898,15 +2898,15 @@ impl ID2D1Device6 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext4(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext5(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumColorGlyphCacheMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.SetMaximumColorGlyphCacheMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2916,11 +2916,11 @@ impl ID2D1Device6 { } pub unsafe fn CreateDeviceContext6(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext7(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext7)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext7)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device6 {} @@ -2937,11 +2937,11 @@ impl ID2D1Device7 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeviceContext(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDeviceContext)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Imaging", feature = "Win32_Storage_Xps_Printing"))] pub unsafe fn CreatePrintControl(&self, wicfactory: P0, documenttarget: P1, printcontrolproperties: ::core::option::Option<*const D2D1_PRINT_CONTROL_PROPERTIES>) -> ::windows_core::Result @@ -2950,7 +2950,7 @@ impl ID2D1Device7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePrintControl)(::windows_core::Interface::as_raw(self), wicfactory.into_param().abi(), documenttarget.into_param().abi(), ::core::mem::transmute(printcontrolproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumTextureMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetMaximumTextureMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -2969,11 +2969,11 @@ impl ID2D1Device7 { } pub unsafe fn CreateDeviceContext2(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDeviceContext2)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext3(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDeviceContext3)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushDeviceContexts(&self, bitmap: P0) where @@ -2984,15 +2984,15 @@ impl ID2D1Device7 { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetDxgiDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDxgiDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext4(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeviceContext4)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext5(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeviceContext5)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMaximumColorGlyphCacheMemory(&self, maximuminbytes: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.SetMaximumColorGlyphCacheMemory)(::windows_core::Interface::as_raw(self), maximuminbytes) @@ -3002,15 +3002,15 @@ impl ID2D1Device7 { } pub unsafe fn CreateDeviceContext6(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDeviceContext6)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext7(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDeviceContext7)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDeviceContext7)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDeviceContext8(&self, options: D2D1_DEVICE_CONTEXT_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDeviceContext8)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceContext8)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Device7 {} @@ -3027,12 +3027,12 @@ impl ID2D1DeviceContext { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -3040,7 +3040,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -3052,17 +3052,17 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -3070,7 +3070,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -3078,21 +3078,21 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -3239,7 +3239,7 @@ impl ID2D1DeviceContext { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -3323,7 +3323,7 @@ impl ID2D1DeviceContext { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -3331,18 +3331,18 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -3350,7 +3350,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -3358,16 +3358,16 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -3375,7 +3375,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -3383,11 +3383,11 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -3402,7 +3402,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -3410,17 +3410,17 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -3431,7 +3431,7 @@ impl ID2D1DeviceContext { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -3441,7 +3441,7 @@ impl ID2D1DeviceContext { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -3502,7 +3502,7 @@ impl ID2D1DeviceContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -3641,12 +3641,12 @@ impl ID2D1DeviceContext1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -3654,7 +3654,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -3666,17 +3666,17 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -3684,7 +3684,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -3692,21 +3692,21 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -3853,7 +3853,7 @@ impl ID2D1DeviceContext1 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -3937,7 +3937,7 @@ impl ID2D1DeviceContext1 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -3945,18 +3945,18 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -3964,7 +3964,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -3972,16 +3972,16 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -3989,7 +3989,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -3997,11 +3997,11 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -4016,7 +4016,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -4024,17 +4024,17 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -4045,7 +4045,7 @@ impl ID2D1DeviceContext1 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -4055,7 +4055,7 @@ impl ID2D1DeviceContext1 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -4116,7 +4116,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -4145,7 +4145,7 @@ impl ID2D1DeviceContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -4153,7 +4153,7 @@ impl ID2D1DeviceContext1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -4179,12 +4179,12 @@ impl ID2D1DeviceContext2 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -4192,7 +4192,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -4204,17 +4204,17 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -4222,7 +4222,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -4230,21 +4230,21 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -4391,7 +4391,7 @@ impl ID2D1DeviceContext2 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -4475,7 +4475,7 @@ impl ID2D1DeviceContext2 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -4483,18 +4483,18 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -4502,7 +4502,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -4510,16 +4510,16 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -4527,7 +4527,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -4535,11 +4535,11 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -4554,7 +4554,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -4562,17 +4562,17 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -4583,7 +4583,7 @@ impl ID2D1DeviceContext2 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -4593,7 +4593,7 @@ impl ID2D1DeviceContext2 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -4654,7 +4654,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -4683,7 +4683,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -4691,7 +4691,7 @@ impl ID2D1DeviceContext2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -4702,17 +4702,17 @@ impl ID2D1DeviceContext2 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -4720,16 +4720,16 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -4737,7 +4737,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -4765,7 +4765,7 @@ impl ID2D1DeviceContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1DeviceContext2 {} @@ -4810,12 +4810,12 @@ impl ID2D1DeviceContext3 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -4823,7 +4823,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -4835,17 +4835,17 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -4853,7 +4853,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -4861,21 +4861,21 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -5022,7 +5022,7 @@ impl ID2D1DeviceContext3 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -5106,7 +5106,7 @@ impl ID2D1DeviceContext3 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -5114,18 +5114,18 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -5133,7 +5133,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -5141,16 +5141,16 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -5158,7 +5158,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -5166,11 +5166,11 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -5185,7 +5185,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -5193,17 +5193,17 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -5214,7 +5214,7 @@ impl ID2D1DeviceContext3 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -5224,7 +5224,7 @@ impl ID2D1DeviceContext3 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -5285,7 +5285,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -5314,7 +5314,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -5322,7 +5322,7 @@ impl ID2D1DeviceContext3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -5333,17 +5333,17 @@ impl ID2D1DeviceContext3 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -5351,16 +5351,16 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -5368,7 +5368,7 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -5396,11 +5396,11 @@ impl ID2D1DeviceContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSpriteBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSpriteBatch(&self, spritebatch: P0, startindex: u32, spritecount: u32, bitmap: P1, interpolationmode: D2D1_BITMAP_INTERPOLATION_MODE, spriteoptions: D2D1_SPRITE_OPTIONS) where @@ -5425,12 +5425,12 @@ impl ID2D1DeviceContext4 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -5438,7 +5438,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -5450,17 +5450,17 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -5468,7 +5468,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -5476,21 +5476,21 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -5637,7 +5637,7 @@ impl ID2D1DeviceContext4 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -5721,7 +5721,7 @@ impl ID2D1DeviceContext4 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -5729,18 +5729,18 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -5748,7 +5748,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -5756,16 +5756,16 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -5773,7 +5773,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -5781,11 +5781,11 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -5800,7 +5800,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -5808,17 +5808,17 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -5829,7 +5829,7 @@ impl ID2D1DeviceContext4 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -5839,7 +5839,7 @@ impl ID2D1DeviceContext4 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -5900,7 +5900,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -5929,7 +5929,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -5937,7 +5937,7 @@ impl ID2D1DeviceContext4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -5948,17 +5948,17 @@ impl ID2D1DeviceContext4 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -5966,16 +5966,16 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -5983,7 +5983,7 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -6011,11 +6011,11 @@ impl ID2D1DeviceContext4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSpriteBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSpriteBatch(&self, spritebatch: P0, startindex: u32, spritecount: u32, bitmap: P1, interpolationmode: D2D1_BITMAP_INTERPOLATION_MODE, spriteoptions: D2D1_SPRITE_OPTIONS) where @@ -6026,7 +6026,7 @@ impl ID2D1DeviceContext4 { } pub unsafe fn CreateSvgGlyphStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn DrawText2(&self, string: &[u16], textformat: P0, layoutrect: *const Common::D2D_RECT_F, defaultfillbrush: P1, svgglyphstyle: P2, colorpaletteindex: u32, options: D2D1_DRAW_TEXT_OPTIONS, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) @@ -6115,12 +6115,12 @@ impl ID2D1DeviceContext5 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -6128,7 +6128,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -6140,17 +6140,17 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -6158,7 +6158,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -6166,21 +6166,21 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -6327,7 +6327,7 @@ impl ID2D1DeviceContext5 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -6411,7 +6411,7 @@ impl ID2D1DeviceContext5 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -6419,18 +6419,18 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -6438,7 +6438,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -6446,16 +6446,16 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -6463,7 +6463,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -6471,11 +6471,11 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -6490,7 +6490,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -6498,17 +6498,17 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -6519,7 +6519,7 @@ impl ID2D1DeviceContext5 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -6529,7 +6529,7 @@ impl ID2D1DeviceContext5 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -6590,7 +6590,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -6619,7 +6619,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -6627,7 +6627,7 @@ impl ID2D1DeviceContext5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -6638,17 +6638,17 @@ impl ID2D1DeviceContext5 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -6656,16 +6656,16 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -6673,7 +6673,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -6701,11 +6701,11 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSpriteBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSpriteBatch(&self, spritebatch: P0, startindex: u32, spritecount: u32, bitmap: P1, interpolationmode: D2D1_BITMAP_INTERPOLATION_MODE, spriteoptions: D2D1_SPRITE_OPTIONS) where @@ -6716,7 +6716,7 @@ impl ID2D1DeviceContext5 { } pub unsafe fn CreateSvgGlyphStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn DrawText2(&self, string: &[u16], textformat: P0, layoutrect: *const Common::D2D_RECT_F, defaultfillbrush: P1, svgglyphstyle: P2, colorpaletteindex: u32, options: D2D1_DRAW_TEXT_OPTIONS, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) @@ -6772,7 +6772,7 @@ impl ID2D1DeviceContext5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSvgDocument(&self, svgdocument: P0) where @@ -6783,12 +6783,12 @@ impl ID2D1DeviceContext5 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateColorContextFromDxgiColorSpace(&self, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateColorContextFromSimpleColorProfile(&self, simpleprofile: *const D2D1_SIMPLE_COLOR_PROFILE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1DeviceContext5 {} @@ -6817,12 +6817,12 @@ impl ID2D1DeviceContext6 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -6830,7 +6830,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -6842,17 +6842,17 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -6860,7 +6860,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -6868,21 +6868,21 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -7029,7 +7029,7 @@ impl ID2D1DeviceContext6 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -7113,7 +7113,7 @@ impl ID2D1DeviceContext6 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -7121,18 +7121,18 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -7140,7 +7140,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -7148,16 +7148,16 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -7165,7 +7165,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -7173,11 +7173,11 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -7192,7 +7192,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -7200,17 +7200,17 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -7221,7 +7221,7 @@ impl ID2D1DeviceContext6 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -7231,7 +7231,7 @@ impl ID2D1DeviceContext6 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -7292,7 +7292,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -7321,7 +7321,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -7329,7 +7329,7 @@ impl ID2D1DeviceContext6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -7340,17 +7340,17 @@ impl ID2D1DeviceContext6 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -7358,16 +7358,16 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -7375,7 +7375,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -7403,11 +7403,11 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSpriteBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSpriteBatch(&self, spritebatch: P0, startindex: u32, spritecount: u32, bitmap: P1, interpolationmode: D2D1_BITMAP_INTERPOLATION_MODE, spriteoptions: D2D1_SPRITE_OPTIONS) where @@ -7418,7 +7418,7 @@ impl ID2D1DeviceContext6 { } pub unsafe fn CreateSvgGlyphStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn DrawText2(&self, string: &[u16], textformat: P0, layoutrect: *const Common::D2D_RECT_F, defaultfillbrush: P1, svgglyphstyle: P2, colorpaletteindex: u32, options: D2D1_DRAW_TEXT_OPTIONS, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) @@ -7474,7 +7474,7 @@ impl ID2D1DeviceContext6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSvgDocument(&self, svgdocument: P0) where @@ -7485,12 +7485,12 @@ impl ID2D1DeviceContext6 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateColorContextFromDxgiColorSpace(&self, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateColorContextFromSimpleColorProfile(&self, simpleprofile: *const D2D1_SIMPLE_COLOR_PROFILE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn BlendImage(&self, image: P0, blendmode: Common::D2D1_BLEND_MODE, targetoffset: ::core::option::Option<*const Common::D2D_POINT_2F>, imagerectangle: ::core::option::Option<*const Common::D2D_RECT_F>, interpolationmode: D2D1_INTERPOLATION_MODE) @@ -7517,12 +7517,12 @@ impl ID2D1DeviceContext7 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -7530,7 +7530,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -7542,17 +7542,17 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -7560,7 +7560,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -7568,21 +7568,21 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -7729,7 +7729,7 @@ impl ID2D1DeviceContext7 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -7813,7 +7813,7 @@ impl ID2D1DeviceContext7 { #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap2(&self, size: Common::D2D_SIZE_U, sourcedata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES1) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmap2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(sourcedata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap2(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -7821,18 +7821,18 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromWicBitmap2)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -7840,7 +7840,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmapFromDxgiSurface(&self, surface: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES1>) -> ::windows_core::Result @@ -7848,16 +7848,16 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapFromDxgiSurface)(::windows_core::Interface::as_raw(self), surface.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection2(&self, straightalphagradientstops: &[Common::D2D1_GRADIENT_STOP], preinterpolationspace: D2D1_COLOR_SPACE, postinterpolationspace: D2D1_COLOR_SPACE, bufferprecision: D2D1_BUFFER_PRECISION, extendmode: D2D1_EXTEND_MODE, colorinterpolationmode: D2D1_COLOR_INTERPOLATION_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGradientStopCollection2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(straightalphagradientstops.as_ptr()), straightalphagradientstops.len().try_into().unwrap(), preinterpolationspace, postinterpolationspace, bufferprecision, extendmode, colorinterpolationmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateImageBrush(&self, image: P0, imagebrushproperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -7865,7 +7865,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), imagebrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateBitmapBrush2(&self, bitmap: P0, bitmapbrushproperties: ::core::option::Option<*const D2D1_BITMAP_BRUSH_PROPERTIES1>, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result @@ -7873,11 +7873,11 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateBitmapBrush2)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn IsDxgiFormatSupported(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> super::super::Foundation::BOOL { @@ -7892,7 +7892,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetImageLocalBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetImageWorldBounds(&self, image: P0) -> ::windows_core::Result @@ -7900,17 +7900,17 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetImageWorldBounds)(::windows_core::Interface::as_raw(self), image.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn GetGlyphRunWorldBounds(&self, baselineorigin: Common::D2D_POINT_2F, glyphrun: *const super::DirectWrite::DWRITE_GLYPH_RUN, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGlyphRunWorldBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTarget(&self, image: P0) where @@ -7921,7 +7921,7 @@ impl ID2D1DeviceContext7 { pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetTarget)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetRenderingControls(&self, renderingcontrols: *const D2D1_RENDERING_CONTROLS) { @@ -7931,7 +7931,7 @@ impl ID2D1DeviceContext7 { pub unsafe fn GetRenderingControls(&self) -> D2D1_RENDERING_CONTROLS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRenderingControls)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetPrimitiveBlend(&self, primitiveblend: D2D1_PRIMITIVE_BLEND) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPrimitiveBlend)(::windows_core::Interface::as_raw(self), primitiveblend) @@ -7992,7 +7992,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEffectInvalidRectangleCount)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetEffectInvalidRectangles(&self, effect: P0, rectangles: &mut [Common::D2D_RECT_F]) -> ::windows_core::Result<()> @@ -8021,7 +8021,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFilledGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokedGeometryRealization(&self, geometry: P0, flatteningtolerance: f32, strokewidth: f32, strokestyle: P1) -> ::windows_core::Result where @@ -8029,7 +8029,7 @@ impl ID2D1DeviceContext7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokedGeometryRealization)(::windows_core::Interface::as_raw(self), geometry.into_param().abi(), flatteningtolerance, strokewidth, strokestyle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawGeometryRealization(&self, geometryrealization: P0, brush: P1) where @@ -8040,17 +8040,17 @@ impl ID2D1DeviceContext7 { } pub unsafe fn CreateInk(&self, startpoint: *const D2D1_INK_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateInk)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateInkStyle(&self, inkstyleproperties: ::core::option::Option<*const D2D1_INK_STYLE_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateInkStyle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkstyleproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientMesh(&self, patches: &[D2D1_GRADIENT_MESH_PATCH]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGradientMesh)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(patches.as_ptr()), patches.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateImageSourceFromWic(&self, wicbitmapsource: P0, loadingoptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, alphamode: Common::D2D1_ALPHA_MODE) -> ::windows_core::Result @@ -8058,16 +8058,16 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageSourceFromWic)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), loadingoptions, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateImageSourceFromDxgi(&self, surfaces: &[::core::option::Option], colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateImageSourceFromDxgi)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(surfaces.as_ptr()), surfaces.len().try_into().unwrap(), colorspace, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetGradientMeshWorldBounds(&self, gradientmesh: P0) -> ::windows_core::Result @@ -8075,7 +8075,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGradientMeshWorldBounds)(::windows_core::Interface::as_raw(self), gradientmesh.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DrawInk(&self, ink: P0, brush: P1, inkstyle: P2) where @@ -8103,11 +8103,11 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTransformedImageSource)(::windows_core::Interface::as_raw(self), imagesource.into_param().abi(), properties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSpriteBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSpriteBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSpriteBatch(&self, spritebatch: P0, startindex: u32, spritecount: u32, bitmap: P1, interpolationmode: D2D1_BITMAP_INTERPOLATION_MODE, spriteoptions: D2D1_SPRITE_OPTIONS) where @@ -8118,7 +8118,7 @@ impl ID2D1DeviceContext7 { } pub unsafe fn CreateSvgGlyphStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSvgGlyphStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn DrawText2(&self, string: &[u16], textformat: P0, layoutrect: *const Common::D2D_RECT_F, defaultfillbrush: P1, svgglyphstyle: P2, colorpaletteindex: u32, options: D2D1_DRAW_TEXT_OPTIONS, measuringmode: super::DirectWrite::DWRITE_MEASURING_MODE) @@ -8174,7 +8174,7 @@ impl ID2D1DeviceContext7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSvgDocument)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), ::core::mem::transmute(viewportsize), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DrawSvgDocument(&self, svgdocument: P0) where @@ -8185,12 +8185,12 @@ impl ID2D1DeviceContext7 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateColorContextFromDxgiColorSpace(&self, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateColorContextFromSimpleColorProfile(&self, simpleprofile: *const D2D1_SIMPLE_COLOR_PROFILE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn BlendImage(&self, image: P0, blendmode: Common::D2D1_BLEND_MODE, targetoffset: ::core::option::Option<*const Common::D2D_POINT_2F>, imagerectangle: ::core::option::Option<*const Common::D2D_RECT_F>, interpolationmode: D2D1_INTERPOLATION_MODE) @@ -8300,7 +8300,7 @@ impl ID2D1DrawTransform { } pub unsafe fn MapInvalidRect(&self, inputindex: u32, invalidinputrect: super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).map(|| result__) } pub unsafe fn SetDrawInfo(&self, drawinfo: P0) -> ::windows_core::Result<()> where @@ -8323,7 +8323,7 @@ impl ID2D1DrawingStateBlock { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn GetDescription(&self, statedescription: *mut D2D1_DRAWING_STATE_DESCRIPTION) { @@ -8344,7 +8344,7 @@ impl ID2D1DrawingStateBlock { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1DrawingStateBlock {} @@ -8376,7 +8376,7 @@ impl ID2D1DrawingStateBlock1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn GetDescription(&self, statedescription: *mut D2D1_DRAWING_STATE_DESCRIPTION) { @@ -8397,7 +8397,7 @@ impl ID2D1DrawingStateBlock1 { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn GetDescription2(&self, statedescription: *mut D2D1_DRAWING_STATE_DESCRIPTION1) { @@ -8467,7 +8467,7 @@ impl ID2D1Effect { } pub unsafe fn GetSubProperties(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSubProperties)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSubProperties)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInput(&self, index: u32, input: P0, invalidate: P1) where @@ -8482,7 +8482,7 @@ impl ID2D1Effect { pub unsafe fn GetInput(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetInput)(::windows_core::Interface::as_raw(self), index, &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetInputCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetInputCount)(::windows_core::Interface::as_raw(self)) @@ -8490,7 +8490,7 @@ impl ID2D1Effect { pub unsafe fn GetOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetOutput)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1Effect {} @@ -8513,35 +8513,35 @@ impl ID2D1EffectContext { } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetMaximumSupportedFeatureLevel(&self, featurelevels: &[super::Direct3D::D3D_FEATURE_LEVEL]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn CreateTransformNodeFromEffect(&self, effect: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendTransform(&self, numinputs: u32, blenddescription: *const D2D1_BLEND_DESCRIPTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBorderTransform(&self, extendmodex: D2D1_EXTEND_MODE, extendmodey: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOffsetTransform(&self, offset: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBoundsAdjustmentTransform(&self, outputrectangle: *const super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadPixelShader(&self, shaderid: *const ::windows_core::GUID, shaderbuffer: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LoadPixelShader)(::windows_core::Interface::as_raw(self), shaderid, ::core::mem::transmute(shaderbuffer.as_ptr()), shaderbuffer.len().try_into().unwrap()).ok() @@ -8557,31 +8557,31 @@ impl ID2D1EffectContext { } pub unsafe fn CreateResourceTexture(&self, resourceid: ::core::option::Option<*const ::windows_core::GUID>, resourcetextureproperties: *const D2D1_RESOURCE_TEXTURE_PROPERTIES, data: ::core::option::Option<&[u8]>, strides: ::core::option::Option<*const u32>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindResourceTexture(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVertexBuffer(&self, vertexbufferproperties: *const D2D1_VERTEX_BUFFER_PROPERTIES, resourceid: ::core::option::Option<*const ::windows_core::GUID>, customvertexbufferproperties: ::core::option::Option<*const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindVertexBuffer(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -8589,7 +8589,7 @@ impl ID2D1EffectContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D2D1_FEATURE, featuresupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, featuresupportdata, featuresupportdatasize).ok() @@ -8643,35 +8643,35 @@ impl ID2D1EffectContext1 { } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetMaximumSupportedFeatureLevel(&self, featurelevels: &[super::Direct3D::D3D_FEATURE_LEVEL]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn CreateTransformNodeFromEffect(&self, effect: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendTransform(&self, numinputs: u32, blenddescription: *const D2D1_BLEND_DESCRIPTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBorderTransform(&self, extendmodex: D2D1_EXTEND_MODE, extendmodey: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOffsetTransform(&self, offset: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBoundsAdjustmentTransform(&self, outputrectangle: *const super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadPixelShader(&self, shaderid: *const ::windows_core::GUID, shaderbuffer: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.LoadPixelShader)(::windows_core::Interface::as_raw(self), shaderid, ::core::mem::transmute(shaderbuffer.as_ptr()), shaderbuffer.len().try_into().unwrap()).ok() @@ -8687,31 +8687,31 @@ impl ID2D1EffectContext1 { } pub unsafe fn CreateResourceTexture(&self, resourceid: ::core::option::Option<*const ::windows_core::GUID>, resourcetextureproperties: *const D2D1_RESOURCE_TEXTURE_PROPERTIES, data: ::core::option::Option<&[u8]>, strides: ::core::option::Option<*const u32>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindResourceTexture(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVertexBuffer(&self, vertexbufferproperties: *const D2D1_VERTEX_BUFFER_PROPERTIES, resourceid: ::core::option::Option<*const ::windows_core::GUID>, customvertexbufferproperties: ::core::option::Option<*const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindVertexBuffer(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -8719,7 +8719,7 @@ impl ID2D1EffectContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D2D1_FEATURE, featuresupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, featuresupportdata, featuresupportdatasize).ok() @@ -8729,7 +8729,7 @@ impl ID2D1EffectContext1 { } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1EffectContext1 {} @@ -8748,35 +8748,35 @@ impl ID2D1EffectContext2 { } pub unsafe fn CreateEffect(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateEffect)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetMaximumSupportedFeatureLevel(&self, featurelevels: &[super::Direct3D::D3D_FEATURE_LEVEL]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaximumSupportedFeatureLevel)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(featurelevels.as_ptr()), featurelevels.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn CreateTransformNodeFromEffect(&self, effect: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTransformNodeFromEffect)(::windows_core::Interface::as_raw(self), effect.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendTransform(&self, numinputs: u32, blenddescription: *const D2D1_BLEND_DESCRIPTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBlendTransform)(::windows_core::Interface::as_raw(self), numinputs, blenddescription, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBorderTransform(&self, extendmodex: D2D1_EXTEND_MODE, extendmodey: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBorderTransform)(::windows_core::Interface::as_raw(self), extendmodex, extendmodey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOffsetTransform(&self, offset: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateOffsetTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(offset), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBoundsAdjustmentTransform(&self, outputrectangle: *const super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateBoundsAdjustmentTransform)(::windows_core::Interface::as_raw(self), outputrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadPixelShader(&self, shaderid: *const ::windows_core::GUID, shaderbuffer: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.LoadPixelShader)(::windows_core::Interface::as_raw(self), shaderid, ::core::mem::transmute(shaderbuffer.as_ptr()), shaderbuffer.len().try_into().unwrap()).ok() @@ -8792,31 +8792,31 @@ impl ID2D1EffectContext2 { } pub unsafe fn CreateResourceTexture(&self, resourceid: ::core::option::Option<*const ::windows_core::GUID>, resourcetextureproperties: *const D2D1_RESOURCE_TEXTURE_PROPERTIES, data: ::core::option::Option<&[u8]>, strides: ::core::option::Option<*const u32>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateResourceTexture)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), resourcetextureproperties, ::core::mem::transmute(data.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(strides.unwrap_or(::std::ptr::null())), data.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindResourceTexture(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindResourceTexture)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVertexBuffer(&self, vertexbufferproperties: *const D2D1_VERTEX_BUFFER_PROPERTIES, resourceid: ::core::option::Option<*const ::windows_core::GUID>, customvertexbufferproperties: ::core::option::Option<*const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVertexBuffer)(::windows_core::Interface::as_raw(self), vertexbufferproperties, ::core::mem::transmute(resourceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(customvertexbufferproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindVertexBuffer(&self, resourceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindVertexBuffer)(::windows_core::Interface::as_raw(self), resourceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self, space: D2D1_COLOR_SPACE, profile: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContext)(::windows_core::Interface::as_raw(self), space, ::core::mem::transmute(profile.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), profile.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContextFromFilename(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromFilename)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn CreateColorContextFromWicColorContext(&self, wiccolorcontext: P0) -> ::windows_core::Result @@ -8824,7 +8824,7 @@ impl ID2D1EffectContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateColorContextFromWicColorContext)(::windows_core::Interface::as_raw(self), wiccolorcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D2D1_FEATURE, featuresupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, featuresupportdata, featuresupportdatasize).ok() @@ -8834,17 +8834,17 @@ impl ID2D1EffectContext2 { } pub unsafe fn CreateLookupTable3D(&self, precision: D2D1_BUFFER_PRECISION, extents: &[u32; 3], data: &[u8], strides: &[u32; 2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLookupTable3D)(::windows_core::Interface::as_raw(self), precision, ::core::mem::transmute(extents.as_ptr()), ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap(), ::core::mem::transmute(strides.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateColorContextFromDxgiColorSpace(&self, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromDxgiColorSpace)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateColorContextFromSimpleColorProfile(&self, simpleprofile: *const D2D1_SIMPLE_COLOR_PROFILE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContextFromSimpleColorProfile)(::windows_core::Interface::as_raw(self), simpleprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1EffectContext2 {} @@ -8898,12 +8898,12 @@ impl ID2D1EllipseGeometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -8911,7 +8911,7 @@ impl ID2D1EllipseGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -8919,12 +8919,12 @@ impl ID2D1EllipseGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -8932,7 +8932,7 @@ impl ID2D1EllipseGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -8966,12 +8966,12 @@ impl ID2D1EllipseGeometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -8989,7 +8989,7 @@ impl ID2D1EllipseGeometry { pub unsafe fn GetEllipse(&self) -> D2D1_ELLIPSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetEllipse)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID2D1EllipseGeometry {} @@ -9015,22 +9015,22 @@ impl ID2D1Factory { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9038,15 +9038,15 @@ impl ID2D1Factory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9054,7 +9054,7 @@ impl ID2D1Factory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9062,12 +9062,12 @@ impl ID2D1Factory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9075,12 +9075,12 @@ impl ID2D1Factory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory {} @@ -9146,22 +9146,22 @@ impl ID2D1Factory1 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9169,15 +9169,15 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9185,7 +9185,7 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9193,12 +9193,12 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9206,12 +9206,12 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9219,15 +9219,15 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -9235,7 +9235,7 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -9243,7 +9243,7 @@ impl ID2D1Factory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -9266,7 +9266,7 @@ impl ID2D1Factory1 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory1 {} @@ -9310,22 +9310,22 @@ impl ID2D1Factory2 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9333,15 +9333,15 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9349,7 +9349,7 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9357,12 +9357,12 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9370,12 +9370,12 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9383,15 +9383,15 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -9399,7 +9399,7 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -9407,7 +9407,7 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -9430,7 +9430,7 @@ impl ID2D1Factory2 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9438,7 +9438,7 @@ impl ID2D1Factory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory2 {} @@ -9464,22 +9464,22 @@ impl ID2D1Factory3 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9487,15 +9487,15 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9503,7 +9503,7 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9511,12 +9511,12 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9524,12 +9524,12 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9537,15 +9537,15 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -9553,7 +9553,7 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -9561,7 +9561,7 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -9584,7 +9584,7 @@ impl ID2D1Factory3 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9592,7 +9592,7 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9600,7 +9600,7 @@ impl ID2D1Factory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory3 {} @@ -9626,22 +9626,22 @@ impl ID2D1Factory4 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9649,15 +9649,15 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9665,7 +9665,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9673,12 +9673,12 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9686,12 +9686,12 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9699,15 +9699,15 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -9715,7 +9715,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -9723,7 +9723,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -9746,7 +9746,7 @@ impl ID2D1Factory4 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9754,7 +9754,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9762,7 +9762,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice4(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9770,7 +9770,7 @@ impl ID2D1Factory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory4 {} @@ -9796,22 +9796,22 @@ impl ID2D1Factory5 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9819,15 +9819,15 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -9835,7 +9835,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9843,12 +9843,12 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -9856,12 +9856,12 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9869,15 +9869,15 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -9885,7 +9885,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -9893,7 +9893,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -9916,7 +9916,7 @@ impl ID2D1Factory5 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9924,7 +9924,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9932,7 +9932,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice4(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9940,7 +9940,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice5(&self, dxgidevice: P0) -> ::windows_core::Result @@ -9948,7 +9948,7 @@ impl ID2D1Factory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory5 {} @@ -9974,22 +9974,22 @@ impl ID2D1Factory6 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -9997,15 +9997,15 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -10013,7 +10013,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10021,12 +10021,12 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10034,12 +10034,12 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10047,15 +10047,15 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -10063,7 +10063,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -10071,7 +10071,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -10094,7 +10094,7 @@ impl ID2D1Factory6 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10102,7 +10102,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10110,7 +10110,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice4(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10118,7 +10118,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice5(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10126,7 +10126,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice6(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10134,7 +10134,7 @@ impl ID2D1Factory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory6 {} @@ -10160,22 +10160,22 @@ impl ID2D1Factory7 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -10183,15 +10183,15 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -10199,7 +10199,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10207,12 +10207,12 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10220,12 +10220,12 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10233,15 +10233,15 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -10249,7 +10249,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -10257,7 +10257,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -10280,7 +10280,7 @@ impl ID2D1Factory7 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10288,7 +10288,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10296,7 +10296,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice4(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10304,7 +10304,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice5(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10312,7 +10312,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice6(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10320,7 +10320,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice7(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10328,7 +10328,7 @@ impl ID2D1Factory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice7)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice7)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory7 {} @@ -10354,22 +10354,22 @@ impl ID2D1Factory8 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRectangleGeometry(&self, rectangle: *const Common::D2D_RECT_F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRectangleGeometry)(::windows_core::Interface::as_raw(self), rectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateRoundedRectangleGeometry(&self, roundedrectangle: *const D2D1_ROUNDED_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRoundedRectangleGeometry)(::windows_core::Interface::as_raw(self), roundedrectangle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateEllipseGeometry(&self, ellipse: *const D2D1_ELLIPSE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateEllipseGeometry)(::windows_core::Interface::as_raw(self), ellipse, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGeometryGroup(&self, fillmode: Common::D2D1_FILL_MODE, geometries: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGeometryGroup)(::windows_core::Interface::as_raw(self), fillmode, ::core::mem::transmute(geometries.as_ptr()), geometries.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CreateTransformedGeometry(&self, sourcegeometry: P0, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) -> ::windows_core::Result @@ -10377,15 +10377,15 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTransformedGeometry)(::windows_core::Interface::as_raw(self), sourcegeometry.into_param().abi(), transform, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION>, textrenderingparams: P0) -> ::windows_core::Result @@ -10393,7 +10393,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateWicBitmapRenderTarget(&self, target: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10401,12 +10401,12 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateWicBitmapRenderTarget)(::windows_core::Interface::as_raw(self), target.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateHwndRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES, hwndrendertargetproperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateHwndRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, hwndrendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDxgiSurfaceRenderTarget(&self, dxgisurface: P0, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result @@ -10414,12 +10414,12 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDxgiSurfaceRenderTarget)(::windows_core::Interface::as_raw(self), dxgisurface.into_param().abi(), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDCRenderTarget(&self, rendertargetproperties: *const D2D1_RENDER_TARGET_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDCRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10427,15 +10427,15 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDevice)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeStyle2(&self, strokestyleproperties: *const D2D1_STROKE_STYLE_PROPERTIES1, dashes: ::core::option::Option<&[f32]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStrokeStyle2)(::windows_core::Interface::as_raw(self), strokestyleproperties, ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathGeometry2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePathGeometry2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_DirectWrite"))] pub unsafe fn CreateDrawingStateBlock2(&self, drawingstatedescription: ::core::option::Option<*const D2D1_DRAWING_STATE_DESCRIPTION1>, textrenderingparams: P0) -> ::windows_core::Result @@ -10443,7 +10443,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDrawingStateBlock2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drawingstatedescription.unwrap_or(::std::ptr::null())), textrenderingparams.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGdiMetafile(&self, metafilestream: P0) -> ::windows_core::Result @@ -10451,7 +10451,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGdiMetafile)(::windows_core::Interface::as_raw(self), metafilestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterEffectFromStream(&self, classid: *const ::windows_core::GUID, propertyxml: P0, bindings: ::core::option::Option<&[D2D1_PROPERTY_BINDING]>, effectfactory: PD2D1_EFFECT_FACTORY) -> ::windows_core::Result<()> @@ -10474,7 +10474,7 @@ impl ID2D1Factory8 { } pub unsafe fn GetEffectProperties(&self, effectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEffectProperties)(::windows_core::Interface::as_raw(self), effectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice2(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10482,7 +10482,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDevice2)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice3(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10490,7 +10490,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDevice3)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice4(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10498,7 +10498,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDevice4)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice5(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10506,7 +10506,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDevice5)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice6(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10514,7 +10514,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDevice6)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice7(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10522,7 +10522,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDevice7)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDevice7)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn CreateDevice8(&self, dxgidevice: P0) -> ::windows_core::Result @@ -10530,7 +10530,7 @@ impl ID2D1Factory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDevice8)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDevice8)(::windows_core::Interface::as_raw(self), dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Factory8 {} @@ -10550,7 +10550,7 @@ impl ID2D1GdiInteropRenderTarget { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetDC(&self, mode: D2D1_DC_INITIALIZE_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), mode, &mut result__).map(|| result__) } pub unsafe fn ReleaseDC(&self, update: ::core::option::Option<*const super::super::Foundation::RECT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseDC)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(update.unwrap_or(::std::ptr::null()))).ok() @@ -10574,7 +10574,7 @@ impl ID2D1GdiMetafile { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Stream(&self, sink: P0) -> ::windows_core::Result<()> where @@ -10585,7 +10585,7 @@ impl ID2D1GdiMetafile { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetBounds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1GdiMetafile {} @@ -10606,7 +10606,7 @@ impl ID2D1GdiMetafile1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Stream(&self, sink: P0) -> ::windows_core::Result<()> where @@ -10617,7 +10617,7 @@ impl ID2D1GdiMetafile1 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetBounds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDpi(&self, dpix: *mut f32, dpiy: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDpi)(::windows_core::Interface::as_raw(self), dpix, dpiy).ok() @@ -10625,7 +10625,7 @@ impl ID2D1GdiMetafile1 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetSourceBounds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceBounds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceBounds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1GdiMetafile1 {} @@ -10679,12 +10679,12 @@ impl ID2D1Geometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10692,7 +10692,7 @@ impl ID2D1Geometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10700,12 +10700,12 @@ impl ID2D1Geometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10713,7 +10713,7 @@ impl ID2D1Geometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -10747,12 +10747,12 @@ impl ID2D1Geometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -10832,12 +10832,12 @@ impl ID2D1GeometryGroup { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10845,7 +10845,7 @@ impl ID2D1GeometryGroup { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10853,12 +10853,12 @@ impl ID2D1GeometryGroup { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -10866,7 +10866,7 @@ impl ID2D1GeometryGroup { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -10900,12 +10900,12 @@ impl ID2D1GeometryGroup { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -10949,7 +10949,7 @@ impl ID2D1GeometryRealization { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1GeometryRealization {} @@ -11050,7 +11050,7 @@ impl ID2D1GradientMesh { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPatchCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetPatchCount)(::windows_core::Interface::as_raw(self)) @@ -11078,7 +11078,7 @@ impl ID2D1GradientStopCollection { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetGradientStopCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetGradientStopCount)(::windows_core::Interface::as_raw(self)) @@ -11114,7 +11114,7 @@ impl ID2D1GradientStopCollection1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetGradientStopCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetGradientStopCount)(::windows_core::Interface::as_raw(self)) @@ -11167,12 +11167,12 @@ impl ID2D1HwndRenderTarget { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -11180,7 +11180,7 @@ impl ID2D1HwndRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -11192,17 +11192,17 @@ impl ID2D1HwndRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -11210,7 +11210,7 @@ impl ID2D1HwndRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -11218,21 +11218,21 @@ impl ID2D1HwndRenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -11379,7 +11379,7 @@ impl ID2D1HwndRenderTarget { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).base__.SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -11490,7 +11490,7 @@ impl ID2D1Image { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1Image {} @@ -11506,7 +11506,7 @@ impl ID2D1ImageBrush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -11544,7 +11544,7 @@ impl ID2D1ImageBrush { pub unsafe fn GetImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetImage)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetExtendModeX(&self) -> D2D1_EXTEND_MODE { (::windows_core::Interface::vtable(self).GetExtendModeX)(::windows_core::Interface::as_raw(self)) @@ -11559,7 +11559,7 @@ impl ID2D1ImageBrush { pub unsafe fn GetSourceRectangle(&self) -> Common::D2D_RECT_F { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetSourceRectangle)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID2D1ImageBrush {} @@ -11591,14 +11591,14 @@ impl ID2D1ImageSource { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn OfferResources(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OfferResources)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn TryReclaimResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TryReclaimResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TryReclaimResources)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1ImageSource {} @@ -11616,14 +11616,14 @@ impl ID2D1ImageSourceFromWic { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn OfferResources(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OfferResources)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn TryReclaimResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TryReclaimResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TryReclaimResources)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn EnsureCached(&self, rectangletofill: ::core::option::Option<*const Common::D2D_RECT_U>) -> ::windows_core::Result<()> { @@ -11637,7 +11637,7 @@ impl ID2D1ImageSourceFromWic { pub unsafe fn GetSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1ImageSourceFromWic {} @@ -11665,7 +11665,7 @@ impl ID2D1Ink { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetStartPoint(&self, startpoint: *const D2D1_INK_POINT) { (::windows_core::Interface::vtable(self).SetStartPoint)(::windows_core::Interface::as_raw(self), startpoint) @@ -11707,7 +11707,7 @@ impl ID2D1Ink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), inkstyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBounds)(::windows_core::Interface::as_raw(self), inkstyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1Ink {} @@ -11739,7 +11739,7 @@ impl ID2D1InkStyle { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn SetNibTransform(&self, transform: *const super::super::super::Foundation::Numerics::Matrix3x2) { @@ -11779,7 +11779,7 @@ impl ID2D1Layer { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn GetSize(&self) -> Common::D2D_SIZE_F { @@ -11805,7 +11805,7 @@ impl ID2D1LinearGradientBrush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -11844,7 +11844,7 @@ impl ID2D1LinearGradientBrush { pub unsafe fn GetGradientStopCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetGradientStopCollection)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1LinearGradientBrush {} @@ -11877,7 +11877,7 @@ impl ID2D1LookupTable3D { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1LookupTable3D {} @@ -11893,11 +11893,11 @@ impl ID2D1Mesh { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Open(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Mesh {} @@ -11961,12 +11961,12 @@ impl ID2D1PathGeometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -11974,7 +11974,7 @@ impl ID2D1PathGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -11982,12 +11982,12 @@ impl ID2D1PathGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -11995,7 +11995,7 @@ impl ID2D1PathGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -12029,12 +12029,12 @@ impl ID2D1PathGeometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -12051,7 +12051,7 @@ impl ID2D1PathGeometry { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn Open(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn Stream(&self, geometrysink: P0) -> ::windows_core::Result<()> @@ -12062,11 +12062,11 @@ impl ID2D1PathGeometry { } pub unsafe fn GetSegmentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFigureCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFigureCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFigureCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1PathGeometry {} @@ -12092,12 +12092,12 @@ impl ID2D1PathGeometry1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12105,7 +12105,7 @@ impl ID2D1PathGeometry1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12113,12 +12113,12 @@ impl ID2D1PathGeometry1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12126,7 +12126,7 @@ impl ID2D1PathGeometry1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -12160,12 +12160,12 @@ impl ID2D1PathGeometry1 { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -12182,7 +12182,7 @@ impl ID2D1PathGeometry1 { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn Open(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Open)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Open)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn Stream(&self, geometrysink: P0) -> ::windows_core::Result<()> @@ -12193,11 +12193,11 @@ impl ID2D1PathGeometry1 { } pub unsafe fn GetSegmentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFigureCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFigureCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFigureCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAndSegmentAtLength(&self, length: f32, startsegment: u32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, pointdescription: *mut D2D1_POINT_DESCRIPTION) -> ::windows_core::Result<()> { @@ -12286,7 +12286,7 @@ impl ID2D1Properties { } pub unsafe fn GetSubProperties(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubProperties)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubProperties)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1Properties {} @@ -12313,7 +12313,7 @@ impl ID2D1RadialGradientBrush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -12364,7 +12364,7 @@ impl ID2D1RadialGradientBrush { pub unsafe fn GetGradientStopCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetGradientStopCollection)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1RadialGradientBrush {} @@ -12401,12 +12401,12 @@ impl ID2D1RectangleGeometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12414,7 +12414,7 @@ impl ID2D1RectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12422,12 +12422,12 @@ impl ID2D1RectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -12435,7 +12435,7 @@ impl ID2D1RectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -12469,12 +12469,12 @@ impl ID2D1RectangleGeometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -12492,7 +12492,7 @@ impl ID2D1RectangleGeometry { pub unsafe fn GetRect(&self) -> Common::D2D_RECT_F { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID2D1RectangleGeometry {} @@ -12542,12 +12542,12 @@ impl ID2D1RenderTarget { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateBitmap(&self, size: Common::D2D_SIZE_U, srcdata: ::core::option::Option<*const ::core::ffi::c_void>, pitch: u32, bitmapproperties: *const D2D1_BITMAP_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmap)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), ::core::mem::transmute(srcdata.unwrap_or(::std::ptr::null())), pitch, bitmapproperties, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Imaging"))] pub unsafe fn CreateBitmapFromWicBitmap(&self, wicbitmapsource: P0, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>) -> ::windows_core::Result @@ -12555,7 +12555,7 @@ impl ID2D1RenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromWicBitmap)(::windows_core::Interface::as_raw(self), wicbitmapsource.into_param().abi(), ::core::mem::transmute(bitmapproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateSharedBitmap(&self, riid: *const ::windows_core::GUID, data: *mut ::core::ffi::c_void, bitmapproperties: ::core::option::Option<*const D2D1_BITMAP_PROPERTIES>, bitmap: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -12567,17 +12567,17 @@ impl ID2D1RenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapBrush)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), ::core::mem::transmute(bitmapbrushproperties.unwrap_or(::std::ptr::null())), ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateSolidColorBrush(&self, color: *const Common::D2D1_COLOR_F, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateGradientStopCollection(&self, gradientstops: &[Common::D2D1_GRADIENT_STOP], colorinterpolationgamma: D2D1_GAMMA, extendmode: D2D1_EXTEND_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGradientStopCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gradientstops.as_ptr()), gradientstops.len().try_into().unwrap(), colorinterpolationgamma, extendmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateLinearGradientBrush(&self, lineargradientbrushproperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -12585,7 +12585,7 @@ impl ID2D1RenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), lineargradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn CreateRadialGradientBrush(&self, radialgradientbrushproperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, brushproperties: ::core::option::Option<*const D2D1_BRUSH_PROPERTIES>, gradientstopcollection: P0) -> ::windows_core::Result @@ -12593,21 +12593,21 @@ impl ID2D1RenderTarget { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), radialgradientbrushproperties, ::core::mem::transmute(brushproperties.unwrap_or(::std::ptr::null())), gradientstopcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct2D_Common", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateCompatibleRenderTarget(&self, desiredsize: ::core::option::Option<*const Common::D2D_SIZE_F>, desiredpixelsize: ::core::option::Option<*const Common::D2D_SIZE_U>, desiredformat: ::core::option::Option<*const Common::D2D1_PIXEL_FORMAT>, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompatibleRenderTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(desiredsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredpixelsize.unwrap_or(::std::ptr::null())), ::core::mem::transmute(desiredformat.unwrap_or(::std::ptr::null())), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreateLayer(&self, size: ::core::option::Option<*const Common::D2D_SIZE_F>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLayer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMesh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMesh)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn DrawLine(&self, point0: Common::D2D_POINT_2F, point1: Common::D2D_POINT_2F, brush: P0, strokewidth: f32, strokestyle: P1) @@ -12754,7 +12754,7 @@ impl ID2D1RenderTarget { pub unsafe fn GetTextRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetTextRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetTags(&self, tag1: u64, tag2: u64) { (::windows_core::Interface::vtable(self).SetTags)(::windows_core::Interface::as_raw(self), tag1, tag2) @@ -13001,7 +13001,7 @@ impl ID2D1Resource { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID2D1Resource {} @@ -13033,12 +13033,12 @@ impl ID2D1RoundedRectangleGeometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -13046,7 +13046,7 @@ impl ID2D1RoundedRectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -13054,12 +13054,12 @@ impl ID2D1RoundedRectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -13067,7 +13067,7 @@ impl ID2D1RoundedRectangleGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -13101,12 +13101,12 @@ impl ID2D1RoundedRectangleGeometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -13142,7 +13142,7 @@ impl ID2D1SolidColorBrush { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetOpacity(&self, opacity: f32) { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity) @@ -13198,7 +13198,7 @@ impl ID2D1SourceTransform { } pub unsafe fn MapInvalidRect(&self, inputindex: u32, invalidinputrect: super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).map(|| result__) } pub unsafe fn SetRenderInfo(&self, renderinfo: P0) -> ::windows_core::Result<()> where @@ -13232,7 +13232,7 @@ impl ID2D1SpriteBatch { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn AddSprites(&self, spritecount: u32, destinationrectangles: *const Common::D2D_RECT_F, sourcerectangles: ::core::option::Option<*const Common::D2D_RECT_U>, colors: ::core::option::Option<*const Common::D2D1_COLOR_F>, transforms: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, destinationrectanglesstride: u32, sourcerectanglesstride: u32, colorsstride: u32, transformsstride: u32) -> ::windows_core::Result<()> { @@ -13280,7 +13280,7 @@ impl ID2D1StrokeStyle { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetStartCap(&self) -> D2D1_CAP_STYLE { (::windows_core::Interface::vtable(self).GetStartCap)(::windows_core::Interface::as_raw(self)) @@ -13332,7 +13332,7 @@ impl ID2D1StrokeStyle1 { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetStartCap(&self) -> D2D1_CAP_STYLE { (::windows_core::Interface::vtable(self).base__.GetStartCap)(::windows_core::Interface::as_raw(self)) @@ -13379,16 +13379,16 @@ impl ID2D1SvgAttribute { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1SvgAttribute {} @@ -13406,7 +13406,7 @@ impl ID2D1SvgDocument { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn SetViewportSize(&self, viewportsize: Common::D2D_SIZE_F) -> ::windows_core::Result<()> { @@ -13427,14 +13427,14 @@ impl ID2D1SvgDocument { pub unsafe fn GetRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn FindElementById(&self, id: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindElementById)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindElementById)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Serialize(&self, outputxmlstream: P0, subtree: P1) -> ::windows_core::Result<()> @@ -13450,7 +13450,7 @@ impl ID2D1SvgDocument { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), inputxmlstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreatePaint(&self, painttype: D2D1_SVG_PAINT_TYPE, color: ::core::option::Option<*const Common::D2D1_COLOR_F>, id: P0) -> ::windows_core::Result @@ -13458,20 +13458,20 @@ impl ID2D1SvgDocument { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePaint)(::windows_core::Interface::as_raw(self), painttype, ::core::mem::transmute(color.unwrap_or(::std::ptr::null())), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePaint)(::windows_core::Interface::as_raw(self), painttype, ::core::mem::transmute(color.unwrap_or(::std::ptr::null())), id.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStrokeDashArray(&self, dashes: ::core::option::Option<&[D2D1_SVG_LENGTH]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStrokeDashArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStrokeDashArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(dashes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), dashes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreatePointCollection(&self, points: ::core::option::Option<&[Common::D2D_POINT_2F]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePointCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(points.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), points.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePointCollection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(points.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), points.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePathData(&self, segmentdata: ::core::option::Option<&[f32]>, commands: ::core::option::Option<&[D2D1_SVG_PATH_COMMAND]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePathData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(segmentdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), segmentdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(commands.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), commands.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePathData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(segmentdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), segmentdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(commands.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), commands.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1SvgDocument {} @@ -13516,12 +13516,12 @@ impl ID2D1SvgElement { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetTagName(&self, name: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTagName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(name.as_ptr()), name.len().try_into().unwrap()).ok() @@ -13535,7 +13535,7 @@ impl ID2D1SvgElement { pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn HasChildren(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).HasChildren)(::windows_core::Interface::as_raw(self)) @@ -13543,26 +13543,26 @@ impl ID2D1SvgElement { pub unsafe fn GetFirstChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetFirstChild)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetLastChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetLastChild)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPreviousChild(&self, referencechild: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousChild)(::windows_core::Interface::as_raw(self), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousChild)(::windows_core::Interface::as_raw(self), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextChild(&self, referencechild: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextChild)(::windows_core::Interface::as_raw(self), referencechild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextChild)(::windows_core::Interface::as_raw(self), referencechild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertChildBefore(&self, newchild: P0, referencechild: P1) -> ::windows_core::Result<()> where @@ -13595,7 +13595,7 @@ impl ID2D1SvgElement { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChild)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChild)(::windows_core::Interface::as_raw(self), tagname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsAttributeSpecified(&self, name: P0, inherited: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> super::super::Foundation::BOOL where @@ -13653,7 +13653,7 @@ impl ID2D1SvgElement { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue2(&self, name: P0, r#type: D2D1_SVG_ATTRIBUTE_POD_TYPE, value: *mut ::core::ffi::c_void, valuesizeinbytes: u32) -> ::windows_core::Result<()> where @@ -13672,7 +13672,7 @@ impl ID2D1SvgElement { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeValueLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeValueLength)(::windows_core::Interface::as_raw(self), name.into_param().abi(), r#type, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1SvgElement {} @@ -13718,7 +13718,7 @@ impl ID2D1SvgGlyphStyle { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetFill(&self, brush: P0) -> ::windows_core::Result<()> where @@ -13729,7 +13729,7 @@ impl ID2D1SvgGlyphStyle { pub unsafe fn GetFill(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetFill)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetStroke(&self, brush: P0, strokewidth: f32, dashes: ::core::option::Option<&[f32]>, dashoffset: f32) -> ::windows_core::Result<()> where @@ -13762,16 +13762,16 @@ impl ID2D1SvgPaint { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetElement)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPaintType(&self, painttype: D2D1_SVG_PAINT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPaintType)(::windows_core::Interface::as_raw(self), painttype).ok() @@ -13787,7 +13787,7 @@ impl ID2D1SvgPaint { pub unsafe fn GetColor(&self) -> Common::D2D1_COLOR_F { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetId(&self, id: P0) -> ::windows_core::Result<()> where @@ -13828,16 +13828,16 @@ impl ID2D1SvgPathData { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetElement)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveSegmentDataAtEnd(&self, datacount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveSegmentDataAtEnd)(::windows_core::Interface::as_raw(self), datacount).ok() @@ -13866,7 +13866,7 @@ impl ID2D1SvgPathData { #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn CreatePathGeometry(&self, fillmode: Common::D2D1_FILL_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePathGeometry)(::windows_core::Interface::as_raw(self), fillmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePathGeometry)(::windows_core::Interface::as_raw(self), fillmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID2D1SvgPathData {} @@ -13894,16 +13894,16 @@ impl ID2D1SvgPointCollection { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetElement)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemovePointsAtEnd(&self, pointscount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemovePointsAtEnd)(::windows_core::Interface::as_raw(self), pointscount).ok() @@ -13943,16 +13943,16 @@ impl ID2D1SvgStrokeDashArray { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetElement)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDashesAtEnd(&self, dashescount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveDashesAtEnd)(::windows_core::Interface::as_raw(self), dashescount).ok() @@ -14023,7 +14023,7 @@ impl ID2D1Transform { } pub unsafe fn MapInvalidRect(&self, inputindex: u32, invalidinputrect: super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapInvalidRect)(::windows_core::Interface::as_raw(self), inputindex, ::core::mem::transmute(invalidinputrect), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID2D1Transform {} @@ -14123,12 +14123,12 @@ impl ID2D1TransformedGeometry { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetBounds(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBounds)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn GetWidenedBounds(&self, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -14136,7 +14136,7 @@ impl ID2D1TransformedGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidenedBounds)(::windows_core::Interface::as_raw(self), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn StrokeContainsPoint(&self, point: Common::D2D_POINT_2F, strokewidth: f32, strokestyle: P0, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -14144,12 +14144,12 @@ impl ID2D1TransformedGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrokeContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), strokewidth, strokestyle.into_param().abi(), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn FillContainsPoint(&self, point: Common::D2D_POINT_2F, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FillContainsPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn CompareWithGeometry(&self, inputgeometry: P0, inputgeometrytransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result @@ -14157,7 +14157,7 @@ impl ID2D1TransformedGeometry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareWithGeometry)(::windows_core::Interface::as_raw(self), inputgeometry.into_param().abi(), ::core::mem::transmute(inputgeometrytransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn Simplify(&self, simplificationoption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, geometrysink: P0) -> ::windows_core::Result<()> @@ -14191,12 +14191,12 @@ impl ID2D1TransformedGeometry { #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeArea(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeArea)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn ComputeLength(&self, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(worldtransform.unwrap_or(::std::ptr::null())), flatteningtolerance, &mut result__).map(|| result__) } #[cfg(all(feature = "Foundation_Numerics", feature = "Win32_Graphics_Direct2D_Common"))] pub unsafe fn ComputePointAtLength(&self, length: f32, worldtransform: ::core::option::Option<*const super::super::super::Foundation::Numerics::Matrix3x2>, flatteningtolerance: f32, point: ::core::option::Option<*mut Common::D2D_POINT_2F>, unittangentvector: ::core::option::Option<*mut Common::D2D_POINT_2F>) -> ::windows_core::Result<()> { @@ -14213,7 +14213,7 @@ impl ID2D1TransformedGeometry { pub unsafe fn GetSourceGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetSourceGeometry)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Foundation_Numerics")] pub unsafe fn GetTransform(&self, transform: *mut super::super::super::Foundation::Numerics::Matrix3x2) { @@ -14238,12 +14238,12 @@ impl ID2D1TransformedImageSource { pub unsafe fn GetFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetFactory)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetProperties(&self, properties: *mut D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES) { (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), properties) diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Dxc/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Dxc/mod.rs index adc6badb3a..ec292bc4e7 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Dxc/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Dxc/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("dxcompiler.dll" "system" fn DxcCreateInstance(rclsid : *const ::windows_core::GUID, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DxcCreateInstance(rclsid, &T::IID, &mut result__).from_abi(result__) + DxcCreateInstance(rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -16,7 +16,7 @@ where { ::windows_targets::link!("dxcompiler.dll" "system" fn DxcCreateInstance2(pmalloc : * mut::core::ffi::c_void, rclsid : *const ::windows_core::GUID, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DxcCreateInstance2(pmalloc.into_param().abi(), rclsid, &T::IID, &mut result__).from_abi(result__) + DxcCreateInstance2(pmalloc.into_param().abi(), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDxcAssembler, IDxcAssembler_Vtbl, 0x091f7a26_1c1f_4948_904b_e6e3a8a771d5); ::windows_core::imp::interface_hierarchy!(IDxcAssembler, ::windows_core::IUnknown); @@ -26,7 +26,7 @@ impl IDxcAssembler { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssembleToContainer)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssembleToContainer)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -135,7 +135,7 @@ impl IDxcCompiler { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compile)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compile)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Preprocess(&self, psource: P0, psourcename: P1, parguments: ::core::option::Option<&[::windows_core::PCWSTR]>, pdefines: &[DxcDefine], pincludehandler: P2) -> ::windows_core::Result where @@ -144,14 +144,14 @@ impl IDxcCompiler { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Preprocess)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Preprocess)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disassemble(&self, psource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -174,7 +174,7 @@ impl IDxcCompiler2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compile)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compile)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Preprocess(&self, psource: P0, psourcename: P1, parguments: ::core::option::Option<&[::windows_core::PCWSTR]>, pdefines: &[DxcDefine], pincludehandler: P2) -> ::windows_core::Result where @@ -183,14 +183,14 @@ impl IDxcCompiler2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Preprocess)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Preprocess)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), psourcename.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), pincludehandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disassemble(&self, psource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Disassemble)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Disassemble)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompileWithDebug(&self, psource: P0, psourcename: P1, pentrypoint: P2, ptargetprofile: P3, parguments: ::core::option::Option<&[::windows_core::PCWSTR]>, pdefines: &[DxcDefine], pincludehandler: P4, ppresult: *mut ::core::option::Option, ppdebugblobname: ::core::option::Option<*mut ::windows_core::PWSTR>, ppdebugblob: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -233,14 +233,14 @@ impl IDxcCompiler3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Compile)(::windows_core::Interface::as_raw(self), psource, ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pincludehandler.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compile)(::windows_core::Interface::as_raw(self), psource, ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pincludehandler.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disassemble(&self, pobject: *const DxcBuffer) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), pobject, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), pobject, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -299,7 +299,7 @@ impl IDxcContainerBuilder { } pub unsafe fn SerializeContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SerializeContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SerializeContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -322,19 +322,19 @@ impl IDxcContainerReflection { } pub unsafe fn GetPartCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPartKind(&self, idx: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartKind)(::windows_core::Interface::as_raw(self), idx, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartKind)(::windows_core::Interface::as_raw(self), idx, &mut result__).map(|| result__) } pub unsafe fn GetPartContent(&self, idx: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartContent)(::windows_core::Interface::as_raw(self), idx, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartContent)(::windows_core::Interface::as_raw(self), idx, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstPartKind(&self, kind: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstPartKind)(::windows_core::Interface::as_raw(self), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstPartKind)(::windows_core::Interface::as_raw(self), kind, &mut result__).map(|| result__) } pub unsafe fn GetPartReflection(&self, idx: u32, iid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPartReflection)(::windows_core::Interface::as_raw(self), idx, iid, ppvobject).ok() @@ -379,7 +379,7 @@ impl IDxcIncludeHandler { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadSource)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadSource)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -403,22 +403,22 @@ impl IDxcLibrary { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), offset, length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), offset, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlobFromFile(&self, pfilename: P0, codepage: ::core::option::Option<*const DXC_CP>) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobFromFile)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), ::core::mem::transmute(codepage.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobFromFile)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), ::core::mem::transmute(codepage.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlobWithEncodingFromPinned(&self, ptext: *const ::core::ffi::c_void, size: u32, codepage: DXC_CP) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobWithEncodingFromPinned)(::windows_core::Interface::as_raw(self), ptext, size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobWithEncodingFromPinned)(::windows_core::Interface::as_raw(self), ptext, size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlobWithEncodingOnHeapCopy(&self, ptext: *const ::core::ffi::c_void, size: u32, codepage: DXC_CP) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobWithEncodingOnHeapCopy)(::windows_core::Interface::as_raw(self), ptext, size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobWithEncodingOnHeapCopy)(::windows_core::Interface::as_raw(self), ptext, size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateBlobWithEncodingOnMalloc(&self, ptext: *const ::core::ffi::c_void, pimalloc: P0, size: u32, codepage: DXC_CP) -> ::windows_core::Result @@ -426,11 +426,11 @@ impl IDxcLibrary { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobWithEncodingOnMalloc)(::windows_core::Interface::as_raw(self), ptext, pimalloc.into_param().abi(), size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobWithEncodingOnMalloc)(::windows_core::Interface::as_raw(self), ptext, pimalloc.into_param().abi(), size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateIncludeHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIncludeHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIncludeHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStreamFromBlobReadOnly(&self, pblob: P0) -> ::windows_core::Result @@ -438,21 +438,21 @@ impl IDxcLibrary { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStreamFromBlobReadOnly)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStreamFromBlobReadOnly)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBlobAsUtf8(&self, pblob: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlobAsUtf8)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlobAsUtf8)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBlobAsUtf16(&self, pblob: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlobAsUtf16)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlobAsUtf16)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -495,7 +495,7 @@ impl IDxcLinker { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), pentryname.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(plibnames.as_ptr()), plibnames.len().try_into().unwrap(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), pentryname.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(plibnames.as_ptr()), plibnames.len().try_into().unwrap(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -510,15 +510,15 @@ pub struct IDxcLinker_Vtbl { impl IDxcOperationResult { pub unsafe fn GetStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -534,11 +534,11 @@ pub struct IDxcOperationResult_Vtbl { impl IDxcOptimizer { pub unsafe fn GetAvailablePassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailablePassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailablePassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailablePass(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailablePass)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailablePass)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOptimizer(&self, pblob: P0, ppoptions: &[::windows_core::PCWSTR], poutputmodule: *mut ::core::option::Option, ppoutputtext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -560,23 +560,23 @@ pub struct IDxcOptimizer_Vtbl { impl IDxcOptimizerPass { pub unsafe fn GetOptionName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptionArgCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionArgCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionArgCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptionArgName(&self, argindex: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionArgName)(::windows_core::Interface::as_raw(self), argindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionArgName)(::windows_core::Interface::as_raw(self), argindex, &mut result__).map(|| result__) } pub unsafe fn GetOptionArgDescription(&self, argindex: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionArgDescription)(::windows_core::Interface::as_raw(self), argindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionArgDescription)(::windows_core::Interface::as_raw(self), argindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -600,77 +600,77 @@ impl IDxcPdbUtils { } pub unsafe fn GetSourceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSource(&self, uindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceName(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceName)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceName)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlagCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlagCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlagCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFlag(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlag)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlag)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArgCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArgCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArgCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArg(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArg)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArg)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArgPairCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArgPairCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArgPairCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArgPair(&self, uindex: u32, pname: *mut ::windows_core::BSTR, pvalue: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetArgPair)(::windows_core::Interface::as_raw(self), uindex, ::core::mem::transmute(pname), ::core::mem::transmute(pvalue)).ok() } pub unsafe fn GetDefineCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefineCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefineCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefine(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefine)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefine)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetProfile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEntryPoint(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntryPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntryPoint)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMainFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHash)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFullPDB(&self) -> super::super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsFullPDB)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFullPDB(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullPDB)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullPDB)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVersionInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCompiler(&self, pcompiler: P0) -> ::windows_core::Result<()> where @@ -680,7 +680,7 @@ impl IDxcPdbUtils { } pub unsafe fn CompileForFullPDB(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompileForFullPDB)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompileForFullPDB)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OverrideArgs(&self, pargpairs: *const DxcArgPair, unumargpairs: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OverrideArgs)(::windows_core::Interface::as_raw(self), pargpairs, unumargpairs).ok() @@ -726,15 +726,15 @@ pub struct IDxcPdbUtils_Vtbl { impl IDxcResult { pub unsafe fn GetStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasOutput(&self, dxcoutkind: DXC_OUT_KIND) -> super::super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).HasOutput)(::windows_core::Interface::as_raw(self), dxcoutkind) @@ -773,11 +773,11 @@ impl IDxcUtils { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), offset, length, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), offset, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlobFromPinned(&self, pdata: *const ::core::ffi::c_void, size: u32, codepage: DXC_CP) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlobFromPinned)(::windows_core::Interface::as_raw(self), pdata, size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlobFromPinned)(::windows_core::Interface::as_raw(self), pdata, size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoveToBlob(&self, pdata: *const ::core::ffi::c_void, pimalloc: P0, size: u32, codepage: DXC_CP) -> ::windows_core::Result @@ -785,18 +785,18 @@ impl IDxcUtils { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveToBlob)(::windows_core::Interface::as_raw(self), pdata, pimalloc.into_param().abi(), size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveToBlob)(::windows_core::Interface::as_raw(self), pdata, pimalloc.into_param().abi(), size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlob(&self, pdata: *const ::core::ffi::c_void, size: u32, codepage: DXC_CP) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlob)(::windows_core::Interface::as_raw(self), pdata, size, codepage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlob)(::windows_core::Interface::as_raw(self), pdata, size, codepage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadFile(&self, pfilename: P0, pcodepage: ::core::option::Option<*const DXC_CP>) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadFile)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), ::core::mem::transmute(pcodepage.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadFile)(::windows_core::Interface::as_raw(self), pfilename.into_param().abi(), ::core::mem::transmute(pcodepage.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateReadOnlyStreamFromBlob(&self, pblob: P0) -> ::windows_core::Result @@ -804,25 +804,25 @@ impl IDxcUtils { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReadOnlyStreamFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReadOnlyStreamFromBlob)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDefaultIncludeHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDefaultIncludeHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDefaultIncludeHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBlobAsUtf8(&self, pblob: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlobAsUtf8)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlobAsUtf8)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBlobAsUtf16(&self, pblob: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlobAsUtf16)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlobAsUtf16)(::windows_core::Interface::as_raw(self), pblob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDxilContainerPart(&self, pshader: *const DxcBuffer, dxcpart: u32, pppartdata: *mut *mut ::core::ffi::c_void, ppartsizeinbytes: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDxilContainerPart)(::windows_core::Interface::as_raw(self), pshader, dxcpart, pppartdata, ppartsizeinbytes).ok() @@ -837,7 +837,7 @@ impl IDxcUtils { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuildArguments)(::windows_core::Interface::as_raw(self), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuildArguments)(::windows_core::Interface::as_raw(self), psourcename.into_param().abi(), pentrypoint.into_param().abi(), ptargetprofile.into_param().abi(), ::core::mem::transmute(parguments.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), parguments.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pdefines.as_ptr()), pdefines.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPDBContents(&self, ppdbblob: P0, pphash: *mut ::core::option::Option, ppcontainer: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -878,7 +878,7 @@ impl IDxcValidator { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -895,14 +895,14 @@ impl IDxcValidator2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Validate)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Validate)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ValidateWithDebug(&self, pshader: P0, flags: u32, poptdebugbitcode: ::core::option::Option<*const DxcBuffer>) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValidateWithDebug)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, ::core::mem::transmute(poptdebugbitcode.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValidateWithDebug)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), flags, ::core::mem::transmute(poptdebugbitcode.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -919,7 +919,7 @@ impl IDxcVersionInfo { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -937,7 +937,7 @@ impl IDxcVersionInfo2 { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCommitInfo(&self, pcommitcount: *mut u32, pcommithash: *mut *mut i8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCommitInfo)(::windows_core::Interface::as_raw(self), pcommitcount, pcommithash).ok() @@ -954,7 +954,7 @@ pub struct IDxcVersionInfo2_Vtbl { impl IDxcVersionInfo3 { pub unsafe fn GetCustomVersionString(&self) -> ::windows_core::Result<*mut i8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomVersionString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomVersionString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Fxc/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Fxc/mod.rs index e49b031060..30fcd5c561 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Fxc/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/Fxc/mod.rs @@ -35,27 +35,27 @@ where pub unsafe fn D3DCompressShaders(pshaderdata: &[D3D_SHADER_DATA], uflags: u32) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DCompressShaders(unumshaders : u32, pshaderdata : *const D3D_SHADER_DATA, uflags : u32, ppcompresseddata : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DCompressShaders(pshaderdata.len().try_into().unwrap(), ::core::mem::transmute(pshaderdata.as_ptr()), uflags, &mut result__).from_abi(result__) + D3DCompressShaders(pshaderdata.len().try_into().unwrap(), ::core::mem::transmute(pshaderdata.as_ptr()), uflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DCreateBlob(size: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DCreateBlob(size : usize, ppblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DCreateBlob(size, &mut result__).from_abi(result__) + D3DCreateBlob(size, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D11")] #[inline] pub unsafe fn D3DCreateFunctionLinkingGraph(uflags: u32) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DCreateFunctionLinkingGraph(uflags : u32, ppfunctionlinkinggraph : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DCreateFunctionLinkingGraph(uflags, &mut result__).from_abi(result__) + D3DCreateFunctionLinkingGraph(uflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D11")] #[inline] pub unsafe fn D3DCreateLinker() -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DCreateLinker(pplinker : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DCreateLinker(&mut result__).from_abi(result__) + D3DCreateLinker(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DDecompressShaders(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, unumshaders: u32, ustartindex: u32, pindices: ::core::option::Option<*const u32>, uflags: u32, ppshaders: *mut ::core::option::Option, ptotalshaders: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -69,7 +69,7 @@ where { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DDisassemble(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, flags : u32, szcomments : ::windows_core::PCSTR, ppdisassembly : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DDisassemble(psrcdata, srcdatasize, flags, szcomments.into_param().abi(), &mut result__).from_abi(result__) + D3DDisassemble(psrcdata, srcdatasize, flags, szcomments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D10")] #[inline] @@ -79,7 +79,7 @@ where { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DDisassemble10Effect(peffect : * mut::core::ffi::c_void, flags : u32, ppdisassembly : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DDisassemble10Effect(peffect.into_param().abi(), flags, &mut result__).from_abi(result__) + D3DDisassemble10Effect(peffect.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DDisassembleRegion(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, flags: u32, szcomments: P0, startbyteoffset: usize, numinsts: usize, pfinishbyteoffset: ::core::option::Option<*mut usize>, ppdisassembly: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -93,31 +93,31 @@ where pub unsafe fn D3DGetBlobPart(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, part: D3D_BLOB_PART, flags: u32) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DGetBlobPart(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, part : D3D_BLOB_PART, flags : u32, pppart : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DGetBlobPart(psrcdata, srcdatasize, part, flags, &mut result__).from_abi(result__) + D3DGetBlobPart(psrcdata, srcdatasize, part, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DGetDebugInfo(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DGetDebugInfo(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, ppdebuginfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DGetDebugInfo(psrcdata, srcdatasize, &mut result__).from_abi(result__) + D3DGetDebugInfo(psrcdata, srcdatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DGetInputAndOutputSignatureBlob(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DGetInputAndOutputSignatureBlob(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DGetInputAndOutputSignatureBlob(psrcdata, srcdatasize, &mut result__).from_abi(result__) + D3DGetInputAndOutputSignatureBlob(psrcdata, srcdatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DGetInputSignatureBlob(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DGetInputSignatureBlob(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DGetInputSignatureBlob(psrcdata, srcdatasize, &mut result__).from_abi(result__) + D3DGetInputSignatureBlob(psrcdata, srcdatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DGetOutputSignatureBlob(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DGetOutputSignatureBlob(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DGetOutputSignatureBlob(psrcdata, srcdatasize, &mut result__).from_abi(result__) + D3DGetOutputSignatureBlob(psrcdata, srcdatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DGetTraceInstructionOffsets(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, flags: u32, startinstindex: usize, poffsets: ::core::option::Option<&mut [usize]>, ptotalinsts: ::core::option::Option<*mut usize>) -> ::windows_core::Result<()> { @@ -129,7 +129,7 @@ pub unsafe fn D3DGetTraceInstructionOffsets(psrcdata: *const ::core::ffi::c_void pub unsafe fn D3DLoadModule(psrcdata: *const ::core::ffi::c_void, cbsrcdatasize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DLoadModule(psrcdata : *const ::core::ffi::c_void, cbsrcdatasize : usize, ppmodule : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DLoadModule(psrcdata, cbsrcdatasize, &mut result__).from_abi(result__) + D3DLoadModule(psrcdata, cbsrcdatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DPreprocess(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, psourcename: P0, pdefines: ::core::option::Option<*const super::D3D_SHADER_MACRO>, pinclude: P1, ppcodetext: *mut ::core::option::Option, pperrormsgs: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> @@ -147,7 +147,7 @@ where { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DReadFileToBlob(pfilename : ::windows_core::PCWSTR, ppcontents : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DReadFileToBlob(pfilename.into_param().abi(), &mut result__).from_abi(result__) + D3DReadFileToBlob(pfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DReflect(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, pinterface: *const ::windows_core::GUID, ppreflector: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -163,13 +163,13 @@ pub unsafe fn D3DReflectLibrary(psrcdata: *const ::core::ffi::c_void, srcdatasiz pub unsafe fn D3DSetBlobPart(psrcdata: *const ::core::ffi::c_void, srcdatasize: usize, part: D3D_BLOB_PART, flags: u32, ppart: *const ::core::ffi::c_void, partsize: usize) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DSetBlobPart(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, part : D3D_BLOB_PART, flags : u32, ppart : *const ::core::ffi::c_void, partsize : usize, ppnewshader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DSetBlobPart(psrcdata, srcdatasize, part, flags, ppart, partsize, &mut result__).from_abi(result__) + D3DSetBlobPart(psrcdata, srcdatasize, part, flags, ppart, partsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DStripShader(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, ustripflags: u32) -> ::windows_core::Result { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DStripShader(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ustripflags : u32, ppstrippedblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DStripShader(pshaderbytecode, bytecodelength, ustripflags, &mut result__).from_abi(result__) + D3DStripShader(pshaderbytecode, bytecodelength, ustripflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DWriteBlobToFile(pblob: P0, pfilename: P1, boverwrite: P2) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/mod.rs index adb0dd652a..84a3cc6099 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D/mod.rs @@ -26,7 +26,7 @@ pub struct ID3DBlob_Vtbl { impl ID3DDestructionNotifier { pub unsafe fn RegisterDestructionCallback(&self, callbackfn: PFN_DESTRUCTION_CALLBACK, pdata: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterDestructionCallback)(::windows_core::Interface::as_raw(self), callbackfn, pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterDestructionCallback)(::windows_core::Interface::as_raw(self), callbackfn, pdata, &mut result__).map(|| result__) } pub unsafe fn UnregisterDestructionCallback(&self, callbackid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterDestructionCallback)(::windows_core::Interface::as_raw(self), callbackid).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D10/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D10/mod.rs index 577d7c5f98..407b72e7cf 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D10/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D10/mod.rs @@ -25,7 +25,7 @@ where pub unsafe fn D3D10CreateBlob(numbytes: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10CreateBlob(numbytes : usize, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10CreateBlob(numbytes, &mut result__).from_abi(result__) + D3D10CreateBlob(numbytes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] #[inline] @@ -75,7 +75,7 @@ where { ::windows_targets::link!("d3d10.dll" "system" fn D3D10CreateEffectFromMemory(pdata : *const ::core::ffi::c_void, datalength : usize, fxflags : u32, pdevice : * mut::core::ffi::c_void, peffectpool : * mut::core::ffi::c_void, ppeffect : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10CreateEffectFromMemory(pdata, datalength, fxflags, pdevice.into_param().abi(), peffectpool.into_param().abi(), &mut result__).from_abi(result__) + D3D10CreateEffectFromMemory(pdata, datalength, fxflags, pdevice.into_param().abi(), peffectpool.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10CreateEffectPoolFromMemory(pdata: *const ::core::ffi::c_void, datalength: usize, fxflags: u32, pdevice: P0) -> ::windows_core::Result @@ -84,7 +84,7 @@ where { ::windows_targets::link!("d3d10.dll" "system" fn D3D10CreateEffectPoolFromMemory(pdata : *const ::core::ffi::c_void, datalength : usize, fxflags : u32, pdevice : * mut::core::ffi::c_void, ppeffectpool : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10CreateEffectPoolFromMemory(pdata, datalength, fxflags, pdevice.into_param().abi(), &mut result__).from_abi(result__) + D3D10CreateEffectPoolFromMemory(pdata, datalength, fxflags, pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10CreateStateBlock(pdevice: P0, pstateblockmask: *const D3D10_STATE_BLOCK_MASK) -> ::windows_core::Result @@ -93,7 +93,7 @@ where { ::windows_targets::link!("d3d10.dll" "system" fn D3D10CreateStateBlock(pdevice : * mut::core::ffi::c_void, pstateblockmask : *const D3D10_STATE_BLOCK_MASK, ppstateblock : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10CreateStateBlock(pdevice.into_param().abi(), pstateblockmask, &mut result__).from_abi(result__) + D3D10CreateStateBlock(pdevice.into_param().abi(), pstateblockmask, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] #[inline] @@ -104,7 +104,7 @@ where { ::windows_targets::link!("d3d10.dll" "system" fn D3D10DisassembleEffect(peffect : * mut::core::ffi::c_void, enablecolorcode : super::super::Foundation:: BOOL, ppdisassembly : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10DisassembleEffect(peffect.into_param().abi(), enablecolorcode.into_param().abi(), &mut result__).from_abi(result__) + D3D10DisassembleEffect(peffect.into_param().abi(), enablecolorcode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] #[inline] @@ -115,7 +115,7 @@ where { ::windows_targets::link!("d3d10.dll" "system" fn D3D10DisassembleShader(pshader : *const ::core::ffi::c_void, bytecodelength : usize, enablecolorcode : super::super::Foundation:: BOOL, pcomments : ::windows_core::PCSTR, ppdisassembly : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10DisassembleShader(pshader, bytecodelength, enablecolorcode.into_param().abi(), pcomments.into_param().abi(), &mut result__).from_abi(result__) + D3D10DisassembleShader(pshader, bytecodelength, enablecolorcode.into_param().abi(), pcomments.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10GetGeometryShaderProfile(pdevice: P0) -> ::windows_core::PCSTR @@ -130,21 +130,21 @@ where pub unsafe fn D3D10GetInputAndOutputSignatureBlob(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10GetInputAndOutputSignatureBlob(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10GetInputAndOutputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).from_abi(result__) + D3D10GetInputAndOutputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] #[inline] pub unsafe fn D3D10GetInputSignatureBlob(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10GetInputSignatureBlob(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10GetInputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).from_abi(result__) + D3D10GetInputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] #[inline] pub unsafe fn D3D10GetOutputSignatureBlob(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10GetOutputSignatureBlob(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ppsignatureblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10GetOutputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).from_abi(result__) + D3D10GetOutputSignatureBlob(pshaderbytecode, bytecodelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10GetPixelShaderProfile(pdevice: P0) -> ::windows_core::PCSTR @@ -159,7 +159,7 @@ where pub unsafe fn D3D10GetShaderDebugInfo(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10GetShaderDebugInfo(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ppdebuginfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10GetShaderDebugInfo(pshaderbytecode, bytecodelength, &mut result__).from_abi(result__) + D3D10GetShaderDebugInfo(pshaderbytecode, bytecodelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10GetVertexShaderProfile(pdevice: P0) -> ::windows_core::PCSTR @@ -183,7 +183,7 @@ where pub unsafe fn D3D10ReflectShader(pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize) -> ::windows_core::Result { ::windows_targets::link!("d3d10.dll" "system" fn D3D10ReflectShader(pshaderbytecode : *const ::core::ffi::c_void, bytecodelength : usize, ppreflector : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3D10ReflectShader(pshaderbytecode, bytecodelength, &mut result__).from_abi(result__) + D3D10ReflectShader(pshaderbytecode, bytecodelength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3D10StateBlockMaskDifference(pa: *const D3D10_STATE_BLOCK_MASK, pb: *const D3D10_STATE_BLOCK_MASK, presult: *mut D3D10_STATE_BLOCK_MASK) -> ::windows_core::Result<()> { @@ -231,7 +231,7 @@ impl ID3D10Asynchronous { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -275,7 +275,7 @@ impl ID3D10BlendState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -307,7 +307,7 @@ impl ID3D10BlendState1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -342,7 +342,7 @@ impl ID3D10Buffer { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -359,7 +359,7 @@ impl ID3D10Buffer { pub unsafe fn GetType(&self) -> D3D10_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -393,7 +393,7 @@ impl ID3D10Counter { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -422,7 +422,7 @@ impl ID3D10Counter { pub unsafe fn GetDesc(&self) -> D3D10_COUNTER_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D10Counter {} @@ -458,7 +458,7 @@ impl ID3D10Debug { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetSwapChain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Validate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self)).ok() @@ -490,7 +490,7 @@ impl ID3D10DepthStencilState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -522,7 +522,7 @@ impl ID3D10DepthStencilView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -539,7 +539,7 @@ impl ID3D10DepthStencilView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D10_DEPTH_STENCIL_VIEW_DESC) { @@ -735,7 +735,7 @@ impl ID3D10Device { pub unsafe fn PSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).PSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn PSGetSamplers(&self, startslot: u32, ppsamplers: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).PSGetSamplers)(::windows_core::Interface::as_raw(self), startslot, ppsamplers.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppsamplers.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -743,7 +743,7 @@ impl ID3D10Device { pub unsafe fn VSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn PSGetConstantBuffers(&self, startslot: u32, ppconstantbuffers: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).PSGetConstantBuffers)(::windows_core::Interface::as_raw(self), startslot, ppconstantbuffers.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppconstantbuffers.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -751,7 +751,7 @@ impl ID3D10Device { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -766,13 +766,13 @@ impl ID3D10Device { pub unsafe fn GSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -804,7 +804,7 @@ impl ID3D10Device { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, numviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D10_VIEWPORT>) { (::windows_core::Interface::vtable(self).RSGetViewports)(::windows_core::Interface::as_raw(self), numviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -845,17 +845,17 @@ impl ID3D10Device { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture1D(&self, pdesc: *const D3D10_TEXTURE1D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTexture1D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTexture1D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture2D(&self, pdesc: *const D3D10_TEXTURE2D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTexture2D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTexture2D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture3D(&self, pdesc: *const D3D10_TEXTURE3D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTexture3D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTexture3D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateShaderResourceView(&self, presource: P0, pdesc: ::core::option::Option<*const D3D10_SHADER_RESOURCE_VIEW_DESC>, ppsrview: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> @@ -918,17 +918,17 @@ impl ID3D10Device { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D10_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D10_COUNTER_DESC, ptype: *mut D3D10_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1271,7 +1271,7 @@ impl ID3D10Device1 { pub unsafe fn PSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.PSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn PSGetSamplers(&self, startslot: u32, ppsamplers: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.PSGetSamplers)(::windows_core::Interface::as_raw(self), startslot, ppsamplers.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppsamplers.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -1279,7 +1279,7 @@ impl ID3D10Device1 { pub unsafe fn VSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn PSGetConstantBuffers(&self, startslot: u32, ppconstantbuffers: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.PSGetConstantBuffers)(::windows_core::Interface::as_raw(self), startslot, ppconstantbuffers.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppconstantbuffers.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -1287,7 +1287,7 @@ impl ID3D10Device1 { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).base__.IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -1302,13 +1302,13 @@ impl ID3D10Device1 { pub unsafe fn GSGetShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GSGetShader)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -1340,7 +1340,7 @@ impl ID3D10Device1 { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, numviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D10_VIEWPORT>) { (::windows_core::Interface::vtable(self).base__.RSGetViewports)(::windows_core::Interface::as_raw(self), numviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -1381,17 +1381,17 @@ impl ID3D10Device1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture1D(&self, pdesc: *const D3D10_TEXTURE1D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTexture1D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTexture1D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture2D(&self, pdesc: *const D3D10_TEXTURE2D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTexture2D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTexture2D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture3D(&self, pdesc: *const D3D10_TEXTURE3D_DESC, pinitialdata: ::core::option::Option<*const D3D10_SUBRESOURCE_DATA>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTexture3D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTexture3D)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(pinitialdata.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateShaderResourceView(&self, presource: P0, pdesc: ::core::option::Option<*const D3D10_SHADER_RESOURCE_VIEW_DESC>, ppsrview: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> @@ -1454,17 +1454,17 @@ impl ID3D10Device1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D10_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D10_COUNTER_DESC, ptype: *mut D3D10_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1517,7 +1517,7 @@ impl ID3D10DeviceChild { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1554,7 +1554,7 @@ impl ID3D10Effect { } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut D3D10_EFFECT_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() @@ -1708,7 +1708,7 @@ impl ID3D10EffectBlendVariable { } pub unsafe fn GetBlendState(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlendState)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlendState)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBackingStore(&self, index: u32, pblenddesc: *mut D3D10_BLEND_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBackingStore)(::windows_core::Interface::as_raw(self), index, pblenddesc).ok() @@ -1818,7 +1818,7 @@ impl ID3D10EffectConstantBuffer { } pub unsafe fn GetConstantBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConstantBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConstantBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTextureBuffer(&self, ptexturebuffer: P0) -> ::windows_core::Result<()> where @@ -1828,7 +1828,7 @@ impl ID3D10EffectConstantBuffer { } pub unsafe fn GetTextureBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextureBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextureBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D10EffectConstantBuffer {} @@ -1931,7 +1931,7 @@ impl ID3D10EffectDepthStencilVariable { } pub unsafe fn GetDepthStencilState(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDepthStencilState)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDepthStencilState)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBackingStore(&self, index: u32, pdepthstencildesc: *mut D3D10_DEPTH_STENCIL_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBackingStore)(::windows_core::Interface::as_raw(self), index, pdepthstencildesc).ok() @@ -2041,7 +2041,7 @@ impl ID3D10EffectDepthStencilViewVariable { } pub unsafe fn GetDepthStencil(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDepthStencil)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDepthStencil)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepthStencilArray(&self, ppresources: &[::core::option::Option], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDepthStencilArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppresources.as_ptr()), offset, ppresources.len().try_into().unwrap()).ok() @@ -2340,7 +2340,7 @@ impl ID3D10EffectRasterizerVariable { } pub unsafe fn GetRasterizerState(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRasterizerState)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRasterizerState)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBackingStore(&self, index: u32, prasterizerdesc: *mut D3D10_RASTERIZER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBackingStore)(::windows_core::Interface::as_raw(self), index, prasterizerdesc).ok() @@ -2450,7 +2450,7 @@ impl ID3D10EffectRenderTargetViewVariable { } pub unsafe fn GetRenderTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRenderTargetArray(&self, ppresources: &[::core::option::Option], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderTargetArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppresources.as_ptr()), offset, ppresources.len().try_into().unwrap()).ok() @@ -2559,7 +2559,7 @@ impl ID3D10EffectSamplerVariable { } pub unsafe fn GetSampler(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSampler)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSampler)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBackingStore(&self, index: u32, psamplerdesc: *mut D3D10_SAMPLER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBackingStore)(::windows_core::Interface::as_raw(self), index, psamplerdesc).ok() @@ -2666,7 +2666,7 @@ impl ID3D10EffectScalarVariable { } pub unsafe fn GetFloat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFloat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFloat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFloatArray(&self, pdata: &[f32], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFloatArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdata.as_ptr()), offset, pdata.len().try_into().unwrap()).ok() @@ -2679,7 +2679,7 @@ impl ID3D10EffectScalarVariable { } pub unsafe fn GetInt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIntArray(&self, pdata: &[i32], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIntArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdata.as_ptr()), offset, pdata.len().try_into().unwrap()).ok() @@ -2695,7 +2695,7 @@ impl ID3D10EffectScalarVariable { } pub unsafe fn GetBool(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoolArray(&self, pdata: &[super::super::Foundation::BOOL], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoolArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdata.as_ptr()), offset, pdata.len().try_into().unwrap()).ok() @@ -2818,7 +2818,7 @@ impl ID3D10EffectShaderResourceVariable { } pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetResourceArray(&self, ppresources: &[::core::option::Option], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetResourceArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppresources.as_ptr()), offset, ppresources.len().try_into().unwrap()).ok() @@ -2930,15 +2930,15 @@ impl ID3D10EffectShaderVariable { } pub unsafe fn GetVertexShader(&self, shaderindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVertexShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVertexShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGeometryShader(&self, shaderindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeometryShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeometryShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelShader(&self, shaderindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelShader)(::windows_core::Interface::as_raw(self), shaderindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetInputSignatureElementDesc(&self, shaderindex: u32, element: u32, pdesc: *mut D3D10_SIGNATURE_PARAMETER_DESC) -> ::windows_core::Result<()> { @@ -3057,7 +3057,7 @@ impl ID3D10EffectStringVariable { } pub unsafe fn GetString(&self) -> ::windows_core::Result<::windows_core::PCSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringArray(&self, ppstrings: &mut [::windows_core::PCSTR], offset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStringArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppstrings.as_ptr()), offset, ppstrings.len().try_into().unwrap()).ok() @@ -3429,7 +3429,7 @@ impl ID3D10GeometryShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3626,7 +3626,7 @@ impl ID3D10InputLayout { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3684,7 +3684,7 @@ impl ID3D10PixelShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3712,7 +3712,7 @@ impl ID3D10Predicate { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3741,7 +3741,7 @@ impl ID3D10Predicate { pub unsafe fn GetDesc(&self) -> D3D10_QUERY_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D10Predicate {} @@ -3757,7 +3757,7 @@ impl ID3D10Query { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3786,7 +3786,7 @@ impl ID3D10Query { pub unsafe fn GetDesc(&self) -> D3D10_QUERY_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D10Query {} @@ -3803,7 +3803,7 @@ impl ID3D10RasterizerState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3835,7 +3835,7 @@ impl ID3D10RenderTargetView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3852,7 +3852,7 @@ impl ID3D10RenderTargetView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D10_RENDER_TARGET_VIEW_DESC) { @@ -3876,7 +3876,7 @@ impl ID3D10Resource { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3893,7 +3893,7 @@ impl ID3D10Resource { pub unsafe fn GetType(&self) -> D3D10_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -3918,7 +3918,7 @@ impl ID3D10SamplerState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4041,32 +4041,32 @@ impl ID3D10ShaderReflection1 { } pub unsafe fn GetMovInstructionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMovInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMovInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMovcInstructionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMovcInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMovcInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConversionInstructionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConversionInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConversionInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitwiseInstructionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitwiseInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitwiseInstructionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetGSInputPrimitive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGSInputPrimitive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGSInputPrimitive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLevel9Shader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLevel9Shader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLevel9Shader)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSampleFrequencyShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSampleFrequencyShader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSampleFrequencyShader)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D10ShaderReflection1 {} @@ -4192,7 +4192,7 @@ impl ID3D10ShaderResourceView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4209,7 +4209,7 @@ impl ID3D10ShaderResourceView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn GetDesc(&self, pdesc: *mut D3D10_SHADER_RESOURCE_VIEW_DESC) { @@ -4233,7 +4233,7 @@ impl ID3D10ShaderResourceView1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4250,7 +4250,7 @@ impl ID3D10ShaderResourceView1 { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn GetDesc(&self, pdesc: *mut D3D10_SHADER_RESOURCE_VIEW_DESC) { @@ -4286,7 +4286,7 @@ impl ID3D10StateBlock { } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D10StateBlock {} @@ -4328,7 +4328,7 @@ impl ID3D10Texture1D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4345,7 +4345,7 @@ impl ID3D10Texture1D { pub unsafe fn GetType(&self) -> D3D10_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -4383,7 +4383,7 @@ impl ID3D10Texture2D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4400,7 +4400,7 @@ impl ID3D10Texture2D { pub unsafe fn GetType(&self) -> D3D10_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -4410,7 +4410,7 @@ impl ID3D10Texture2D { } pub unsafe fn Map(&self, subresource: u32, maptype: D3D10_MAP, mapflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), subresource, maptype, mapflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), subresource, maptype, mapflags, &mut result__).map(|| result__) } pub unsafe fn Unmap(&self, subresource: u32) { (::windows_core::Interface::vtable(self).Unmap)(::windows_core::Interface::as_raw(self), subresource) @@ -4439,7 +4439,7 @@ impl ID3D10Texture3D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4456,7 +4456,7 @@ impl ID3D10Texture3D { pub unsafe fn GetType(&self) -> D3D10_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -4466,7 +4466,7 @@ impl ID3D10Texture3D { } pub unsafe fn Map(&self, subresource: u32, maptype: D3D10_MAP, mapflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), subresource, maptype, mapflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), subresource, maptype, mapflags, &mut result__).map(|| result__) } pub unsafe fn Unmap(&self, subresource: u32) { (::windows_core::Interface::vtable(self).Unmap)(::windows_core::Interface::as_raw(self), subresource) @@ -4495,7 +4495,7 @@ impl ID3D10VertexShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4523,7 +4523,7 @@ impl ID3D10View { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4540,7 +4540,7 @@ impl ID3D10View { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID3D10View {} diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11/mod.rs index 3718797de3..9123f68897 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11/mod.rs @@ -52,7 +52,7 @@ where { ::windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DDisassemble11Trace(psrcdata : *const ::core::ffi::c_void, srcdatasize : usize, ptrace : * mut::core::ffi::c_void, startstep : u32, numsteps : u32, flags : u32, ppdisassembly : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DDisassemble11Trace(psrcdata, srcdatasize, ptrace.into_param().abi(), startstep, numsteps, flags, &mut result__).from_abi(result__) + D3DDisassemble11Trace(psrcdata, srcdatasize, ptrace.into_param().abi(), startstep, numsteps, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DX11CreateFFT(pdevicecontext: P0, pdesc: *const D3DX11_FFT_DESC, flags: u32, pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO, ppfft: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -117,7 +117,7 @@ where { ::windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateScan(pdevicecontext : * mut::core::ffi::c_void, maxelementscansize : u32, maxscancount : u32, ppscan : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DX11CreateScan(pdevicecontext.into_param().abi(), maxelementscansize, maxscancount, &mut result__).from_abi(result__) + D3DX11CreateScan(pdevicecontext.into_param().abi(), maxelementscansize, maxscancount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn D3DX11CreateSegmentedScan(pdevicecontext: P0, maxelementscansize: u32) -> ::windows_core::Result @@ -126,7 +126,7 @@ where { ::windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateSegmentedScan(pdevicecontext : * mut::core::ffi::c_void, maxelementscansize : u32, ppscan : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - D3DX11CreateSegmentedScan(pdevicecontext.into_param().abi(), maxelementscansize, &mut result__).from_abi(result__) + D3DX11CreateSegmentedScan(pdevicecontext.into_param().abi(), maxelementscansize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(ID3D11Asynchronous, ID3D11Asynchronous_Vtbl, 0x4b35d0cd_1e15_4258_9c98_1b1333f6dd3b); ::windows_core::imp::interface_hierarchy!(ID3D11Asynchronous, ::windows_core::IUnknown, ID3D11DeviceChild); @@ -134,7 +134,7 @@ impl ID3D11Asynchronous { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -166,7 +166,7 @@ impl ID3D11AuthenticatedChannel { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -182,7 +182,7 @@ impl ID3D11AuthenticatedChannel { } pub unsafe fn GetCertificateSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCertificate(&self, pcertificate: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCertificate)(::windows_core::Interface::as_raw(self), pcertificate.len().try_into().unwrap(), ::core::mem::transmute(pcertificate.as_ptr())).ok() @@ -190,7 +190,7 @@ impl ID3D11AuthenticatedChannel { pub unsafe fn GetChannelHandle(&self) -> super::super::Foundation::HANDLE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetChannelHandle)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11AuthenticatedChannel {} @@ -209,7 +209,7 @@ impl ID3D11BlendState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -241,7 +241,7 @@ impl ID3D11BlendState1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -276,7 +276,7 @@ impl ID3D11Buffer { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -293,7 +293,7 @@ impl ID3D11Buffer { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -319,7 +319,7 @@ impl ID3D11ClassInstance { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -336,7 +336,7 @@ impl ID3D11ClassInstance { pub unsafe fn GetClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_CLASS_INSTANCE_DESC) { (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc) @@ -365,7 +365,7 @@ impl ID3D11ClassLinkage { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -384,14 +384,14 @@ impl ID3D11ClassLinkage { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassInstance)(::windows_core::Interface::as_raw(self), pclassinstancename.into_param().abi(), instanceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassInstance)(::windows_core::Interface::as_raw(self), pclassinstancename.into_param().abi(), instanceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateClassInstance(&self, pclasstypename: P0, constantbufferoffset: u32, constantvectoroffset: u32, textureoffset: u32, sampleroffset: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClassInstance)(::windows_core::Interface::as_raw(self), pclasstypename.into_param().abi(), constantbufferoffset, constantvectoroffset, textureoffset, sampleroffset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClassInstance)(::windows_core::Interface::as_raw(self), pclasstypename.into_param().abi(), constantbufferoffset, constantvectoroffset, textureoffset, sampleroffset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11ClassLinkage {} @@ -409,7 +409,7 @@ impl ID3D11CommandList { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -441,7 +441,7 @@ impl ID3D11ComputeShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -469,7 +469,7 @@ impl ID3D11Counter { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -489,7 +489,7 @@ impl ID3D11Counter { pub unsafe fn GetDesc(&self) -> D3D11_COUNTER_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11Counter {} @@ -506,7 +506,7 @@ impl ID3D11CryptoSession { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -523,16 +523,16 @@ impl ID3D11CryptoSession { pub unsafe fn GetCryptoType(&self) -> ::windows_core::GUID { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetCryptoType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetDecoderProfile(&self) -> ::windows_core::GUID { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDecoderProfile)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetCertificateSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCertificate(&self, pcertificate: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCertificate)(::windows_core::Interface::as_raw(self), pcertificate.len().try_into().unwrap(), ::core::mem::transmute(pcertificate.as_ptr())).ok() @@ -540,7 +540,7 @@ impl ID3D11CryptoSession { pub unsafe fn GetCryptoSessionHandle(&self) -> super::super::Foundation::HANDLE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetCryptoSessionHandle)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11CryptoSession {} @@ -580,7 +580,7 @@ impl ID3D11Debug { #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn GetSwapChain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ValidateContext(&self, pcontext: P0) -> ::windows_core::Result<()> where @@ -626,7 +626,7 @@ impl ID3D11DepthStencilState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -658,7 +658,7 @@ impl ID3D11DepthStencilView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -675,7 +675,7 @@ impl ID3D11DepthStencilView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC) { @@ -799,7 +799,7 @@ impl ID3D11Device { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -835,17 +835,17 @@ impl ID3D11Device { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -878,7 +878,7 @@ impl ID3D11Device { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -1073,7 +1073,7 @@ impl ID3D11Device1 { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1109,17 +1109,17 @@ impl ID3D11Device1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1152,7 +1152,7 @@ impl ID3D11Device1 { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -1163,7 +1163,7 @@ impl ID3D11Device1 { pub unsafe fn GetImmediateContext1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetImmediateContext1)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateDeferredContext1)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1184,7 +1184,7 @@ impl ID3D11Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenSharedResourceByName(&self, lpname: P0, dwdesiredaccess: u32) -> ::windows_core::Result where @@ -1192,7 +1192,7 @@ impl ID3D11Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11Device1 {} @@ -1318,7 +1318,7 @@ impl ID3D11Device2 { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1354,17 +1354,17 @@ impl ID3D11Device2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1397,7 +1397,7 @@ impl ID3D11Device2 { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -1408,7 +1408,7 @@ impl ID3D11Device2 { pub unsafe fn GetImmediateContext1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetImmediateContext1)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CreateDeferredContext1)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1429,7 +1429,7 @@ impl ID3D11Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenSharedResourceByName(&self, lpname: P0, dwdesiredaccess: u32) -> ::windows_core::Result where @@ -1437,12 +1437,12 @@ impl ID3D11Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImmediateContext2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetImmediateContext2)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext2(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateDeferredContext2)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1456,7 +1456,7 @@ impl ID3D11Device2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels1(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11Device2 {} @@ -1579,7 +1579,7 @@ impl ID3D11Device3 { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1615,17 +1615,17 @@ impl ID3D11Device3 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1658,7 +1658,7 @@ impl ID3D11Device3 { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -1669,7 +1669,7 @@ impl ID3D11Device3 { pub unsafe fn GetImmediateContext1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetImmediateContext1)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CreateDeferredContext1)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1690,7 +1690,7 @@ impl ID3D11Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenSharedResourceByName(&self, lpname: P0, dwdesiredaccess: u32) -> ::windows_core::Result where @@ -1698,12 +1698,12 @@ impl ID3D11Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImmediateContext2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetImmediateContext2)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext2(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CreateDeferredContext2)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1717,7 +1717,7 @@ impl ID3D11Device3 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels1(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture2D1(&self, pdesc1: *const D3D11_TEXTURE2D_DESC1, pinitialdata: ::core::option::Option<*const D3D11_SUBRESOURCE_DATA>, pptexture2d: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { @@ -1757,7 +1757,7 @@ impl ID3D11Device3 { pub unsafe fn GetImmediateContext3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetImmediateContext3)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext3(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateDeferredContext3)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1914,7 +1914,7 @@ impl ID3D11Device4 { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1950,17 +1950,17 @@ impl ID3D11Device4 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1993,7 +1993,7 @@ impl ID3D11Device4 { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -2004,7 +2004,7 @@ impl ID3D11Device4 { pub unsafe fn GetImmediateContext1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetImmediateContext1)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeferredContext1)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2025,7 +2025,7 @@ impl ID3D11Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenSharedResourceByName(&self, lpname: P0, dwdesiredaccess: u32) -> ::windows_core::Result where @@ -2033,12 +2033,12 @@ impl ID3D11Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImmediateContext2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetImmediateContext2)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext2(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CreateDeferredContext2)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2052,7 +2052,7 @@ impl ID3D11Device4 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels1(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture2D1(&self, pdesc1: *const D3D11_TEXTURE2D_DESC1, pinitialdata: ::core::option::Option<*const D3D11_SUBRESOURCE_DATA>, pptexture2d: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { @@ -2092,7 +2092,7 @@ impl ID3D11Device4 { pub unsafe fn GetImmediateContext3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetImmediateContext3)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext3(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CreateDeferredContext3)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2114,7 +2114,7 @@ impl ID3D11Device4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterDeviceRemovedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterDeviceRemovedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterDeviceRemoved(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).UnregisterDeviceRemoved)(::windows_core::Interface::as_raw(self), dwcookie) @@ -2235,7 +2235,7 @@ impl ID3D11Device5 { } pub unsafe fn CreateClassLinkage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateClassLinkage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateBlendState)(::windows_core::Interface::as_raw(self), pblendstatedesc, ::core::mem::transmute(ppblendstate.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2271,17 +2271,17 @@ impl ID3D11Device5 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckFormatSupport)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckMultisampleQualityLevels)(::windows_core::Interface::as_raw(self), format, samplecount, &mut result__).map(|| result__) } pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckCounterInfo)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows_core::PSTR, pnamelength: ::core::option::Option<*mut u32>, szunits: ::windows_core::PSTR, punitslength: ::core::option::Option<*mut u32>, szdescription: ::windows_core::PSTR, pdescriptionlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckCounter)(::windows_core::Interface::as_raw(self), pdesc, ptype, pactivecounters, ::core::mem::transmute(szname), ::core::mem::transmute(pnamelength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szunits), ::core::mem::transmute(punitslength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(szdescription), ::core::mem::transmute(pdescriptionlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2314,7 +2314,7 @@ impl ID3D11Device5 { pub unsafe fn GetImmediateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetImmediateContext)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetExceptionMode)(::windows_core::Interface::as_raw(self), raiseflags).ok() @@ -2325,7 +2325,7 @@ impl ID3D11Device5 { pub unsafe fn GetImmediateContext1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetImmediateContext1)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDeferredContext1)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2346,7 +2346,7 @@ impl ID3D11Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedResource1)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenSharedResourceByName(&self, lpname: P0, dwdesiredaccess: u32) -> ::windows_core::Result where @@ -2354,12 +2354,12 @@ impl ID3D11Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedResourceByName)(::windows_core::Interface::as_raw(self), lpname.into_param().abi(), dwdesiredaccess, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImmediateContext2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetImmediateContext2)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext2(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDeferredContext2)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2373,7 +2373,7 @@ impl ID3D11Device5 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckMultisampleQualityLevels1(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckMultisampleQualityLevels1)(::windows_core::Interface::as_raw(self), format, samplecount, flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateTexture2D1(&self, pdesc1: *const D3D11_TEXTURE2D_DESC1, pinitialdata: ::core::option::Option<*const D3D11_SUBRESOURCE_DATA>, pptexture2d: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { @@ -2413,7 +2413,7 @@ impl ID3D11Device5 { pub unsafe fn GetImmediateContext3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetImmediateContext3)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn CreateDeferredContext3(&self, contextflags: u32, ppdeferredcontext: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CreateDeferredContext3)(::windows_core::Interface::as_raw(self), contextflags, ::core::mem::transmute(ppdeferredcontext.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2435,7 +2435,7 @@ impl ID3D11Device5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterDeviceRemovedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterDeviceRemovedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterDeviceRemoved(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.UnregisterDeviceRemoved)(::windows_core::Interface::as_raw(self), dwcookie) @@ -2469,7 +2469,7 @@ impl ID3D11DeviceChild { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2501,7 +2501,7 @@ impl ID3D11DeviceContext { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2845,7 +2845,7 @@ impl ID3D11DeviceContext { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -2864,7 +2864,7 @@ impl ID3D11DeviceContext { pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -2907,7 +2907,7 @@ impl ID3D11DeviceContext { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D11_VIEWPORT>) { (::windows_core::Interface::vtable(self).RSGetViewports)(::windows_core::Interface::as_raw(self), pnumviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -3109,7 +3109,7 @@ impl ID3D11DeviceContext1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3453,7 +3453,7 @@ impl ID3D11DeviceContext1 { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).base__.IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -3472,7 +3472,7 @@ impl ID3D11DeviceContext1 { pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -3515,7 +3515,7 @@ impl ID3D11DeviceContext1 { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D11_VIEWPORT>) { (::windows_core::Interface::vtable(self).base__.RSGetViewports)(::windows_core::Interface::as_raw(self), pnumviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -3692,7 +3692,7 @@ impl ID3D11DeviceContext2 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4036,7 +4036,7 @@ impl ID3D11DeviceContext2 { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).base__.base__.IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -4055,7 +4055,7 @@ impl ID3D11DeviceContext2 { pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.base__.VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -4098,7 +4098,7 @@ impl ID3D11DeviceContext2 { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D11_VIEWPORT>) { (::windows_core::Interface::vtable(self).base__.base__.RSGetViewports)(::windows_core::Interface::as_raw(self), pnumviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -4337,7 +4337,7 @@ impl ID3D11DeviceContext3 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4681,7 +4681,7 @@ impl ID3D11DeviceContext3 { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).base__.base__.base__.IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -4700,7 +4700,7 @@ impl ID3D11DeviceContext3 { pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.base__.base__.VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -4743,7 +4743,7 @@ impl ID3D11DeviceContext3 { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D11_VIEWPORT>) { (::windows_core::Interface::vtable(self).base__.base__.base__.RSGetViewports)(::windows_core::Interface::as_raw(self), pnumviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -4973,7 +4973,7 @@ impl ID3D11DeviceContext3 { pub unsafe fn GetHardwareProtectionState(&self) -> super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetHardwareProtectionState)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11DeviceContext3 {} @@ -4992,7 +4992,7 @@ impl ID3D11DeviceContext4 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -5336,7 +5336,7 @@ impl ID3D11DeviceContext4 { pub unsafe fn IAGetInputLayout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IAGetInputLayout)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: ::core::option::Option<*mut ::core::option::Option>, pstrides: ::core::option::Option<*mut u32>, poffsets: ::core::option::Option<*mut u32>) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IAGetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, numbuffers, ::core::mem::transmute(ppvertexbuffers.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstrides.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poffsets.unwrap_or(::std::ptr::null_mut()))) @@ -5355,7 +5355,7 @@ impl ID3D11DeviceContext4 { pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IAGetPrimitiveTopology)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VSGetShaderResources(&self, startslot: u32, ppshaderresourceviews: ::core::option::Option<&mut [::core::option::Option]>) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.VSGetShaderResources)(::windows_core::Interface::as_raw(self), startslot, ppshaderresourceviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppshaderresourceviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))) @@ -5398,7 +5398,7 @@ impl ID3D11DeviceContext4 { pub unsafe fn RSGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSGetState)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: ::core::option::Option<*mut D3D11_VIEWPORT>) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSGetViewports)(::windows_core::Interface::as_raw(self), pnumviewports, ::core::mem::transmute(pviewports.unwrap_or(::std::ptr::null_mut()))) @@ -5628,7 +5628,7 @@ impl ID3D11DeviceContext4 { pub unsafe fn GetHardwareProtectionState(&self) -> super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetHardwareProtectionState)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn Signal(&self, pfence: P0, value: u64) -> ::windows_core::Result<()> where @@ -5658,7 +5658,7 @@ impl ID3D11DomainShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -5686,7 +5686,7 @@ impl ID3D11Fence { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -5706,7 +5706,7 @@ impl ID3D11Fence { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), dwaccess, lpname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), dwaccess, lpname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetCompletedValue(&self) -> u64 { (::windows_core::Interface::vtable(self).GetCompletedValue)(::windows_core::Interface::as_raw(self)) @@ -5741,12 +5741,12 @@ impl ID3D11FunctionLinkingGraph { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn SetInputSignature(&self, pinputparameters: &[D3D11_PARAMETER_DESC]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetInputSignature)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputparameters.as_ptr()), pinputparameters.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetInputSignature)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputparameters.as_ptr()), pinputparameters.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn SetOutputSignature(&self, poutputparameters: &[D3D11_PARAMETER_DESC]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetOutputSignature)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poutputparameters.as_ptr()), poutputparameters.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetOutputSignature)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(poutputparameters.as_ptr()), poutputparameters.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CallFunction(&self, pmoduleinstancenamespace: P0, pmodulewithfunctionprototype: P1, pfunctionname: P2) -> ::windows_core::Result where @@ -5755,7 +5755,7 @@ impl ID3D11FunctionLinkingGraph { P2: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallFunction)(::windows_core::Interface::as_raw(self), pmoduleinstancenamespace.into_param().abi(), pmodulewithfunctionprototype.into_param().abi(), pfunctionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallFunction)(::windows_core::Interface::as_raw(self), pmoduleinstancenamespace.into_param().abi(), pmodulewithfunctionprototype.into_param().abi(), pfunctionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PassValue(&self, psrcnode: P0, srcparameterindex: i32, pdstnode: P1, dstparameterindex: i32) -> ::windows_core::Result<()> where @@ -5780,7 +5780,7 @@ impl ID3D11FunctionLinkingGraph { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GenerateHlsl(&self, uflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateHlsl)(::windows_core::Interface::as_raw(self), uflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateHlsl)(::windows_core::Interface::as_raw(self), uflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11FunctionLinkingGraph {} @@ -5894,7 +5894,7 @@ impl ID3D11GeometryShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -5922,7 +5922,7 @@ impl ID3D11HullShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6119,7 +6119,7 @@ impl ID3D11InputLayout { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6146,7 +6146,7 @@ pub struct ID3D11InputLayout_Vtbl { impl ID3D11LibraryReflection { pub unsafe fn GetDesc(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionByIndex(&self, functionindex: i32) -> ::core::option::Option { (::windows_core::Interface::vtable(self).GetFunctionByIndex)(::windows_core::Interface::as_raw(self), functionindex) @@ -6214,7 +6214,7 @@ impl ID3D11Module { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11Module {} @@ -6327,7 +6327,7 @@ impl ID3D11PixelShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6355,7 +6355,7 @@ impl ID3D11Predicate { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6375,7 +6375,7 @@ impl ID3D11Predicate { pub unsafe fn GetDesc(&self) -> D3D11_QUERY_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11Predicate {} @@ -6391,7 +6391,7 @@ impl ID3D11Query { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6411,7 +6411,7 @@ impl ID3D11Query { pub unsafe fn GetDesc(&self) -> D3D11_QUERY_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11Query {} @@ -6428,7 +6428,7 @@ impl ID3D11Query1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6448,12 +6448,12 @@ impl ID3D11Query1 { pub unsafe fn GetDesc(&self) -> D3D11_QUERY_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetDesc1(&self) -> D3D11_QUERY_DESC1 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc1)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11Query1 {} @@ -6470,7 +6470,7 @@ impl ID3D11RasterizerState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6502,7 +6502,7 @@ impl ID3D11RasterizerState1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6537,7 +6537,7 @@ impl ID3D11RasterizerState2 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6605,7 +6605,7 @@ impl ID3D11RenderTargetView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6622,7 +6622,7 @@ impl ID3D11RenderTargetView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC) { @@ -6646,7 +6646,7 @@ impl ID3D11RenderTargetView1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6663,7 +6663,7 @@ impl ID3D11RenderTargetView1 { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC) { @@ -6691,7 +6691,7 @@ impl ID3D11Resource { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6708,7 +6708,7 @@ impl ID3D11Resource { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -6733,7 +6733,7 @@ impl ID3D11SamplerState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6829,7 +6829,7 @@ impl ID3D11ShaderReflection { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetMinFeatureLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadGroupSize(&self, psizex: ::core::option::Option<*mut u32>, psizey: ::core::option::Option<*mut u32>, psizez: ::core::option::Option<*mut u32>) -> u32 { (::windows_core::Interface::vtable(self).GetThreadGroupSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psizex.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizey.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizez.unwrap_or(::std::ptr::null_mut()))) @@ -7016,7 +7016,7 @@ impl ID3D11ShaderResourceView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7033,7 +7033,7 @@ impl ID3D11ShaderResourceView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC) { @@ -7057,7 +7057,7 @@ impl ID3D11ShaderResourceView1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7074,7 +7074,7 @@ impl ID3D11ShaderResourceView1 { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC) { @@ -7147,7 +7147,7 @@ impl ID3D11ShaderTraceFactory { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateShaderTrace)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), ptracedesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateShaderTrace)(::windows_core::Interface::as_raw(self), pshader.into_param().abi(), ptracedesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11ShaderTraceFactory {} @@ -7186,7 +7186,7 @@ impl ID3D11Texture1D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7203,7 +7203,7 @@ impl ID3D11Texture1D { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -7233,7 +7233,7 @@ impl ID3D11Texture2D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7250,7 +7250,7 @@ impl ID3D11Texture2D { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -7280,7 +7280,7 @@ impl ID3D11Texture2D1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7297,7 +7297,7 @@ impl ID3D11Texture2D1 { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -7331,7 +7331,7 @@ impl ID3D11Texture3D { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7348,7 +7348,7 @@ impl ID3D11Texture3D { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -7378,7 +7378,7 @@ impl ID3D11Texture3D1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7395,7 +7395,7 @@ impl ID3D11Texture3D1 { pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) { (::windows_core::Interface::vtable(self).base__.base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority) @@ -7451,7 +7451,7 @@ impl ID3D11UnorderedAccessView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7468,7 +7468,7 @@ impl ID3D11UnorderedAccessView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC) { @@ -7492,7 +7492,7 @@ impl ID3D11UnorderedAccessView1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7509,7 +7509,7 @@ impl ID3D11UnorderedAccessView1 { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC) { @@ -7537,7 +7537,7 @@ impl ID3D11VertexShader { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7565,7 +7565,7 @@ impl ID3D11VideoContext { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7680,7 +7680,7 @@ impl ID3D11VideoContext { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetOutputColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputAlphaFillMode(&self, pvideoprocessor: P0, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32) where @@ -7700,7 +7700,7 @@ impl ID3D11VideoContext { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetOutputStereoMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputExtension(&self, pvideoprocessor: P0, pextensionguid: *const ::windows_core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 where @@ -7805,7 +7805,7 @@ impl ID3D11VideoContext { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetStreamFrameFormat)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamColorSpace(&self, pvideoprocessor: P0, streamindex: u32) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE where @@ -7813,7 +7813,7 @@ impl ID3D11VideoContext { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetStreamColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorGetStreamOutputRate(&self, pvideoprocessor: P0, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL) @@ -7871,7 +7871,7 @@ impl ID3D11VideoContext { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetStreamAutoProcessingMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamFilter(&self, pvideoprocessor: P0, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32) where @@ -8047,7 +8047,7 @@ impl ID3D11VideoContext1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -8162,7 +8162,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetOutputColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputAlphaFillMode(&self, pvideoprocessor: P0, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32) where @@ -8182,7 +8182,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetOutputStereoMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputExtension(&self, pvideoprocessor: P0, pextensionguid: *const ::windows_core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 where @@ -8287,7 +8287,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetStreamFrameFormat)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamColorSpace(&self, pvideoprocessor: P0, streamindex: u32) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE where @@ -8295,7 +8295,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetStreamColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorGetStreamOutputRate(&self, pvideoprocessor: P0, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL) @@ -8353,7 +8353,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetStreamAutoProcessingMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamFilter(&self, pvideoprocessor: P0, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32) where @@ -8456,14 +8456,14 @@ impl ID3D11VideoContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn CheckCryptoSessionStatus(&self, pcryptosession: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn DecoderEnableDownsampling(&self, pdecoder: P0, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, referenceframecount: u32) -> ::windows_core::Result<()> @@ -8500,7 +8500,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetOutputColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputShaderUsage(&self, pvideoprocessor: P0) -> super::super::Foundation::BOOL where @@ -8508,7 +8508,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetOutputShaderUsage)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorSetStreamColorSpace1(&self, pvideoprocessor: P0, streamindex: u32, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) @@ -8533,7 +8533,7 @@ impl ID3D11VideoContext1 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).VideoProcessorGetStreamColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamMirror(&self, pvideoprocessor: P0, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pfliphorizontal: *mut super::super::Foundation::BOOL, pflipvertical: *mut super::super::Foundation::BOOL) where @@ -8547,7 +8547,7 @@ impl ID3D11VideoContext1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11VideoContext1 {} @@ -8598,7 +8598,7 @@ impl ID3D11VideoContext2 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -8713,7 +8713,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetOutputColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputAlphaFillMode(&self, pvideoprocessor: P0, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32) where @@ -8733,7 +8733,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetOutputStereoMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputExtension(&self, pvideoprocessor: P0, pextensionguid: *const ::windows_core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 where @@ -8838,7 +8838,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetStreamFrameFormat)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamColorSpace(&self, pvideoprocessor: P0, streamindex: u32) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE where @@ -8846,7 +8846,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetStreamColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorGetStreamOutputRate(&self, pvideoprocessor: P0, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL) @@ -8904,7 +8904,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetStreamAutoProcessingMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamFilter(&self, pvideoprocessor: P0, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32) where @@ -9007,14 +9007,14 @@ impl ID3D11VideoContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn CheckCryptoSessionStatus(&self, pcryptosession: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn DecoderEnableDownsampling(&self, pdecoder: P0, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, referenceframecount: u32) -> ::windows_core::Result<()> @@ -9051,7 +9051,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetOutputColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputShaderUsage(&self, pvideoprocessor: P0) -> super::super::Foundation::BOOL where @@ -9059,7 +9059,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetOutputShaderUsage)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorSetStreamColorSpace1(&self, pvideoprocessor: P0, streamindex: u32, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) @@ -9084,7 +9084,7 @@ impl ID3D11VideoContext2 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.VideoProcessorGetStreamColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamMirror(&self, pvideoprocessor: P0, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pfliphorizontal: *mut super::super::Foundation::BOOL, pflipvertical: *mut super::super::Foundation::BOOL) where @@ -9098,7 +9098,7 @@ impl ID3D11VideoContext2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn VideoProcessorSetOutputHDRMetaData(&self, pvideoprocessor: P0, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: ::core::option::Option<*const ::core::ffi::c_void>) @@ -9158,7 +9158,7 @@ impl ID3D11VideoContext3 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -9273,7 +9273,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.VideoProcessorGetOutputColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputAlphaFillMode(&self, pvideoprocessor: P0, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32) where @@ -9293,7 +9293,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.VideoProcessorGetOutputStereoMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputExtension(&self, pvideoprocessor: P0, pextensionguid: *const ::windows_core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 where @@ -9398,7 +9398,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.VideoProcessorGetStreamFrameFormat)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamColorSpace(&self, pvideoprocessor: P0, streamindex: u32) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE where @@ -9406,7 +9406,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.VideoProcessorGetStreamColorSpace)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorGetStreamOutputRate(&self, pvideoprocessor: P0, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL) @@ -9464,7 +9464,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.VideoProcessorGetStreamAutoProcessingMode)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamFilter(&self, pvideoprocessor: P0, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32) where @@ -9567,14 +9567,14 @@ impl ID3D11VideoContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDataForNewHardwareKey)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), pprivatinputdata.len().try_into().unwrap(), ::core::mem::transmute(pprivatinputdata.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn CheckCryptoSessionStatus(&self, pcryptosession: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckCryptoSessionStatus)(::windows_core::Interface::as_raw(self), pcryptosession.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn DecoderEnableDownsampling(&self, pdecoder: P0, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, referenceframecount: u32) -> ::windows_core::Result<()> @@ -9611,7 +9611,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetOutputColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetOutputShaderUsage(&self, pvideoprocessor: P0) -> super::super::Foundation::BOOL where @@ -9619,7 +9619,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetOutputShaderUsage)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn VideoProcessorSetStreamColorSpace1(&self, pvideoprocessor: P0, streamindex: u32, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) @@ -9644,7 +9644,7 @@ impl ID3D11VideoContext3 { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetStreamColorSpace1)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), streamindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn VideoProcessorGetStreamMirror(&self, pvideoprocessor: P0, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pfliphorizontal: *mut super::super::Foundation::BOOL, pflipvertical: *mut super::super::Foundation::BOOL) where @@ -9658,7 +9658,7 @@ impl ID3D11VideoContext3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VideoProcessorGetBehaviorHints)(::windows_core::Interface::as_raw(self), pvideoprocessor.into_param().abi(), outputwidth, outputheight, outputformat, pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe fn VideoProcessorSetOutputHDRMetaData(&self, pvideoprocessor: P0, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: ::core::option::Option<*const ::core::ffi::c_void>) @@ -9717,7 +9717,7 @@ impl ID3D11VideoDecoder { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -9737,7 +9737,7 @@ impl ID3D11VideoDecoder { } pub unsafe fn GetDriverHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDriverHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDriverHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11VideoDecoder {} @@ -9758,7 +9758,7 @@ impl ID3D11VideoDecoderOutputView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -9775,7 +9775,7 @@ impl ID3D11VideoDecoderOutputView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC) { (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc) @@ -9795,22 +9795,22 @@ impl ID3D11VideoDevice { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoder(&self, pvideodesc: *const D3D11_VIDEO_DECODER_DESC, pconfig: *const D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoProcessor(&self, penum: P0, rateconversionindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAuthenticatedChannel(&self, channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCryptoSession(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, pkeyexchangetype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoDecoderOutputView(&self, presource: P0, pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, ppvdovview: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -9835,24 +9835,24 @@ impl ID3D11VideoDevice { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessorEnumerator(&self, pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVideoDecoderProfileCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetVideoDecoderProfileCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetVideoDecoderProfile(&self, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoDecoderFormat(&self, pdecoderprofile: *const ::windows_core::GUID, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfigCount(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfig(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC, index: u32, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result<()> { @@ -9863,7 +9863,7 @@ impl ID3D11VideoDevice { } pub unsafe fn CheckCryptoKeyExchange(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).map(|| result__) } pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok() @@ -9920,22 +9920,22 @@ impl ID3D11VideoDevice1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoder(&self, pvideodesc: *const D3D11_VIDEO_DECODER_DESC, pconfig: *const D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoProcessor(&self, penum: P0, rateconversionindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAuthenticatedChannel(&self, channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCryptoSession(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, pkeyexchangetype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoDecoderOutputView(&self, presource: P0, pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, ppvdovview: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -9960,24 +9960,24 @@ impl ID3D11VideoDevice1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessorEnumerator(&self, pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVideoDecoderProfileCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetVideoDecoderProfileCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetVideoDecoderProfile(&self, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoDecoderFormat(&self, pdecoderprofile: *const ::windows_core::GUID, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfigCount(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfig(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC, index: u32, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result<()> { @@ -9988,7 +9988,7 @@ impl ID3D11VideoDevice1 { } pub unsafe fn CheckCryptoKeyExchange(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).map(|| result__) } pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok() @@ -10005,7 +10005,7 @@ impl ID3D11VideoDevice1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderCaps(&self, pdecoderprofile: *const ::windows_core::GUID, samplewidth: u32, sampleheight: u32, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, bitrate: u32, pcryptotype: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoDecoderCaps)(::windows_core::Interface::as_raw(self), pdecoderprofile, samplewidth, sampleheight, pframerate, bitrate, ::core::mem::transmute(pcryptotype.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoDecoderCaps)(::windows_core::Interface::as_raw(self), pdecoderprofile, samplewidth, sampleheight, pframerate, bitrate, ::core::mem::transmute(pcryptotype.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoDecoderDownsampling(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, psupported: *mut super::super::Foundation::BOOL, prealtimehint: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { @@ -10014,7 +10014,7 @@ impl ID3D11VideoDevice1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn RecommendVideoDecoderDownsampleParameters(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecommendVideoDecoderDownsampleParameters)(::windows_core::Interface::as_raw(self), pinputdesc, inputcolorspace, pinputconfig, pframerate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecommendVideoDecoderDownsampleParameters)(::windows_core::Interface::as_raw(self), pinputdesc, inputcolorspace, pinputconfig, pframerate, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11VideoDevice1 {} @@ -10043,22 +10043,22 @@ impl ID3D11VideoDevice2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoder(&self, pvideodesc: *const D3D11_VIDEO_DECODER_DESC, pconfig: *const D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pvideodesc, pconfig, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoProcessor(&self, penum: P0, rateconversionindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), penum.into_param().abi(), rateconversionindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAuthenticatedChannel(&self, channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAuthenticatedChannel)(::windows_core::Interface::as_raw(self), channeltype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCryptoSession(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, pkeyexchangetype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCryptoSession)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), pkeyexchangetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoDecoderOutputView(&self, presource: P0, pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, ppvdovview: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -10083,24 +10083,24 @@ impl ID3D11VideoDevice2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessorEnumerator(&self, pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessorEnumerator)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVideoDecoderProfileCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetVideoDecoderProfileCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetVideoDecoderProfile(&self, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVideoDecoderProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoDecoderFormat(&self, pdecoderprofile: *const ::windows_core::GUID, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckVideoDecoderFormat)(::windows_core::Interface::as_raw(self), pdecoderprofile, format, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfigCount(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVideoDecoderConfigCount)(::windows_core::Interface::as_raw(self), pdesc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderConfig(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC, index: u32, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows_core::Result<()> { @@ -10111,7 +10111,7 @@ impl ID3D11VideoDevice2 { } pub unsafe fn CheckCryptoKeyExchange(&self, pcryptotype: *const ::windows_core::GUID, pdecoderprofile: ::core::option::Option<*const ::windows_core::GUID>, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckCryptoKeyExchange)(::windows_core::Interface::as_raw(self), pcryptotype, ::core::mem::transmute(pdecoderprofile.unwrap_or(::std::ptr::null())), index, &mut result__).map(|| result__) } pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok() @@ -10128,7 +10128,7 @@ impl ID3D11VideoDevice2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetVideoDecoderCaps(&self, pdecoderprofile: *const ::windows_core::GUID, samplewidth: u32, sampleheight: u32, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, bitrate: u32, pcryptotype: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVideoDecoderCaps)(::windows_core::Interface::as_raw(self), pdecoderprofile, samplewidth, sampleheight, pframerate, bitrate, ::core::mem::transmute(pcryptotype.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVideoDecoderCaps)(::windows_core::Interface::as_raw(self), pdecoderprofile, samplewidth, sampleheight, pframerate, bitrate, ::core::mem::transmute(pcryptotype.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoDecoderDownsampling(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, psupported: *mut super::super::Foundation::BOOL, prealtimehint: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { @@ -10137,7 +10137,7 @@ impl ID3D11VideoDevice2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn RecommendVideoDecoderDownsampleParameters(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendVideoDecoderDownsampleParameters)(::windows_core::Interface::as_raw(self), pinputdesc, inputcolorspace, pinputconfig, pframerate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendVideoDecoderDownsampleParameters)(::windows_core::Interface::as_raw(self), pinputdesc, inputcolorspace, pinputconfig, pframerate, &mut result__).map(|| result__) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D11_FEATURE_VIDEO, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -10164,7 +10164,7 @@ impl ID3D11VideoProcessor { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10204,7 +10204,7 @@ impl ID3D11VideoProcessorEnumerator { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10225,7 +10225,7 @@ impl ID3D11VideoProcessorEnumerator { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoProcessorFormat(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckVideoProcessorFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckVideoProcessorFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } pub unsafe fn GetVideoProcessorCaps(&self, pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVideoProcessorCaps)(::windows_core::Interface::as_raw(self), pcaps).ok() @@ -10239,7 +10239,7 @@ impl ID3D11VideoProcessorEnumerator { } pub unsafe fn GetVideoProcessorFilterRange(&self, filter: D3D11_VIDEO_PROCESSOR_FILTER) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11VideoProcessorEnumerator {} @@ -10270,7 +10270,7 @@ impl ID3D11VideoProcessorEnumerator1 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10291,7 +10291,7 @@ impl ID3D11VideoProcessorEnumerator1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoProcessorFormat(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckVideoProcessorFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckVideoProcessorFormat)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } pub unsafe fn GetVideoProcessorCaps(&self, pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVideoProcessorCaps)(::windows_core::Interface::as_raw(self), pcaps).ok() @@ -10305,12 +10305,12 @@ impl ID3D11VideoProcessorEnumerator1 { } pub unsafe fn GetVideoProcessorFilterRange(&self, filter: D3D11_VIDEO_PROCESSOR_FILTER) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckVideoProcessorFormatConversion(&self, inputformat: super::Dxgi::Common::DXGI_FORMAT, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, outputformat: super::Dxgi::Common::DXGI_FORMAT, outputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckVideoProcessorFormatConversion)(::windows_core::Interface::as_raw(self), inputformat, inputcolorspace, outputformat, outputcolorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckVideoProcessorFormatConversion)(::windows_core::Interface::as_raw(self), inputformat, inputcolorspace, outputformat, outputcolorspace, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D11VideoProcessorEnumerator1 {} @@ -10330,7 +10330,7 @@ impl ID3D11VideoProcessorInputView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10347,12 +10347,12 @@ impl ID3D11VideoProcessorInputView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetDesc(&self) -> D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11VideoProcessorInputView {} @@ -10369,7 +10369,7 @@ impl ID3D11VideoProcessorOutputView { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10386,12 +10386,12 @@ impl ID3D11VideoProcessorOutputView { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetDesc(&self) -> D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } } unsafe impl ::core::marker::Send for ID3D11VideoProcessorOutputView {} @@ -10408,7 +10408,7 @@ impl ID3D11View { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10425,7 +10425,7 @@ impl ID3D11View { pub unsafe fn GetResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } } unsafe impl ::core::marker::Send for ID3D11View {} @@ -10442,7 +10442,7 @@ impl ID3DDeviceContextState { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__); - ::windows_core::from_abi(result__) + ::windows_core::Type::from_abi(result__) } pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11on12/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11on12/mod.rs index 18a9ad246c..a573adf8d6 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11on12/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D11on12/mod.rs @@ -82,7 +82,7 @@ impl ID3D11On12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetD3D12Device)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetD3D12Device)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D11On12Device1 {} @@ -117,7 +117,7 @@ impl ID3D11On12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetD3D12Device)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetD3D12Device)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] pub unsafe fn UnwrapUnderlyingResource(&self, presource11: P0, pcommandqueue: P1) -> ::windows_core::Result @@ -127,7 +127,7 @@ impl ID3D11On12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).UnwrapUnderlyingResource)(::windows_core::Interface::as_raw(self), presource11.into_param().abi(), pcommandqueue.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnwrapUnderlyingResource)(::windows_core::Interface::as_raw(self), presource11.into_param().abi(), pcommandqueue.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] pub unsafe fn ReturnUnderlyingResource(&self, presource11: P0, numsync: u32, psignalvalues: *const u64, ppfences: *const ::core::option::Option) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D12/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D12/mod.rs index 144add712c..1d46985c4c 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D12/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D12/mod.rs @@ -208,7 +208,7 @@ impl ID3D12CommandQueue { } pub unsafe fn GetTimestampFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimestampFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimestampFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClockCalibration(&self, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClockCalibration)(::windows_core::Interface::as_raw(self), pgputimestamp, pcputimestamp).ok() @@ -811,14 +811,14 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -826,14 +826,14 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -842,7 +842,7 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -852,7 +852,7 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -862,7 +862,7 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -951,7 +951,7 @@ impl ID3D12Device { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -965,7 +965,7 @@ impl ID3D12Device { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -978,7 +978,7 @@ impl ID3D12Device { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -1124,14 +1124,14 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -1139,14 +1139,14 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -1155,7 +1155,7 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1165,7 +1165,7 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -1175,7 +1175,7 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -1264,7 +1264,7 @@ impl ID3D12Device1 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -1278,7 +1278,7 @@ impl ID3D12Device1 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -1291,7 +1291,7 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -1335,7 +1335,7 @@ impl ID3D12Device1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -1386,14 +1386,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -1401,14 +1401,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -1417,7 +1417,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1427,7 +1427,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -1437,7 +1437,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -1526,7 +1526,7 @@ impl ID3D12Device10 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -1540,7 +1540,7 @@ impl ID3D12Device10 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -1553,7 +1553,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -1597,7 +1597,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -1613,14 +1613,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -1628,7 +1628,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -1641,14 +1641,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1685,7 +1685,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -1701,14 +1701,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -1729,14 +1729,14 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -1785,7 +1785,7 @@ impl ID3D12Device10 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource3(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1860,14 +1860,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -1875,14 +1875,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -1891,7 +1891,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1901,7 +1901,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -1911,7 +1911,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -2000,7 +2000,7 @@ impl ID3D12Device11 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -2014,7 +2014,7 @@ impl ID3D12Device11 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -2027,7 +2027,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -2071,7 +2071,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -2087,14 +2087,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -2102,7 +2102,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -2115,14 +2115,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -2159,7 +2159,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -2175,14 +2175,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -2203,14 +2203,14 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -2259,7 +2259,7 @@ impl ID3D12Device11 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource3(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -2326,14 +2326,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -2341,14 +2341,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -2357,7 +2357,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -2367,7 +2367,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -2377,7 +2377,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -2466,7 +2466,7 @@ impl ID3D12Device12 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -2480,7 +2480,7 @@ impl ID3D12Device12 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -2493,7 +2493,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -2537,7 +2537,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -2553,14 +2553,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -2568,7 +2568,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -2581,14 +2581,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -2625,7 +2625,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -2641,14 +2641,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -2669,14 +2669,14 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -2725,7 +2725,7 @@ impl ID3D12Device12 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource3(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -2801,14 +2801,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -2816,14 +2816,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -2832,7 +2832,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -2842,7 +2842,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -2852,7 +2852,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -2941,7 +2941,7 @@ impl ID3D12Device13 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -2955,7 +2955,7 @@ impl ID3D12Device13 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -2968,7 +2968,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -3012,7 +3012,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -3028,14 +3028,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -3043,7 +3043,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -3056,14 +3056,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -3100,7 +3100,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -3116,14 +3116,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -3144,14 +3144,14 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -3200,7 +3200,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource3(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -3240,7 +3240,7 @@ impl ID3D12Device13 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenExistingHeapFromAddress1)(::windows_core::Interface::as_raw(self), paddress, size, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenExistingHeapFromAddress1)(::windows_core::Interface::as_raw(self), paddress, size, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12Device13 {} @@ -3280,14 +3280,14 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -3295,14 +3295,14 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -3311,7 +3311,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -3321,7 +3321,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -3331,7 +3331,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -3420,7 +3420,7 @@ impl ID3D12Device2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -3434,7 +3434,7 @@ impl ID3D12Device2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -3447,7 +3447,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -3491,7 +3491,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -3507,7 +3507,7 @@ impl ID3D12Device2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12Device2 {} @@ -3547,14 +3547,14 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -3562,14 +3562,14 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -3578,7 +3578,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -3588,7 +3588,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -3598,7 +3598,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -3687,7 +3687,7 @@ impl ID3D12Device3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -3701,7 +3701,7 @@ impl ID3D12Device3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -3714,7 +3714,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -3758,7 +3758,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -3774,14 +3774,14 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -3789,7 +3789,7 @@ impl ID3D12Device3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -3837,14 +3837,14 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -3852,14 +3852,14 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -3868,7 +3868,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -3878,7 +3878,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -3888,7 +3888,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -3977,7 +3977,7 @@ impl ID3D12Device4 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -3991,7 +3991,7 @@ impl ID3D12Device4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -4004,7 +4004,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -4048,7 +4048,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -4064,14 +4064,14 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -4079,7 +4079,7 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -4092,14 +4092,14 @@ impl ID3D12Device4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -4182,14 +4182,14 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -4197,14 +4197,14 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -4213,7 +4213,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -4223,7 +4223,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -4233,7 +4233,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -4322,7 +4322,7 @@ impl ID3D12Device5 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -4336,7 +4336,7 @@ impl ID3D12Device5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -4349,7 +4349,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -4393,7 +4393,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -4409,14 +4409,14 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -4424,7 +4424,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -4437,14 +4437,14 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -4481,7 +4481,7 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -4497,14 +4497,14 @@ impl ID3D12Device5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -4561,14 +4561,14 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -4576,14 +4576,14 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -4592,7 +4592,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -4602,7 +4602,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -4612,7 +4612,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -4701,7 +4701,7 @@ impl ID3D12Device6 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -4715,7 +4715,7 @@ impl ID3D12Device6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -4728,7 +4728,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -4772,7 +4772,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -4788,14 +4788,14 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -4803,7 +4803,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -4816,14 +4816,14 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -4860,7 +4860,7 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -4876,14 +4876,14 @@ impl ID3D12Device6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -4936,14 +4936,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -4951,14 +4951,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -4967,7 +4967,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -4977,7 +4977,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -4987,7 +4987,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -5076,7 +5076,7 @@ impl ID3D12Device7 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -5090,7 +5090,7 @@ impl ID3D12Device7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -5103,7 +5103,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -5147,7 +5147,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -5163,14 +5163,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -5178,7 +5178,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -5191,14 +5191,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -5235,7 +5235,7 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -5251,14 +5251,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -5279,14 +5279,14 @@ impl ID3D12Device7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12Device7 {} @@ -5327,14 +5327,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -5342,14 +5342,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -5358,7 +5358,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -5368,7 +5368,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -5378,7 +5378,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -5467,7 +5467,7 @@ impl ID3D12Device8 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -5481,7 +5481,7 @@ impl ID3D12Device8 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -5494,7 +5494,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -5538,7 +5538,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -5554,14 +5554,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -5569,7 +5569,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -5582,14 +5582,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -5626,7 +5626,7 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -5642,14 +5642,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -5670,14 +5670,14 @@ impl ID3D12Device8 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -5766,14 +5766,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandAllocator(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateGraphicsPipelineState(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result @@ -5781,14 +5781,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComputePipelineState(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCommandList(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result where @@ -5797,7 +5797,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -5807,7 +5807,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype) @@ -5817,7 +5817,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor)) @@ -5906,7 +5906,7 @@ impl ID3D12Device9 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -5920,7 +5920,7 @@ impl ID3D12Device9 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).map(|| result__) } pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok() @@ -5933,7 +5933,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok() @@ -5977,7 +5977,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventOnMultipleFenceCompletion(&self, ppfences: *const ::core::option::Option, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()> where @@ -5993,14 +5993,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromAddress(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenExistingHeapFromFileMapping(&self, hfilemapping: P0) -> ::windows_core::Result where @@ -6008,7 +6008,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnqueueMakeResident(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()> where @@ -6021,14 +6021,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateCommittedResource1(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -6065,7 +6065,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveDevice(&self) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self)) @@ -6081,14 +6081,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStateObject(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) { @@ -6109,14 +6109,14 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateProtectedResourceSession1(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO { @@ -6165,7 +6165,7 @@ impl ID3D12Device9 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12Device9 {} @@ -6234,7 +6234,7 @@ impl ID3D12DeviceConfiguration { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVersionedRootSignatureDeserializer)(::windows_core::Interface::as_raw(self), pblob, size, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVersionedRootSignatureDeserializer)(::windows_core::Interface::as_raw(self), pblob, size, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12DeviceConfiguration {} @@ -6271,7 +6271,7 @@ impl ID3D12DeviceFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetConfigurationInterface)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfigurationInterface)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableExperimentalFeatures(&self, numfeatures: u32, piids: *const ::windows_core::GUID, pconfigurationstructs: ::core::option::Option<*const ::core::ffi::c_void>, pconfigurationstructsizes: ::core::option::Option<*const u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnableExperimentalFeatures)(::windows_core::Interface::as_raw(self), numfeatures, piids, ::core::mem::transmute(pconfigurationstructs.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pconfigurationstructsizes.unwrap_or(::std::ptr::null()))).ok() @@ -6307,11 +6307,11 @@ pub struct ID3D12DeviceFactory_Vtbl { impl ID3D12DeviceRemovedExtendedData { pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedData {} @@ -6328,19 +6328,19 @@ pub struct ID3D12DeviceRemovedExtendedData_Vtbl { impl ID3D12DeviceRemovedExtendedData1 { pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedData1 {} @@ -6357,19 +6357,19 @@ pub struct ID3D12DeviceRemovedExtendedData1_Vtbl { impl ID3D12DeviceRemovedExtendedData2 { pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageFaultAllocationOutput2(&self, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT2) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput2)(::windows_core::Interface::as_raw(self), poutput).ok() @@ -10391,7 +10391,7 @@ pub struct ID3D12InfoQueue1_Vtbl { impl ID3D12LibraryReflection { pub unsafe fn GetDesc(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionByIndex(&self, functionindex: i32) -> ::core::option::Option { (::windows_core::Interface::vtable(self).GetFunctionByIndex)(::windows_core::Interface::as_raw(self), functionindex) @@ -10626,7 +10626,7 @@ impl ID3D12PipelineLibrary { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadComputePipeline(&self, pname: P0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where @@ -10634,7 +10634,7 @@ impl ID3D12PipelineLibrary { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSerializedSize(&self) -> usize { (::windows_core::Interface::vtable(self).GetSerializedSize)(::windows_core::Interface::as_raw(self)) @@ -10699,7 +10699,7 @@ impl ID3D12PipelineLibrary1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadComputePipeline(&self, pname: P0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result where @@ -10707,7 +10707,7 @@ impl ID3D12PipelineLibrary1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSerializedSize(&self) -> usize { (::windows_core::Interface::vtable(self).base__.GetSerializedSize)(::windows_core::Interface::as_raw(self)) @@ -10721,7 +10721,7 @@ impl ID3D12PipelineLibrary1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).LoadPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12PipelineLibrary1 {} @@ -10762,7 +10762,7 @@ impl ID3D12PipelineState { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetCachedBlob(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedBlob)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedBlob)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12PipelineState {} @@ -11255,7 +11255,7 @@ impl ID3D12SDKConfiguration1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateDeviceFactory)(::windows_core::Interface::as_raw(self), sdkversion, sdkpath.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDeviceFactory)(::windows_core::Interface::as_raw(self), sdkversion, sdkpath.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FreeUnusedSDKs(&self) { (::windows_core::Interface::vtable(self).FreeUnusedSDKs)(::windows_core::Interface::as_raw(self)) @@ -11393,7 +11393,7 @@ impl ID3D12ShaderReflection { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetMinFeatureLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadGroupSize(&self, psizex: ::core::option::Option<*mut u32>, psizey: ::core::option::Option<*mut u32>, psizez: ::core::option::Option<*mut u32>) -> u32 { (::windows_core::Interface::vtable(self).GetThreadGroupSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psizex.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizey.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizez.unwrap_or(::std::ptr::null_mut()))) @@ -11689,14 +11689,14 @@ impl ID3D12SwapChainAssistant { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSwapChainObject)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwapChainObject)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentResourceAndCommandQueue(&self, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCurrentResourceAndCommandQueue)(::windows_core::Interface::as_raw(self), riidresource, ppvresource, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentResourceAndCommandQueue)(::windows_core::Interface::as_raw(self), riidresource, ppvresource, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertImplicitSync(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertImplicitSync)(::windows_core::Interface::as_raw(self)).ok() @@ -11740,7 +11740,7 @@ pub struct ID3D12Tools_Vtbl { impl ID3D12VersionedRootSignatureDeserializer { pub unsafe fn GetRootSignatureDescAtVersion(&self, converttoversion: D3D_ROOT_SIGNATURE_VERSION) -> ::windows_core::Result<*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootSignatureDescAtVersion)(::windows_core::Interface::as_raw(self), converttoversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootSignatureDescAtVersion)(::windows_core::Interface::as_raw(self), converttoversion, &mut result__).map(|| result__) } pub unsafe fn GetUnconvertedRootSignatureDesc(&self) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC { (::windows_core::Interface::vtable(self).GetUnconvertedRootSignatureDesc)(::windows_core::Interface::as_raw(self)) @@ -11763,14 +11763,14 @@ impl ID3D12VirtualizationGuestDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShareWithHost)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShareWithHost)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateFenceFd(&self, pfence: P0, fencevalue: u64) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFenceFd)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), fencevalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFenceFd)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), fencevalue, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for ID3D12VirtualizationGuestDevice {} diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D9/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D9/mod.rs index 3aedd8e9e7..07ac09bb55 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D9/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Direct3D9/mod.rs @@ -51,7 +51,7 @@ pub unsafe fn Direct3DCreate9(sdkversion: u32) -> ::core::option::Option ::windows_core::Result { ::windows_targets::link!("d3d9.dll" "system" fn Direct3DCreate9Ex(sdkversion : u32, param1 : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - Direct3DCreate9Ex(sdkversion, &mut result__).from_abi(result__) + Direct3DCreate9Ex(sdkversion, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDirect3D9, IDirect3D9_Vtbl, 0x81bdcbca_64d4_426d_ae8d_ad0147f4275c); ::windows_core::imp::interface_hierarchy!(IDirect3D9, ::windows_core::IUnknown); @@ -220,7 +220,7 @@ pub struct IDirect3D9Ex_Vtbl { impl IDirect3DBaseTexture9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -278,7 +278,7 @@ pub struct IDirect3DBaseTexture9_Vtbl { impl IDirect3DCubeTexture9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -324,7 +324,7 @@ impl IDirect3DCubeTexture9 { } pub unsafe fn GetCubeMapSurface(&self, facetype: D3DCUBEMAP_FACES, level: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCubeMapSurface)(::windows_core::Interface::as_raw(self), facetype, level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCubeMapSurface)(::windows_core::Interface::as_raw(self), facetype, level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockRect(&self, facetype: D3DCUBEMAP_FACES, level: u32, plockedrect: *mut D3DLOCKED_RECT, prect: *const super::super::Foundation::RECT, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockRect)(::windows_core::Interface::as_raw(self), facetype, level, plockedrect, prect, flags).ok() @@ -360,7 +360,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetDirect3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirect3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirect3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCaps(&self, pcaps: *mut D3DCAPS9) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDeviceCaps)(::windows_core::Interface::as_raw(self), pcaps).ok() @@ -391,7 +391,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetSwapChain(&self, iswapchain: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), iswapchain, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwapChain)(::windows_core::Interface::as_raw(self), iswapchain, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumberOfSwapChains(&self) -> u32 { (::windows_core::Interface::vtable(self).GetNumberOfSwapChains)(::windows_core::Interface::as_raw(self)) @@ -408,7 +408,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetBackBuffer(&self, iswapchain: u32, ibackbuffer: u32, r#type: D3DBACKBUFFER_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackBuffer)(::windows_core::Interface::as_raw(self), iswapchain, ibackbuffer, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackBuffer)(::windows_core::Interface::as_raw(self), iswapchain, ibackbuffer, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRasterStatus(&self, iswapchain: u32, prasterstatus: *mut D3DRASTER_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRasterStatus)(::windows_core::Interface::as_raw(self), iswapchain, prasterstatus).ok() @@ -503,7 +503,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetRenderTarget(&self, rendertargetindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepthStencilSurface(&self, pnewzstencil: P0) -> ::windows_core::Result<()> where @@ -513,7 +513,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetDepthStencilSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDepthStencilSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDepthStencilSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginScene(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginScene)(::windows_core::Interface::as_raw(self)).ok() @@ -579,14 +579,14 @@ impl IDirect3DDevice9 { } pub unsafe fn CreateStateBlock(&self, r#type: D3DSTATEBLOCKTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStateBlock)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStateBlock)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginStateBlock(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginStateBlock)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EndStateBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndStateBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndStateBlock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipStatus(&self, pclipstatus: *const D3DCLIPSTATUS9) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClipStatus)(::windows_core::Interface::as_raw(self), pclipstatus).ok() @@ -596,7 +596,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetTexture(&self, stage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTexture)(::windows_core::Interface::as_raw(self), stage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTexture)(::windows_core::Interface::as_raw(self), stage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTexture(&self, stage: u32, ptexture: P0) -> ::windows_core::Result<()> where @@ -675,7 +675,7 @@ impl IDirect3DDevice9 { } pub unsafe fn CreateVertexDeclaration(&self, pvertexelements: *const D3DVERTEXELEMENT9) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVertexDeclaration)(::windows_core::Interface::as_raw(self), pvertexelements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVertexDeclaration)(::windows_core::Interface::as_raw(self), pvertexelements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexDeclaration(&self, pdecl: P0) -> ::windows_core::Result<()> where @@ -685,7 +685,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetVertexDeclaration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVertexDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVertexDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFVF(&self, fvf: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFVF)(::windows_core::Interface::as_raw(self), fvf).ok() @@ -695,7 +695,7 @@ impl IDirect3DDevice9 { } pub unsafe fn CreateVertexShader(&self, pfunction: *const u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVertexShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVertexShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexShader(&self, pshader: P0) -> ::windows_core::Result<()> where @@ -705,7 +705,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetVertexShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVertexShader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVertexShader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexShaderConstantF(&self, startregister: u32, pconstantdata: *const f32, vector4fcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVertexShaderConstantF)(::windows_core::Interface::as_raw(self), startregister, pconstantdata, vector4fcount).ok() @@ -748,11 +748,11 @@ impl IDirect3DDevice9 { } pub unsafe fn GetIndices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePixelShader(&self, pfunction: *const u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePixelShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePixelShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPixelShader(&self, pshader: P0) -> ::windows_core::Result<()> where @@ -762,7 +762,7 @@ impl IDirect3DDevice9 { } pub unsafe fn GetPixelShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelShader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelShader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPixelShaderConstantF(&self, startregister: u32, pconstantdata: *const f32, vector4fcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPixelShaderConstantF)(::windows_core::Interface::as_raw(self), startregister, pconstantdata, vector4fcount).ok() @@ -793,7 +793,7 @@ impl IDirect3DDevice9 { } pub unsafe fn CreateQuery(&self, r#type: D3DQUERYTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQuery)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQuery)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -955,7 +955,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetDirect3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDirect3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDirect3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCaps(&self, pcaps: *mut D3DCAPS9) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDeviceCaps)(::windows_core::Interface::as_raw(self), pcaps).ok() @@ -986,7 +986,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetSwapChain(&self, iswapchain: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSwapChain)(::windows_core::Interface::as_raw(self), iswapchain, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSwapChain)(::windows_core::Interface::as_raw(self), iswapchain, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumberOfSwapChains(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetNumberOfSwapChains)(::windows_core::Interface::as_raw(self)) @@ -1003,7 +1003,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetBackBuffer(&self, iswapchain: u32, ibackbuffer: u32, r#type: D3DBACKBUFFER_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackBuffer)(::windows_core::Interface::as_raw(self), iswapchain, ibackbuffer, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackBuffer)(::windows_core::Interface::as_raw(self), iswapchain, ibackbuffer, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRasterStatus(&self, iswapchain: u32, prasterstatus: *mut D3DRASTER_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRasterStatus)(::windows_core::Interface::as_raw(self), iswapchain, prasterstatus).ok() @@ -1098,7 +1098,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetRenderTarget(&self, rendertargetindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRenderTarget)(::windows_core::Interface::as_raw(self), rendertargetindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepthStencilSurface(&self, pnewzstencil: P0) -> ::windows_core::Result<()> where @@ -1108,7 +1108,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetDepthStencilSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDepthStencilSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDepthStencilSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginScene(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginScene)(::windows_core::Interface::as_raw(self)).ok() @@ -1174,14 +1174,14 @@ impl IDirect3DDevice9Ex { } pub unsafe fn CreateStateBlock(&self, r#type: D3DSTATEBLOCKTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStateBlock)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStateBlock)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginStateBlock(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginStateBlock)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EndStateBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndStateBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndStateBlock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipStatus(&self, pclipstatus: *const D3DCLIPSTATUS9) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetClipStatus)(::windows_core::Interface::as_raw(self), pclipstatus).ok() @@ -1191,7 +1191,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetTexture(&self, stage: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTexture)(::windows_core::Interface::as_raw(self), stage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTexture)(::windows_core::Interface::as_raw(self), stage, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTexture(&self, stage: u32, ptexture: P0) -> ::windows_core::Result<()> where @@ -1270,7 +1270,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn CreateVertexDeclaration(&self, pvertexelements: *const D3DVERTEXELEMENT9) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVertexDeclaration)(::windows_core::Interface::as_raw(self), pvertexelements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVertexDeclaration)(::windows_core::Interface::as_raw(self), pvertexelements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexDeclaration(&self, pdecl: P0) -> ::windows_core::Result<()> where @@ -1280,7 +1280,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetVertexDeclaration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVertexDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVertexDeclaration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFVF(&self, fvf: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFVF)(::windows_core::Interface::as_raw(self), fvf).ok() @@ -1290,7 +1290,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn CreateVertexShader(&self, pfunction: *const u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVertexShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVertexShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexShader(&self, pshader: P0) -> ::windows_core::Result<()> where @@ -1300,7 +1300,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetVertexShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVertexShader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVertexShader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVertexShaderConstantF(&self, startregister: u32, pconstantdata: *const f32, vector4fcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetVertexShaderConstantF)(::windows_core::Interface::as_raw(self), startregister, pconstantdata, vector4fcount).ok() @@ -1343,11 +1343,11 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetIndices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePixelShader(&self, pfunction: *const u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePixelShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePixelShader)(::windows_core::Interface::as_raw(self), pfunction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPixelShader(&self, pshader: P0) -> ::windows_core::Result<()> where @@ -1357,7 +1357,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn GetPixelShader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelShader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelShader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPixelShaderConstantF(&self, startregister: u32, pconstantdata: *const f32, vector4fcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPixelShaderConstantF)(::windows_core::Interface::as_raw(self), startregister, pconstantdata, vector4fcount).ok() @@ -1388,7 +1388,7 @@ impl IDirect3DDevice9Ex { } pub unsafe fn CreateQuery(&self, r#type: D3DQUERYTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQuery)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQuery)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConvolutionMonoKernel(&self, width: u32, height: u32, rows: *mut f32, columns: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConvolutionMonoKernel)(::windows_core::Interface::as_raw(self), width, height, rows, columns).ok() @@ -1483,7 +1483,7 @@ pub struct IDirect3DDevice9Ex_Vtbl { impl IDirect3DIndexBuffer9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -1529,7 +1529,7 @@ pub struct IDirect3DIndexBuffer9_Vtbl { impl IDirect3DPixelShader9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunction(&self, param0: *mut ::core::ffi::c_void, psizeofdata: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFunction)(::windows_core::Interface::as_raw(self), param0, psizeofdata).ok() @@ -1547,7 +1547,7 @@ pub struct IDirect3DPixelShader9_Vtbl { impl IDirect3DQuery9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> D3DQUERYTYPE { (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self)) @@ -1577,7 +1577,7 @@ pub struct IDirect3DQuery9_Vtbl { impl IDirect3DResource9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -1619,7 +1619,7 @@ pub struct IDirect3DResource9_Vtbl { impl IDirect3DStateBlock9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Capture(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Capture)(::windows_core::Interface::as_raw(self)).ok() @@ -1641,7 +1641,7 @@ pub struct IDirect3DStateBlock9_Vtbl { impl IDirect3DSurface9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -1723,7 +1723,7 @@ impl IDirect3DSwapChain9 { } pub unsafe fn GetBackBuffer(&self, ibackbuffer: u32, r#type: D3DBACKBUFFER_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackBuffer)(::windows_core::Interface::as_raw(self), ibackbuffer, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackBuffer)(::windows_core::Interface::as_raw(self), ibackbuffer, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRasterStatus(&self, prasterstatus: *mut D3DRASTER_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRasterStatus)(::windows_core::Interface::as_raw(self), prasterstatus).ok() @@ -1733,7 +1733,7 @@ impl IDirect3DSwapChain9 { } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPresentParameters(&self, ppresentationparameters: *mut D3DPRESENT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPresentParameters)(::windows_core::Interface::as_raw(self), ppresentationparameters).ok() @@ -1772,7 +1772,7 @@ impl IDirect3DSwapChain9Ex { } pub unsafe fn GetBackBuffer(&self, ibackbuffer: u32, r#type: D3DBACKBUFFER_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackBuffer)(::windows_core::Interface::as_raw(self), ibackbuffer, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackBuffer)(::windows_core::Interface::as_raw(self), ibackbuffer, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRasterStatus(&self, prasterstatus: *mut D3DRASTER_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRasterStatus)(::windows_core::Interface::as_raw(self), prasterstatus).ok() @@ -1782,7 +1782,7 @@ impl IDirect3DSwapChain9Ex { } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPresentParameters(&self, ppresentationparameters: *mut D3DPRESENT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPresentParameters)(::windows_core::Interface::as_raw(self), ppresentationparameters).ok() @@ -1810,7 +1810,7 @@ pub struct IDirect3DSwapChain9Ex_Vtbl { impl IDirect3DTexture9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -1856,7 +1856,7 @@ impl IDirect3DTexture9 { } pub unsafe fn GetSurfaceLevel(&self, level: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurfaceLevel)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurfaceLevel)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockRect(&self, level: u32, plockedrect: *mut D3DLOCKED_RECT, prect: *const super::super::Foundation::RECT, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockRect)(::windows_core::Interface::as_raw(self), level, plockedrect, prect, flags).ok() @@ -1883,7 +1883,7 @@ pub struct IDirect3DTexture9_Vtbl { impl IDirect3DVertexBuffer9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -1929,7 +1929,7 @@ pub struct IDirect3DVertexBuffer9_Vtbl { impl IDirect3DVertexDeclaration9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeclaration(&self, pelement: *mut D3DVERTEXELEMENT9, pnumelements: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDeclaration)(::windows_core::Interface::as_raw(self), pelement, pnumelements).ok() @@ -1947,7 +1947,7 @@ pub struct IDirect3DVertexDeclaration9_Vtbl { impl IDirect3DVertexShader9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunction(&self, param0: *mut ::core::ffi::c_void, psizeofdata: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFunction)(::windows_core::Interface::as_raw(self), param0, psizeofdata).ok() @@ -1965,7 +1965,7 @@ pub struct IDirect3DVertexShader9_Vtbl { impl IDirect3DVolume9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -2007,7 +2007,7 @@ pub struct IDirect3DVolume9_Vtbl { impl IDirect3DVolumeTexture9 { pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrivateData(&self, refguid: *const ::windows_core::GUID, pdata: *const ::core::ffi::c_void, sizeofdata: u32, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), refguid, pdata, sizeofdata, flags).ok() @@ -2053,7 +2053,7 @@ impl IDirect3DVolumeTexture9 { } pub unsafe fn GetVolumeLevel(&self, level: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolumeLevel)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolumeLevel)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockBox(&self, level: u32, plockedvolume: *mut D3DLOCKED_BOX, pbox: *const D3DBOX, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockBox)(::windows_core::Interface::as_raw(self), level, plockedvolume, pbox, flags).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DirectComposition/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DirectComposition/mod.rs index 27cc72f6de..bf82dc3f83 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DirectComposition/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DirectComposition/mod.rs @@ -35,7 +35,7 @@ where { ::windows_targets::link!("dcomp.dll" "system" fn DCompositionCreateDevice(dxgidevice : * mut::core::ffi::c_void, iid : *const ::windows_core::GUID, dcompositiondevice : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DCompositionCreateDevice(dxgidevice.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + DCompositionCreateDevice(dxgidevice.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DCompositionCreateDevice2(renderingdevice: P0) -> ::windows_core::Result @@ -45,7 +45,7 @@ where { ::windows_targets::link!("dcomp.dll" "system" fn DCompositionCreateDevice2(renderingdevice : * mut::core::ffi::c_void, iid : *const ::windows_core::GUID, dcompositiondevice : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DCompositionCreateDevice2(renderingdevice.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + DCompositionCreateDevice2(renderingdevice.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DCompositionCreateDevice3(renderingdevice: P0) -> ::windows_core::Result @@ -55,20 +55,20 @@ where { ::windows_targets::link!("dcomp.dll" "system" fn DCompositionCreateDevice3(renderingdevice : * mut::core::ffi::c_void, iid : *const ::windows_core::GUID, dcompositiondevice : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DCompositionCreateDevice3(renderingdevice.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + DCompositionCreateDevice3(renderingdevice.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] #[inline] pub unsafe fn DCompositionCreateSurfaceHandle(desiredaccess: u32, securityattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>) -> ::windows_core::Result { ::windows_targets::link!("dcomp.dll" "system" fn DCompositionCreateSurfaceHandle(desiredaccess : u32, securityattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, surfacehandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DCompositionCreateSurfaceHandle(desiredaccess, ::core::mem::transmute(securityattributes.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + DCompositionCreateSurfaceHandle(desiredaccess, ::core::mem::transmute(securityattributes.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn DCompositionGetFrameId(frameidtype: COMPOSITION_FRAME_ID_TYPE) -> ::windows_core::Result { ::windows_targets::link!("dcomp.dll" "system" fn DCompositionGetFrameId(frameidtype : COMPOSITION_FRAME_ID_TYPE, frameid : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DCompositionGetFrameId(frameidtype, &mut result__).from_abi(result__) + DCompositionGetFrameId(frameidtype, &mut result__).map(|| result__) } #[inline] pub unsafe fn DCompositionGetStatistics(frameid: u64, framestats: *mut COMPOSITION_FRAME_STATS, targetidcount: u32, targetids: ::core::option::Option<*mut COMPOSITION_TARGET_ID>, actualtargetidcount: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -436,11 +436,11 @@ pub struct IDCompositionCompositeEffect_Vtbl { impl IDCompositionDelegatedInkTrail { pub unsafe fn AddTrailPoints(&self, inkpoints: &[DCompositionInkTrailPoint]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddTrailPoints)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkpoints.as_ptr()), inkpoints.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddTrailPoints)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkpoints.as_ptr()), inkpoints.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn AddTrailPointsWithPrediction(&self, inkpoints: &[DCompositionInkTrailPoint], predictedinkpoints: &[DCompositionInkTrailPoint]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddTrailPointsWithPrediction)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkpoints.as_ptr()), inkpoints.len().try_into().unwrap(), ::core::mem::transmute(predictedinkpoints.as_ptr()), predictedinkpoints.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddTrailPointsWithPrediction)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(inkpoints.as_ptr()), inkpoints.len().try_into().unwrap(), ::core::mem::transmute(predictedinkpoints.as_ptr()), predictedinkpoints.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn RemoveTrailPoints(&self, generationid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveTrailPoints)(::windows_core::Interface::as_raw(self), generationid).ok() @@ -477,80 +477,80 @@ impl IDCompositionDesktopDevice { } pub unsafe fn CreateVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFactory(&self, renderingdevice: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSkewTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransformGroup(&self, transforms: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransform3DGroup(&self, transforms3d: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRectangleClip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTargetForHwnd(&self, hwnd: P0, topmost: P1) -> ::windows_core::Result where @@ -558,21 +558,21 @@ impl IDCompositionDesktopDevice { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTargetForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), topmost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTargetForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), topmost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFromHandle(&self, handle: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfaceFromHandle)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfaceFromHandle)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFromHwnd(&self, hwnd: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfaceFromHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfaceFromHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -602,95 +602,95 @@ impl IDCompositionDevice { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTargetForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), topmost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTargetForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), topmost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFromHandle(&self, handle: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfaceFromHandle)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfaceFromHandle)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFromHwnd(&self, hwnd: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfaceFromHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfaceFromHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSkewTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransformGroup(&self, transforms: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransform3DGroup(&self, transforms3d: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRectangleClip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckDeviceState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckDeviceState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckDeviceState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -746,80 +746,80 @@ impl IDCompositionDevice2 { } pub unsafe fn CreateVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFactory(&self, renderingdevice: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSkewTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransformGroup(&self, transforms: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransform3DGroup(&self, transforms3d: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRectangleClip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -872,132 +872,132 @@ impl IDCompositionDevice3 { } pub unsafe fn CreateVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFactory(&self, renderingdevice: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSkewTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransformGroup(&self, transforms: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransform3DGroup(&self, transforms3d: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRectangleClip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGaussianBlurEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGaussianBlurEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGaussianBlurEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBrightnessEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBrightnessEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBrightnessEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorMatrixEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorMatrixEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorMatrixEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateShadowEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateShadowEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateShadowEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHueRotationEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateHueRotationEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateHueRotationEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSaturationEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSaturationEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSaturationEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTurbulenceEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTurbulenceEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTurbulenceEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransferEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTableTransferEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTableTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTableTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCompositeEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlendEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlendEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateArithmeticCompositeEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateArithmeticCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateArithmeticCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAffineTransform2DEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAffineTransform2DEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAffineTransform2DEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1033,146 +1033,146 @@ impl IDCompositionDevice4 { } pub unsafe fn CreateVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSurfaceFactory(&self, renderingdevice: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSurfaceFactory)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTranslateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateScaleTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRotateTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSkewTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSkewTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransformGroup(&self, transforms: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTransformGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms.as_ptr()), transforms.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTranslateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTranslateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScaleTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateScaleTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRotateTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRotateTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform3D(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateMatrixTransform3D)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTransform3DGroup(&self, transforms3d: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTransform3DGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transforms3d.as_ptr()), transforms3d.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateEffectGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRectangleClip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRectangleClip)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAnimation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGaussianBlurEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGaussianBlurEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGaussianBlurEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBrightnessEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBrightnessEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBrightnessEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorMatrixEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorMatrixEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorMatrixEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateShadowEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateShadowEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateShadowEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHueRotationEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateHueRotationEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateHueRotationEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSaturationEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSaturationEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSaturationEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTurbulenceEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTurbulenceEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTurbulenceEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransferEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTableTransferEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTableTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTableTransferEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCompositeEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBlendEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBlendEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBlendEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateArithmeticCompositeEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateArithmeticCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateArithmeticCompositeEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAffineTransform2DEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAffineTransform2DEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAffineTransform2DEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckCompositionTextureSupport(&self, renderingdevice: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckCompositionTextureSupport)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckCompositionTextureSupport)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateCompositionTexture(&self, d3dtexture: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompositionTexture)(::windows_core::Interface::as_raw(self), d3dtexture.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompositionTexture)(::windows_core::Interface::as_raw(self), d3dtexture.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1315,14 +1315,14 @@ pub struct IDCompositionHueRotationEffect_Vtbl { impl IDCompositionInkTrailDevice { pub unsafe fn CreateDelegatedInkTrail(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDelegatedInkTrail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDelegatedInkTrail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDelegatedInkTrailForSwapChain(&self, swapchain: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDelegatedInkTrailForSwapChain)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDelegatedInkTrailForSwapChain)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2088,7 +2088,7 @@ impl IDCompositionSurface { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndDraw(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndDraw)(::windows_core::Interface::as_raw(self)).ok() @@ -2119,12 +2119,12 @@ impl IDCompositionSurfaceFactory { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, width: u32, height: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurface)(::windows_core::Interface::as_raw(self), width, height, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVirtualSurface(&self, initialwidth: u32, initialheight: u32, pixelformat: super::Dxgi::Common::DXGI_FORMAT, alphamode: super::Dxgi::Common::DXGI_ALPHA_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualSurface)(::windows_core::Interface::as_raw(self), initialwidth, initialheight, pixelformat, alphamode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2462,7 +2462,7 @@ impl IDCompositionVirtualSurface { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndDraw(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EndDraw)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DirectDraw/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DirectDraw/mod.rs index 11c844fec0..245aa20b3d 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DirectDraw/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DirectDraw/mod.rs @@ -102,7 +102,7 @@ impl IDirectDraw { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDisplayModes(&self, param0: u32, param1: *mut DDSURFACEDESC, param2: *mut ::core::ffi::c_void, param3: LPDDENUMMODESCALLBACK) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumDisplayModes)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3).ok() @@ -124,7 +124,7 @@ impl IDirectDraw { } pub unsafe fn GetGDISurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMonitorFrequency(&self, param0: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMonitorFrequency)(::windows_core::Interface::as_raw(self), param0).ok() @@ -215,7 +215,7 @@ impl IDirectDraw2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDisplayModes(&self, param0: u32, param1: *mut DDSURFACEDESC, param2: *mut ::core::ffi::c_void, param3: LPDDENUMMODESCALLBACK) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumDisplayModes)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3).ok() @@ -237,7 +237,7 @@ impl IDirectDraw2 { } pub unsafe fn GetGDISurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMonitorFrequency(&self, param0: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMonitorFrequency)(::windows_core::Interface::as_raw(self), param0).ok() @@ -332,7 +332,7 @@ impl IDirectDraw4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDisplayModes(&self, param0: u32, param1: *mut DDSURFACEDESC2, param2: *mut ::core::ffi::c_void, param3: LPDDENUMMODESCALLBACK2) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumDisplayModes)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3).ok() @@ -354,7 +354,7 @@ impl IDirectDraw4 { } pub unsafe fn GetGDISurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMonitorFrequency(&self, param0: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMonitorFrequency)(::windows_core::Interface::as_raw(self), param0).ok() @@ -395,7 +395,7 @@ impl IDirectDraw4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurfaceFromDC)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurfaceFromDC)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RestoreAllSurfaces(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RestoreAllSurfaces)(::windows_core::Interface::as_raw(self)).ok() @@ -473,7 +473,7 @@ impl IDirectDraw7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateSurface)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDisplayModes(&self, param0: u32, param1: *mut DDSURFACEDESC2, param2: *mut ::core::ffi::c_void, param3: LPDDENUMMODESCALLBACK2) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumDisplayModes)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3).ok() @@ -495,7 +495,7 @@ impl IDirectDraw7 { } pub unsafe fn GetGDISurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGDISurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMonitorFrequency(&self, param0: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMonitorFrequency)(::windows_core::Interface::as_raw(self), param0).ok() @@ -536,7 +536,7 @@ impl IDirectDraw7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurfaceFromDC)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurfaceFromDC)(::windows_core::Interface::as_raw(self), param0.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RestoreAllSurfaces(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RestoreAllSurfaces)(::windows_core::Interface::as_raw(self)).ok() @@ -790,7 +790,7 @@ impl IDirectDrawSurface { } pub unsafe fn GetClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorKey(&self, param0: u32, param1: *mut DDCOLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), param0, param1).ok() @@ -807,7 +807,7 @@ impl IDirectDrawSurface { } pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelFormat(&self, param0: *mut DDPIXELFORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), param0).ok() @@ -977,7 +977,7 @@ impl IDirectDrawSurface2 { } pub unsafe fn GetClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorKey(&self, param0: u32, param1: *mut DDCOLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), param0, param1).ok() @@ -994,7 +994,7 @@ impl IDirectDrawSurface2 { } pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelFormat(&self, param0: *mut DDPIXELFORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), param0).ok() @@ -1176,7 +1176,7 @@ impl IDirectDrawSurface3 { } pub unsafe fn GetClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorKey(&self, param0: u32, param1: *mut DDCOLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), param0, param1).ok() @@ -1193,7 +1193,7 @@ impl IDirectDrawSurface3 { } pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelFormat(&self, param0: *mut DDPIXELFORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), param0).ok() @@ -1379,7 +1379,7 @@ impl IDirectDrawSurface4 { } pub unsafe fn GetClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorKey(&self, param0: u32, param1: *mut DDCOLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), param0, param1).ok() @@ -1396,7 +1396,7 @@ impl IDirectDrawSurface4 { } pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelFormat(&self, param0: *mut DDPIXELFORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), param0).ok() @@ -1602,7 +1602,7 @@ impl IDirectDrawSurface7 { } pub unsafe fn GetClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorKey(&self, param0: u32, param1: *mut DDCOLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), param0, param1).ok() @@ -1619,7 +1619,7 @@ impl IDirectDrawSurface7 { } pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPixelFormat(&self, param0: *mut DDPIXELFORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), param0).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DirectManipulation/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DirectManipulation/mod.rs index 14f9a7b855..5f8d5b2974 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DirectManipulation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DirectManipulation/mod.rs @@ -96,7 +96,7 @@ pub struct IDirectManipulationCompositor2_Vtbl { impl IDirectManipulationContent { pub unsafe fn GetContentRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContentRect(&self, contentsize: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetContentRect)(::windows_core::Interface::as_raw(self), contentsize).ok() @@ -106,7 +106,7 @@ impl IDirectManipulationContent { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetViewport)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewport)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTag(&self, id: ::core::option::Option<*mut u32>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -172,7 +172,7 @@ impl IDirectManipulationDragDropBehavior { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -252,14 +252,14 @@ impl IDirectManipulationManager { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn ProcessInput(&self, message: *const super::super::UI::WindowsAndMessaging::MSG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).map(|| result__) } pub unsafe fn GetUpdateManager(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateViewport(&self, frameinfo: P0, window: P1) -> ::windows_core::Result where @@ -268,7 +268,7 @@ impl IDirectManipulationManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateContent(&self, frameinfo: P0, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where @@ -276,7 +276,7 @@ impl IDirectManipulationManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -319,14 +319,14 @@ impl IDirectManipulationManager2 { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn ProcessInput(&self, message: *const super::super::UI::WindowsAndMessaging::MSG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).map(|| result__) } pub unsafe fn GetUpdateManager(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateViewport(&self, frameinfo: P0, window: P1) -> ::windows_core::Result where @@ -335,7 +335,7 @@ impl IDirectManipulationManager2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateContent(&self, frameinfo: P0, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where @@ -343,14 +343,14 @@ impl IDirectManipulationManager2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBehavior(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateBehavior)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBehavior)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -384,14 +384,14 @@ impl IDirectManipulationManager3 { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn ProcessInput(&self, message: *const super::super::UI::WindowsAndMessaging::MSG) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProcessInput)(::windows_core::Interface::as_raw(self), message, &mut result__).map(|| result__) } pub unsafe fn GetUpdateManager(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUpdateManager)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateViewport(&self, frameinfo: P0, window: P1) -> ::windows_core::Result where @@ -400,7 +400,7 @@ impl IDirectManipulationManager3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateViewport)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateContent(&self, frameinfo: P0, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where @@ -408,21 +408,21 @@ impl IDirectManipulationManager3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateContent)(::windows_core::Interface::as_raw(self), frameinfo.into_param().abi(), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBehavior(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateBehavior)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBehavior)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetService(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -498,7 +498,7 @@ impl IDirectManipulationUpdateManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterWaitHandleCallback)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterWaitHandleCallback)(::windows_core::Interface::as_raw(self), handle.into_param().abi(), eventhandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterWaitHandleCallback(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterWaitHandleCallback)(::windows_core::Interface::as_raw(self), cookie).ok() @@ -538,7 +538,7 @@ impl IDirectManipulationViewport { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTag(&self, id: ::core::option::Option<*mut u32>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -554,7 +554,7 @@ impl IDirectManipulationViewport { } pub unsafe fn GetViewportRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewportRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewportRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewportRect(&self, viewport: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetViewportRect)(::windows_core::Interface::as_raw(self), viewport).ok() @@ -576,7 +576,7 @@ impl IDirectManipulationViewport { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPrimaryContent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrimaryContent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddContent(&self, content: P0) -> ::windows_core::Result<()> where @@ -614,7 +614,7 @@ impl IDirectManipulationViewport { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddEventHandler)(::windows_core::Interface::as_raw(self), window.into_param().abi(), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddEventHandler)(::windows_core::Interface::as_raw(self), window.into_param().abi(), eventhandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveEventHandler(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveEventHandler)(::windows_core::Interface::as_raw(self), cookie).ok() @@ -685,7 +685,7 @@ impl IDirectManipulationViewport2 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTag(&self, id: ::core::option::Option<*mut u32>, result__: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -701,7 +701,7 @@ impl IDirectManipulationViewport2 { } pub unsafe fn GetViewportRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewportRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewportRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewportRect(&self, viewport: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetViewportRect)(::windows_core::Interface::as_raw(self), viewport).ok() @@ -723,7 +723,7 @@ impl IDirectManipulationViewport2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetPrimaryContent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrimaryContent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddContent(&self, content: P0) -> ::windows_core::Result<()> where @@ -761,7 +761,7 @@ impl IDirectManipulationViewport2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddEventHandler)(::windows_core::Interface::as_raw(self), window.into_param().abi(), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddEventHandler)(::windows_core::Interface::as_raw(self), window.into_param().abi(), eventhandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveEventHandler(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RemoveEventHandler)(::windows_core::Interface::as_raw(self), cookie).ok() @@ -783,7 +783,7 @@ impl IDirectManipulationViewport2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBehavior)(::windows_core::Interface::as_raw(self), behavior.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBehavior)(::windows_core::Interface::as_raw(self), behavior.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveBehavior(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveBehavior)(::windows_core::Interface::as_raw(self), cookie).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs index 3b395b40ec..2b220be5f5 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("dwrite.dll" "system" fn DWriteCreateFactory(factorytype : DWRITE_FACTORY_TYPE, iid : *const ::windows_core::GUID, factory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DWriteCreateFactory(factorytype, &T::IID, &mut result__).from_abi(result__) + DWriteCreateFactory(factorytype, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDWriteAsyncResult, IDWriteAsyncResult_Vtbl, 0xce25f8fd_863b_4d13_9651_c1f88dc73fe2); ::windows_core::imp::interface_hierarchy!(IDWriteAsyncResult, ::windows_core::IUnknown); @@ -54,7 +54,7 @@ impl IDWriteBitmapRenderTarget { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Resize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -106,7 +106,7 @@ impl IDWriteBitmapRenderTarget1 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Resize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -155,7 +155,7 @@ impl IDWriteBitmapRenderTarget2 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Resize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -168,7 +168,7 @@ impl IDWriteBitmapRenderTarget2 { } pub unsafe fn GetBitmapData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmapData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmapData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteBitmapRenderTarget2 {} @@ -207,7 +207,7 @@ impl IDWriteBitmapRenderTarget3 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Resize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -220,7 +220,7 @@ impl IDWriteBitmapRenderTarget3 { } pub unsafe fn GetBitmapData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitmapData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitmapData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPaintFeatureLevel(&self) -> DWRITE_PAINT_FEATURE_LEVEL { (::windows_core::Interface::vtable(self).GetPaintFeatureLevel)(::windows_core::Interface::as_raw(self)) @@ -254,11 +254,11 @@ pub struct IDWriteBitmapRenderTarget3_Vtbl { impl IDWriteColorGlyphRunEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentRun(&self) -> ::windows_core::Result<*mut DWRITE_COLOR_GLYPH_RUN> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentRun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentRun)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteColorGlyphRunEnumerator {} @@ -275,15 +275,15 @@ pub struct IDWriteColorGlyphRunEnumerator_Vtbl { impl IDWriteColorGlyphRunEnumerator1 { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentRun(&self) -> ::windows_core::Result<*mut DWRITE_COLOR_GLYPH_RUN> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentRun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentRun)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentRun2(&self) -> ::windows_core::Result<*mut DWRITE_COLOR_GLYPH_RUN1> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentRun2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentRun2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteColorGlyphRunEnumerator1 {} @@ -308,7 +308,7 @@ impl IDWriteFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -327,22 +327,22 @@ impl IDWriteFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -350,11 +350,11 @@ impl IDWriteFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -375,22 +375,22 @@ impl IDWriteFactory { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -398,18 +398,18 @@ impl IDWriteFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -417,11 +417,11 @@ impl IDWriteFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory {} @@ -469,7 +469,7 @@ impl IDWriteFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -488,22 +488,22 @@ impl IDWriteFactory1 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -511,11 +511,11 @@ impl IDWriteFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -536,22 +536,22 @@ impl IDWriteFactory1 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -559,18 +559,18 @@ impl IDWriteFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -578,11 +578,11 @@ impl IDWriteFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -592,7 +592,7 @@ impl IDWriteFactory1 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory1 {} @@ -618,7 +618,7 @@ impl IDWriteFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -637,22 +637,22 @@ impl IDWriteFactory2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -660,11 +660,11 @@ impl IDWriteFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -685,22 +685,22 @@ impl IDWriteFactory2 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -708,18 +708,18 @@ impl IDWriteFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -727,11 +727,11 @@ impl IDWriteFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -741,27 +741,27 @@ impl IDWriteFactory2 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory2 {} @@ -790,7 +790,7 @@ impl IDWriteFactory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -809,22 +809,22 @@ impl IDWriteFactory3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -832,11 +832,11 @@ impl IDWriteFactory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -857,22 +857,22 @@ impl IDWriteFactory3 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -880,18 +880,18 @@ impl IDWriteFactory3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -899,11 +899,11 @@ impl IDWriteFactory3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -913,64 +913,64 @@ impl IDWriteFactory3 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -981,7 +981,7 @@ impl IDWriteFactory3 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory3 {} @@ -1014,7 +1014,7 @@ impl IDWriteFactory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -1033,22 +1033,22 @@ impl IDWriteFactory4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -1056,11 +1056,11 @@ impl IDWriteFactory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -1081,22 +1081,22 @@ impl IDWriteFactory4 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -1104,18 +1104,18 @@ impl IDWriteFactory4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -1123,11 +1123,11 @@ impl IDWriteFactory4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -1137,64 +1137,64 @@ impl IDWriteFactory4 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -1205,22 +1205,22 @@ impl IDWriteFactory4 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun2(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins(&self, glyphrun: *const DWRITE_GLYPH_RUN, baselineorigin: super::Direct2D::Common::D2D_POINT_2F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins2(&self, glyphrun: *const DWRITE_GLYPH_RUN, measuringmode: DWRITE_MEASURING_MODE, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteFactory4 {} @@ -1256,7 +1256,7 @@ impl IDWriteFactory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -1275,22 +1275,22 @@ impl IDWriteFactory5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -1298,11 +1298,11 @@ impl IDWriteFactory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -1323,22 +1323,22 @@ impl IDWriteFactory5 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -1346,18 +1346,18 @@ impl IDWriteFactory5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -1365,11 +1365,11 @@ impl IDWriteFactory5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -1379,64 +1379,64 @@ impl IDWriteFactory5 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -1447,30 +1447,30 @@ impl IDWriteFactory5 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun2(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins(&self, glyphrun: *const DWRITE_GLYPH_RUN, baselineorigin: super::Direct2D::Common::D2D_POINT_2F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins2(&self, glyphrun: *const DWRITE_GLYPH_RUN, measuringmode: DWRITE_MEASURING_MODE, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn CreateFontSetBuilder2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInMemoryFontFileLoader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHttpFontFileLoader(&self, referrerurl: P0, extraheaders: P1) -> ::windows_core::Result where @@ -1478,14 +1478,14 @@ impl IDWriteFactory5 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AnalyzeContainerType(&self, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> DWRITE_CONTAINER_TYPE { (::windows_core::Interface::vtable(self).AnalyzeContainerType)(::windows_core::Interface::as_raw(self), filedata, filedatasize) } pub unsafe fn UnpackFontFile(&self, containertype: DWRITE_CONTAINER_TYPE, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory5 {} @@ -1514,7 +1514,7 @@ impl IDWriteFactory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -1533,22 +1533,22 @@ impl IDWriteFactory6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -1556,11 +1556,11 @@ impl IDWriteFactory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -1581,22 +1581,22 @@ impl IDWriteFactory6 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -1604,18 +1604,18 @@ impl IDWriteFactory6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -1623,11 +1623,11 @@ impl IDWriteFactory6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -1637,64 +1637,64 @@ impl IDWriteFactory6 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -1705,30 +1705,30 @@ impl IDWriteFactory6 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun2(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins(&self, glyphrun: *const DWRITE_GLYPH_RUN, baselineorigin: super::Direct2D::Common::D2D_POINT_2F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins2(&self, glyphrun: *const DWRITE_GLYPH_RUN, measuringmode: DWRITE_MEASURING_MODE, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn CreateFontSetBuilder2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInMemoryFontFileLoader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHttpFontFileLoader(&self, referrerurl: P0, extraheaders: P1) -> ::windows_core::Result where @@ -1736,53 +1736,53 @@ impl IDWriteFactory6 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AnalyzeContainerType(&self, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> DWRITE_CONTAINER_TYPE { (::windows_core::Interface::vtable(self).base__.AnalyzeContainerType)(::windows_core::Interface::as_raw(self), filedata, filedatasize) } pub unsafe fn UnpackFontFile(&self, containertype: DWRITE_CONTAINER_TYPE, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference3(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, fontfile: P0, faceindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet2(&self, includedownloadablefonts: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection3(&self, includedownloadablefonts: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet2(&self, fontset: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextFormat2(&self, fontfamilyname: P0, fontcollection: P1, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE], fontsize: f32, localename: P2) -> ::windows_core::Result where @@ -1791,7 +1791,7 @@ impl IDWriteFactory6 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory6 {} @@ -1822,7 +1822,7 @@ impl IDWriteFactory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -1841,22 +1841,22 @@ impl IDWriteFactory7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -1864,11 +1864,11 @@ impl IDWriteFactory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -1889,22 +1889,22 @@ impl IDWriteFactory7 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -1912,18 +1912,18 @@ impl IDWriteFactory7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -1931,11 +1931,11 @@ impl IDWriteFactory7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -1945,64 +1945,64 @@ impl IDWriteFactory7 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -2013,30 +2013,30 @@ impl IDWriteFactory7 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun2(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins(&self, glyphrun: *const DWRITE_GLYPH_RUN, baselineorigin: super::Direct2D::Common::D2D_POINT_2F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins2(&self, glyphrun: *const DWRITE_GLYPH_RUN, measuringmode: DWRITE_MEASURING_MODE, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn CreateFontSetBuilder2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInMemoryFontFileLoader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHttpFontFileLoader(&self, referrerurl: P0, extraheaders: P1) -> ::windows_core::Result where @@ -2044,53 +2044,53 @@ impl IDWriteFactory7 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AnalyzeContainerType(&self, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> DWRITE_CONTAINER_TYPE { (::windows_core::Interface::vtable(self).base__.base__.AnalyzeContainerType)(::windows_core::Interface::as_raw(self), filedata, filedatasize) } pub unsafe fn UnpackFontFile(&self, containertype: DWRITE_CONTAINER_TYPE, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference3(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, fontfile: P0, faceindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet2(&self, includedownloadablefonts: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection3(&self, includedownloadablefonts: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet2(&self, fontset: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextFormat2(&self, fontfamilyname: P0, fontcollection: P1, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE], fontsize: f32, localename: P2) -> ::windows_core::Result where @@ -2099,21 +2099,21 @@ impl IDWriteFactory7 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet3(&self, includedownloadablefonts: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontSet3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontSet3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection4(&self, includedownloadablefonts: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemFontCollection4)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemFontCollection4)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory7 {} @@ -2139,7 +2139,7 @@ impl IDWriteFactory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomFontCollection)(::windows_core::Interface::as_raw(self), collectionloader.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontCollectionLoader(&self, fontcollectionloader: P0) -> ::windows_core::Result<()> where @@ -2158,22 +2158,22 @@ impl IDWriteFactory8 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFontFileReference)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomFontFileReference(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, fontfileloader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomFontFileReference)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, fontfileloader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, fontfacetype: DWRITE_FONT_FACE_TYPE, fontfiles: &[::core::option::Option], faceindex: u32, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), fontfacetype, fontfiles.len().try_into().unwrap(), ::core::mem::transmute(fontfiles.as_ptr()), faceindex, fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRenderingParams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderingParams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateMonitorRenderingParams(&self, monitor: P0) -> ::windows_core::Result @@ -2181,11 +2181,11 @@ impl IDWriteFactory8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateMonitorRenderingParams)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams(&self, gamma: f32, enhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFontFileLoader(&self, fontfileloader: P0) -> ::windows_core::Result<()> where @@ -2206,22 +2206,22 @@ impl IDWriteFactory8 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextFormat)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), fontweight, fontstyle, fontstretch, fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypography(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTypography)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGdiInterop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetGdiInterop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextLayout(&self, string: &[u16], textformat: P0, maxwidth: f32, maxheight: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), maxwidth, maxheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGdiCompatibleTextLayout(&self, string: &[u16], textformat: P0, layoutwidth: f32, layoutheight: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, usegdinatural: P1) -> ::windows_core::Result where @@ -2229,18 +2229,18 @@ impl IDWriteFactory8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGdiCompatibleTextLayout)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(string.as_ptr()), string.len().try_into().unwrap(), textformat.into_param().abi(), layoutwidth, layoutheight, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), usegdinatural.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEllipsisTrimmingSign(&self, textformat: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateEllipsisTrimmingSign)(::windows_core::Interface::as_raw(self), textformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextAnalyzer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateTextAnalyzer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNumberSubstitution(&self, substitutionmethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, localename: P0, ignoreuseroverride: P1) -> ::windows_core::Result where @@ -2248,11 +2248,11 @@ impl IDWriteFactory8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateNumberSubstitution)(::windows_core::Interface::as_raw(self), substitutionmethod, localename.into_param().abi(), ignoreuseroverride.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis(&self, glyphrun: *const DWRITE_GLYPH_RUN, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis)(::windows_core::Interface::as_raw(self), glyphrun, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEudcFontCollection(&self, fontcollection: *mut ::core::option::Option, checkforupdates: P0) -> ::windows_core::Result<()> where @@ -2262,64 +2262,64 @@ impl IDWriteFactory8 { } pub unsafe fn CreateCustomRenderingParams2(&self, gamma: f32, enhancedcontrast: f32, enhancedcontrastgrayscale: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams2)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, enhancedcontrastgrayscale, cleartypelevel, pixelgeometry, renderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetSystemFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFallbackBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFontFallbackBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TranslateColorGlyphRun(&self, baselineoriginx: f32, baselineoriginy: f32, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, measuringmode: DWRITE_MEASURING_MODE, worldtodevicetransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.TranslateColorGlyphRun)(::windows_core::Interface::as_raw(self), baselineoriginx, baselineoriginy, glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), measuringmode, ::core::mem::transmute(worldtodevicetransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams3(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCustomRenderingParams3)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis2(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGlyphRunAnalysis2)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphRunAnalysis3(&self, glyphrun: *const DWRITE_GLYPH_RUN, transform: ::core::option::Option<*const DWRITE_MATRIX>, renderingmode: DWRITE_RENDERING_MODE1, measuringmode: DWRITE_MEASURING_MODE, gridfitmode: DWRITE_GRID_FIT_MODE, antialiasmode: DWRITE_TEXT_ANTIALIAS_MODE, baselineoriginx: f32, baselineoriginy: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGlyphRunAnalysis3)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), renderingmode, measuringmode, gridfitmode, antialiasmode, baselineoriginx, baselineoriginy, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCustomRenderingParams4(&self, gamma: f32, enhancedcontrast: f32, grayscaleenhancedcontrast: f32, cleartypelevel: f32, pixelgeometry: DWRITE_PIXEL_GEOMETRY, renderingmode: DWRITE_RENDERING_MODE1, gridfitmode: DWRITE_GRID_FIT_MODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCustomRenderingParams4)(::windows_core::Interface::as_raw(self), gamma, enhancedcontrast, grayscaleenhancedcontrast, cleartypelevel, pixelgeometry, renderingmode, gridfitmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference2(&self, filepath: P0, lastwritetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontFaceReference2)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(lastwritetime.unwrap_or(::std::ptr::null())), faceindex, fontsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSystemFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontSetBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet(&self, fontset: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFontCollectionFromFontSet)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection2(&self, includedownloadablefonts: P0, fontcollection: *mut ::core::option::Option, checkforupdates: P1) -> ::windows_core::Result<()> where @@ -2330,30 +2330,30 @@ impl IDWriteFactory8 { } pub unsafe fn GetFontDownloadQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFontDownloadQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun2(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TranslateColorGlyphRun2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins(&self, glyphrun: *const DWRITE_GLYPH_RUN, baselineorigin: super::Direct2D::Common::D2D_POINT_2F) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ComputeGlyphOrigins)(::windows_core::Interface::as_raw(self), glyphrun, ::core::mem::transmute(baselineorigin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn ComputeGlyphOrigins2(&self, glyphrun: *const DWRITE_GLYPH_RUN, measuringmode: DWRITE_MEASURING_MODE, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ComputeGlyphOrigins2)(::windows_core::Interface::as_raw(self), glyphrun, measuringmode, ::core::mem::transmute(baselineorigin), ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn CreateFontSetBuilder2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontSetBuilder2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInMemoryFontFileLoader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateInMemoryFontFileLoader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateHttpFontFileLoader(&self, referrerurl: P0, extraheaders: P1) -> ::windows_core::Result where @@ -2361,53 +2361,53 @@ impl IDWriteFactory8 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHttpFontFileLoader)(::windows_core::Interface::as_raw(self), referrerurl.into_param().abi(), extraheaders.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AnalyzeContainerType(&self, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> DWRITE_CONTAINER_TYPE { (::windows_core::Interface::vtable(self).base__.base__.base__.AnalyzeContainerType)(::windows_core::Interface::as_raw(self), filedata, filedatasize) } pub unsafe fn UnpackFontFile(&self, containertype: DWRITE_CONTAINER_TYPE, filedata: *const ::core::ffi::c_void, filedatasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UnpackFontFile)(::windows_core::Interface::as_raw(self), containertype, filedata, filedatasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference3(&self, fontfile: P0, faceindex: u32, fontsimulations: DWRITE_FONT_SIMULATIONS, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFaceReference3)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, fontfile: P0, faceindex: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), fontfile.into_param().abi(), faceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet2(&self, includedownloadablefonts: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontSet2)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection3(&self, includedownloadablefonts: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemFontCollection3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontCollectionFromFontSet2(&self, fontset: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontCollectionFromFontSet2)(::windows_core::Interface::as_raw(self), fontset.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontSetBuilder3(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontSetBuilder3)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTextFormat2(&self, fontfamilyname: P0, fontcollection: P1, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE], fontsize: f32, localename: P2) -> ::windows_core::Result where @@ -2416,26 +2416,26 @@ impl IDWriteFactory8 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTextFormat2)(::windows_core::Interface::as_raw(self), fontfamilyname.into_param().abi(), fontcollection.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), fontsize, localename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontSet3(&self, includedownloadablefonts: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontSet3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontSet3)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemFontCollection4(&self, includedownloadablefonts: P0, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemFontCollection4)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemFontCollection4)(::windows_core::Interface::as_raw(self), includedownloadablefonts.into_param().abi(), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D_Common")] pub unsafe fn TranslateColorGlyphRun3(&self, baselineorigin: super::Direct2D::Common::D2D_POINT_2F, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: ::core::option::Option<*const DWRITE_GLYPH_RUN_DESCRIPTION>, desiredglyphimageformats: DWRITE_GLYPH_IMAGE_FORMATS, paintfeaturelevel: DWRITE_PAINT_FEATURE_LEVEL, measuringmode: DWRITE_MEASURING_MODE, worldanddpitransform: ::core::option::Option<*const DWRITE_MATRIX>, colorpaletteindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslateColorGlyphRun3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, paintfeaturelevel, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslateColorGlyphRun3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(baselineorigin), glyphrun, ::core::mem::transmute(glyphrundescription.unwrap_or(::std::ptr::null())), desiredglyphimageformats, paintfeaturelevel, measuringmode, ::core::mem::transmute(worldanddpitransform.unwrap_or(::std::ptr::null())), colorpaletteindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFactory8 {} @@ -2454,7 +2454,7 @@ pub struct IDWriteFactory8_Vtbl { impl IDWriteFont { pub unsafe fn GetFontFamily(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).GetWeight)(::windows_core::Interface::as_raw(self)) @@ -2470,7 +2470,7 @@ impl IDWriteFont { } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -2483,11 +2483,11 @@ impl IDWriteFont { } pub unsafe fn HasCharacter(&self, unicodevalue: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).map(|| result__) } pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFont {} @@ -2513,7 +2513,7 @@ pub struct IDWriteFont_Vtbl { impl IDWriteFont1 { pub unsafe fn GetFontFamily(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -2529,7 +2529,7 @@ impl IDWriteFont1 { } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -2542,11 +2542,11 @@ impl IDWriteFont1 { } pub unsafe fn HasCharacter(&self, unicodevalue: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).map(|| result__) } pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMetrics2(&self, fontmetrics: *mut DWRITE_FONT_METRICS1) { (::windows_core::Interface::vtable(self).GetMetrics2)(::windows_core::Interface::as_raw(self), fontmetrics) @@ -2554,7 +2554,7 @@ impl IDWriteFont1 { pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -2579,7 +2579,7 @@ pub struct IDWriteFont1_Vtbl { impl IDWriteFont2 { pub unsafe fn GetFontFamily(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -2595,7 +2595,7 @@ impl IDWriteFont2 { } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -2608,11 +2608,11 @@ impl IDWriteFont2 { } pub unsafe fn HasCharacter(&self, unicodevalue: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).map(|| result__) } pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMetrics2(&self, fontmetrics: *mut DWRITE_FONT_METRICS1) { (::windows_core::Interface::vtable(self).base__.GetMetrics2)(::windows_core::Interface::as_raw(self), fontmetrics) @@ -2620,7 +2620,7 @@ impl IDWriteFont2 { pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -2645,7 +2645,7 @@ pub struct IDWriteFont2_Vtbl { impl IDWriteFont3 { pub unsafe fn GetFontFamily(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.base__.base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -2661,7 +2661,7 @@ impl IDWriteFont3 { } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -2674,11 +2674,11 @@ impl IDWriteFont3 { } pub unsafe fn HasCharacter(&self, unicodevalue: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HasCharacter)(::windows_core::Interface::as_raw(self), unicodevalue, &mut result__).map(|| result__) } pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMetrics2(&self, fontmetrics: *mut DWRITE_FONT_METRICS1) { (::windows_core::Interface::vtable(self).base__.base__.GetMetrics2)(::windows_core::Interface::as_raw(self), fontmetrics) @@ -2686,7 +2686,7 @@ impl IDWriteFont3 { pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -2699,7 +2699,7 @@ impl IDWriteFont3 { } pub unsafe fn CreateFontFace2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, font: P0) -> super::super::Foundation::BOOL where @@ -2709,7 +2709,7 @@ impl IDWriteFont3 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasCharacter2(&self, unicodevalue: u32) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).HasCharacter2)(::windows_core::Interface::as_raw(self), unicodevalue) @@ -2738,7 +2738,7 @@ impl IDWriteFontCollection { } pub unsafe fn GetFontFamily(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFamilyName(&self, familyname: P0, index: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2751,7 +2751,7 @@ impl IDWriteFontCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontCollection {} @@ -2773,7 +2773,7 @@ impl IDWriteFontCollection1 { } pub unsafe fn GetFontFamily(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFamilyName(&self, familyname: P0, index: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2786,15 +2786,15 @@ impl IDWriteFontCollection1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamily2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontCollection1 {} @@ -2814,7 +2814,7 @@ impl IDWriteFontCollection2 { } pub unsafe fn GetFontFamily(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFamilyName(&self, familyname: P0, index: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2827,33 +2827,33 @@ impl IDWriteFontCollection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamily2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamily3(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFamily3)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFamily3)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyModel(&self) -> DWRITE_FONT_FAMILY_MODEL { (::windows_core::Interface::vtable(self).GetFontFamilyModel)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFontSet2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontSet2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontSet2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontCollection2 {} @@ -2875,7 +2875,7 @@ impl IDWriteFontCollection3 { } pub unsafe fn GetFontFamily(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamily)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFamilyName(&self, familyname: P0, index: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2888,33 +2888,33 @@ impl IDWriteFontCollection3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFromFontFace)(::windows_core::Interface::as_raw(self), fontface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamily2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFamily2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamily3(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFamily3)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFamily3)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyModel(&self) -> DWRITE_FONT_FAMILY_MODEL { (::windows_core::Interface::vtable(self).base__.GetFontFamilyModel)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFontSet2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontSet2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontSet2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExpirationEvent(&self) -> super::super::Foundation::HANDLE { (::windows_core::Interface::vtable(self).GetExpirationEvent)(::windows_core::Interface::as_raw(self)) @@ -2936,7 +2936,7 @@ impl IDWriteFontCollectionLoader { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEnumeratorFromKey)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), collectionkey, collectionkeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEnumeratorFromKey)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), collectionkey, collectionkeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontCollectionLoader {} @@ -2974,7 +2974,7 @@ impl IDWriteFontDownloadQueue { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddListener)(::windows_core::Interface::as_raw(self), listener.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddListener)(::windows_core::Interface::as_raw(self), listener.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveListener(&self, token: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveListener)(::windows_core::Interface::as_raw(self), token).ok() @@ -3061,7 +3061,7 @@ impl IDWriteFontFace { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3152,7 +3152,7 @@ impl IDWriteFontFace1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3173,7 +3173,7 @@ impl IDWriteFontFace1 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -3205,7 +3205,7 @@ impl IDWriteFontFace1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -3286,7 +3286,7 @@ impl IDWriteFontFace2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3307,7 +3307,7 @@ impl IDWriteFontFace2 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -3339,7 +3339,7 @@ impl IDWriteFontFace2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -3432,7 +3432,7 @@ impl IDWriteFontFace3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3453,7 +3453,7 @@ impl IDWriteFontFace3 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -3485,7 +3485,7 @@ impl IDWriteFontFace3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -3514,12 +3514,12 @@ impl IDWriteFontFace3 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).GetWeight)(::windows_core::Interface::as_raw(self)) @@ -3532,11 +3532,11 @@ impl IDWriteFontFace3 { } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -3562,14 +3562,14 @@ impl IDWriteFontFace3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AreGlyphsLocal(&self, glyphindices: &[u16], enqueueifnotlocal: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteFontFace3 {} @@ -3646,7 +3646,7 @@ impl IDWriteFontFace4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3667,7 +3667,7 @@ impl IDWriteFontFace4 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -3699,7 +3699,7 @@ impl IDWriteFontFace4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -3728,12 +3728,12 @@ impl IDWriteFontFace4 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -3746,11 +3746,11 @@ impl IDWriteFontFace4 { } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -3776,18 +3776,18 @@ impl IDWriteFontFace4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AreGlyphsLocal(&self, glyphindices: &[u16], enqueueifnotlocal: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats(&self, glyphid: u16, pixelsperemfirst: u32, pixelsperemlast: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats2(&self) -> DWRITE_GLYPH_IMAGE_FORMATS { (::windows_core::Interface::vtable(self).GetGlyphImageFormats2)(::windows_core::Interface::as_raw(self)) @@ -3867,7 +3867,7 @@ impl IDWriteFontFace5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -3888,7 +3888,7 @@ impl IDWriteFontFace5 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -3920,7 +3920,7 @@ impl IDWriteFontFace5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -3949,12 +3949,12 @@ impl IDWriteFontFace5 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -3967,11 +3967,11 @@ impl IDWriteFontFace5 { } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -3997,18 +3997,18 @@ impl IDWriteFontFace5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AreGlyphsLocal(&self, glyphindices: &[u16], enqueueifnotlocal: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats(&self, glyphid: u16, pixelsperemfirst: u32, pixelsperemlast: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats2(&self) -> DWRITE_GLYPH_IMAGE_FORMATS { (::windows_core::Interface::vtable(self).base__.GetGlyphImageFormats2)(::windows_core::Interface::as_raw(self)) @@ -4031,7 +4031,7 @@ impl IDWriteFontFace5 { } pub unsafe fn GetFontResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, fontface: P0) -> super::super::Foundation::BOOL where @@ -4105,7 +4105,7 @@ impl IDWriteFontFace6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -4126,7 +4126,7 @@ impl IDWriteFontFace6 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -4158,7 +4158,7 @@ impl IDWriteFontFace6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -4187,12 +4187,12 @@ impl IDWriteFontFace6 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.base__.base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -4205,11 +4205,11 @@ impl IDWriteFontFace6 { } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -4235,18 +4235,18 @@ impl IDWriteFontFace6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AreGlyphsLocal(&self, glyphindices: &[u16], enqueueifnotlocal: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats(&self, glyphid: u16, pixelsperemfirst: u32, pixelsperemlast: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats2(&self) -> DWRITE_GLYPH_IMAGE_FORMATS { (::windows_core::Interface::vtable(self).base__.base__.GetGlyphImageFormats2)(::windows_core::Interface::as_raw(self)) @@ -4269,7 +4269,7 @@ impl IDWriteFontFace6 { } pub unsafe fn GetFontResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, fontface: P0) -> super::super::Foundation::BOOL where @@ -4279,11 +4279,11 @@ impl IDWriteFontFace6 { } pub unsafe fn GetFamilyNames2(&self, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFamilyNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFamilyNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames2(&self, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFaceNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFaceNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFace6 {} @@ -4348,7 +4348,7 @@ impl IDWriteFontFace7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, measuringmode, renderingparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGdiCompatibleMetrics(&self, emsize: f32, pixelsperdip: f32, transform: ::core::option::Option<*const DWRITE_MATRIX>, fontfacemetrics: *mut DWRITE_FONT_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGdiCompatibleMetrics)(::windows_core::Interface::as_raw(self), emsize, pixelsperdip, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), fontfacemetrics).ok() @@ -4369,7 +4369,7 @@ impl IDWriteFontFace7 { pub unsafe fn GetCaretMetrics(&self) -> DWRITE_CARET_METRICS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCaretMetrics)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetUnicodeRanges(&self, unicoderanges: ::core::option::Option<&mut [DWRITE_UNICODE_RANGE]>, actualrangecount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetUnicodeRanges)(::windows_core::Interface::as_raw(self), unicoderanges.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(unicoderanges.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), actualrangecount).ok() @@ -4401,7 +4401,7 @@ impl IDWriteFontFace7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRecommendedRenderingMode2)(::windows_core::Interface::as_raw(self), fontemsize, dpix, dpiy, ::core::mem::transmute(transform.unwrap_or(::std::ptr::null())), issideways.into_param().abi(), outlinethreshold, measuringmode, &mut result__).map(|| result__) } pub unsafe fn GetVerticalGlyphVariants(&self, glyphcount: u32, nominalglyphindices: *const u16, verticalglyphindices: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetVerticalGlyphVariants)(::windows_core::Interface::as_raw(self), glyphcount, nominalglyphindices, verticalglyphindices).ok() @@ -4430,12 +4430,12 @@ impl IDWriteFontFace7 { } pub unsafe fn GetFontFaceReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPanose(&self) -> DWRITE_PANOSE { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPanose)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn GetWeight(&self) -> DWRITE_FONT_WEIGHT { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetWeight)(::windows_core::Interface::as_raw(self)) @@ -4448,11 +4448,11 @@ impl IDWriteFontFace7 { } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFaceNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformationalStrings(&self, informationalstringid: DWRITE_INFORMATIONAL_STRING_ID, informationalstrings: *mut ::core::option::Option, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInformationalStrings)(::windows_core::Interface::as_raw(self), informationalstringid, ::core::mem::transmute(informationalstrings), exists).ok() @@ -4478,18 +4478,18 @@ impl IDWriteFontFace7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AreCharactersLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(characters.as_ptr()), characters.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AreGlyphsLocal(&self, glyphindices: &[u16], enqueueifnotlocal: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AreGlyphsLocal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(glyphindices.as_ptr()), glyphindices.len().try_into().unwrap(), enqueueifnotlocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats(&self, glyphid: u16, pixelsperemfirst: u32, pixelsperemlast: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetGlyphImageFormats)(::windows_core::Interface::as_raw(self), glyphid, pixelsperemfirst, pixelsperemlast, &mut result__).map(|| result__) } pub unsafe fn GetGlyphImageFormats2(&self) -> DWRITE_GLYPH_IMAGE_FORMATS { (::windows_core::Interface::vtable(self).base__.base__.base__.GetGlyphImageFormats2)(::windows_core::Interface::as_raw(self)) @@ -4512,7 +4512,7 @@ impl IDWriteFontFace7 { } pub unsafe fn GetFontResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, fontface: P0) -> super::super::Foundation::BOOL where @@ -4522,18 +4522,18 @@ impl IDWriteFontFace7 { } pub unsafe fn GetFamilyNames2(&self, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFamilyNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFamilyNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFaceNames2(&self, fontfamilymodel: DWRITE_FONT_FAMILY_MODEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFaceNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFaceNames2)(::windows_core::Interface::as_raw(self), fontfamilymodel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPaintFeatureLevel(&self, glyphimageformat: DWRITE_GLYPH_IMAGE_FORMATS) -> DWRITE_PAINT_FEATURE_LEVEL { (::windows_core::Interface::vtable(self).GetPaintFeatureLevel)(::windows_core::Interface::as_raw(self), glyphimageformat) } pub unsafe fn CreatePaintReader(&self, glyphimageformat: DWRITE_GLYPH_IMAGE_FORMATS, paintfeaturelevel: DWRITE_PAINT_FEATURE_LEVEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePaintReader)(::windows_core::Interface::as_raw(self), glyphimageformat, paintfeaturelevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePaintReader)(::windows_core::Interface::as_raw(self), glyphimageformat, paintfeaturelevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFace7 {} @@ -4550,11 +4550,11 @@ pub struct IDWriteFontFace7_Vtbl { impl IDWriteFontFaceReference { pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceWithSimulations(&self, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceWithSimulations)(::windows_core::Interface::as_raw(self), fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceWithSimulations)(::windows_core::Interface::as_raw(self), fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, fontfacereference: P0) -> super::super::Foundation::BOOL where @@ -4570,7 +4570,7 @@ impl IDWriteFontFaceReference { } pub unsafe fn GetFontFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalFileSize(&self) -> u64 { (::windows_core::Interface::vtable(self).GetLocalFileSize)(::windows_core::Interface::as_raw(self)) @@ -4580,7 +4580,7 @@ impl IDWriteFontFaceReference { } pub unsafe fn GetFileTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocality(&self) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).GetLocality)(::windows_core::Interface::as_raw(self)) @@ -4624,11 +4624,11 @@ pub struct IDWriteFontFaceReference_Vtbl { impl IDWriteFontFaceReference1 { pub unsafe fn CreateFontFace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceWithSimulations(&self, fontfacesimulationflags: DWRITE_FONT_SIMULATIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFaceWithSimulations)(::windows_core::Interface::as_raw(self), fontfacesimulationflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFaceWithSimulations)(::windows_core::Interface::as_raw(self), fontfacesimulationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Equals(&self, fontfacereference: P0) -> super::super::Foundation::BOOL where @@ -4644,7 +4644,7 @@ impl IDWriteFontFaceReference1 { } pub unsafe fn GetFontFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalFileSize(&self) -> u64 { (::windows_core::Interface::vtable(self).base__.GetLocalFileSize)(::windows_core::Interface::as_raw(self)) @@ -4654,7 +4654,7 @@ impl IDWriteFontFaceReference1 { } pub unsafe fn GetFileTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocality(&self) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.GetLocality)(::windows_core::Interface::as_raw(self)) @@ -4673,7 +4673,7 @@ impl IDWriteFontFaceReference1 { } pub unsafe fn CreateFontFace2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontAxisValueCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetFontAxisValueCount)(::windows_core::Interface::as_raw(self)) @@ -4759,7 +4759,7 @@ impl IDWriteFontFallbackBuilder { } pub unsafe fn CreateFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFallbackBuilder {} @@ -4777,26 +4777,26 @@ pub struct IDWriteFontFallbackBuilder_Vtbl { impl IDWriteFontFamily { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstMatchingFont(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFamily {} @@ -4814,37 +4814,37 @@ pub struct IDWriteFontFamily_Vtbl { impl IDWriteFontFamily1 { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstMatchingFont(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) } pub unsafe fn GetFont2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFamily1 {} @@ -4862,45 +4862,45 @@ pub struct IDWriteFontFamily1_Vtbl { impl IDWriteFontFamily2 { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFamilyNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFamilyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstMatchingFont(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFirstMatchingFont)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts(&self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, style: DWRITE_FONT_STYLE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), weight, stretch, style, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) } pub unsafe fn GetFont2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFamily2 {} @@ -4920,7 +4920,7 @@ impl IDWriteFontFile { } pub unsafe fn GetLoader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLoader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLoader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Analyze(&self, issupportedfonttype: *mut super::super::Foundation::BOOL, fontfiletype: *mut DWRITE_FONT_FILE_TYPE, fontfacetype: ::core::option::Option<*mut DWRITE_FONT_FACE_TYPE>, numberoffaces: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Analyze)(::windows_core::Interface::as_raw(self), issupportedfonttype, fontfiletype, ::core::mem::transmute(fontfacetype.unwrap_or(::std::ptr::null_mut())), numberoffaces).ok() @@ -4941,11 +4941,11 @@ pub struct IDWriteFontFile_Vtbl { impl IDWriteFontFileEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentFontFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentFontFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentFontFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFileEnumerator {} @@ -4962,7 +4962,7 @@ pub struct IDWriteFontFileEnumerator_Vtbl { impl IDWriteFontFileLoader { pub unsafe fn CreateStreamFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontFileLoader {} @@ -4984,11 +4984,11 @@ impl IDWriteFontFileStream { } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteFontFileStream {} @@ -5007,14 +5007,14 @@ pub struct IDWriteFontFileStream_Vtbl { impl IDWriteFontList { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontList {} @@ -5032,25 +5032,25 @@ pub struct IDWriteFontList_Vtbl { impl IDWriteFontList1 { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) } pub unsafe fn GetFont2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontList1 {} @@ -5068,29 +5068,29 @@ pub struct IDWriteFontList1_Vtbl { impl IDWriteFontList2 { pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontCount(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetFontCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFont(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) } pub unsafe fn GetFont2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontList2 {} @@ -5106,7 +5106,7 @@ pub struct IDWriteFontList2_Vtbl { impl IDWriteFontResource { pub unsafe fn GetFontFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFaceIndex(&self) -> u32 { (::windows_core::Interface::vtable(self).GetFontFaceIndex)(::windows_core::Interface::as_raw(self)) @@ -5125,7 +5125,7 @@ impl IDWriteFontResource { } pub unsafe fn GetAxisNames(&self, axisindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAxisNames)(::windows_core::Interface::as_raw(self), axisindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAxisNames)(::windows_core::Interface::as_raw(self), axisindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAxisValueNameCount(&self, axisindex: u32) -> u32 { (::windows_core::Interface::vtable(self).GetAxisValueNameCount)(::windows_core::Interface::as_raw(self), axisindex) @@ -5138,11 +5138,11 @@ impl IDWriteFontResource { } pub unsafe fn CreateFontFace(&self, fontsimulations: DWRITE_FONT_SIMULATIONS, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFaceReference(&self, fontsimulations: DWRITE_FONT_SIMULATIONS, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceReference)(::windows_core::Interface::as_raw(self), fontsimulations, ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontResource {} @@ -5172,7 +5172,7 @@ impl IDWriteFontSet { } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFontFaceReference(&self, fontfacereference: P0, listindex: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -5188,32 +5188,32 @@ impl IDWriteFontSet { } pub unsafe fn GetPropertyValues(&self, propertyid: DWRITE_FONT_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues2(&self, propertyid: DWRITE_FONT_PROPERTY_ID, preferredlocalenames: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues3(&self, listindex: u32, propertyid: DWRITE_FONT_PROPERTY_ID, exists: *mut super::super::Foundation::BOOL, values: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPropertyValues3)(::windows_core::Interface::as_raw(self), listindex, propertyid, exists, ::core::mem::transmute(values)).ok() } pub unsafe fn GetPropertyOccurrenceCount(&self, property: *const DWRITE_FONT_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontweight: DWRITE_FONT_WEIGHT, fontstretch: DWRITE_FONT_STRETCH, fontstyle: DWRITE_FONT_STYLE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, properties: &[DWRITE_FONT_PROPERTY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontSet {} @@ -5241,7 +5241,7 @@ impl IDWriteFontSet1 { } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFontFaceReference(&self, fontfacereference: P0, listindex: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -5257,58 +5257,58 @@ impl IDWriteFontSet1 { } pub unsafe fn GetPropertyValues(&self, propertyid: DWRITE_FONT_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues2(&self, propertyid: DWRITE_FONT_PROPERTY_ID, preferredlocalenames: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues3(&self, listindex: u32, propertyid: DWRITE_FONT_PROPERTY_ID, exists: *mut super::super::Foundation::BOOL, values: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPropertyValues3)(::windows_core::Interface::as_raw(self), listindex, propertyid, exists, ::core::mem::transmute(values)).ok() } pub unsafe fn GetPropertyOccurrenceCount(&self, property: *const DWRITE_FONT_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontweight: DWRITE_FONT_WEIGHT, fontstretch: DWRITE_FONT_STRETCH, fontstyle: DWRITE_FONT_STYLE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, properties: &[DWRITE_FONT_PROPERTY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts3(&self, fontproperty: ::core::option::Option<*const DWRITE_FONT_PROPERTY>, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstFontResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts(&self, indices: &[u32]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts2(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts3(&self, properties: ::core::option::Option<&[DWRITE_FONT_PROPERTY]>, selectanyproperty: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFontIndices(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0, indices: &mut [u32], actualindexcount: *mut u32) -> ::windows_core::Result<()> where @@ -5330,15 +5330,15 @@ impl IDWriteFontSet1 { } pub unsafe fn GetFontFaceReference2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) @@ -5372,7 +5372,7 @@ impl IDWriteFontSet2 { } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFontFaceReference(&self, fontfacereference: P0, listindex: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -5388,58 +5388,58 @@ impl IDWriteFontSet2 { } pub unsafe fn GetPropertyValues(&self, propertyid: DWRITE_FONT_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues2(&self, propertyid: DWRITE_FONT_PROPERTY_ID, preferredlocalenames: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues3(&self, listindex: u32, propertyid: DWRITE_FONT_PROPERTY_ID, exists: *mut super::super::Foundation::BOOL, values: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValues3)(::windows_core::Interface::as_raw(self), listindex, propertyid, exists, ::core::mem::transmute(values)).ok() } pub unsafe fn GetPropertyOccurrenceCount(&self, property: *const DWRITE_FONT_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontweight: DWRITE_FONT_WEIGHT, fontstretch: DWRITE_FONT_STRETCH, fontstyle: DWRITE_FONT_STYLE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, properties: &[DWRITE_FONT_PROPERTY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts3(&self, fontproperty: ::core::option::Option<*const DWRITE_FONT_PROPERTY>, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstFontResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts(&self, indices: &[u32]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts2(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts3(&self, properties: ::core::option::Option<&[DWRITE_FONT_PROPERTY]>, selectanyproperty: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFontIndices(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0, indices: &mut [u32], actualindexcount: *mut u32) -> ::windows_core::Result<()> where @@ -5461,15 +5461,15 @@ impl IDWriteFontSet2 { } pub unsafe fn GetFontFaceReference2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) @@ -5494,7 +5494,7 @@ impl IDWriteFontSet3 { } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFontFaceReference(&self, fontfacereference: P0, listindex: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -5510,58 +5510,58 @@ impl IDWriteFontSet3 { } pub unsafe fn GetPropertyValues(&self, propertyid: DWRITE_FONT_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues2(&self, propertyid: DWRITE_FONT_PROPERTY_ID, preferredlocalenames: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues3(&self, listindex: u32, propertyid: DWRITE_FONT_PROPERTY_ID, exists: *mut super::super::Foundation::BOOL, values: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyValues3)(::windows_core::Interface::as_raw(self), listindex, propertyid, exists, ::core::mem::transmute(values)).ok() } pub unsafe fn GetPropertyOccurrenceCount(&self, property: *const DWRITE_FONT_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontweight: DWRITE_FONT_WEIGHT, fontstretch: DWRITE_FONT_STRETCH, fontstyle: DWRITE_FONT_STYLE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, properties: &[DWRITE_FONT_PROPERTY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts3(&self, fontproperty: ::core::option::Option<*const DWRITE_FONT_PROPERTY>, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstFontResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts(&self, indices: &[u32]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts2(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts3(&self, properties: ::core::option::Option<&[DWRITE_FONT_PROPERTY]>, selectanyproperty: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFontIndices(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0, indices: &mut [u32], actualindexcount: *mut u32) -> ::windows_core::Result<()> where @@ -5583,15 +5583,15 @@ impl IDWriteFontSet3 { } pub unsafe fn GetFontFaceReference2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.base__.GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) @@ -5627,7 +5627,7 @@ impl IDWriteFontSet4 { } pub unsafe fn GetFontFaceReference(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontFaceReference)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFontFaceReference(&self, fontfacereference: P0, listindex: *mut u32, exists: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -5643,58 +5643,58 @@ impl IDWriteFontSet4 { } pub unsafe fn GetPropertyValues(&self, propertyid: DWRITE_FONT_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyValues)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues2(&self, propertyid: DWRITE_FONT_PROPERTY_ID, preferredlocalenames: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyValues2)(::windows_core::Interface::as_raw(self), propertyid, preferredlocalenames.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValues3(&self, listindex: u32, propertyid: DWRITE_FONT_PROPERTY_ID, exists: *mut super::super::Foundation::BOOL, values: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyValues3)(::windows_core::Interface::as_raw(self), listindex, propertyid, exists, ::core::mem::transmute(values)).ok() } pub unsafe fn GetPropertyOccurrenceCount(&self, property: *const DWRITE_FONT_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyOccurrenceCount)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn GetMatchingFonts(&self, familyname: P0, fontweight: DWRITE_FONT_WEIGHT, fontstretch: DWRITE_FONT_STRETCH, fontstyle: DWRITE_FONT_STYLE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMatchingFonts)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), fontweight, fontstretch, fontstyle, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts2(&self, properties: &[DWRITE_FONT_PROPERTY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMatchingFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_ptr()), properties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMatchingFonts3(&self, fontproperty: ::core::option::Option<*const DWRITE_FONT_PROPERTY>, fontaxisvalues: &[DWRITE_FONT_AXIS_VALUE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMatchingFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontproperty.unwrap_or(::std::ptr::null())), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstFontResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFirstFontResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts(&self, indices: &[u32]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(indices.as_ptr()), indices.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts2(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fontaxisranges.as_ptr()), fontaxisranges.len().try_into().unwrap(), selectanyrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFonts3(&self, properties: ::core::option::Option<&[DWRITE_FONT_PROPERTY]>, selectanyproperty: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFilteredFonts3)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), selectanyproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredFontIndices(&self, fontaxisranges: &[DWRITE_FONT_AXIS_RANGE], selectanyrange: P0, indices: &mut [u32], actualindexcount: *mut u32) -> ::windows_core::Result<()> where @@ -5716,15 +5716,15 @@ impl IDWriteFontSet4 { } pub unsafe fn GetFontFaceReference2(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFaceReference2)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontResource(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontResource)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFontFace(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFontFace)(::windows_core::Interface::as_raw(self), listindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontLocality(&self, listindex: u32) -> DWRITE_LOCALITY { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontLocality)(::windows_core::Interface::as_raw(self), listindex) @@ -5749,7 +5749,7 @@ impl IDWriteFontSet4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFonts4)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), allowedsimulations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFonts4)(::windows_core::Interface::as_raw(self), familyname.into_param().abi(), ::core::mem::transmute(fontaxisvalues.as_ptr()), fontaxisvalues.len().try_into().unwrap(), allowedsimulations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontSet4 {} @@ -5784,7 +5784,7 @@ impl IDWriteFontSetBuilder { } pub unsafe fn CreateFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteFontSetBuilder {} @@ -5821,7 +5821,7 @@ impl IDWriteFontSetBuilder1 { } pub unsafe fn CreateFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddFontFile(&self, fontfile: P0) -> ::windows_core::Result<()> where @@ -5861,7 +5861,7 @@ impl IDWriteFontSetBuilder2 { } pub unsafe fn CreateFontSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFontSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddFontFile(&self, fontfile: P0) -> ::windows_core::Result<()> where @@ -5897,7 +5897,7 @@ impl IDWriteGdiInterop { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateFontFromLOGFONT(&self, logfont: *const super::Gdi::LOGFONTW) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFromLOGFONT)(::windows_core::Interface::as_raw(self), logfont, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFromLOGFONT)(::windows_core::Interface::as_raw(self), logfont, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn ConvertFontToLOGFONT(&self, font: P0, logfont: *mut super::Gdi::LOGFONTW, issystemfont: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> @@ -5919,7 +5919,7 @@ impl IDWriteGdiInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFaceFromHdc)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFaceFromHdc)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateBitmapRenderTarget(&self, hdc: P0, width: u32, height: u32) -> ::windows_core::Result @@ -5927,7 +5927,7 @@ impl IDWriteGdiInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapRenderTarget)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapRenderTarget)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteGdiInterop {} @@ -5963,7 +5963,7 @@ impl IDWriteGdiInterop1 { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateFontFromLOGFONT(&self, logfont: *const super::Gdi::LOGFONTW) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFromLOGFONT)(::windows_core::Interface::as_raw(self), logfont, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFromLOGFONT)(::windows_core::Interface::as_raw(self), logfont, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn ConvertFontToLOGFONT(&self, font: P0, logfont: *mut super::Gdi::LOGFONTW, issystemfont: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> @@ -5985,7 +5985,7 @@ impl IDWriteGdiInterop1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontFaceFromHdc)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontFaceFromHdc)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateBitmapRenderTarget(&self, hdc: P0, width: u32, height: u32) -> ::windows_core::Result @@ -5993,7 +5993,7 @@ impl IDWriteGdiInterop1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapRenderTarget)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapRenderTarget)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateFontFromLOGFONT2(&self, logfont: *const super::Gdi::LOGFONTW, fontcollection: P0) -> ::windows_core::Result @@ -6001,7 +6001,7 @@ impl IDWriteGdiInterop1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFromLOGFONT2)(::windows_core::Interface::as_raw(self), logfont, fontcollection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFromLOGFONT2)(::windows_core::Interface::as_raw(self), logfont, fontcollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn GetFontSignature(&self, fontface: P0, fontsignature: *mut super::super::Globalization::FONTSIGNATURE) -> ::windows_core::Result<()> @@ -6023,7 +6023,7 @@ impl IDWriteGdiInterop1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingFontsByLOGFONT)(::windows_core::Interface::as_raw(self), logfont, fontset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingFontsByLOGFONT)(::windows_core::Interface::as_raw(self), logfont, fontset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteGdiInterop1 {} @@ -6054,7 +6054,7 @@ pub struct IDWriteGdiInterop1_Vtbl { impl IDWriteGlyphRunAnalysis { pub unsafe fn GetAlphaTextureBounds(&self, texturetype: DWRITE_TEXTURE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlphaTextureBounds)(::windows_core::Interface::as_raw(self), texturetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlphaTextureBounds)(::windows_core::Interface::as_raw(self), texturetype, &mut result__).map(|| result__) } pub unsafe fn CreateAlphaTexture(&self, texturetype: DWRITE_TEXTURE_TYPE, texturebounds: *const super::super::Foundation::RECT, alphavalues: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateAlphaTexture)(::windows_core::Interface::as_raw(self), texturetype, texturebounds, ::core::mem::transmute(alphavalues.as_ptr()), alphavalues.len().try_into().unwrap()).ok() @@ -6081,7 +6081,7 @@ pub struct IDWriteGlyphRunAnalysis_Vtbl { impl IDWriteInMemoryFontFileLoader { pub unsafe fn CreateStreamFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInMemoryFontFileReference(&self, factory: P0, fontdata: *const ::core::ffi::c_void, fontdatasize: u32, ownerobject: P1) -> ::windows_core::Result where @@ -6089,7 +6089,7 @@ impl IDWriteInMemoryFontFileLoader { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInMemoryFontFileReference)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), fontdata, fontdatasize, ownerobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInMemoryFontFileReference)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), fontdata, fontdatasize, ownerobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFileCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetFileCount)(::windows_core::Interface::as_raw(self)) @@ -6118,11 +6118,11 @@ impl IDWriteInlineObject { } pub unsafe fn GetMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakConditions(&self, breakconditionbefore: *mut DWRITE_BREAK_CONDITION, breakconditionafter: *mut DWRITE_BREAK_CONDITION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakConditions)(::windows_core::Interface::as_raw(self), breakconditionbefore, breakconditionafter).ok() @@ -6144,18 +6144,18 @@ pub struct IDWriteInlineObject_Vtbl { impl IDWriteLocalFontFileLoader { pub unsafe fn CreateStreamFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilePathLengthFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilePathLengthFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilePathLengthFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).map(|| result__) } pub unsafe fn GetFilePathFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32, filepath: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFilePathFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, ::core::mem::transmute(filepath.as_ptr()), filepath.len().try_into().unwrap()).ok() } pub unsafe fn GetLastWriteTimeFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastWriteTimeFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastWriteTimeFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteLocalFontFileLoader {} @@ -6182,14 +6182,14 @@ impl IDWriteLocalizedStrings { } pub unsafe fn GetLocaleNameLength(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocaleNameLength)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocaleNameLength)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetLocaleName(&self, index: u32, localename: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLocaleName)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(localename.as_ptr()), localename.len().try_into().unwrap()).ok() } pub unsafe fn GetStringLength(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, index: u32, stringbuffer: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(stringbuffer.as_ptr()), stringbuffer.len().try_into().unwrap()).ok() @@ -6286,14 +6286,14 @@ pub struct IDWritePaintReader_Vtbl { impl IDWritePixelSnapping { pub unsafe fn IsPixelSnappingDisabled(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn GetCurrentTransform(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>, transform: *mut DWRITE_MATRIX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), transform).ok() } pub unsafe fn GetPixelsPerDip(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWritePixelSnapping {} @@ -6311,15 +6311,15 @@ pub struct IDWritePixelSnapping_Vtbl { impl IDWriteRemoteFontFileLoader { pub unsafe fn CreateStreamFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRemoteStreamFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRemoteStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRemoteStreamFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalityFromKey(&self, fontfilereferencekey: *const ::core::ffi::c_void, fontfilereferencekeysize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalityFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalityFromKey)(::windows_core::Interface::as_raw(self), fontfilereferencekey, fontfilereferencekeysize, &mut result__).map(|| result__) } pub unsafe fn CreateFontFileReferenceFromUrl(&self, factory: P0, baseurl: P1, fontfileurl: P2) -> ::windows_core::Result where @@ -6328,7 +6328,7 @@ impl IDWriteRemoteFontFileLoader { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontFileReferenceFromUrl)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), baseurl.into_param().abi(), fontfileurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontFileReferenceFromUrl)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), baseurl.into_param().abi(), fontfileurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteRemoteFontFileLoader {} @@ -6352,15 +6352,15 @@ impl IDWriteRemoteFontFileStream { } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileFragmentLocality(&self, fileoffset: u64, fragmentsize: u64, islocal: *mut super::super::Foundation::BOOL, partialsize: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFileFragmentLocality)(::windows_core::Interface::as_raw(self), fileoffset, fragmentsize, islocal, partialsize).ok() @@ -6370,7 +6370,7 @@ impl IDWriteRemoteFontFileStream { } pub unsafe fn BeginDownload(&self, downloadoperationid: *const ::windows_core::GUID, filefragments: &[DWRITE_FILE_FRAGMENT]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginDownload)(::windows_core::Interface::as_raw(self), downloadoperationid, ::core::mem::transmute(filefragments.as_ptr()), filefragments.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginDownload)(::windows_core::Interface::as_raw(self), downloadoperationid, ::core::mem::transmute(filefragments.as_ptr()), filefragments.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteRemoteFontFileStream {} @@ -6522,14 +6522,14 @@ impl IDWriteStringList { } pub unsafe fn GetLocaleNameLength(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocaleNameLength)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocaleNameLength)(::windows_core::Interface::as_raw(self), listindex, &mut result__).map(|| result__) } pub unsafe fn GetLocaleName(&self, listindex: u32, localename: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLocaleName)(::windows_core::Interface::as_raw(self), listindex, ::core::mem::transmute(localename.as_ptr()), localename.len().try_into().unwrap()).ok() } pub unsafe fn GetStringLength(&self, listindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), listindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), listindex, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, listindex: u32, stringbuffer: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), listindex, ::core::mem::transmute(stringbuffer.as_ptr()), stringbuffer.len().try_into().unwrap()).ok() @@ -7254,7 +7254,7 @@ impl IDWriteTextFormat { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -7369,7 +7369,7 @@ impl IDWriteTextFormat1 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -7424,7 +7424,7 @@ impl IDWriteTextFormat1 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteTextFormat1 {} @@ -7498,7 +7498,7 @@ impl IDWriteTextFormat2 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -7553,7 +7553,7 @@ impl IDWriteTextFormat2 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLineSpacing2(&self, linespacingoptions: *const DWRITE_LINE_SPACING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLineSpacing2)(::windows_core::Interface::as_raw(self), linespacingoptions).ok() @@ -7627,7 +7627,7 @@ impl IDWriteTextFormat3 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -7682,7 +7682,7 @@ impl IDWriteTextFormat3 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLineSpacing2(&self, linespacingoptions: *const DWRITE_LINE_SPACING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLineSpacing2)(::windows_core::Interface::as_raw(self), linespacingoptions).ok() @@ -7774,7 +7774,7 @@ impl IDWriteTextLayout { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -7928,14 +7928,14 @@ impl IDWriteTextLayout { } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClusterMetrics(&self, clustermetrics: ::core::option::Option<&mut [DWRITE_CLUSTER_METRICS]>, actualclustercount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClusterMetrics)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clustermetrics.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), clustermetrics.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), actualclustercount).ok() } pub unsafe fn DetermineMinWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HitTestPoint(&self, pointx: f32, pointy: f32, istrailinghit: *mut super::super::Foundation::BOOL, isinside: *mut super::super::Foundation::BOOL, hittestmetrics: *mut DWRITE_HIT_TEST_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).HitTestPoint)(::windows_core::Interface::as_raw(self), pointx, pointy, istrailinghit, isinside, hittestmetrics).ok() @@ -8052,7 +8052,7 @@ impl IDWriteTextLayout1 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -8206,14 +8206,14 @@ impl IDWriteTextLayout1 { } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClusterMetrics(&self, clustermetrics: ::core::option::Option<&mut [DWRITE_CLUSTER_METRICS]>, actualclustercount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetClusterMetrics)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clustermetrics.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), clustermetrics.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), actualclustercount).ok() } pub unsafe fn DetermineMinWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HitTestPoint(&self, pointx: f32, pointy: f32, istrailinghit: *mut super::super::Foundation::BOOL, isinside: *mut super::super::Foundation::BOOL, hittestmetrics: *mut DWRITE_HIT_TEST_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.HitTestPoint)(::windows_core::Interface::as_raw(self), pointx, pointy, istrailinghit, isinside, hittestmetrics).ok() @@ -8310,7 +8310,7 @@ impl IDWriteTextLayout2 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -8464,14 +8464,14 @@ impl IDWriteTextLayout2 { } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClusterMetrics(&self, clustermetrics: ::core::option::Option<&mut [DWRITE_CLUSTER_METRICS]>, actualclustercount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetClusterMetrics)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clustermetrics.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), clustermetrics.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), actualclustercount).ok() } pub unsafe fn DetermineMinWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HitTestPoint(&self, pointx: f32, pointy: f32, istrailinghit: *mut super::super::Foundation::BOOL, isinside: *mut super::super::Foundation::BOOL, hittestmetrics: *mut DWRITE_HIT_TEST_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.HitTestPoint)(::windows_core::Interface::as_raw(self), pointx, pointy, istrailinghit, isinside, hittestmetrics).ok() @@ -8532,7 +8532,7 @@ impl IDWriteTextLayout2 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDWriteTextLayout2 {} @@ -8607,7 +8607,7 @@ impl IDWriteTextLayout3 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -8761,14 +8761,14 @@ impl IDWriteTextLayout3 { } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClusterMetrics(&self, clustermetrics: ::core::option::Option<&mut [DWRITE_CLUSTER_METRICS]>, actualclustercount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetClusterMetrics)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clustermetrics.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), clustermetrics.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), actualclustercount).ok() } pub unsafe fn DetermineMinWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HitTestPoint(&self, pointx: f32, pointy: f32, istrailinghit: *mut super::super::Foundation::BOOL, isinside: *mut super::super::Foundation::BOOL, hittestmetrics: *mut DWRITE_HIT_TEST_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.HitTestPoint)(::windows_core::Interface::as_raw(self), pointx, pointy, istrailinghit, isinside, hittestmetrics).ok() @@ -8829,7 +8829,7 @@ impl IDWriteTextLayout3 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvalidateLayout(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InvalidateLayout)(::windows_core::Interface::as_raw(self)).ok() @@ -8911,7 +8911,7 @@ impl IDWriteTextLayout4 { } pub unsafe fn GetFontCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFontCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFontFamilyNameLength(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFontFamilyNameLength)(::windows_core::Interface::as_raw(self)) @@ -9065,14 +9065,14 @@ impl IDWriteTextLayout4 { } pub unsafe fn GetOverhangMetrics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetOverhangMetrics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClusterMetrics(&self, clustermetrics: ::core::option::Option<&mut [DWRITE_CLUSTER_METRICS]>, actualclustercount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClusterMetrics)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clustermetrics.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), clustermetrics.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), actualclustercount).ok() } pub unsafe fn DetermineMinWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DetermineMinWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HitTestPoint(&self, pointx: f32, pointy: f32, istrailinghit: *mut super::super::Foundation::BOOL, isinside: *mut super::super::Foundation::BOOL, hittestmetrics: *mut DWRITE_HIT_TEST_METRICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HitTestPoint)(::windows_core::Interface::as_raw(self), pointx, pointy, istrailinghit, isinside, hittestmetrics).ok() @@ -9133,7 +9133,7 @@ impl IDWriteTextLayout4 { } pub unsafe fn GetFontFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFontFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvalidateLayout(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.InvalidateLayout)(::windows_core::Interface::as_raw(self)).ok() @@ -9180,14 +9180,14 @@ pub struct IDWriteTextLayout4_Vtbl { impl IDWriteTextRenderer { pub unsafe fn IsPixelSnappingDisabled(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn GetCurrentTransform(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>, transform: *mut DWRITE_MATRIX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCurrentTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), transform).ok() } pub unsafe fn GetPixelsPerDip(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn DrawGlyphRun(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>, baselineoriginx: f32, baselineoriginy: f32, measuringmode: DWRITE_MEASURING_MODE, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, clientdrawingeffect: P0) -> ::windows_core::Result<()> where @@ -9233,14 +9233,14 @@ pub struct IDWriteTextRenderer_Vtbl { impl IDWriteTextRenderer1 { pub unsafe fn IsPixelSnappingDisabled(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsPixelSnappingDisabled)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn GetCurrentTransform(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>, transform: *mut DWRITE_MATRIX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetCurrentTransform)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), transform).ok() } pub unsafe fn GetPixelsPerDip(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPixelsPerDip)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clientdrawingcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn DrawGlyphRun(&self, clientdrawingcontext: ::core::option::Option<*const ::core::ffi::c_void>, baselineoriginx: f32, baselineoriginy: f32, measuringmode: DWRITE_MEASURING_MODE, glyphrun: *const DWRITE_GLYPH_RUN, glyphrundescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, clientdrawingeffect: P0) -> ::windows_core::Result<()> where @@ -9319,7 +9319,7 @@ impl IDWriteTypography { } pub unsafe fn GetFontFeature(&self, fontfeatureindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFeature)(::windows_core::Interface::as_raw(self), fontfeatureindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFeature)(::windows_core::Interface::as_raw(self), fontfeatureindex, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDWriteTypography {} diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Dwm/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Dwm/mod.rs index d6873915d1..bace8ca610 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Dwm/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Dwm/mod.rs @@ -77,7 +77,7 @@ where pub unsafe fn DwmGetGraphicsStreamClient(uindex: u32) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("dwmapi.dll" "system" fn DwmGetGraphicsStreamClient(uindex : u32, pclientuuid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DwmGetGraphicsStreamClient(uindex, &mut result__).from_abi(result__) + DwmGetGraphicsStreamClient(uindex, &mut result__).map(|| result__) } #[inline] pub unsafe fn DwmGetGraphicsStreamTransformHint(uindex: u32, ptransform: *mut MilMatrix3x2D) -> ::windows_core::Result<()> { @@ -96,7 +96,7 @@ where { ::windows_targets::link!("dwmapi.dll" "system" fn DwmGetUnmetTabRequirements(appwindow : super::super::Foundation:: HWND, value : *mut DWM_TAB_WINDOW_REQUIREMENTS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DwmGetUnmetTabRequirements(appwindow.into_param().abi(), &mut result__).from_abi(result__) + DwmGetUnmetTabRequirements(appwindow.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DwmGetWindowAttribute(hwnd: P0, dwattribute: DWMWINDOWATTRIBUTE, pvattribute: *mut ::core::ffi::c_void, cbattribute: u32) -> ::windows_core::Result<()> @@ -118,7 +118,7 @@ where pub unsafe fn DwmIsCompositionEnabled() -> ::windows_core::Result { ::windows_targets::link!("dwmapi.dll" "system" fn DwmIsCompositionEnabled(pfenabled : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DwmIsCompositionEnabled(&mut result__).from_abi(result__) + DwmIsCompositionEnabled(&mut result__).map(|| result__) } #[inline] pub unsafe fn DwmModifyPreviousDxFrameDuration(hwnd: P0, crefreshes: i32, frelative: P1) -> ::windows_core::Result<()> @@ -133,7 +133,7 @@ where pub unsafe fn DwmQueryThumbnailSourceSize(hthumbnail: isize) -> ::windows_core::Result { ::windows_targets::link!("dwmapi.dll" "system" fn DwmQueryThumbnailSourceSize(hthumbnail : isize, psize : *mut super::super::Foundation:: SIZE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DwmQueryThumbnailSourceSize(hthumbnail, &mut result__).from_abi(result__) + DwmQueryThumbnailSourceSize(hthumbnail, &mut result__).map(|| result__) } #[inline] pub unsafe fn DwmRegisterThumbnail(hwnddestination: P0, hwndsource: P1) -> ::windows_core::Result @@ -143,7 +143,7 @@ where { ::windows_targets::link!("dwmapi.dll" "system" fn DwmRegisterThumbnail(hwnddestination : super::super::Foundation:: HWND, hwndsource : super::super::Foundation:: HWND, phthumbnailid : *mut isize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DwmRegisterThumbnail(hwnddestination.into_param().abi(), hwndsource.into_param().abi(), &mut result__).from_abi(result__) + DwmRegisterThumbnail(hwnddestination.into_param().abi(), hwndsource.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DwmRenderGesture(gt: GESTURE_TYPE, ccontacts: u32, pdwpointerid: *const u32, ppoints: *const super::super::Foundation::POINT) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Dxgi/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Dxgi/mod.rs index f9cb00f26b..137ae3e678 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Dxgi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Dxgi/mod.rs @@ -7,7 +7,7 @@ where { ::windows_targets::link!("dxgi.dll" "system" fn CreateDXGIFactory(riid : *const ::windows_core::GUID, ppfactory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateDXGIFactory(&T::IID, &mut result__).from_abi(result__) + CreateDXGIFactory(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateDXGIFactory1() -> ::windows_core::Result @@ -16,7 +16,7 @@ where { ::windows_targets::link!("dxgi.dll" "system" fn CreateDXGIFactory1(riid : *const ::windows_core::GUID, ppfactory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateDXGIFactory1(&T::IID, &mut result__).from_abi(result__) + CreateDXGIFactory1(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateDXGIFactory2(flags: u32) -> ::windows_core::Result @@ -25,7 +25,7 @@ where { ::windows_targets::link!("dxgi.dll" "system" fn CreateDXGIFactory2(flags : u32, riid : *const ::windows_core::GUID, ppfactory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateDXGIFactory2(flags, &T::IID, &mut result__).from_abi(result__) + CreateDXGIFactory2(flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DXGIDeclareAdapterRemovalSupport() -> ::windows_core::Result<()> { @@ -44,7 +44,7 @@ where { ::windows_targets::link!("dxgi.dll" "system" fn DXGIGetDebugInterface1(flags : u32, riid : *const ::windows_core::GUID, pdebug : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DXGIGetDebugInterface1(flags, &T::IID, &mut result__).from_abi(result__) + DXGIGetDebugInterface1(flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDXGIAdapter, IDXGIAdapter_Vtbl, 0x2411e7e1_12ac_4ccf_bd14_9798e8534dc0); ::windows_core::imp::interface_hierarchy!(IDXGIAdapter, ::windows_core::IUnknown, IDXGIObject); @@ -66,18 +66,18 @@ impl IDXGIAdapter { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() } pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIAdapter {} @@ -110,18 +110,18 @@ impl IDXGIAdapter1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() } pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).map(|| result__) } pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDesc1)(::windows_core::Interface::as_raw(self), pdesc).ok() @@ -155,18 +155,18 @@ impl IDXGIAdapter2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() } pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).map(|| result__) } pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDesc1)(::windows_core::Interface::as_raw(self), pdesc).ok() @@ -203,18 +203,18 @@ impl IDXGIAdapter3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() } pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).map(|| result__) } pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDesc1)(::windows_core::Interface::as_raw(self), pdesc).ok() @@ -227,7 +227,7 @@ impl IDXGIAdapter3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterHardwareContentProtectionTeardownStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterHardwareContentProtectionTeardownStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).UnregisterHardwareContentProtectionTeardownStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -243,7 +243,7 @@ impl IDXGIAdapter3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterVideoMemoryBudgetChangeNotificationEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterVideoMemoryBudgetChangeNotificationEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).UnregisterVideoMemoryBudgetChangeNotification)(::windows_core::Interface::as_raw(self), dwcookie) @@ -282,18 +282,18 @@ impl IDXGIAdapter4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumOutputs)(::windows_core::Interface::as_raw(self), output, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok() } pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckInterfaceSupport)(::windows_core::Interface::as_raw(self), interfacename, &mut result__).map(|| result__) } pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetDesc1)(::windows_core::Interface::as_raw(self), pdesc).ok() @@ -306,7 +306,7 @@ impl IDXGIAdapter4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterHardwareContentProtectionTeardownStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterHardwareContentProtectionTeardownStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.UnregisterHardwareContentProtectionTeardownStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -322,7 +322,7 @@ impl IDXGIAdapter4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterVideoMemoryBudgetChangeNotificationEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterVideoMemoryBudgetChangeNotificationEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.UnregisterVideoMemoryBudgetChangeNotification)(::windows_core::Interface::as_raw(self), dwcookie) @@ -397,11 +397,11 @@ impl IDXGIDecodeSwapChain { } pub unsafe fn GetSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTargetRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDestSize(&self, pwidth: *mut u32, pheight: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDestSize)(::windows_core::Interface::as_raw(self), pwidth, pheight).ok() @@ -449,11 +449,11 @@ impl IDXGIDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, usage: DXGI_USAGE, psharedresource: ::core::option::Option<*const DXGI_SHARED_RESOURCE>, ppsurface: &mut [::core::option::Option]) -> ::windows_core::Result<()> { @@ -467,7 +467,7 @@ impl IDXGIDevice { } pub unsafe fn GetGPUThreadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIDevice {} @@ -505,11 +505,11 @@ impl IDXGIDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, usage: DXGI_USAGE, psharedresource: ::core::option::Option<*const DXGI_SHARED_RESOURCE>, ppsurface: &mut [::core::option::Option]) -> ::windows_core::Result<()> { @@ -523,14 +523,14 @@ impl IDXGIDevice1 { } pub unsafe fn GetGPUThreadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), maxlatency).ok() } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIDevice1 {} @@ -562,11 +562,11 @@ impl IDXGIDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, usage: DXGI_USAGE, psharedresource: ::core::option::Option<*const DXGI_SHARED_RESOURCE>, ppsurface: &mut [::core::option::Option]) -> ::windows_core::Result<()> { @@ -580,14 +580,14 @@ impl IDXGIDevice2 { } pub unsafe fn GetGPUThreadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), maxlatency).ok() } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OfferResources(&self, ppresources: &[::core::option::Option], priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OfferResources)(::windows_core::Interface::as_raw(self), ppresources.len().try_into().unwrap(), ::core::mem::transmute(ppresources.as_ptr()), priority).ok() @@ -632,11 +632,11 @@ impl IDXGIDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, usage: DXGI_USAGE, psharedresource: ::core::option::Option<*const DXGI_SHARED_RESOURCE>, ppsurface: &mut [::core::option::Option]) -> ::windows_core::Result<()> { @@ -650,14 +650,14 @@ impl IDXGIDevice3 { } pub unsafe fn GetGPUThreadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), maxlatency).ok() } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OfferResources(&self, ppresources: &[::core::option::Option], priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OfferResources)(::windows_core::Interface::as_raw(self), ppresources.len().try_into().unwrap(), ::core::mem::transmute(ppresources.as_ptr()), priority).ok() @@ -703,11 +703,11 @@ impl IDXGIDevice4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, usage: DXGI_USAGE, psharedresource: ::core::option::Option<*const DXGI_SHARED_RESOURCE>, ppsurface: &mut [::core::option::Option]) -> ::windows_core::Result<()> { @@ -721,14 +721,14 @@ impl IDXGIDevice4 { } pub unsafe fn GetGPUThreadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGPUThreadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), maxlatency).ok() } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OfferResources(&self, ppresources: &[::core::option::Option], priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.OfferResources)(::windows_core::Interface::as_raw(self), ppresources.len().try_into().unwrap(), ::core::mem::transmute(ppresources.as_ptr()), priority).ok() @@ -781,14 +781,14 @@ impl IDXGIDeviceSubObject { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIDeviceSubObject {} @@ -841,11 +841,11 @@ impl IDXGIFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -855,7 +855,7 @@ impl IDXGIFactory { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -869,7 +869,7 @@ impl IDXGIFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIFactory {} @@ -907,11 +907,11 @@ impl IDXGIFactory1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -921,7 +921,7 @@ impl IDXGIFactory1 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -935,11 +935,11 @@ impl IDXGIFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -974,11 +974,11 @@ impl IDXGIFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -988,7 +988,7 @@ impl IDXGIFactory2 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1002,11 +1002,11 @@ impl IDXGIFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1022,7 +1022,7 @@ impl IDXGIFactory2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1032,28 +1032,28 @@ impl IDXGIFactory2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1063,14 +1063,14 @@ impl IDXGIFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1082,7 +1082,7 @@ impl IDXGIFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIFactory2 {} @@ -1132,11 +1132,11 @@ impl IDXGIFactory3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -1146,7 +1146,7 @@ impl IDXGIFactory3 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1160,11 +1160,11 @@ impl IDXGIFactory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1180,7 +1180,7 @@ impl IDXGIFactory3 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1190,28 +1190,28 @@ impl IDXGIFactory3 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1221,14 +1221,14 @@ impl IDXGIFactory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1240,7 +1240,7 @@ impl IDXGIFactory3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCreationFlags(&self) -> u32 { (::windows_core::Interface::vtable(self).GetCreationFlags)(::windows_core::Interface::as_raw(self)) @@ -1274,11 +1274,11 @@ impl IDXGIFactory4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -1288,7 +1288,7 @@ impl IDXGIFactory4 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1302,11 +1302,11 @@ impl IDXGIFactory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1322,7 +1322,7 @@ impl IDXGIFactory4 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1332,28 +1332,28 @@ impl IDXGIFactory4 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1363,14 +1363,14 @@ impl IDXGIFactory4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1382,7 +1382,7 @@ impl IDXGIFactory4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCreationFlags(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.GetCreationFlags)(::windows_core::Interface::as_raw(self)) @@ -1392,14 +1392,14 @@ impl IDXGIFactory4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumWarpAdapter(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIFactory4 {} @@ -1431,11 +1431,11 @@ impl IDXGIFactory5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -1445,7 +1445,7 @@ impl IDXGIFactory5 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1459,11 +1459,11 @@ impl IDXGIFactory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1479,7 +1479,7 @@ impl IDXGIFactory5 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1489,28 +1489,28 @@ impl IDXGIFactory5 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1520,14 +1520,14 @@ impl IDXGIFactory5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1539,7 +1539,7 @@ impl IDXGIFactory5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCreationFlags(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.GetCreationFlags)(::windows_core::Interface::as_raw(self)) @@ -1549,14 +1549,14 @@ impl IDXGIFactory5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumWarpAdapter(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1590,11 +1590,11 @@ impl IDXGIFactory6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -1604,7 +1604,7 @@ impl IDXGIFactory6 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1618,11 +1618,11 @@ impl IDXGIFactory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1638,7 +1638,7 @@ impl IDXGIFactory6 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1648,28 +1648,28 @@ impl IDXGIFactory6 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1679,14 +1679,14 @@ impl IDXGIFactory6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1698,7 +1698,7 @@ impl IDXGIFactory6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCreationFlags(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.GetCreationFlags)(::windows_core::Interface::as_raw(self)) @@ -1708,14 +1708,14 @@ impl IDXGIFactory6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumWarpAdapter(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1725,7 +1725,7 @@ impl IDXGIFactory6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).EnumAdapterByGpuPreference)(::windows_core::Interface::as_raw(self), adapter, gpupreference, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdapterByGpuPreference)(::windows_core::Interface::as_raw(self), adapter, gpupreference, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIFactory6 {} @@ -1756,11 +1756,11 @@ impl IDXGIFactory7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumAdapters)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MakeWindowAssociation(&self, windowhandle: P0, flags: u32) -> ::windows_core::Result<()> where @@ -1770,7 +1770,7 @@ impl IDXGIFactory7 { } pub unsafe fn GetWindowAssociation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetWindowAssociation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChain(&self, pdevice: P0, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::core::option::Option) -> ::windows_core::HRESULT @@ -1784,11 +1784,11 @@ impl IDXGIFactory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSoftwareAdapter)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumAdapters1)(::windows_core::Interface::as_raw(self), adapter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsCurrent)(::windows_core::Interface::as_raw(self)) @@ -1804,7 +1804,7 @@ impl IDXGIFactory7 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForHwnd)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hwnd.into_param().abi(), pdesc, ::core::mem::transmute(pfullscreendesc.unwrap_or(::std::ptr::null())), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateSwapChainForCoreWindow(&self, pdevice: P0, pwindow: P1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: P2) -> ::windows_core::Result @@ -1814,28 +1814,28 @@ impl IDXGIFactory7 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForCoreWindow)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pwindow.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedResourceAdapterLuid(&self, hresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetSharedResourceAdapterLuid)(::windows_core::Interface::as_raw(self), hresource.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusWindow(&self, windowhandle: P0, wmsg: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterStereoStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterStereoStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterStereoStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UnregisterStereoStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1845,14 +1845,14 @@ impl IDXGIFactory7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterOcclusionStatusWindow)(::windows_core::Interface::as_raw(self), windowhandle.into_param().abi(), wmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterOcclusionStatusEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RegisterOcclusionStatusEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UnregisterOcclusionStatus)(::windows_core::Interface::as_raw(self), dwcookie) @@ -1864,7 +1864,7 @@ impl IDXGIFactory7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSwapChainForComposition)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCreationFlags(&self) -> u32 { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCreationFlags)(::windows_core::Interface::as_raw(self)) @@ -1874,14 +1874,14 @@ impl IDXGIFactory7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumAdapterByLuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(adapterluid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumWarpAdapter(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumWarpAdapter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok() @@ -1891,14 +1891,14 @@ impl IDXGIFactory7 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.EnumAdapterByGpuPreference)(::windows_core::Interface::as_raw(self), adapter, gpupreference, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAdapterByGpuPreference)(::windows_core::Interface::as_raw(self), adapter, gpupreference, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterAdaptersChangedEvent(&self, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterAdaptersChangedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterAdaptersChangedEvent)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterAdaptersChangedEvent(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterAdaptersChangedEvent)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1924,7 +1924,7 @@ impl IDXGIFactoryMedia { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSwapChainForCompositionSurfaceHandle)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hsurface.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSwapChainForCompositionSurfaceHandle)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hsurface.into_param().abi(), pdesc, prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecodeSwapChainForCompositionSurfaceHandle(&self, pdevice: P0, hsurface: P1, pdesc: *const DXGI_DECODE_SWAP_CHAIN_DESC, pyuvdecodebuffers: P2, prestricttooutput: P3) -> ::windows_core::Result where @@ -1934,7 +1934,7 @@ impl IDXGIFactoryMedia { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDecodeSwapChainForCompositionSurfaceHandle)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hsurface.into_param().abi(), pdesc, pyuvdecodebuffers.into_param().abi(), prestricttooutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDecodeSwapChainForCompositionSurfaceHandle)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), hsurface.into_param().abi(), pdesc, pyuvdecodebuffers.into_param().abi(), prestricttooutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIFactoryMedia {} @@ -2146,14 +2146,14 @@ impl IDXGIKeyedMutex { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcquireSync(&self, key: u64, dwmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AcquireSync)(::windows_core::Interface::as_raw(self), key, dwmilliseconds).ok() @@ -2191,7 +2191,7 @@ impl IDXGIObject { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIObject {} @@ -2225,7 +2225,7 @@ impl IDXGIOutput { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2340,7 +2340,7 @@ impl IDXGIOutput1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2419,7 +2419,7 @@ impl IDXGIOutput1 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIOutput1 {} @@ -2459,7 +2459,7 @@ impl IDXGIOutput2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2538,7 +2538,7 @@ impl IDXGIOutput2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).SupportsOverlays)(::windows_core::Interface::as_raw(self)) @@ -2572,7 +2572,7 @@ impl IDXGIOutput3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2651,7 +2651,7 @@ impl IDXGIOutput3 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.SupportsOverlays)(::windows_core::Interface::as_raw(self)) @@ -2662,7 +2662,7 @@ impl IDXGIOutput3 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIOutput3 {} @@ -2696,7 +2696,7 @@ impl IDXGIOutput4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2775,7 +2775,7 @@ impl IDXGIOutput4 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.SupportsOverlays)(::windows_core::Interface::as_raw(self)) @@ -2786,7 +2786,7 @@ impl IDXGIOutput4 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckOverlayColorSpaceSupport(&self, format: Common::DXGI_FORMAT, colorspace: Common::DXGI_COLOR_SPACE_TYPE, pconcerneddevice: P0) -> ::windows_core::Result @@ -2794,7 +2794,7 @@ impl IDXGIOutput4 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIOutput4 {} @@ -2828,7 +2828,7 @@ impl IDXGIOutput5 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -2907,7 +2907,7 @@ impl IDXGIOutput5 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.SupportsOverlays)(::windows_core::Interface::as_raw(self)) @@ -2918,7 +2918,7 @@ impl IDXGIOutput5 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckOverlayColorSpaceSupport(&self, format: Common::DXGI_FORMAT, colorspace: Common::DXGI_COLOR_SPACE_TYPE, pconcerneddevice: P0) -> ::windows_core::Result @@ -2926,7 +2926,7 @@ impl IDXGIOutput5 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn DuplicateOutput1(&self, pdevice: P0, flags: u32, psupportedformats: &[Common::DXGI_FORMAT]) -> ::windows_core::Result @@ -2934,7 +2934,7 @@ impl IDXGIOutput5 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateOutput1)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), flags, psupportedformats.len().try_into().unwrap(), ::core::mem::transmute(psupportedformats.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateOutput1)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), flags, psupportedformats.len().try_into().unwrap(), ::core::mem::transmute(psupportedformats.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGIOutput5 {} @@ -2968,7 +2968,7 @@ impl IDXGIOutput6 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows_core::Result<()> { @@ -3047,7 +3047,7 @@ impl IDXGIOutput6 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DuplicateOutput)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupportsOverlays)(::windows_core::Interface::as_raw(self)) @@ -3058,7 +3058,7 @@ impl IDXGIOutput6 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckOverlaySupport)(::windows_core::Interface::as_raw(self), enumformat, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckOverlayColorSpaceSupport(&self, format: Common::DXGI_FORMAT, colorspace: Common::DXGI_COLOR_SPACE_TYPE, pconcerneddevice: P0) -> ::windows_core::Result @@ -3066,7 +3066,7 @@ impl IDXGIOutput6 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckOverlayColorSpaceSupport)(::windows_core::Interface::as_raw(self), format, colorspace, pconcerneddevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn DuplicateOutput1(&self, pdevice: P0, flags: u32, psupportedformats: &[Common::DXGI_FORMAT]) -> ::windows_core::Result @@ -3074,7 +3074,7 @@ impl IDXGIOutput6 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DuplicateOutput1)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), flags, psupportedformats.len().try_into().unwrap(), ::core::mem::transmute(psupportedformats.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DuplicateOutput1)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), flags, psupportedformats.len().try_into().unwrap(), ::core::mem::transmute(psupportedformats.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Dxgi_Common", feature = "Win32_Graphics_Gdi"))] pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_OUTPUT_DESC1) -> ::windows_core::Result<()> { @@ -3082,7 +3082,7 @@ impl IDXGIOutput6 { } pub unsafe fn CheckHardwareCompositionSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckHardwareCompositionSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckHardwareCompositionSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIOutput6 {} @@ -3117,7 +3117,7 @@ impl IDXGIOutputDuplication { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_OUTDUPL_DESC) { @@ -3137,7 +3137,7 @@ impl IDXGIOutputDuplication { } pub unsafe fn MapDesktopSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapDesktopSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapDesktopSurface)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UnMapDesktopSurface(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnMapDesktopSurface)(::windows_core::Interface::as_raw(self)).ok() @@ -3184,29 +3184,29 @@ impl IDXGIResource { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharedHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharedHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority).ok() } pub unsafe fn GetEvictionPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEvictionPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEvictionPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIResource {} @@ -3240,33 +3240,33 @@ impl IDXGIResource1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSharedHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSharedHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSharedHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEvictionPriority)(::windows_core::Interface::as_raw(self), evictionpriority).ok() } pub unsafe fn GetEvictionPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEvictionPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEvictionPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateSubresourceSurface(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSubresourceSurface)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSubresourceSurface)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] pub unsafe fn CreateSharedHandle(&self, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, dwaccess: u32, lpname: P0) -> ::windows_core::Result @@ -3274,7 +3274,7 @@ impl IDXGIResource1 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), dwaccess, lpname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), dwaccess, lpname.into_param().abi(), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGIResource1 {} @@ -3309,14 +3309,14 @@ impl IDXGISurface { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_SURFACE_DESC) -> ::windows_core::Result<()> { @@ -3362,14 +3362,14 @@ impl IDXGISurface1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_SURFACE_DESC) -> ::windows_core::Result<()> { @@ -3387,7 +3387,7 @@ impl IDXGISurface1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), discard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), discard.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReleaseDC(&self, pdirtyrect: ::core::option::Option<*const super::super::Foundation::RECT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseDC)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdirtyrect.unwrap_or(::std::ptr::null()))).ok() @@ -3425,14 +3425,14 @@ impl IDXGISurface2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc(&self, pdesc: *mut DXGI_SURFACE_DESC) -> ::windows_core::Result<()> { @@ -3450,7 +3450,7 @@ impl IDXGISurface2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDC)(::windows_core::Interface::as_raw(self), discard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDC)(::windows_core::Interface::as_raw(self), discard.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReleaseDC(&self, pdirtyrect: ::core::option::Option<*const super::super::Foundation::RECT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ReleaseDC)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdirtyrect.unwrap_or(::std::ptr::null()))).ok() @@ -3460,7 +3460,7 @@ impl IDXGISurface2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__, psubresourceindex).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__, psubresourceindex).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IDXGISurface2 {} @@ -3491,14 +3491,14 @@ impl IDXGISwapChain { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present(&self, syncinterval: u32, flags: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).Present)(::windows_core::Interface::as_raw(self), syncinterval, flags) @@ -3508,7 +3508,7 @@ impl IDXGISwapChain { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullscreenState(&self, fullscreen: P0, ptarget: P1) -> ::windows_core::Result<()> where @@ -3534,14 +3534,14 @@ impl IDXGISwapChain { } pub unsafe fn GetContainingOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameStatistics(&self, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFrameStatistics)(::windows_core::Interface::as_raw(self), pstats).ok() } pub unsafe fn GetLastPresentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGISwapChain {} @@ -3590,14 +3590,14 @@ impl IDXGISwapChain1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present(&self, syncinterval: u32, flags: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.Present)(::windows_core::Interface::as_raw(self), syncinterval, flags) @@ -3607,7 +3607,7 @@ impl IDXGISwapChain1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullscreenState(&self, fullscreen: P0, ptarget: P1) -> ::windows_core::Result<()> where @@ -3633,14 +3633,14 @@ impl IDXGISwapChain1 { } pub unsafe fn GetContainingOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameStatistics(&self, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetFrameStatistics)(::windows_core::Interface::as_raw(self), pstats).ok() } pub unsafe fn GetLastPresentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_SWAP_CHAIN_DESC1) -> ::windows_core::Result<()> { @@ -3652,14 +3652,14 @@ impl IDXGISwapChain1 { } pub unsafe fn GetHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCoreWindow(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present1(&self, syncinterval: u32, presentflags: u32, ppresentparameters: *const DXGI_PRESENT_PARAMETERS) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).Present1)(::windows_core::Interface::as_raw(self), syncinterval, presentflags, ppresentparameters) @@ -3669,14 +3669,14 @@ impl IDXGISwapChain1 { } pub unsafe fn GetRestrictToOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackgroundColor(&self, pcolor: *const DXGI_RGBA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackgroundColor)(::windows_core::Interface::as_raw(self), pcolor).ok() } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetRotation(&self, rotation: Common::DXGI_MODE_ROTATION) -> ::windows_core::Result<()> { @@ -3685,7 +3685,7 @@ impl IDXGISwapChain1 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } unsafe impl ::core::marker::Send for IDXGISwapChain1 {} @@ -3738,14 +3738,14 @@ impl IDXGISwapChain2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present(&self, syncinterval: u32, flags: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.Present)(::windows_core::Interface::as_raw(self), syncinterval, flags) @@ -3755,7 +3755,7 @@ impl IDXGISwapChain2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullscreenState(&self, fullscreen: P0, ptarget: P1) -> ::windows_core::Result<()> where @@ -3781,14 +3781,14 @@ impl IDXGISwapChain2 { } pub unsafe fn GetContainingOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameStatistics(&self, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetFrameStatistics)(::windows_core::Interface::as_raw(self), pstats).ok() } pub unsafe fn GetLastPresentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_SWAP_CHAIN_DESC1) -> ::windows_core::Result<()> { @@ -3800,14 +3800,14 @@ impl IDXGISwapChain2 { } pub unsafe fn GetHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCoreWindow(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present1(&self, syncinterval: u32, presentflags: u32, ppresentparameters: *const DXGI_PRESENT_PARAMETERS) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.Present1)(::windows_core::Interface::as_raw(self), syncinterval, presentflags, ppresentparameters) @@ -3817,14 +3817,14 @@ impl IDXGISwapChain2 { } pub unsafe fn GetRestrictToOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackgroundColor(&self, pcolor: *const DXGI_RGBA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBackgroundColor)(::windows_core::Interface::as_raw(self), pcolor).ok() } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetRotation(&self, rotation: Common::DXGI_MODE_ROTATION) -> ::windows_core::Result<()> { @@ -3833,7 +3833,7 @@ impl IDXGISwapChain2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceSize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -3846,7 +3846,7 @@ impl IDXGISwapChain2 { } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrameLatencyWaitableObject(&self) -> super::super::Foundation::HANDLE { (::windows_core::Interface::vtable(self).GetFrameLatencyWaitableObject)(::windows_core::Interface::as_raw(self)) @@ -3892,14 +3892,14 @@ impl IDXGISwapChain3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present(&self, syncinterval: u32, flags: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.base__.Present)(::windows_core::Interface::as_raw(self), syncinterval, flags) @@ -3909,7 +3909,7 @@ impl IDXGISwapChain3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullscreenState(&self, fullscreen: P0, ptarget: P1) -> ::windows_core::Result<()> where @@ -3935,14 +3935,14 @@ impl IDXGISwapChain3 { } pub unsafe fn GetContainingOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameStatistics(&self, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFrameStatistics)(::windows_core::Interface::as_raw(self), pstats).ok() } pub unsafe fn GetLastPresentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_SWAP_CHAIN_DESC1) -> ::windows_core::Result<()> { @@ -3954,14 +3954,14 @@ impl IDXGISwapChain3 { } pub unsafe fn GetHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCoreWindow(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present1(&self, syncinterval: u32, presentflags: u32, ppresentparameters: *const DXGI_PRESENT_PARAMETERS) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.Present1)(::windows_core::Interface::as_raw(self), syncinterval, presentflags, ppresentparameters) @@ -3971,14 +3971,14 @@ impl IDXGISwapChain3 { } pub unsafe fn GetRestrictToOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackgroundColor(&self, pcolor: *const DXGI_RGBA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetBackgroundColor)(::windows_core::Interface::as_raw(self), pcolor).ok() } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetRotation(&self, rotation: Common::DXGI_MODE_ROTATION) -> ::windows_core::Result<()> { @@ -3987,7 +3987,7 @@ impl IDXGISwapChain3 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceSize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -4000,7 +4000,7 @@ impl IDXGISwapChain3 { } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrameLatencyWaitableObject(&self) -> super::super::Foundation::HANDLE { (::windows_core::Interface::vtable(self).base__.GetFrameLatencyWaitableObject)(::windows_core::Interface::as_raw(self)) @@ -4017,7 +4017,7 @@ impl IDXGISwapChain3 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckColorSpaceSupport(&self, colorspace: Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckColorSpaceSupport)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckColorSpaceSupport)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetColorSpace1(&self, colorspace: Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result<()> { @@ -4068,14 +4068,14 @@ impl IDXGISwapChain4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present(&self, syncinterval: u32, flags: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Present)(::windows_core::Interface::as_raw(self), syncinterval, flags) @@ -4085,7 +4085,7 @@ impl IDXGISwapChain4 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), buffer, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullscreenState(&self, fullscreen: P0, ptarget: P1) -> ::windows_core::Result<()> where @@ -4111,14 +4111,14 @@ impl IDXGISwapChain4 { } pub unsafe fn GetContainingOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetContainingOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameStatistics(&self, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFrameStatistics)(::windows_core::Interface::as_raw(self), pstats).ok() } pub unsafe fn GetLastPresentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLastPresentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetDesc1(&self, pdesc: *mut DXGI_SWAP_CHAIN_DESC1) -> ::windows_core::Result<()> { @@ -4130,14 +4130,14 @@ impl IDXGISwapChain4 { } pub unsafe fn GetHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCoreWindow(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCoreWindow)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Present1(&self, syncinterval: u32, presentflags: u32, ppresentparameters: *const DXGI_PRESENT_PARAMETERS) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.base__.Present1)(::windows_core::Interface::as_raw(self), syncinterval, presentflags, ppresentparameters) @@ -4147,14 +4147,14 @@ impl IDXGISwapChain4 { } pub unsafe fn GetRestrictToOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRestrictToOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackgroundColor(&self, pcolor: *const DXGI_RGBA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetBackgroundColor)(::windows_core::Interface::as_raw(self), pcolor).ok() } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetRotation(&self, rotation: Common::DXGI_MODE_ROTATION) -> ::windows_core::Result<()> { @@ -4163,7 +4163,7 @@ impl IDXGISwapChain4 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, width: u32, height: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSourceSize)(::windows_core::Interface::as_raw(self), width, height).ok() @@ -4176,7 +4176,7 @@ impl IDXGISwapChain4 { } pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaximumFrameLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrameLatencyWaitableObject(&self) -> super::super::Foundation::HANDLE { (::windows_core::Interface::vtable(self).base__.base__.GetFrameLatencyWaitableObject)(::windows_core::Interface::as_raw(self)) @@ -4193,7 +4193,7 @@ impl IDXGISwapChain4 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CheckColorSpaceSupport(&self, colorspace: Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckColorSpaceSupport)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckColorSpaceSupport)(::windows_core::Interface::as_raw(self), colorspace, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn SetColorSpace1(&self, colorspace: Common::DXGI_COLOR_SPACE_TYPE) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/D2D/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/D2D/mod.rs index ce8c1ecd63..8f92d1aebf 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/D2D/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/D2D/mod.rs @@ -51,7 +51,7 @@ impl IWICImagingFactory2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDecoderFromStream(&self, pistream: P0, pguidvendor: *const ::windows_core::GUID, metadataoptions: super::WICDecodeOptions) -> ::windows_core::Result @@ -59,78 +59,78 @@ impl IWICImagingFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows_core::GUID, metadataoptions: super::WICDecodeOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFormatConverter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapScaler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorTransformer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, option: super::WICBitmapCreateCacheOption) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSource(&self, pibitmapsource: P0, option: super::WICBitmapCreateCacheOption) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSourceRect(&self, pibitmapsource: P0, x: u32, y: u32, width: u32, height: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, cbstride: u32, pbbuffer: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateBitmapFromHBITMAP(&self, hbitmap: P0, hpalette: P1, options: super::WICBitmapAlphaChannelOption) -> ::windows_core::Result @@ -139,7 +139,7 @@ impl IWICImagingFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn CreateBitmapFromHICON(&self, hicon: P0) -> ::windows_core::Result @@ -147,37 +147,37 @@ impl IWICImagingFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromDecoder(&self, pidecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromFrameDecode(&self, piframedecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriterFromReader(&self, piqueryreader: P0, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D")] pub unsafe fn CreateImageEncoder(&self, pd2ddevice: P0) -> ::windows_core::Result @@ -185,7 +185,7 @@ impl IWICImagingFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageEncoder)(::windows_core::Interface::as_raw(self), pd2ddevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageEncoder)(::windows_core::Interface::as_raw(self), pd2ddevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/mod.rs index 8d7a485419..6c2994590d 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Imaging/mod.rs @@ -7,7 +7,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICConvertBitmapSource(dstformat : *const ::windows_core::GUID, pisrc : * mut::core::ffi::c_void, ppidst : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICConvertBitmapSource(dstformat, pisrc.into_param().abi(), &mut result__).from_abi(result__) + WICConvertBitmapSource(dstformat, pisrc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WICCreateBitmapFromSection(width: u32, height: u32, pixelformat: *const ::windows_core::GUID, hsection: P0, stride: u32, offset: u32) -> ::windows_core::Result @@ -16,7 +16,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICCreateBitmapFromSection(width : u32, height : u32, pixelformat : *const ::windows_core::GUID, hsection : super::super::Foundation:: HANDLE, stride : u32, offset : u32, ppibitmap : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICCreateBitmapFromSection(width, height, pixelformat, hsection.into_param().abi(), stride, offset, &mut result__).from_abi(result__) + WICCreateBitmapFromSection(width, height, pixelformat, hsection.into_param().abi(), stride, offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WICCreateBitmapFromSectionEx(width: u32, height: u32, pixelformat: *const ::windows_core::GUID, hsection: P0, stride: u32, offset: u32, desiredaccesslevel: WICSectionAccessLevel) -> ::windows_core::Result @@ -25,7 +25,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICCreateBitmapFromSectionEx(width : u32, height : u32, pixelformat : *const ::windows_core::GUID, hsection : super::super::Foundation:: HANDLE, stride : u32, offset : u32, desiredaccesslevel : WICSectionAccessLevel, ppibitmap : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICCreateBitmapFromSectionEx(width, height, pixelformat, hsection.into_param().abi(), stride, offset, desiredaccesslevel, &mut result__).from_abi(result__) + WICCreateBitmapFromSectionEx(width, height, pixelformat, hsection.into_param().abi(), stride, offset, desiredaccesslevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WICGetMetadataContentSize(guidcontainerformat: *const ::windows_core::GUID, piwriter: P0) -> ::windows_core::Result @@ -34,7 +34,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICGetMetadataContentSize(guidcontainerformat : *const ::windows_core::GUID, piwriter : * mut::core::ffi::c_void, pcbsize : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICGetMetadataContentSize(guidcontainerformat, piwriter.into_param().abi(), &mut result__).from_abi(result__) + WICGetMetadataContentSize(guidcontainerformat, piwriter.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WICMapGuidToShortName(guid: *const ::windows_core::GUID, wzname: ::core::option::Option<&mut [u16]>, pcchactual: *mut u32) -> ::windows_core::Result<()> { @@ -56,7 +56,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICMapShortNameToGuid(wzname : ::windows_core::PCWSTR, pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICMapShortNameToGuid(wzname.into_param().abi(), &mut result__).from_abi(result__) + WICMapShortNameToGuid(wzname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -66,7 +66,7 @@ where { ::windows_targets::link!("windowscodecs.dll" "system" fn WICMatchMetadataContent(guidcontainerformat : *const ::windows_core::GUID, pguidvendor : *const ::windows_core::GUID, pistream : * mut::core::ffi::c_void, pguidmetadataformat : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WICMatchMetadataContent(guidcontainerformat, ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), pistream.into_param().abi(), &mut result__).from_abi(result__) + WICMatchMetadataContent(guidcontainerformat, ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), pistream.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -86,7 +86,7 @@ impl IWICBitmap { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -102,7 +102,7 @@ impl IWICBitmap { } pub unsafe fn Lock(&self, prclock: *const WICRect, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Lock)(::windows_core::Interface::as_raw(self), prclock, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Lock)(::windows_core::Interface::as_raw(self), prclock, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPalette(&self, pipalette: P0) -> ::windows_core::Result<()> where @@ -130,7 +130,7 @@ impl IWICBitmapClipper { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -162,22 +162,22 @@ pub struct IWICBitmapClipper_Vtbl { impl IWICBitmapCodecInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -190,7 +190,7 @@ impl IWICBitmapCodecInfo { } pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPixelFormats(&self, pguidpixelformats: &mut [::windows_core::GUID], pcactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPixelFormats)(::windows_core::Interface::as_raw(self), pguidpixelformats.len().try_into().unwrap(), ::core::mem::transmute(pguidpixelformats.as_ptr()), pcactual).ok() @@ -212,26 +212,26 @@ impl IWICBitmapCodecInfo { } pub unsafe fn DoesSupportAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportChromakey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportLossless(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportMultiframe(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MatchesMimeType(&self, wzmimetype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -273,7 +273,7 @@ impl IWICBitmapDecoder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCapability)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCapability)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Initialize(&self, pistream: P0, cacheoptions: WICDecodeOptions) -> ::windows_core::Result<()> @@ -284,11 +284,11 @@ impl IWICBitmapDecoder { } pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDecoderInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDecoderInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDecoderInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyPalette(&self, pipalette: P0) -> ::windows_core::Result<()> where @@ -298,26 +298,26 @@ impl IWICBitmapDecoder { } pub unsafe fn GetMetadataQueryReader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreview(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreview)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreview)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorContexts(&self, ppicolorcontexts: &mut [::core::option::Option], pcactualcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorContexts)(::windows_core::Interface::as_raw(self), ppicolorcontexts.len().try_into().unwrap(), ::core::mem::transmute(ppicolorcontexts.as_ptr()), pcactualcount).ok() } pub unsafe fn GetThumbnail(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFrameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrame(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrame)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrame)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -347,22 +347,22 @@ pub struct IWICBitmapDecoder_Vtbl { impl IWICBitmapDecoderInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -375,7 +375,7 @@ impl IWICBitmapDecoderInfo { } pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPixelFormats(&self, pguidpixelformats: &mut [::windows_core::GUID], pcactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPixelFormats)(::windows_core::Interface::as_raw(self), pguidpixelformats.len().try_into().unwrap(), ::core::mem::transmute(pguidpixelformats.as_ptr()), pcactual).ok() @@ -397,26 +397,26 @@ impl IWICBitmapDecoderInfo { } pub unsafe fn DoesSupportAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportChromakey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportLossless(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportMultiframe(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MatchesMimeType(&self, wzmimetype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPatterns(&self, cbsizepatterns: u32, ppatterns: ::core::option::Option<*mut WICBitmapPattern>, pcpatterns: ::core::option::Option<*mut u32>, pcbpatternsactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPatterns)(::windows_core::Interface::as_raw(self), cbsizepatterns, ::core::mem::transmute(ppatterns.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcpatterns.unwrap_or(::std::ptr::null_mut())), pcbpatternsactual).ok() @@ -427,11 +427,11 @@ impl IWICBitmapDecoderInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesPattern)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesPattern)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -457,11 +457,11 @@ impl IWICBitmapEncoder { } pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEncoderInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEncoderInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEncoderInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetColorContexts(&self, ppicolorcontext: &[::core::option::Option]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColorContexts)(::windows_core::Interface::as_raw(self), ppicolorcontext.len().try_into().unwrap(), ::core::mem::transmute(ppicolorcontext.as_ptr())).ok() @@ -493,7 +493,7 @@ impl IWICBitmapEncoder { } pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -522,22 +522,22 @@ pub struct IWICBitmapEncoder_Vtbl { impl IWICBitmapEncoderInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -550,7 +550,7 @@ impl IWICBitmapEncoderInfo { } pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPixelFormats(&self, pguidpixelformats: &mut [::windows_core::GUID], pcactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPixelFormats)(::windows_core::Interface::as_raw(self), pguidpixelformats.len().try_into().unwrap(), ::core::mem::transmute(pguidpixelformats.as_ptr()), pcactual).ok() @@ -572,30 +572,30 @@ impl IWICBitmapEncoderInfo { } pub unsafe fn DoesSupportAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportAnimation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportChromakey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportChromakey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportLossless(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportLossless)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportMultiframe(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportMultiframe)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MatchesMimeType(&self, wzmimetype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MatchesMimeType)(::windows_core::Interface::as_raw(self), wzmimetype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -612,7 +612,7 @@ impl IWICBitmapFlipRotator { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -647,7 +647,7 @@ impl IWICBitmapFrameDecode { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -663,14 +663,14 @@ impl IWICBitmapFrameDecode { } pub unsafe fn GetMetadataQueryReader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorContexts(&self, ppicolorcontexts: &mut [::core::option::Option], pcactualcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColorContexts)(::windows_core::Interface::as_raw(self), ppicolorcontexts.len().try_into().unwrap(), ::core::mem::transmute(ppicolorcontexts.as_ptr()), pcactualcount).ok() } pub unsafe fn GetThumbnail(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -729,7 +729,7 @@ impl IWICBitmapFrameEncode { } pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -759,14 +759,14 @@ impl IWICBitmapLock { } pub unsafe fn GetStride(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStride)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStride)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataPointer(&self, pcbbuffersize: *mut u32, ppbdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDataPointer)(::windows_core::Interface::as_raw(self), pcbbuffersize, ppbdata).ok() } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -786,7 +786,7 @@ impl IWICBitmapScaler { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -821,7 +821,7 @@ impl IWICBitmapSource { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -860,7 +860,7 @@ impl IWICBitmapSourceTransform { } pub unsafe fn DoesSupportTransform(&self, dsttransform: WICBitmapTransformOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportTransform)(::windows_core::Interface::as_raw(self), dsttransform, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportTransform)(::windows_core::Interface::as_raw(self), dsttransform, &mut result__).map(|| result__) } } #[repr(C)] @@ -889,14 +889,14 @@ impl IWICColorContext { } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProfileBytes(&self, pbbuffer: &mut [u8], pcbactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProfileBytes)(::windows_core::Interface::as_raw(self), pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), pcbactual).ok() } pub unsafe fn GetExifColorSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExifColorSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExifColorSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -918,7 +918,7 @@ impl IWICColorTransform { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -955,7 +955,7 @@ impl IWICComponentFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDecoderFromStream(&self, pistream: P0, pguidvendor: *const ::windows_core::GUID, metadataoptions: WICDecodeOptions) -> ::windows_core::Result @@ -963,78 +963,78 @@ impl IWICComponentFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows_core::GUID, metadataoptions: WICDecodeOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFormatConverter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapScaler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorTransformer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, option: WICBitmapCreateCacheOption) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSource(&self, pibitmapsource: P0, option: WICBitmapCreateCacheOption) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSourceRect(&self, pibitmapsource: P0, x: u32, y: u32, width: u32, height: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, cbstride: u32, pbbuffer: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateBitmapFromHBITMAP(&self, hbitmap: P0, hpalette: P1, options: WICBitmapAlphaChannelOption) -> ::windows_core::Result @@ -1043,7 +1043,7 @@ impl IWICComponentFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn CreateBitmapFromHICON(&self, hicon: P0) -> ::windows_core::Result @@ -1051,37 +1051,37 @@ impl IWICComponentFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromDecoder(&self, pidecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromFrameDecode(&self, piframedecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriterFromReader(&self, piqueryreader: P0, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateMetadataReader(&self, guidmetadataformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID, dwoptions: u32, pistream: P0) -> ::windows_core::Result @@ -1089,7 +1089,7 @@ impl IWICComponentFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadataReader)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, dwoptions, pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadataReader)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, dwoptions, pistream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateMetadataReaderFromContainer(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID, dwoptions: u32, pistream: P0) -> ::windows_core::Result @@ -1097,37 +1097,37 @@ impl IWICComponentFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadataReaderFromContainer)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, dwoptions, pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadataReaderFromContainer)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, dwoptions, pistream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMetadataWriter(&self, guidmetadataformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID, dwmetadataoptions: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadataWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, dwmetadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadataWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, dwmetadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMetadataWriterFromReader(&self, pireader: P0, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadataWriterFromReader)(::windows_core::Interface::as_raw(self), pireader.into_param().abi(), pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadataWriterFromReader)(::windows_core::Interface::as_raw(self), pireader.into_param().abi(), pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryReaderFromBlockReader(&self, piblockreader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQueryReaderFromBlockReader)(::windows_core::Interface::as_raw(self), piblockreader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQueryReaderFromBlockReader)(::windows_core::Interface::as_raw(self), piblockreader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriterFromBlockWriter(&self, piblockwriter: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQueryWriterFromBlockWriter)(::windows_core::Interface::as_raw(self), piblockwriter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQueryWriterFromBlockWriter)(::windows_core::Interface::as_raw(self), piblockwriter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Variant"))] pub unsafe fn CreateEncoderPropertyBag(&self, ppropoptions: &[super::super::System::Com::StructuredStorage::PROPBAG2]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncoderPropertyBag)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropoptions.as_ptr()), ppropoptions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncoderPropertyBag)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropoptions.as_ptr()), ppropoptions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1156,22 +1156,22 @@ pub struct IWICComponentFactory_Vtbl { impl IWICComponentInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -1205,7 +1205,7 @@ impl IWICDdsDecoder { } pub unsafe fn GetFrame(&self, arrayindex: u32, miplevel: u32, sliceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrame)(::windows_core::Interface::as_raw(self), arrayindex, miplevel, sliceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrame)(::windows_core::Interface::as_raw(self), arrayindex, miplevel, sliceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1256,7 +1256,7 @@ impl IWICDdsFrameDecode { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetFormatInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyBlocks(&self, prcboundsinblocks: *const WICRect, cbstride: u32, pbbuffer: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CopyBlocks)(::windows_core::Interface::as_raw(self), prcboundsinblocks, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr())).ok() @@ -1281,7 +1281,7 @@ impl IWICDevelopRaw { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -1297,14 +1297,14 @@ impl IWICDevelopRaw { } pub unsafe fn GetMetadataQueryReader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadataQueryReader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorContexts(&self, ppicolorcontexts: &mut [::core::option::Option], pcactualcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetColorContexts)(::windows_core::Interface::as_raw(self), ppicolorcontexts.len().try_into().unwrap(), ::core::mem::transmute(ppicolorcontexts.as_ptr()), pcactualcount).ok() } pub unsafe fn GetThumbnail(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryRawCapabilitiesInfo(&self, pinfo: *mut WICRawCapabilitiesInfo) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryRawCapabilitiesInfo)(::windows_core::Interface::as_raw(self), pinfo).ok() @@ -1315,14 +1315,14 @@ impl IWICDevelopRaw { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetCurrentParameterSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentParameterSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentParameterSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExposureCompensation(&self, ev: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExposureCompensation)(::windows_core::Interface::as_raw(self), ev).ok() } pub unsafe fn GetExposureCompensation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExposureCompensation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExposureCompensation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWhitePointRGB(&self, red: u32, green: u32, blue: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWhitePointRGB)(::windows_core::Interface::as_raw(self), red, green, blue).ok() @@ -1335,14 +1335,14 @@ impl IWICDevelopRaw { } pub unsafe fn GetNamedWhitePoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamedWhitePoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamedWhitePoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWhitePointKelvin(&self, whitepointkelvin: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWhitePointKelvin)(::windows_core::Interface::as_raw(self), whitepointkelvin).ok() } pub unsafe fn GetWhitePointKelvin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWhitePointKelvin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWhitePointKelvin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKelvinRangeInfo(&self, pminkelvintemp: *mut u32, pmaxkelvintemp: *mut u32, pkelvintempstepvalue: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetKelvinRangeInfo)(::windows_core::Interface::as_raw(self), pminkelvintemp, pmaxkelvintemp, pkelvintempstepvalue).ok() @@ -1352,42 +1352,42 @@ impl IWICDevelopRaw { } pub unsafe fn GetContrast(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContrast)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContrast)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGamma(&self, gamma: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGamma)(::windows_core::Interface::as_raw(self), gamma).ok() } pub unsafe fn GetGamma(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGamma)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGamma)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSharpness(&self, sharpness: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSharpness)(::windows_core::Interface::as_raw(self), sharpness).ok() } pub unsafe fn GetSharpness(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharpness)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharpness)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSaturation(&self, saturation: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSaturation)(::windows_core::Interface::as_raw(self), saturation).ok() } pub unsafe fn GetSaturation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSaturation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSaturation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTint(&self, tint: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTint)(::windows_core::Interface::as_raw(self), tint).ok() } pub unsafe fn GetTint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoiseReduction(&self, noisereduction: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNoiseReduction)(::windows_core::Interface::as_raw(self), noisereduction).ok() } pub unsafe fn GetNoiseReduction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNoiseReduction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNoiseReduction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationColorContext(&self, pcolorcontext: P0) -> ::windows_core::Result<()> where @@ -1406,14 +1406,14 @@ impl IWICDevelopRaw { } pub unsafe fn GetRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderMode(&self, rendermode: WICRawRenderMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderMode)(::windows_core::Interface::as_raw(self), rendermode).ok() } pub unsafe fn GetRenderMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationCallback(&self, pcallback: P0) -> ::windows_core::Result<()> where @@ -1489,7 +1489,7 @@ impl IWICEnumMetadataItem { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1509,7 +1509,7 @@ impl IWICFastMetadataEncoder { } pub unsafe fn GetMetadataQueryWriter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataQueryWriter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1527,7 +1527,7 @@ impl IWICFormatConverter { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -1550,7 +1550,7 @@ impl IWICFormatConverter { } pub unsafe fn CanConvert(&self, srcpixelformat: *const ::windows_core::GUID, dstpixelformat: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanConvert)(::windows_core::Interface::as_raw(self), srcpixelformat, dstpixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanConvert)(::windows_core::Interface::as_raw(self), srcpixelformat, dstpixelformat, &mut result__).map(|| result__) } } #[repr(C)] @@ -1565,22 +1565,22 @@ pub struct IWICFormatConverter_Vtbl { impl IWICFormatConverterInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -1596,7 +1596,7 @@ impl IWICFormatConverterInfo { } pub unsafe fn CreateInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1614,7 +1614,7 @@ impl IWICImagingFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDecoderFromFilename)(::windows_core::Interface::as_raw(self), wzfilename.into_param().abi(), ::core::mem::transmute(pguidvendor.unwrap_or(::std::ptr::null())), dwdesiredaccess, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDecoderFromStream(&self, pistream: P0, pguidvendor: *const ::windows_core::GUID, metadataoptions: WICDecodeOptions) -> ::windows_core::Result @@ -1622,78 +1622,78 @@ impl IWICImagingFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDecoderFromStream)(::windows_core::Interface::as_raw(self), pistream.into_param().abi(), pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoderFromFileHandle(&self, hfile: usize, pguidvendor: *const ::windows_core::GUID, metadataoptions: WICDecodeOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDecoderFromFileHandle)(::windows_core::Interface::as_raw(self), hfile, pguidvendor, metadataoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComponentInfo(&self, clsidcomponent: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComponentInfo)(::windows_core::Interface::as_raw(self), clsidcomponent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDecoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDecoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEncoder(&self, guidcontainerformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncoder)(::windows_core::Interface::as_raw(self), guidcontainerformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePalette)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFormatConverter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFormatConverter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapScaler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapScaler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapClipper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapClipper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFlipRotator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFlipRotator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateColorTransformer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorTransformer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmap(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, option: WICBitmapCreateCacheOption) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmap)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSource(&self, pibitmapsource: P0, option: WICBitmapCreateCacheOption) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromSource)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromSourceRect(&self, pibitmapsource: P0, x: u32, y: u32, width: u32, height: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromSourceRect)(::windows_core::Interface::as_raw(self), pibitmapsource.into_param().abi(), x, y, width, height, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBitmapFromMemory(&self, uiwidth: u32, uiheight: u32, pixelformat: *const ::windows_core::GUID, cbstride: u32, pbbuffer: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromMemory)(::windows_core::Interface::as_raw(self), uiwidth, uiheight, pixelformat, cbstride, pbbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbbuffer.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateBitmapFromHBITMAP(&self, hbitmap: P0, hpalette: P1, options: WICBitmapAlphaChannelOption) -> ::windows_core::Result @@ -1702,7 +1702,7 @@ impl IWICImagingFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromHBITMAP)(::windows_core::Interface::as_raw(self), hbitmap.into_param().abi(), hpalette.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn CreateBitmapFromHICON(&self, hicon: P0) -> ::windows_core::Result @@ -1710,37 +1710,37 @@ impl IWICImagingFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBitmapFromHICON)(::windows_core::Interface::as_raw(self), hicon.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateComponentEnumerator(&self, componenttypes: u32, options: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComponentEnumerator)(::windows_core::Interface::as_raw(self), componenttypes, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromDecoder(&self, pidecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFastMetadataEncoderFromDecoder)(::windows_core::Interface::as_raw(self), pidecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFastMetadataEncoderFromFrameDecode(&self, piframedecoder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFastMetadataEncoderFromFrameDecode)(::windows_core::Interface::as_raw(self), piframedecoder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriter(&self, guidmetadataformat: *const ::windows_core::GUID, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQueryWriter)(::windows_core::Interface::as_raw(self), guidmetadataformat, pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryWriterFromReader(&self, piqueryreader: P0, pguidvendor: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQueryWriterFromReader)(::windows_core::Interface::as_raw(self), piqueryreader.into_param().abi(), pguidvendor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1793,7 +1793,7 @@ pub struct IWICImagingFactory_Vtbl { impl IWICJpegFrameDecode { pub unsafe fn DoesSupportIndexing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportIndexing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportIndexing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndexing(&self, options: WICJpegIndexingOptions, horizontalintervalsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIndexing)(::windows_core::Interface::as_raw(self), options, horizontalintervalsize).ok() @@ -1892,20 +1892,20 @@ pub struct IWICJpegFrameEncode_Vtbl { impl IWICMetadataBlockReader { pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReaderByIndex(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReaderByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReaderByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1925,20 +1925,20 @@ pub struct IWICMetadataBlockReader_Vtbl { impl IWICMetadataBlockWriter { pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReaderByIndex(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReaderByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReaderByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromBlockReader(&self, pimdblockreader: P0) -> ::windows_core::Result<()> where @@ -1948,7 +1948,7 @@ impl IWICMetadataBlockWriter { } pub unsafe fn GetWriterByIndex(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWriterByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWriterByIndex)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddWriter(&self, pimetadatawriter: P0) -> ::windows_core::Result<()> where @@ -1981,22 +1981,22 @@ pub struct IWICMetadataBlockWriter_Vtbl { impl IWICMetadataHandlerInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -2009,7 +2009,7 @@ impl IWICMetadataHandlerInfo { } pub unsafe fn GetMetadataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContainerFormats(&self, pguidcontainerformats: &mut [::windows_core::GUID], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetContainerFormats)(::windows_core::Interface::as_raw(self), pguidcontainerformats.len().try_into().unwrap(), ::core::mem::transmute(pguidcontainerformats.as_ptr()), pcchactual).ok() @@ -2022,15 +2022,15 @@ impl IWICMetadataHandlerInfo { } pub unsafe fn DoesRequireFullStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesRequireFixedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2050,7 +2050,7 @@ pub struct IWICMetadataHandlerInfo_Vtbl { impl IWICMetadataQueryReader { pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocation(&self, wznamespace: &mut [u16], pcchactuallength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), wznamespace.len().try_into().unwrap(), ::core::mem::transmute(wznamespace.as_ptr()), pcchactuallength).ok() @@ -2064,7 +2064,7 @@ impl IWICMetadataQueryReader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2084,7 +2084,7 @@ pub struct IWICMetadataQueryReader_Vtbl { impl IWICMetadataQueryWriter { pub unsafe fn GetContainerFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainerFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocation(&self, wznamespace: &mut [u16], pcchactuallength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLocation)(::windows_core::Interface::as_raw(self), wznamespace.len().try_into().unwrap(), ::core::mem::transmute(wznamespace.as_ptr()), pcchactuallength).ok() @@ -2098,7 +2098,7 @@ impl IWICMetadataQueryWriter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMetadataByName(&self, wzname: P0, pvarvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -2125,15 +2125,15 @@ pub struct IWICMetadataQueryWriter_Vtbl { impl IWICMetadataReader { pub unsafe fn GetMetadataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMetadataHandlerInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueByIndex(&self, nindex: u32, pvarschema: *mut ::windows_core::PROPVARIANT, pvarid: *mut ::windows_core::PROPVARIANT, pvarvalue: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValueByIndex)(::windows_core::Interface::as_raw(self), nindex, ::core::mem::transmute(pvarschema), ::core::mem::transmute(pvarid), ::core::mem::transmute(pvarvalue)).ok() @@ -2143,7 +2143,7 @@ impl IWICMetadataReader { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2162,22 +2162,22 @@ pub struct IWICMetadataReader_Vtbl { impl IWICMetadataReaderInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -2190,7 +2190,7 @@ impl IWICMetadataReaderInfo { } pub unsafe fn GetMetadataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContainerFormats(&self, pguidcontainerformats: &mut [::windows_core::GUID], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetContainerFormats)(::windows_core::Interface::as_raw(self), pguidcontainerformats.len().try_into().unwrap(), ::core::mem::transmute(pguidcontainerformats.as_ptr()), pcchactual).ok() @@ -2203,15 +2203,15 @@ impl IWICMetadataReaderInfo { } pub unsafe fn DoesRequireFullStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesRequireFixedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPatterns(&self, guidcontainerformat: *const ::windows_core::GUID, cbsize: u32, ppattern: ::core::option::Option<*mut WICMetadataPattern>, pccount: ::core::option::Option<*mut u32>, pcbactual: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPatterns)(::windows_core::Interface::as_raw(self), guidcontainerformat, cbsize, ::core::mem::transmute(ppattern.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pccount.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbactual.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2222,11 +2222,11 @@ impl IWICMetadataReaderInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesPattern)(::windows_core::Interface::as_raw(self), guidcontainerformat, pistream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesPattern)(::windows_core::Interface::as_raw(self), guidcontainerformat, pistream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2245,15 +2245,15 @@ pub struct IWICMetadataReaderInfo_Vtbl { impl IWICMetadataWriter { pub unsafe fn GetMetadataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMetadataHandlerInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadataHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadataHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueByIndex(&self, nindex: u32, pvarschema: *mut ::windows_core::PROPVARIANT, pvarid: *mut ::windows_core::PROPVARIANT, pvarvalue: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetValueByIndex)(::windows_core::Interface::as_raw(self), nindex, ::core::mem::transmute(pvarschema), ::core::mem::transmute(pvarid), ::core::mem::transmute(pvarvalue)).ok() @@ -2263,7 +2263,7 @@ impl IWICMetadataWriter { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, pvarschema: *const ::windows_core::PROPVARIANT, pvarid: *const ::windows_core::PROPVARIANT, pvarvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarschema), ::core::mem::transmute(pvarid), ::core::mem::transmute(pvarvalue)).ok() @@ -2292,22 +2292,22 @@ pub struct IWICMetadataWriter_Vtbl { impl IWICMetadataWriterInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -2320,7 +2320,7 @@ impl IWICMetadataWriterInfo { } pub unsafe fn GetMetadataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContainerFormats(&self, pguidcontainerformats: &mut [::windows_core::GUID], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetContainerFormats)(::windows_core::Interface::as_raw(self), pguidcontainerformats.len().try_into().unwrap(), ::core::mem::transmute(pguidcontainerformats.as_ptr()), pcchactual).ok() @@ -2333,22 +2333,22 @@ impl IWICMetadataWriterInfo { } pub unsafe fn DoesRequireFullStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesRequireFullStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesSupportPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesSupportPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesRequireFixedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoesRequireFixedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHeader(&self, guidcontainerformat: *const ::windows_core::GUID, cbsize: u32, pheader: ::core::option::Option<*mut WICMetadataHeader>, pcbactual: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetHeader)(::windows_core::Interface::as_raw(self), guidcontainerformat, cbsize, ::core::mem::transmute(pheader.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbactual.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn CreateInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2385,26 +2385,26 @@ impl IWICPalette { } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColors(&self, pcolors: &mut [u32], pcactualcolors: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColors)(::windows_core::Interface::as_raw(self), pcolors.len().try_into().unwrap(), ::core::mem::transmute(pcolors.as_ptr()), pcactualcolors).ok() } pub unsafe fn IsBlackWhite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBlackWhite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBlackWhite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsGrayscale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsGrayscale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsGrayscale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HasAlpha(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasAlpha)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasAlpha)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2431,7 +2431,7 @@ impl IWICPersistStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { @@ -2455,7 +2455,7 @@ impl IWICPersistStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadEx(&self, pistream: P0, pguidpreferredvendor: *const ::windows_core::GUID, dwpersistoptions: u32) -> ::windows_core::Result<()> @@ -2492,22 +2492,22 @@ pub struct IWICPersistStream_Vtbl { impl IWICPixelFormatInfo { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -2520,19 +2520,19 @@ impl IWICPixelFormatInfo { } pub unsafe fn GetFormatGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBitsPerPixel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChannelMask(&self, uichannelindex: u32, pbmaskbuffer: &mut [u8], pcbactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChannelMask)(::windows_core::Interface::as_raw(self), uichannelindex, pbmaskbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbmaskbuffer.as_ptr()), pcbactual).ok() @@ -2553,22 +2553,22 @@ pub struct IWICPixelFormatInfo_Vtbl { impl IWICPixelFormatInfo2 { pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSigningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSigningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthor(&self, wzauthor: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAuthor)(::windows_core::Interface::as_raw(self), wzauthor.len().try_into().unwrap(), ::core::mem::transmute(wzauthor.as_ptr()), pcchactual).ok() } pub unsafe fn GetVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, wzversion: &mut [u16], pcchactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), wzversion.len().try_into().unwrap(), ::core::mem::transmute(wzversion.as_ptr()), pcchactual).ok() @@ -2581,30 +2581,30 @@ impl IWICPixelFormatInfo2 { } pub unsafe fn GetFormatGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormatGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormatGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColorContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColorContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColorContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBitsPerPixel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChannelMask(&self, uichannelindex: u32, pbmaskbuffer: &mut [u8], pcbactual: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetChannelMask)(::windows_core::Interface::as_raw(self), uichannelindex, pbmaskbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbmaskbuffer.as_ptr()), pcbactual).ok() } pub unsafe fn SupportsTransparency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsTransparency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsTransparency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumericRepresentation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumericRepresentation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumericRepresentation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2656,7 +2656,7 @@ impl IWICPlanarFormatConverter { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResolution(&self, pdpix: *mut f64, pdpiy: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResolution)(::windows_core::Interface::as_raw(self), pdpix, pdpiy).ok() @@ -2678,7 +2678,7 @@ impl IWICPlanarFormatConverter { } pub unsafe fn CanConvert(&self, psrcpixelformats: &[::windows_core::GUID], dstpixelformat: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanConvert)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psrcpixelformats.as_ptr()), psrcpixelformats.len().try_into().unwrap(), dstpixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanConvert)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psrcpixelformats.as_ptr()), psrcpixelformats.len().try_into().unwrap(), dstpixelformat, &mut result__).map(|| result__) } } #[repr(C)] @@ -2706,11 +2706,11 @@ pub struct IWICProgressCallback_Vtbl { impl IWICProgressiveLevelControl { pub unsafe fn GetLevelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLevelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLevelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentLevel(&self, nlevel: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentLevel)(::windows_core::Interface::as_raw(self), nlevel).ok() @@ -2776,7 +2776,7 @@ impl IWICStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromIStream(&self, pistream: P0) -> ::windows_core::Result<()> @@ -2824,15 +2824,15 @@ impl IWICStreamProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPersistOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPersistOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPersistOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreferredVendorGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredVendorGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RefreshStream(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RefreshStream)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Printing/PrintTicket/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Printing/PrintTicket/mod.rs index fd2321370e..11bcfac1ca 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Printing/PrintTicket/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Printing/PrintTicket/mod.rs @@ -81,7 +81,7 @@ where { ::windows_targets::link!("prntvpt.dll" "system" fn PTOpenProvider(pszprintername : ::windows_core::PCWSTR, dwversion : u32, phprovider : *mut super::super::super::Storage::Xps:: HPTPROVIDER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PTOpenProvider(pszprintername.into_param().abi(), dwversion, &mut result__).from_abi(result__) + PTOpenProvider(pszprintername.into_param().abi(), dwversion, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_Xps")] #[inline] @@ -99,7 +99,7 @@ where { ::windows_targets::link!("prntvpt.dll" "system" fn PTQuerySchemaVersionSupport(pszprintername : ::windows_core::PCWSTR, pmaxversion : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PTQuerySchemaVersionSupport(pszprintername.into_param().abi(), &mut result__).from_abi(result__) + PTQuerySchemaVersionSupport(pszprintername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PTReleaseMemory(pbuffer: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/Printing/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/Printing/mod.rs index efde47ee2a..9596569159 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/Printing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/Printing/mod.rs @@ -83,7 +83,7 @@ where { ::windows_targets::link!("spoolss.dll" "system" fn AddPrintDeviceObject(hprinter : super::super::Foundation:: HANDLE, phdeviceobject : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AddPrintDeviceObject(hprinter.into_param().abi(), &mut result__).from_abi(result__) + AddPrintDeviceObject(hprinter.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AddPrintProcessorA(pname: P0, penvironment: P1, ppathname: P2, pprintprocessorname: P3) -> super::super::Foundation::BOOL @@ -323,7 +323,7 @@ where { ::windows_targets::link!("winspool.drv" "system" fn CorePrinterDriverInstalledA(pszserver : ::windows_core::PCSTR, pszenvironment : ::windows_core::PCSTR, coredriverguid : ::windows_core::GUID, ftdriverdate : super::super::Foundation:: FILETIME, dwldriverversion : u64, pbdriverinstalled : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CorePrinterDriverInstalledA(pszserver.into_param().abi(), pszenvironment.into_param().abi(), ::core::mem::transmute(coredriverguid), ::core::mem::transmute(ftdriverdate), dwldriverversion, &mut result__).from_abi(result__) + CorePrinterDriverInstalledA(pszserver.into_param().abi(), pszenvironment.into_param().abi(), ::core::mem::transmute(coredriverguid), ::core::mem::transmute(ftdriverdate), dwldriverversion, &mut result__).map(|| result__) } #[inline] pub unsafe fn CorePrinterDriverInstalledW(pszserver: P0, pszenvironment: P1, coredriverguid: ::windows_core::GUID, ftdriverdate: super::super::Foundation::FILETIME, dwldriverversion: u64) -> ::windows_core::Result @@ -333,7 +333,7 @@ where { ::windows_targets::link!("winspool.drv" "system" fn CorePrinterDriverInstalledW(pszserver : ::windows_core::PCWSTR, pszenvironment : ::windows_core::PCWSTR, coredriverguid : ::windows_core::GUID, ftdriverdate : super::super::Foundation:: FILETIME, dwldriverversion : u64, pbdriverinstalled : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CorePrinterDriverInstalledW(pszserver.into_param().abi(), pszenvironment.into_param().abi(), ::core::mem::transmute(coredriverguid), ::core::mem::transmute(ftdriverdate), dwldriverversion, &mut result__).from_abi(result__) + CorePrinterDriverInstalledW(pszserver.into_param().abi(), pszenvironment.into_param().abi(), ::core::mem::transmute(coredriverguid), ::core::mem::transmute(ftdriverdate), dwldriverversion, &mut result__).map(|| result__) } #[inline] pub unsafe fn CreatePrintAsyncNotifyChannel(pszname: P0, pnotificationtype: *const ::windows_core::GUID, euserfilter: PrintAsyncNotifyUserFilter, econversationstyle: PrintAsyncNotifyConversationStyle, pcallback: P1) -> ::windows_core::Result @@ -343,7 +343,7 @@ where { ::windows_targets::link!("winspool.drv" "system" fn CreatePrintAsyncNotifyChannel(pszname : ::windows_core::PCWSTR, pnotificationtype : *const ::windows_core::GUID, euserfilter : PrintAsyncNotifyUserFilter, econversationstyle : PrintAsyncNotifyConversationStyle, pcallback : * mut::core::ffi::c_void, ppiasynchnotification : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreatePrintAsyncNotifyChannel(pszname.into_param().abi(), pnotificationtype, euserfilter, econversationstyle, pcallback.into_param().abi(), &mut result__).from_abi(result__) + CreatePrintAsyncNotifyChannel(pszname.into_param().abi(), pnotificationtype, euserfilter, econversationstyle, pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -1458,7 +1458,7 @@ where { ::windows_targets::link!("winspool.drv" "system" fn RegisterForPrintAsyncNotifications(pszname : ::windows_core::PCWSTR, pnotificationtype : *const ::windows_core::GUID, euserfilter : PrintAsyncNotifyUserFilter, econversationstyle : PrintAsyncNotifyConversationStyle, pcallback : * mut::core::ffi::c_void, phnotify : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RegisterForPrintAsyncNotifications(pszname.into_param().abi(), pnotificationtype, euserfilter, econversationstyle, pcallback.into_param().abi(), &mut result__).from_abi(result__) + RegisterForPrintAsyncNotifications(pszname.into_param().abi(), pnotificationtype, euserfilter, econversationstyle, pcallback.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn RemovePrintDeviceObject(hdeviceobject: P0) -> ::windows_core::Result<()> @@ -1960,14 +1960,14 @@ impl IBidiRequest { } pub unsafe fn GetResult(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputData(&self, dwindex: u32, ppszschema: *mut ::windows_core::PWSTR, pdwtype: *mut u32, ppdata: *mut *mut u8, usize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetOutputData)(::windows_core::Interface::as_raw(self), dwindex, ppszschema, pdwtype, ppdata, usize).ok() } pub unsafe fn GetEnumCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1992,11 +1992,11 @@ impl IBidiRequestContainer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEnumObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRequestCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2063,7 +2063,7 @@ impl IBidiSpl2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendRecvXMLString)(::windows_core::Interface::as_raw(self), bstrrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendRecvXMLString)(::windows_core::Interface::as_raw(self), bstrrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SendRecvXMLStream(&self, psrequest: P0) -> ::windows_core::Result @@ -2071,7 +2071,7 @@ impl IBidiSpl2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendRecvXMLStream)(::windows_core::Interface::as_raw(self), psrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendRecvXMLStream)(::windows_core::Interface::as_raw(self), psrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2091,11 +2091,11 @@ pub struct IBidiSpl2_Vtbl { impl IFixedDocument { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrintTicket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicket(&self, pprintticket: P0) -> ::windows_core::Result<()> where @@ -2117,11 +2117,11 @@ pub struct IFixedDocument_Vtbl { impl IFixedDocumentSequence { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrintTicket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicket(&self, pprintticket: P0) -> ::windows_core::Result<()> where @@ -2143,33 +2143,33 @@ pub struct IFixedDocumentSequence_Vtbl { impl IFixedPage { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() } pub unsafe fn GetPrintTicket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicket)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPagePart(&self, uri: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPagePart)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPagePart)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWriteStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicket(&self, ppprintticket: P0) -> ::windows_core::Result<()> where @@ -2191,7 +2191,7 @@ impl IFixedPage { } pub unsafe fn GetXpsPartIterator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsPartIterator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsPartIterator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2261,51 +2261,51 @@ impl IImgErrorInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHelpFile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHelpContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeveloperDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeveloperDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeveloperDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserErrorId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserErrorId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserErrorId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserParameterCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserParameterCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserParameterCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserParameter(&self, cparam: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserParameter)(::windows_core::Interface::as_raw(self), cparam, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserParameter)(::windows_core::Interface::as_raw(self), cparam, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserFallback(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserFallback)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExceptionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExceptionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExceptionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DetachErrorInfo(&self, perrorinfo: *mut ImgErrorInfo) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DetachErrorInfo)(::windows_core::Interface::as_raw(self), perrorinfo).ok() @@ -2346,15 +2346,15 @@ pub struct IInterFilterCommunicator_Vtbl { impl IPartBase { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2374,15 +2374,15 @@ pub struct IPartBase_Vtbl { impl IPartColorProfile { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2411,15 +2411,15 @@ pub struct IPartDiscardControl_Vtbl { impl IPartFont { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2450,15 +2450,15 @@ pub struct IPartFont_Vtbl { impl IPartFont2 { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2477,7 +2477,7 @@ impl IPartFont2 { } pub unsafe fn GetFontRestriction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontRestriction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontRestriction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2491,22 +2491,22 @@ pub struct IPartFont2_Vtbl { impl IPartImage { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() } pub unsafe fn GetImageProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetImageContent(&self, pcontenttype: P0) -> ::windows_core::Result<()> where @@ -2527,15 +2527,15 @@ pub struct IPartImage_Vtbl { impl IPartPrintTicket { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2551,15 +2551,15 @@ pub struct IPartPrintTicket_Vtbl { impl IPartResourceDictionary { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() @@ -2575,22 +2575,22 @@ pub struct IPartResourceDictionary_Vtbl { impl IPartThumbnail { pub unsafe fn GetUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartCompression(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartCompression)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPartCompression(&self, compression: EXpsCompressionOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPartCompression)(::windows_core::Interface::as_raw(self), compression).ok() } pub unsafe fn GetThumbnailProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnailProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnailProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbnailContent(&self, pcontenttype: P0) -> ::windows_core::Result<()> where @@ -2650,14 +2650,14 @@ impl IPrintAsyncNotify { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePrintAsyncNotifyChannel)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3, param4.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePrintAsyncNotifyChannel)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3, param4.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePrintAsyncNotifyRegistration(&self, param0: *const ::windows_core::GUID, param1: PrintAsyncNotifyUserFilter, param2: PrintAsyncNotifyConversationStyle, param3: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePrintAsyncNotifyRegistration)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePrintAsyncNotifyRegistration)(::windows_core::Interface::as_raw(self), param0, param1, param2, param3.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2754,7 +2754,7 @@ pub struct IPrintAsyncNotifyRegistration_Vtbl { impl IPrintAsyncNotifyServerReferral { pub unsafe fn GetServerReferral(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServerReferral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServerReferral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AsyncGetServerReferral(&self, param0: P0) -> ::windows_core::Result<()> where @@ -2824,7 +2824,7 @@ impl IPrintCoreHelper { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetOptions(&self, pdevmode: *mut super::Gdi::DEVMODEA, cbsize: u32, bresolveconflicts: P0, pfopairs: *const PRINT_FEATURE_OPTION, cpairs: u32, pcpairswritten: *mut u32, pdwresult: *mut u32) -> ::windows_core::Result<()> @@ -2912,7 +2912,7 @@ impl IPrintCoreHelperPS { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetOptions(&self, pdevmode: *mut super::Gdi::DEVMODEA, cbsize: u32, bresolveconflicts: P0, pfopairs: *const PRINT_FEATURE_OPTION, cpairs: u32, pcpairswritten: *mut u32, pdwresult: *mut u32) -> ::windows_core::Result<()> @@ -3003,7 +3003,7 @@ impl IPrintCoreHelperUni { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetOptions(&self, pdevmode: *mut super::Gdi::DEVMODEA, cbsize: u32, bresolveconflicts: P0, pfopairs: *const PRINT_FEATURE_OPTION, cpairs: u32, pcpairswritten: *mut u32, pdwresult: *mut u32) -> ::windows_core::Result<()> @@ -3062,7 +3062,7 @@ impl IPrintCoreHelperUni { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDefaultGDLSnapshot(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDefaultGDLSnapshot)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDefaultGDLSnapshot)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3087,7 +3087,7 @@ impl IPrintCoreHelperUni2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOption)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdevmode.unwrap_or(::std::ptr::null())), cbsize, pszfeaturerequested.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetOptions(&self, pdevmode: *mut super::Gdi::DEVMODEA, cbsize: u32, bresolveconflicts: P0, pfopairs: *const PRINT_FEATURE_OPTION, cpairs: u32, pcpairswritten: *mut u32, pdwresult: *mut u32) -> ::windows_core::Result<()> @@ -3146,7 +3146,7 @@ impl IPrintCoreHelperUni2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDefaultGDLSnapshot(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDefaultGDLSnapshot)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDefaultGDLSnapshot)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetNamedCommand(&self, pdevmode: ::core::option::Option<*const super::Gdi::DEVMODEA>, cbsize: u32, pszcommandname: P0, ppcommandbytes: *mut *mut u8, pcbcommandsize: *mut u32) -> ::windows_core::Result<()> @@ -3190,7 +3190,7 @@ impl IPrintCoreUI2 { } pub unsafe fn SetOptions(&self, poemuiobj: *const OEMUIOBJ, dwflags: u32, pmszfeatureoptionbuf: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetOptions)(::windows_core::Interface::as_raw(self), poemuiobj, dwflags, ::core::mem::transmute(pmszfeatureoptionbuf.as_ptr()), pmszfeatureoptionbuf.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetOptions)(::windows_core::Interface::as_raw(self), poemuiobj, dwflags, ::core::mem::transmute(pmszfeatureoptionbuf.as_ptr()), pmszfeatureoptionbuf.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn EnumConstrainedOptions(&self, poemuiobj: *const OEMUIOBJ, dwflags: u32, pszfeaturekeyword: P0, pmszconstrainedoptionlist: ::core::option::Option<&mut [u8]>, pcbneeded: *mut u32) -> ::windows_core::Result<()> where @@ -3262,27 +3262,27 @@ pub struct IPrintCoreUI2_Vtbl { impl IPrintJob { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrintedPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintedPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintedPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubmissionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubmissionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestCancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestCancel)(::windows_core::Interface::as_raw(self)).ok() @@ -3308,15 +3308,15 @@ pub struct IPrintJob_Vtbl { impl IPrintJobCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3726,7 +3726,7 @@ impl IPrintPipelinePropertyBag { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteProperty(&self, pszname: P0) -> super::super::Foundation::BOOL where @@ -3793,7 +3793,7 @@ pub struct IPrintReadStream_Vtbl { impl IPrintReadStreamFactory { pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3855,15 +3855,15 @@ pub struct IPrintSchemaAsyncOperationEvent_Vtbl { impl IPrintSchemaCapabilities { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeatureByKeyName(&self, bstrkeyname: P0) -> ::windows_core::Result @@ -3871,7 +3871,7 @@ impl IPrintSchemaCapabilities { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeature(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -3880,20 +3880,20 @@ impl IPrintSchemaCapabilities { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PageImageableSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PageImageableSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PageImageableSize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JobCopiesAllDocumentsMinValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobCopiesAllDocumentsMinValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobCopiesAllDocumentsMinValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn JobCopiesAllDocumentsMaxValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobCopiesAllDocumentsMaxValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobCopiesAllDocumentsMaxValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelectedOptionInPrintTicket(&self, pfeature: P0) -> ::windows_core::Result @@ -3901,7 +3901,7 @@ impl IPrintSchemaCapabilities { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedOptionInPrintTicket)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedOptionInPrintTicket)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetOptions(&self, pfeature: P0) -> ::windows_core::Result @@ -3909,7 +3909,7 @@ impl IPrintSchemaCapabilities { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3948,15 +3948,15 @@ pub struct IPrintSchemaCapabilities_Vtbl { impl IPrintSchemaCapabilities2 { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeatureByKeyName(&self, bstrkeyname: P0) -> ::windows_core::Result @@ -3964,7 +3964,7 @@ impl IPrintSchemaCapabilities2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeature(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -3973,20 +3973,20 @@ impl IPrintSchemaCapabilities2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PageImageableSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PageImageableSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PageImageableSize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JobCopiesAllDocumentsMinValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocumentsMinValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocumentsMinValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn JobCopiesAllDocumentsMaxValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocumentsMaxValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocumentsMaxValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelectedOptionInPrintTicket(&self, pfeature: P0) -> ::windows_core::Result @@ -3994,7 +3994,7 @@ impl IPrintSchemaCapabilities2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelectedOptionInPrintTicket)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelectedOptionInPrintTicket)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetOptions(&self, pfeature: P0) -> ::windows_core::Result @@ -4002,7 +4002,7 @@ impl IPrintSchemaCapabilities2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), pfeature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetParameterDefinition(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -4011,7 +4011,7 @@ impl IPrintSchemaCapabilities2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameterDefinition)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameterDefinition)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4032,19 +4032,19 @@ pub struct IPrintSchemaCapabilities2_Vtbl { impl IPrintSchemaDisplayableElement { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4062,15 +4062,15 @@ pub struct IPrintSchemaDisplayableElement_Vtbl { impl IPrintSchemaElement { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4090,24 +4090,24 @@ pub struct IPrintSchemaElement_Vtbl { impl IPrintSchemaFeature { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectedOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectedOption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSelectedOption(&self, poption: P0) -> ::windows_core::Result<()> @@ -4118,7 +4118,7 @@ impl IPrintSchemaFeature { } pub unsafe fn SelectionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetOption(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -4127,11 +4127,11 @@ impl IPrintSchemaFeature { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayUI(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayUI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayUI)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4162,27 +4162,27 @@ pub struct IPrintSchemaFeature_Vtbl { impl IPrintSchemaNUpOption { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Constrained(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Constrained)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Constrained)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyValue(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -4190,11 +4190,11 @@ impl IPrintSchemaNUpOption { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PagesPerSheet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PagesPerSheet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PagesPerSheet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4212,27 +4212,27 @@ pub struct IPrintSchemaNUpOption_Vtbl { impl IPrintSchemaOption { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Constrained(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Constrained)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Constrained)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyValue(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -4240,7 +4240,7 @@ impl IPrintSchemaOption { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4260,16 +4260,16 @@ pub struct IPrintSchemaOption_Vtbl { impl IPrintSchemaOptionCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAt(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4292,39 +4292,39 @@ pub struct IPrintSchemaOptionCollection_Vtbl { impl IPrintSchemaPageImageableSize { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImageableSizeWidthInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageableSizeWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageableSizeWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ImageableSizeHeightInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageableSizeHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageableSizeHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OriginWidthInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OriginWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OriginWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OriginHeightInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OriginHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OriginHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtentWidthInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtentWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtentWidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtentHeightInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtentHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtentHeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4347,27 +4347,27 @@ pub struct IPrintSchemaPageImageableSize_Vtbl { impl IPrintSchemaPageMediaSizeOption { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Constrained(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Constrained)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Constrained)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyValue(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -4375,15 +4375,15 @@ impl IPrintSchemaPageMediaSizeOption { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WidthInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WidthInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HeightInMicrons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HeightInMicrons)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4402,39 +4402,39 @@ pub struct IPrintSchemaPageMediaSizeOption_Vtbl { impl IPrintSchemaParameterDefinition { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserInputRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserInputRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserInputRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UnitType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnitType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnitType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DataType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeMin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeMin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeMin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4456,19 +4456,19 @@ pub struct IPrintSchemaParameterDefinition_Vtbl { impl IPrintSchemaParameterInitializer { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, pvar: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar)).ok() @@ -4490,15 +4490,15 @@ pub struct IPrintSchemaParameterInitializer_Vtbl { impl IPrintSchemaTicket { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeatureByKeyName(&self, bstrkeyname: P0) -> ::windows_core::Result @@ -4506,7 +4506,7 @@ impl IPrintSchemaTicket { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeature(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -4515,12 +4515,12 @@ impl IPrintSchemaTicket { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValidateAsync(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValidateAsync)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValidateAsync)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAsync(&self, pprintticketcommit: P0) -> ::windows_core::Result @@ -4528,7 +4528,7 @@ impl IPrintSchemaTicket { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitAsync)(::windows_core::Interface::as_raw(self), pprintticketcommit.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitAsync)(::windows_core::Interface::as_raw(self), pprintticketcommit.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyXmlChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyXmlChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -4536,11 +4536,11 @@ impl IPrintSchemaTicket { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JobCopiesAllDocuments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJobCopiesAllDocuments(&self, uljobcopiesalldocuments: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), uljobcopiesalldocuments).ok() @@ -4583,15 +4583,15 @@ pub struct IPrintSchemaTicket_Vtbl { impl IPrintSchemaTicket2 { pub unsafe fn XmlNode(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.XmlNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamespaceUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NamespaceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeatureByKeyName(&self, bstrkeyname: P0) -> ::windows_core::Result @@ -4599,7 +4599,7 @@ impl IPrintSchemaTicket2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFeatureByKeyName)(::windows_core::Interface::as_raw(self), bstrkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeature(&self, bstrname: P0, bstrnamespaceuri: P1) -> ::windows_core::Result @@ -4608,12 +4608,12 @@ impl IPrintSchemaTicket2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFeature)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValidateAsync(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ValidateAsync)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ValidateAsync)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAsync(&self, pprintticketcommit: P0) -> ::windows_core::Result @@ -4621,7 +4621,7 @@ impl IPrintSchemaTicket2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CommitAsync)(::windows_core::Interface::as_raw(self), pprintticketcommit.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CommitAsync)(::windows_core::Interface::as_raw(self), pprintticketcommit.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyXmlChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.NotifyXmlChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -4629,11 +4629,11 @@ impl IPrintSchemaTicket2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JobCopiesAllDocuments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.JobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJobCopiesAllDocuments(&self, uljobcopiesalldocuments: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetJobCopiesAllDocuments)(::windows_core::Interface::as_raw(self), uljobcopiesalldocuments).ok() @@ -4645,7 +4645,7 @@ impl IPrintSchemaTicket2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameterInitializer)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameterInitializer)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrnamespaceuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4696,7 +4696,7 @@ impl IPrintTicketProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn ValidatePrintTicket(&self, pbaseticket: P0) -> ::windows_core::Result<()> @@ -4768,7 +4768,7 @@ impl IPrintTicketProvider2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrintCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrintCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn ValidatePrintTicket(&self, pbaseticket: P0) -> ::windows_core::Result<()> @@ -4783,7 +4783,7 @@ impl IPrintTicketProvider2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintDeviceCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintDeviceCapabilities)(::windows_core::Interface::as_raw(self), pprintticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn GetPrintDeviceResources(&self, pszlocalename: P0, pprintticket: P1) -> ::windows_core::Result @@ -4792,7 +4792,7 @@ impl IPrintTicketProvider2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintDeviceResources)(::windows_core::Interface::as_raw(self), pszlocalename.into_param().abi(), pprintticket.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintDeviceResources)(::windows_core::Interface::as_raw(self), pszlocalename.into_param().abi(), pprintticket.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4835,7 +4835,7 @@ pub struct IPrintUnidiAsyncNotifyRegistration_Vtbl { impl IPrintWriteStream { pub unsafe fn WriteBytes(&self, pvbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteBytes)(::windows_core::Interface::as_raw(self), pvbuffer, cbbuffer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteBytes)(::windows_core::Interface::as_raw(self), pvbuffer, cbbuffer, &mut result__).map(|| result__) } pub unsafe fn Close(&self) { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)) @@ -4899,22 +4899,22 @@ impl IPrinterExtensionContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrinterQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrintSchemaTicket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintSchemaTicket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintSchemaTicket)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DriverProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UserProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4947,16 +4947,16 @@ pub struct IPrinterExtensionContext_Vtbl { impl IPrinterExtensionContextCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAt(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5015,51 +5015,51 @@ impl IPrinterExtensionEventArgs { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrinterQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrintSchemaTicket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrintSchemaTicket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrintSchemaTicket)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DriverProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UserProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BidiNotification(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BidiNotification)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BidiNotification)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReasonId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReasonId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReasonId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Request(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SourceApplication(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DetailedReasonId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DetailedReasonId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DetailedReasonId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WindowModal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowModal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowModal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WindowParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowParent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5130,7 +5130,7 @@ impl IPrinterPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetBool(&self, bstrname: P0, bvalue: P1) -> ::windows_core::Result<()> where @@ -5144,7 +5144,7 @@ impl IPrinterPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetInt32(&self, bstrname: P0, nvalue: i32) -> ::windows_core::Result<()> where @@ -5157,7 +5157,7 @@ impl IPrinterPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetString(&self, bstrname: P0, bstrvalue: P1) -> ::windows_core::Result<()> where @@ -5184,7 +5184,7 @@ impl IPrinterPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWriteStream(&self, bstrname: P0) -> ::windows_core::Result @@ -5192,7 +5192,7 @@ impl IPrinterPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5225,11 +5225,11 @@ pub struct IPrinterPropertyBag_Vtbl { impl IPrinterQueue { pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendBidiQuery(&self, bstrbidiquery: P0) -> ::windows_core::Result<()> where @@ -5240,7 +5240,7 @@ impl IPrinterQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5264,11 +5264,11 @@ pub struct IPrinterQueue_Vtbl { impl IPrinterQueue2 { pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendBidiQuery(&self, bstrbidiquery: P0) -> ::windows_core::Result<()> where @@ -5279,7 +5279,7 @@ impl IPrinterQueue2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendBidiSetRequestAsync(&self, bstrbidirequest: P0, pcallback: P1) -> ::windows_core::Result where @@ -5287,12 +5287,12 @@ impl IPrinterQueue2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendBidiSetRequestAsync)(::windows_core::Interface::as_raw(self), bstrbidirequest.into_param().abi(), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendBidiSetRequestAsync)(::windows_core::Interface::as_raw(self), bstrbidirequest.into_param().abi(), pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPrinterQueueView(&self, ulviewoffset: u32, ulviewsize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrinterQueueView)(::windows_core::Interface::as_raw(self), ulviewoffset, ulviewsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrinterQueueView)(::windows_core::Interface::as_raw(self), ulviewoffset, ulviewsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5376,17 +5376,17 @@ impl IPrinterScriptContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DriverProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueueProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UserProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5418,7 +5418,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetBool(&self, bstrname: P0, bvalue: P1) -> ::windows_core::Result<()> where @@ -5432,7 +5432,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetInt32(&self, bstrname: P0, nvalue: i32) -> ::windows_core::Result<()> where @@ -5445,7 +5445,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetString(&self, bstrname: P0, bstrvalue: P1) -> ::windows_core::Result<()> where @@ -5460,7 +5460,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBytes)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBytes)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBytes(&self, bstrname: P0, parray: P1) -> ::windows_core::Result<()> @@ -5476,7 +5476,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWriteStream(&self, bstrname: P0) -> ::windows_core::Result @@ -5484,7 +5484,7 @@ impl IPrinterScriptablePropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5526,7 +5526,7 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBool)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetBool(&self, bstrname: P0, bvalue: P1) -> ::windows_core::Result<()> where @@ -5540,7 +5540,7 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInt32)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetInt32(&self, bstrname: P0, nvalue: i32) -> ::windows_core::Result<()> where @@ -5553,7 +5553,7 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetString(&self, bstrname: P0, bstrvalue: P1) -> ::windows_core::Result<()> where @@ -5568,7 +5568,7 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBytes)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBytes)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBytes(&self, bstrname: P0, parray: P1) -> ::windows_core::Result<()> @@ -5584,7 +5584,7 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReadStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWriteStream(&self, bstrname: P0) -> ::windows_core::Result @@ -5592,14 +5592,14 @@ impl IPrinterScriptablePropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWriteStream)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReadStreamAsXML(&self, bstrname: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReadStreamAsXML)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReadStreamAsXML)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5618,7 +5618,7 @@ impl IPrinterScriptableSequentialStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Read(&self, cbread: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), cbread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), cbread, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Write(&self, parray: P0) -> ::windows_core::Result @@ -5626,7 +5626,7 @@ impl IPrinterScriptableSequentialStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5652,7 +5652,7 @@ impl IPrinterScriptableStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Read(&self, cbread: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), cbread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), cbread, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Write(&self, parray: P0) -> ::windows_core::Result @@ -5660,7 +5660,7 @@ impl IPrinterScriptableStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -5668,7 +5668,7 @@ impl IPrinterScriptableStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Seek(&self, loffset: i32, streamseek: super::super::System::Com::STREAM_SEEK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), loffset, streamseek, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), loffset, streamseek, &mut result__).map(|| result__) } pub unsafe fn SetSize(&self, lsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSize)(::windows_core::Interface::as_raw(self), lsize).ok() @@ -5691,7 +5691,7 @@ pub struct IPrinterScriptableStream_Vtbl { impl IXpsDocument { pub unsafe fn GetThumbnail(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbnail(&self, pthumbnail: P0) -> ::windows_core::Result<()> where @@ -5767,7 +5767,7 @@ pub struct IXpsDocumentConsumer_Vtbl { impl IXpsDocumentProvider { pub unsafe fn GetXpsPart(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsPart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsPart)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5810,7 +5810,7 @@ impl IXpsRasterizationFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpi, nontextrenderingmode, textrenderingmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpi, nontextrenderingmode, textrenderingmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5831,7 +5831,7 @@ impl IXpsRasterizationFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpi, nontextrenderingmode, textrenderingmode, pixelformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpi, nontextrenderingmode, textrenderingmode, pixelformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5852,7 +5852,7 @@ impl IXpsRasterizationFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpix, dpiy, nontextrenderingmode, textrenderingmode, pixelformat, backgroundcolor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRasterizer)(::windows_core::Interface::as_raw(self), xpspage.into_param().abi(), dpix, dpiy, nontextrenderingmode, textrenderingmode, pixelformat, backgroundcolor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5873,7 +5873,7 @@ impl IXpsRasterizer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RasterizeRect)(::windows_core::Interface::as_raw(self), x, y, width, height, notificationcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RasterizeRect)(::windows_core::Interface::as_raw(self), x, y, width, height, notificationcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimalLineWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimalLineWidth)(::windows_core::Interface::as_raw(self), width).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Management/MobileDeviceManagementRegistration/mod.rs b/crates/libs/windows/src/Windows/Win32/Management/MobileDeviceManagementRegistration/mod.rs index 05b012a81a..d83fdbbc26 100644 --- a/crates/libs/windows/src/Windows/Win32/Management/MobileDeviceManagementRegistration/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Management/MobileDeviceManagementRegistration/mod.rs @@ -13,7 +13,7 @@ where { ::windows_targets::link!("mdmregistration.dll" "system" fn DiscoverManagementService(pszupn : ::windows_core::PCWSTR, ppmgmtinfo : *mut *mut MANAGEMENT_SERVICE_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DiscoverManagementService(pszupn.into_param().abi(), &mut result__).from_abi(result__) + DiscoverManagementService(pszupn.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DiscoverManagementServiceEx(pszupn: P0, pszdiscoveryservicecandidate: P1) -> ::windows_core::Result<*mut MANAGEMENT_SERVICE_INFO> @@ -23,7 +23,7 @@ where { ::windows_targets::link!("mdmregistration.dll" "system" fn DiscoverManagementServiceEx(pszupn : ::windows_core::PCWSTR, pszdiscoveryservicecandidate : ::windows_core::PCWSTR, ppmgmtinfo : *mut *mut MANAGEMENT_SERVICE_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DiscoverManagementServiceEx(pszupn.into_param().abi(), pszdiscoveryservicecandidate.into_param().abi(), &mut result__).from_abi(result__) + DiscoverManagementServiceEx(pszupn.into_param().abi(), pszdiscoveryservicecandidate.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetDeviceManagementConfigInfo(providerid: P0, configstringbufferlength: *mut u32, configstring: ::windows_core::PWSTR) -> ::windows_core::Result<()> @@ -52,13 +52,13 @@ pub unsafe fn IsDeviceRegisteredWithManagement(pfisdeviceregisteredwithmanagemen pub unsafe fn IsManagementRegistrationAllowed() -> ::windows_core::Result { ::windows_targets::link!("mdmregistration.dll" "system" fn IsManagementRegistrationAllowed(pfismanagementregistrationallowed : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsManagementRegistrationAllowed(&mut result__).from_abi(result__) + IsManagementRegistrationAllowed(&mut result__).map(|| result__) } #[inline] pub unsafe fn IsMdmUxWithoutAadAllowed() -> ::windows_core::Result { ::windows_targets::link!("mdmregistration.dll" "system" fn IsMdmUxWithoutAadAllowed(isenrollmentallowed : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsMdmUxWithoutAadAllowed(&mut result__).from_abi(result__) + IsMdmUxWithoutAadAllowed(&mut result__).map(|| result__) } #[inline] pub unsafe fn RegisterDeviceWithLocalManagement(alreadyregistered: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/Apo/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/Apo/mod.rs index 83da249365..e266c5a08d 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/Apo/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/Apo/mod.rs @@ -20,7 +20,7 @@ impl IApoAuxiliaryInputConfiguration { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInputFormatSupported)(::windows_core::Interface::as_raw(self), prequestedinputformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInputFormatSupported)(::windows_core::Interface::as_raw(self), prequestedinputformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -65,14 +65,14 @@ pub struct IAudioDeviceModulesClient_Vtbl { impl IAudioMediaType { pub unsafe fn IsCompressedFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, piaudiotype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), piaudiotype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), piaudiotype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAudioFormat(&self) -> *mut super::WAVEFORMATEX { (::windows_core::Interface::vtable(self).GetAudioFormat)(::windows_core::Interface::as_raw(self)) @@ -98,11 +98,11 @@ impl IAudioProcessingObject { } pub unsafe fn GetLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRegistrationProperties(&self) -> ::windows_core::Result<*mut APO_REG_PROPERTIES> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegistrationProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegistrationProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pbydata: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pbydata.len().try_into().unwrap(), ::core::mem::transmute(pbydata.as_ptr())).ok() @@ -113,7 +113,7 @@ impl IAudioProcessingObject { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInputFormatSupported)(::windows_core::Interface::as_raw(self), poppositeformat.into_param().abi(), prequestedinputformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInputFormatSupported)(::windows_core::Interface::as_raw(self), poppositeformat.into_param().abi(), prequestedinputformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsOutputFormatSupported(&self, poppositeformat: P0, prequestedoutputformat: P1) -> ::windows_core::Result where @@ -121,11 +121,11 @@ impl IAudioProcessingObject { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOutputFormatSupported)(::windows_core::Interface::as_raw(self), poppositeformat.into_param().abi(), prequestedoutputformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOutputFormatSupported)(::windows_core::Interface::as_raw(self), poppositeformat.into_param().abi(), prequestedoutputformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -240,7 +240,7 @@ pub struct IAudioProcessingObjectRT_Vtbl { impl IAudioProcessingObjectRTQueueService { pub unsafe fn GetRealTimeWorkQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRealTimeWorkQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRealTimeWorkQueue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -254,11 +254,11 @@ pub struct IAudioProcessingObjectRTQueueService_Vtbl { impl IAudioProcessingObjectVBR { pub unsafe fn CalcMaxInputFrames(&self, u32maxoutputframecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CalcMaxInputFrames)(::windows_core::Interface::as_raw(self), u32maxoutputframecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CalcMaxInputFrames)(::windows_core::Interface::as_raw(self), u32maxoutputframecount, &mut result__).map(|| result__) } pub unsafe fn CalcMaxOutputFrames(&self, u32maxinputframecount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CalcMaxOutputFrames)(::windows_core::Interface::as_raw(self), u32maxinputframecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CalcMaxOutputFrames)(::windows_core::Interface::as_raw(self), u32maxinputframecount, &mut result__).map(|| result__) } } #[repr(C)] @@ -323,15 +323,15 @@ pub struct IAudioSystemEffects3_Vtbl { impl IAudioSystemEffectsCustomFormats { pub unsafe fn GetFormatCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, nformat: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), nformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), nformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFormatRepresentation(&self, nformat: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatRepresentation)(::windows_core::Interface::as_raw(self), nformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatRepresentation)(::windows_core::Interface::as_raw(self), nformat, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs index 8251f708ee..174d0a7c03 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs @@ -183,7 +183,7 @@ pub struct IDirectMusicBuffer_Vtbl { impl IDirectMusicCollection { pub unsafe fn GetInstrument(&self, dwpatch: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstrument)(::windows_core::Interface::as_raw(self), dwpatch, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstrument)(::windows_core::Interface::as_raw(self), dwpatch, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumInstrument(&self, dwindex: u32, pdwpatch: *mut u32, pwszname: P0, dwnamelen: u32) -> ::windows_core::Result<()> where @@ -272,7 +272,7 @@ impl IDirectMusicPort { } pub unsafe fn GetLatencyClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRunningStats(&self, pstats: *mut DMUS_SYNTHSTATS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningStats)(::windows_core::Interface::as_raw(self), pstats).ok() @@ -350,11 +350,11 @@ pub struct IDirectMusicPort_Vtbl { impl IDirectMusicPortDownload { pub unsafe fn GetBuffer(&self, dwdlid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), dwdlid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), dwdlid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllocateBuffer(&self, dwsize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateBuffer)(::windows_core::Interface::as_raw(self), dwsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateBuffer)(::windows_core::Interface::as_raw(self), dwsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDLId(&self, pdwstartdlid: *mut u32, dwcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDLId)(::windows_core::Interface::as_raw(self), pdwstartdlid, dwcount).ok() @@ -425,7 +425,7 @@ impl IDirectMusicSynth { } pub unsafe fn GetLatencyClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Activate(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -516,7 +516,7 @@ impl IDirectMusicSynth8 { } pub unsafe fn GetLatencyClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Activate(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -588,7 +588,7 @@ impl IDirectMusicSynthSink { } pub unsafe fn GetLatencyClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatencyClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Activate(&self, fenable: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectSound/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectSound/mod.rs index 6eaae27615..ebb30e1ef1 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectSound/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/DirectSound/mod.rs @@ -63,7 +63,7 @@ where pub unsafe fn GetDeviceID(pguidsrc: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("dsound.dll" "system" fn GetDeviceID(pguidsrc : *const ::windows_core::GUID, pguiddest : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetDeviceID(::core::mem::transmute(pguidsrc.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + GetDeviceID(::core::mem::transmute(pguidsrc.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } ::windows_core::imp::com_interface!(IDirectSound, IDirectSound_Vtbl, 0x279afa83_4981_11ce_a521_0020af0be560); ::windows_core::imp::interface_hierarchy!(IDirectSound, ::windows_core::IUnknown); @@ -82,7 +82,7 @@ impl IDirectSound { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DuplicateSoundBuffer)(::windows_core::Interface::as_raw(self), pdsbufferoriginal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DuplicateSoundBuffer)(::windows_core::Interface::as_raw(self), pdsbufferoriginal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCooperativeLevel(&self, hwnd: P0, dwlevel: u32) -> ::windows_core::Result<()> where @@ -95,7 +95,7 @@ impl IDirectSound { } pub unsafe fn GetSpeakerConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpeakerConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpeakerConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpeakerConfig(&self, dwspeakerconfig: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpeakerConfig)(::windows_core::Interface::as_raw(self), dwspeakerconfig).ok() @@ -130,33 +130,33 @@ impl IDirectSound3DBuffer { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetConeOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConeOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConeOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConeOutsideVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConeOutsideVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConeOutsideVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxDistance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxDistance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxDistance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinDistance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinDistance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinDistance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn SetAllParameters(&self, pcds3dbuffer: *const DS3DBUFFER, dwapply: u32) -> ::windows_core::Result<()> { @@ -234,11 +234,11 @@ impl IDirectSound3DListener { } pub unsafe fn GetDistanceFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDistanceFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDistanceFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDopplerFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDopplerFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDopplerFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetOrientation(&self, pvorientfront: *mut super::super::super::Graphics::Direct3D::D3DVECTOR, pvorienttop: *mut super::super::super::Graphics::Direct3D::D3DVECTOR) -> ::windows_core::Result<()> { @@ -247,16 +247,16 @@ impl IDirectSound3DListener { #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRolloffFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRolloffFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRolloffFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn GetVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D")] pub unsafe fn SetAllParameters(&self, pclistener: *const DS3DLISTENER, dwapply: u32) -> ::windows_core::Result<()> { @@ -336,7 +336,7 @@ impl IDirectSound8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DuplicateSoundBuffer)(::windows_core::Interface::as_raw(self), pdsbufferoriginal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DuplicateSoundBuffer)(::windows_core::Interface::as_raw(self), pdsbufferoriginal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCooperativeLevel(&self, hwnd: P0, dwlevel: u32) -> ::windows_core::Result<()> where @@ -349,7 +349,7 @@ impl IDirectSound8 { } pub unsafe fn GetSpeakerConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpeakerConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpeakerConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpeakerConfig(&self, dwspeakerconfig: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpeakerConfig)(::windows_core::Interface::as_raw(self), dwspeakerconfig).ok() @@ -359,7 +359,7 @@ impl IDirectSound8 { } pub unsafe fn VerifyCertification(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerifyCertification)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerifyCertification)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -382,19 +382,19 @@ impl IDirectSoundBuffer { } pub unsafe fn GetVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pdirectsound: P0, pcdsbufferdesc: *const DSBUFFERDESC) -> ::windows_core::Result<()> where @@ -470,19 +470,19 @@ impl IDirectSoundBuffer8 { } pub unsafe fn GetVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pdirectsound: P0, pcdsbufferdesc: *const DSBUFFERDESC) -> ::windows_core::Result<()> where @@ -549,7 +549,7 @@ impl IDirectSoundCapture { } pub unsafe fn GetCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pcguiddevice: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pcguiddevice.unwrap_or(::std::ptr::null()))).ok() @@ -568,7 +568,7 @@ pub struct IDirectSoundCapture_Vtbl { impl IDirectSoundCaptureBuffer { pub unsafe fn GetCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPosition(&self, pdwcaptureposition: ::core::option::Option<*mut u32>, pdwreadposition: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentPosition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdwcaptureposition.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pdwreadposition.unwrap_or(::std::ptr::null_mut()))).ok() @@ -578,7 +578,7 @@ impl IDirectSoundCaptureBuffer { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pdirectsoundcapture: P0, pcdscbufferdesc: *const DSCBUFFERDESC) -> ::windows_core::Result<()> where @@ -618,7 +618,7 @@ pub struct IDirectSoundCaptureBuffer_Vtbl { impl IDirectSoundCaptureBuffer8 { pub unsafe fn GetCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPosition(&self, pdwcaptureposition: ::core::option::Option<*mut u32>, pdwreadposition: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCurrentPosition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdwcaptureposition.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pdwreadposition.unwrap_or(::std::ptr::null_mut()))).ok() @@ -628,7 +628,7 @@ impl IDirectSoundCaptureBuffer8 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, pdirectsoundcapture: P0, pcdscbufferdesc: *const DSCBUFFERDESC) -> ::windows_core::Result<()> where @@ -670,11 +670,11 @@ impl IDirectSoundCaptureFXAec { } pub unsafe fn GetAllParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -697,7 +697,7 @@ impl IDirectSoundCaptureFXNoiseSuppress { } pub unsafe fn GetAllParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -804,7 +804,7 @@ impl IDirectSoundFXGargle { } pub unsafe fn GetAllParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -828,14 +828,14 @@ impl IDirectSoundFXI3DL2Reverb { } pub unsafe fn GetPreset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuality(&self, lquality: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuality)(::windows_core::Interface::as_raw(self), lquality).ok() } pub unsafe fn GetQuality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQuality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQuality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -857,7 +857,7 @@ impl IDirectSoundFXParamEq { } pub unsafe fn GetAllParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -875,7 +875,7 @@ impl IDirectSoundFXWavesReverb { } pub unsafe fn GetAllParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/Endpoints/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/Endpoints/mod.rs index 9db9749891..04ae0291d3 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/Endpoints/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/Endpoints/mod.rs @@ -37,11 +37,11 @@ pub struct IAudioEndpointLastBufferControl_Vtbl { impl IAudioEndpointOffloadStreamMeter { pub unsafe fn GetMeterChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMeterChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMeterChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMeteringData(&self, u32channelcount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMeteringData)(::windows_core::Interface::as_raw(self), u32channelcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMeteringData)(::windows_core::Interface::as_raw(self), u32channelcount, &mut result__).map(|| result__) } } #[repr(C)] @@ -59,7 +59,7 @@ impl IAudioEndpointOffloadStreamMute { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -74,7 +74,7 @@ pub struct IAudioEndpointOffloadStreamMute_Vtbl { impl IAudioEndpointOffloadStreamVolume { pub unsafe fn GetVolumeChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolumeChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolumeChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_KernelStreaming")] pub unsafe fn SetChannelVolumes(&self, u32channelcount: u32, pf32volumes: *const f32, u32curvetype: super::super::KernelStreaming::AUDIO_CURVE_TYPE, pcurveduration: *const i64) -> ::windows_core::Result<()> { @@ -82,7 +82,7 @@ impl IAudioEndpointOffloadStreamVolume { } pub unsafe fn GetChannelVolumes(&self, u32channelcount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolumes)(::windows_core::Interface::as_raw(self), u32channelcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolumes)(::windows_core::Interface::as_raw(self), u32channelcount, &mut result__).map(|| result__) } } #[repr(C)] @@ -113,7 +113,7 @@ impl IAudioEndpointVolume { } pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), fleveldb, pguideventcontext).ok() @@ -123,11 +123,11 @@ impl IAudioEndpointVolume { } pub unsafe fn GetMasterVolumeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMasterVolumeLevelScalar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMasterVolumeLevelScalar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMasterVolumeLevelScalar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, pguideventcontext).ok() @@ -137,11 +137,11 @@ impl IAudioEndpointVolume { } pub unsafe fn GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolumeLevelScalar)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolumeLevelScalar)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetMute(&self, bmute: P0, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -151,7 +151,7 @@ impl IAudioEndpointVolume { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVolumeStepInfo)(::windows_core::Interface::as_raw(self), pnstep, pnstepcount).ok() @@ -164,7 +164,7 @@ impl IAudioEndpointVolume { } pub unsafe fn QueryHardwareSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVolumeRange)(::windows_core::Interface::as_raw(self), pflvolumemindb, pflvolumemaxdb, pflvolumeincrementdb).ok() @@ -223,7 +223,7 @@ impl IAudioEndpointVolumeEx { } pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), fleveldb, pguideventcontext).ok() @@ -233,11 +233,11 @@ impl IAudioEndpointVolumeEx { } pub unsafe fn GetMasterVolumeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMasterVolumeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMasterVolumeLevelScalar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMasterVolumeLevelScalar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMasterVolumeLevelScalar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, pguideventcontext).ok() @@ -247,11 +247,11 @@ impl IAudioEndpointVolumeEx { } pub unsafe fn GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelVolumeLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelVolumeLevelScalar)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelVolumeLevelScalar)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetMute(&self, bmute: P0, pguideventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -261,7 +261,7 @@ impl IAudioEndpointVolumeEx { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVolumeStepInfo)(::windows_core::Interface::as_raw(self), pnstep, pnstepcount).ok() @@ -274,7 +274,7 @@ impl IAudioEndpointVolumeEx { } pub unsafe fn QueryHardwareSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVolumeRange)(::windows_core::Interface::as_raw(self), pflvolumemindb, pflvolumemaxdb, pflvolumeincrementdb).ok() @@ -300,7 +300,7 @@ impl IAudioLfxControl { } pub unsafe fn GetLocalEffectsState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalEffectsState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalEffectsState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -315,18 +315,18 @@ pub struct IAudioLfxControl_Vtbl { impl IAudioMeterInformation { pub unsafe fn GetPeakValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPeakValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPeakValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMeteringChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMeteringChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMeteringChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChannelsPeakValues(&self, afpeakvalues: &mut [f32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChannelsPeakValues)(::windows_core::Interface::as_raw(self), afpeakvalues.len().try_into().unwrap(), ::core::mem::transmute(afpeakvalues.as_ptr())).ok() } pub unsafe fn QueryHardwareSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHardwareSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -346,7 +346,7 @@ impl IHardwareAudioEngineBase { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableOffloadConnectorCount)(::windows_core::Interface::as_raw(self), _pwstrdeviceid.into_param().abi(), _uconnectorid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableOffloadConnectorCount)(::windows_core::Interface::as_raw(self), _pwstrdeviceid.into_param().abi(), _uconnectorid, &mut result__).map(|| result__) } pub unsafe fn GetEngineFormat(&self, pdevice: P0, _brequestdeviceformat: P1, _ppwfxformat: *mut *mut super::WAVEFORMATEX) -> ::windows_core::Result<()> where @@ -373,7 +373,7 @@ impl IHardwareAudioEngineBase { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGfxState)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGfxState)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/XAudio2/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/XAudio2/mod.rs index fcf446dec7..6fcc010e73 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/XAudio2/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/XAudio2/mod.rs @@ -2,13 +2,13 @@ pub unsafe fn CreateAudioReverb() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("xaudio2_8.dll" "system" fn CreateAudioReverb(ppapo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateAudioReverb(&mut result__).from_abi(result__) + CreateAudioReverb(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateAudioVolumeMeter() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("xaudio2_8.dll" "system" fn CreateAudioVolumeMeter(ppapo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateAudioVolumeMeter(&mut result__).from_abi(result__) + CreateAudioVolumeMeter(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateFX(clsid: *const ::windows_core::GUID, peffect: *mut ::core::option::Option<::windows_core::IUnknown>, pinitdat: ::core::option::Option<*const ::core::ffi::c_void>, initdatabytesize: u32) -> ::windows_core::Result<()> { @@ -19,7 +19,7 @@ pub unsafe fn CreateFX(clsid: *const ::windows_core::GUID, peffect: *mut ::core: pub unsafe fn CreateHrtfApo(init: *const HrtfApoInit) -> ::windows_core::Result { ::windows_targets::link!("hrtfapo.dll" "system" fn CreateHrtfApo(init : *const HrtfApoInit, xapo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateHrtfApo(init, &mut result__).from_abi(result__) + CreateHrtfApo(init, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn XAudio2CreateWithVersionInfo(ppxaudio2: *mut ::core::option::Option, flags: u32, xaudio2processor: u32, ntddiversion: u32) -> ::windows_core::Result<()> { @@ -31,7 +31,7 @@ pub unsafe fn XAudio2CreateWithVersionInfo(ppxaudio2: *mut ::core::option::Optio impl IXAPO { pub unsafe fn GetRegistrationProperties(&self) -> ::windows_core::Result<*mut XAPO_REGISTRATION_PROPERTIES> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegistrationProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegistrationProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsInputFormatSupported(&self, poutputformat: *const super::WAVEFORMATEX, prequestedinputformat: *const super::WAVEFORMATEX, ppsupportedinputformat: ::core::option::Option<*mut *mut super::WAVEFORMATEX>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsInputFormatSupported)(::windows_core::Interface::as_raw(self), poutputformat, prequestedinputformat, ::core::mem::transmute(ppsupportedinputformat.unwrap_or(::std::ptr::null_mut()))).ok() @@ -224,7 +224,7 @@ impl IXAudio2MasteringVoice { pub unsafe fn GetVoiceDetails(&self) -> XAUDIO2_VOICE_DETAILS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVoiceDetails)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputVoices(&self, psendlist: ::core::option::Option<*const XAUDIO2_VOICE_SENDS>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOutputVoices)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psendlist.unwrap_or(::std::ptr::null()))).ok() @@ -241,7 +241,7 @@ impl IXAudio2MasteringVoice { pub unsafe fn GetEffectState(&self, effectindex: u32) -> super::super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetEffectState)(::windows_core::Interface::as_raw(self), effectindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEffectParameters(&self, effectindex: u32, pparameters: *const ::core::ffi::c_void, parametersbytesize: u32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEffectParameters)(::windows_core::Interface::as_raw(self), effectindex, pparameters, parametersbytesize, operationset).ok() @@ -255,7 +255,7 @@ impl IXAudio2MasteringVoice { pub unsafe fn GetFilterParameters(&self) -> XAUDIO2_FILTER_PARAMETERS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFilterParameters)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputFilterParameters(&self, pdestinationvoice: P0, pparameters: *const XAUDIO2_FILTER_PARAMETERS, operationset: u32) -> ::windows_core::Result<()> where @@ -269,7 +269,7 @@ impl IXAudio2MasteringVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputFilterParameters)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetVolume(&self, volume: f32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetVolume)(::windows_core::Interface::as_raw(self), volume, operationset).ok() @@ -277,7 +277,7 @@ impl IXAudio2MasteringVoice { pub unsafe fn GetVolume(&self) -> f32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVolume)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetChannelVolumes(&self, pvolumes: &[f32], operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannelVolumes)(::windows_core::Interface::as_raw(self), pvolumes.len().try_into().unwrap(), ::core::mem::transmute(pvolumes.as_ptr()), operationset).ok() @@ -297,14 +297,14 @@ impl IXAudio2MasteringVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputMatrix)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), sourcechannels, destinationchannels, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn DestroyVoice(&self) { (::windows_core::Interface::vtable(self).base__.DestroyVoice)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetChannelMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -319,7 +319,7 @@ impl IXAudio2SourceVoice { pub unsafe fn GetVoiceDetails(&self) -> XAUDIO2_VOICE_DETAILS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVoiceDetails)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputVoices(&self, psendlist: ::core::option::Option<*const XAUDIO2_VOICE_SENDS>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOutputVoices)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psendlist.unwrap_or(::std::ptr::null()))).ok() @@ -336,7 +336,7 @@ impl IXAudio2SourceVoice { pub unsafe fn GetEffectState(&self, effectindex: u32) -> super::super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetEffectState)(::windows_core::Interface::as_raw(self), effectindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEffectParameters(&self, effectindex: u32, pparameters: *const ::core::ffi::c_void, parametersbytesize: u32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEffectParameters)(::windows_core::Interface::as_raw(self), effectindex, pparameters, parametersbytesize, operationset).ok() @@ -350,7 +350,7 @@ impl IXAudio2SourceVoice { pub unsafe fn GetFilterParameters(&self) -> XAUDIO2_FILTER_PARAMETERS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFilterParameters)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputFilterParameters(&self, pdestinationvoice: P0, pparameters: *const XAUDIO2_FILTER_PARAMETERS, operationset: u32) -> ::windows_core::Result<()> where @@ -364,7 +364,7 @@ impl IXAudio2SourceVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputFilterParameters)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetVolume(&self, volume: f32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetVolume)(::windows_core::Interface::as_raw(self), volume, operationset).ok() @@ -372,7 +372,7 @@ impl IXAudio2SourceVoice { pub unsafe fn GetVolume(&self) -> f32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVolume)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetChannelVolumes(&self, pvolumes: &[f32], operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannelVolumes)(::windows_core::Interface::as_raw(self), pvolumes.len().try_into().unwrap(), ::core::mem::transmute(pvolumes.as_ptr()), operationset).ok() @@ -392,7 +392,7 @@ impl IXAudio2SourceVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputMatrix)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), sourcechannels, destinationchannels, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn DestroyVoice(&self) { (::windows_core::Interface::vtable(self).base__.DestroyVoice)(::windows_core::Interface::as_raw(self)) @@ -424,7 +424,7 @@ impl IXAudio2SourceVoice { pub unsafe fn GetFrequencyRatio(&self) -> f32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetFrequencyRatio)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetSourceSampleRate(&self, newsourcesamplerate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceSampleRate)(::windows_core::Interface::as_raw(self), newsourcesamplerate).ok() @@ -451,7 +451,7 @@ impl IXAudio2SubmixVoice { pub unsafe fn GetVoiceDetails(&self) -> XAUDIO2_VOICE_DETAILS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVoiceDetails)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputVoices(&self, psendlist: ::core::option::Option<*const XAUDIO2_VOICE_SENDS>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOutputVoices)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psendlist.unwrap_or(::std::ptr::null()))).ok() @@ -468,7 +468,7 @@ impl IXAudio2SubmixVoice { pub unsafe fn GetEffectState(&self, effectindex: u32) -> super::super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetEffectState)(::windows_core::Interface::as_raw(self), effectindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEffectParameters(&self, effectindex: u32, pparameters: *const ::core::ffi::c_void, parametersbytesize: u32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEffectParameters)(::windows_core::Interface::as_raw(self), effectindex, pparameters, parametersbytesize, operationset).ok() @@ -482,7 +482,7 @@ impl IXAudio2SubmixVoice { pub unsafe fn GetFilterParameters(&self) -> XAUDIO2_FILTER_PARAMETERS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetFilterParameters)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputFilterParameters(&self, pdestinationvoice: P0, pparameters: *const XAUDIO2_FILTER_PARAMETERS, operationset: u32) -> ::windows_core::Result<()> where @@ -496,7 +496,7 @@ impl IXAudio2SubmixVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputFilterParameters)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetVolume(&self, volume: f32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetVolume)(::windows_core::Interface::as_raw(self), volume, operationset).ok() @@ -504,7 +504,7 @@ impl IXAudio2SubmixVoice { pub unsafe fn GetVolume(&self) -> f32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetVolume)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetChannelVolumes(&self, pvolumes: &[f32], operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannelVolumes)(::windows_core::Interface::as_raw(self), pvolumes.len().try_into().unwrap(), ::core::mem::transmute(pvolumes.as_ptr()), operationset).ok() @@ -524,7 +524,7 @@ impl IXAudio2SubmixVoice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).base__.GetOutputMatrix)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), sourcechannels, destinationchannels, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn DestroyVoice(&self) { (::windows_core::Interface::vtable(self).base__.DestroyVoice)(::windows_core::Interface::as_raw(self)) @@ -540,7 +540,7 @@ impl IXAudio2Voice { pub unsafe fn GetVoiceDetails(&self) -> XAUDIO2_VOICE_DETAILS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetVoiceDetails)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputVoices(&self, psendlist: ::core::option::Option<*const XAUDIO2_VOICE_SENDS>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputVoices)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psendlist.unwrap_or(::std::ptr::null()))).ok() @@ -557,7 +557,7 @@ impl IXAudio2Voice { pub unsafe fn GetEffectState(&self, effectindex: u32) -> super::super::super::Foundation::BOOL { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetEffectState)(::windows_core::Interface::as_raw(self), effectindex, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetEffectParameters(&self, effectindex: u32, pparameters: *const ::core::ffi::c_void, parametersbytesize: u32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectParameters)(::windows_core::Interface::as_raw(self), effectindex, pparameters, parametersbytesize, operationset).ok() @@ -571,7 +571,7 @@ impl IXAudio2Voice { pub unsafe fn GetFilterParameters(&self) -> XAUDIO2_FILTER_PARAMETERS { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetFilterParameters)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetOutputFilterParameters(&self, pdestinationvoice: P0, pparameters: *const XAUDIO2_FILTER_PARAMETERS, operationset: u32) -> ::windows_core::Result<()> where @@ -585,7 +585,7 @@ impl IXAudio2Voice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetOutputFilterParameters)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetVolume(&self, volume: f32, operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), volume, operationset).ok() @@ -593,7 +593,7 @@ impl IXAudio2Voice { pub unsafe fn GetVolume(&self) -> f32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn SetChannelVolumes(&self, pvolumes: &[f32], operationset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannelVolumes)(::windows_core::Interface::as_raw(self), pvolumes.len().try_into().unwrap(), ::core::mem::transmute(pvolumes.as_ptr()), operationset).ok() @@ -613,7 +613,7 @@ impl IXAudio2Voice { { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetOutputMatrix)(::windows_core::Interface::as_raw(self), pdestinationvoice.into_param().abi(), sourcechannels, destinationchannels, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn DestroyVoice(&self) { (::windows_core::Interface::vtable(self).DestroyVoice)(::windows_core::Interface::as_raw(self)) diff --git a/crates/libs/windows/src/Windows/Win32/Media/Audio/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Audio/mod.rs index 11832c5168..803902db40 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Audio/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Audio/mod.rs @@ -16,7 +16,7 @@ where { ::windows_targets::link!("mmdevapi.dll" "system" fn ActivateAudioInterfaceAsync(deviceinterfacepath : ::windows_core::PCWSTR, riid : *const ::windows_core::GUID, activationparams : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, completionhandler : * mut::core::ffi::c_void, activationoperation : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ActivateAudioInterfaceAsync(deviceinterfacepath.into_param().abi(), riid, ::core::mem::transmute(activationparams.unwrap_or(::std::ptr::null())), completionhandler.into_param().abi(), &mut result__).from_abi(result__) + ActivateAudioInterfaceAsync(deviceinterfacepath.into_param().abi(), riid, ::core::mem::transmute(activationparams.unwrap_or(::std::ptr::null())), completionhandler.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoRegisterMessageFilter(lpmessagefilter: P0, lplpmessagefilter: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> @@ -30,13 +30,13 @@ where pub unsafe fn CreateCaptureAudioStateMonitor() -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateCaptureAudioStateMonitor(audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateCaptureAudioStateMonitor(&mut result__).from_abi(result__) + CreateCaptureAudioStateMonitor(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateCaptureAudioStateMonitorForCategory(category : AUDIO_STREAM_CATEGORY, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateCaptureAudioStateMonitorForCategory(category, &mut result__).from_abi(result__) + CreateCaptureAudioStateMonitorForCategory(category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: P0) -> ::windows_core::Result @@ -45,25 +45,25 @@ where { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category : AUDIO_STREAM_CATEGORY, deviceid : ::windows_core::PCWSTR, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category, deviceid.into_param().abi(), &mut result__).from_abi(result__) + CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category, deviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category : AUDIO_STREAM_CATEGORY, role : ERole, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category, role, &mut result__).from_abi(result__) + CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category, role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateRenderAudioStateMonitor() -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateRenderAudioStateMonitor(audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateRenderAudioStateMonitor(&mut result__).from_abi(result__) + CreateRenderAudioStateMonitor(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateRenderAudioStateMonitorForCategory(category : AUDIO_STREAM_CATEGORY, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateRenderAudioStateMonitorForCategory(category, &mut result__).from_abi(result__) + CreateRenderAudioStateMonitorForCategory(category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateRenderAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: P0) -> ::windows_core::Result @@ -72,13 +72,13 @@ where { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateRenderAudioStateMonitorForCategoryAndDeviceId(category : AUDIO_STREAM_CATEGORY, deviceid : ::windows_core::PCWSTR, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateRenderAudioStateMonitorForCategoryAndDeviceId(category, deviceid.into_param().abi(), &mut result__).from_abi(result__) + CreateRenderAudioStateMonitorForCategoryAndDeviceId(category, deviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows_core::Result { ::windows_targets::link!("windows.media.mediacontrol.dll" "system" fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category : AUDIO_STREAM_CATEGORY, role : ERole, audiostatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category, role, &mut result__).from_abi(result__) + CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category, role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PlaySoundA(pszsound: P0, hmod: P1, fdwsound: SND_FLAGS) -> super::super::Foundation::BOOL @@ -1212,7 +1212,7 @@ impl IAudioAmbisonicsControl { } pub unsafe fn GetHeadTracking(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHeadTracking)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHeadTracking)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRotation(&self, x: f32, y: f32, z: f32, w: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRotation)(::windows_core::Interface::as_raw(self), x, y, z, w).ok() @@ -1232,7 +1232,7 @@ pub struct IAudioAmbisonicsControl_Vtbl { impl IAudioAutoGainControl { pub unsafe fn GetEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, benable: P0, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> where @@ -1253,14 +1253,14 @@ pub struct IAudioAutoGainControl_Vtbl { impl IAudioBass { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLevelRange)(::windows_core::Interface::as_raw(self), nchannel, pfminleveldb, pfmaxleveldb, pfstepping).ok() } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -1288,7 +1288,7 @@ impl IAudioCaptureClient { } pub unsafe fn GetNextPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1307,7 +1307,7 @@ impl IAudioChannelConfig { } pub unsafe fn GetChannelConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1325,22 +1325,22 @@ impl IAudioClient { } pub unsafe fn GetBufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const WAVEFORMATEX, ppclosestmatch: ::core::option::Option<*mut *mut WAVEFORMATEX>) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsFormatSupported)(::windows_core::Interface::as_raw(self), sharemode, pformat, ::core::mem::transmute(ppclosestmatch.unwrap_or(::std::ptr::null_mut()))) } pub unsafe fn GetMixFormat(&self) -> ::windows_core::Result<*mut WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: ::core::option::Option<*mut i64>, phnsminimumdeviceperiod: ::core::option::Option<*mut i64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDevicePeriod)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(phnsdefaultdeviceperiod.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(phnsminimumdeviceperiod.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1365,7 +1365,7 @@ impl IAudioClient { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1393,22 +1393,22 @@ impl IAudioClient2 { } pub unsafe fn GetBufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const WAVEFORMATEX, ppclosestmatch: ::core::option::Option<*mut *mut WAVEFORMATEX>) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.IsFormatSupported)(::windows_core::Interface::as_raw(self), sharemode, pformat, ::core::mem::transmute(ppclosestmatch.unwrap_or(::std::ptr::null_mut()))) } pub unsafe fn GetMixFormat(&self) -> ::windows_core::Result<*mut WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: ::core::option::Option<*mut i64>, phnsminimumdeviceperiod: ::core::option::Option<*mut i64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDevicePeriod)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(phnsdefaultdeviceperiod.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(phnsminimumdeviceperiod.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1433,11 +1433,11 @@ impl IAudioClient2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).map(|| result__) } pub unsafe fn SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClientProperties)(::windows_core::Interface::as_raw(self), pproperties).ok() @@ -1465,22 +1465,22 @@ impl IAudioClient3 { } pub unsafe fn GetBufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const WAVEFORMATEX, ppclosestmatch: ::core::option::Option<*mut *mut WAVEFORMATEX>) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.base__.IsFormatSupported)(::windows_core::Interface::as_raw(self), sharemode, pformat, ::core::mem::transmute(ppclosestmatch.unwrap_or(::std::ptr::null_mut()))) } pub unsafe fn GetMixFormat(&self) -> ::windows_core::Result<*mut WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMixFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: ::core::option::Option<*mut i64>, phnsminimumdeviceperiod: ::core::option::Option<*mut i64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDevicePeriod)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(phnsdefaultdeviceperiod.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(phnsminimumdeviceperiod.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1505,11 +1505,11 @@ impl IAudioClient3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).map(|| result__) } pub unsafe fn SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetClientProperties)(::windows_core::Interface::as_raw(self), pproperties).ok() @@ -1556,14 +1556,14 @@ pub struct IAudioClientDuckingControl_Vtbl { impl IAudioClock { pub unsafe fn GetFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPosition(&self, pu64position: *mut u64, pu64qpcposition: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), pu64position, ::core::mem::transmute(pu64qpcposition.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1649,11 +1649,11 @@ pub struct IAudioEffectsManager_Vtbl { impl IAudioFormatEnumerator { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, index: u32) -> ::windows_core::Result<*mut WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } } #[repr(C)] @@ -1668,7 +1668,7 @@ pub struct IAudioFormatEnumerator_Vtbl { impl IAudioInputSelector { pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelection(&self, nidselect: u32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelection)(::windows_core::Interface::as_raw(self), nidselect, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -1686,7 +1686,7 @@ pub struct IAudioInputSelector_Vtbl { impl IAudioLoudness { pub unsafe fn GetEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, benable: P0, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> where @@ -1707,14 +1707,14 @@ pub struct IAudioLoudness_Vtbl { impl IAudioMidrange { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLevelRange)(::windows_core::Interface::as_raw(self), nchannel, pfminleveldb, pfmaxleveldb, pfstepping).ok() } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -1742,7 +1742,7 @@ impl IAudioMute { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1757,7 +1757,7 @@ pub struct IAudioMute_Vtbl { impl IAudioOutputSelector { pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelection(&self, nidselect: u32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelection)(::windows_core::Interface::as_raw(self), nidselect, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -1775,11 +1775,11 @@ pub struct IAudioOutputSelector_Vtbl { impl IAudioPeakMeter { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } } #[repr(C)] @@ -1794,7 +1794,7 @@ pub struct IAudioPeakMeter_Vtbl { impl IAudioRenderClient { pub unsafe fn GetBuffer(&self, numframesrequested: u32) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), numframesrequested, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), numframesrequested, &mut result__).map(|| result__) } pub unsafe fn ReleaseBuffer(&self, numframeswritten: u32, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseBuffer)(::windows_core::Interface::as_raw(self), numframeswritten, dwflags).ok() @@ -1812,11 +1812,11 @@ pub struct IAudioRenderClient_Vtbl { impl IAudioSessionControl { pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, value: P0, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1826,7 +1826,7 @@ impl IAudioSessionControl { } pub unsafe fn GetIconPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIconPath(&self, value: P0, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1836,7 +1836,7 @@ impl IAudioSessionControl { } pub unsafe fn GetGroupingParam(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupingParam(&self, r#override: *const ::windows_core::GUID, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGroupingParam)(::windows_core::Interface::as_raw(self), r#override, eventcontext).ok() @@ -1873,11 +1873,11 @@ pub struct IAudioSessionControl_Vtbl { impl IAudioSessionControl2 { pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, value: P0, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1887,7 +1887,7 @@ impl IAudioSessionControl2 { } pub unsafe fn GetIconPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIconPath(&self, value: P0, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1897,7 +1897,7 @@ impl IAudioSessionControl2 { } pub unsafe fn GetGroupingParam(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupingParam(&self, r#override: *const ::windows_core::GUID, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGroupingParam)(::windows_core::Interface::as_raw(self), r#override, eventcontext).ok() @@ -1916,15 +1916,15 @@ impl IAudioSessionControl2 { } pub unsafe fn GetSessionIdentifier(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSessionInstanceIdentifier(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionInstanceIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionInstanceIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSystemSoundsSession(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsSystemSoundsSession)(::windows_core::Interface::as_raw(self)) @@ -1951,11 +1951,11 @@ pub struct IAudioSessionControl2_Vtbl { impl IAudioSessionEnumerator { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSession(&self, sessioncount: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSession)(::windows_core::Interface::as_raw(self), sessioncount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSession)(::windows_core::Interface::as_raw(self), sessioncount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2016,11 +2016,11 @@ pub struct IAudioSessionEvents_Vtbl { impl IAudioSessionManager { pub unsafe fn GetAudioSessionControl(&self, audiosessionguid: ::core::option::Option<*const ::windows_core::GUID>, streamflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioSessionControl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioSessionControl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSimpleAudioVolume(&self, audiosessionguid: ::core::option::Option<*const ::windows_core::GUID>, streamflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSimpleAudioVolume)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSimpleAudioVolume)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2035,15 +2035,15 @@ pub struct IAudioSessionManager_Vtbl { impl IAudioSessionManager2 { pub unsafe fn GetAudioSessionControl(&self, audiosessionguid: ::core::option::Option<*const ::windows_core::GUID>, streamflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudioSessionControl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudioSessionControl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSimpleAudioVolume(&self, audiosessionguid: ::core::option::Option<*const ::windows_core::GUID>, streamflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSimpleAudioVolume)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSimpleAudioVolume)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(audiosessionguid.unwrap_or(::std::ptr::null())), streamflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSessionEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterSessionNotification(&self, sessionnotification: P0) -> ::windows_core::Result<()> where @@ -2102,7 +2102,7 @@ pub struct IAudioSessionNotification_Vtbl { impl IAudioStateMonitor { pub unsafe fn RegisterCallback(&self, callback: PAudioStateMonitorCallback, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterCallback)(::windows_core::Interface::as_raw(self), callback, ::core::mem::transmute(context.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterCallback)(::windows_core::Interface::as_raw(self), callback, ::core::mem::transmute(context.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn UnregisterCallback(&self, registration: i64) { (::windows_core::Interface::vtable(self).UnregisterCallback)(::windows_core::Interface::as_raw(self), registration) @@ -2124,14 +2124,14 @@ pub struct IAudioStateMonitor_Vtbl { impl IAudioStreamVolume { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannelVolume(&self, dwindex: u32, flevel: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, flevel).ok() } pub unsafe fn GetChannelVolume(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn SetAllVolumes(&self, pfvolumes: &[f32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllVolumes)(::windows_core::Interface::as_raw(self), pfvolumes.len().try_into().unwrap(), ::core::mem::transmute(pfvolumes.as_ptr())).ok() @@ -2173,17 +2173,17 @@ impl IAudioSystemEffectsPropertyStore { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn OpenDefaultPropertyStore(&self, stgmaccess: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenDefaultPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenDefaultPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn OpenUserPropertyStore(&self, stgmaccess: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenUserPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenUserPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn OpenVolatilePropertyStore(&self, stgmaccess: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenVolatilePropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenVolatilePropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResetUserPropertyStore(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetUserPropertyStore)(::windows_core::Interface::as_raw(self)).ok() @@ -2230,14 +2230,14 @@ pub struct IAudioSystemEffectsPropertyStore_Vtbl { impl IAudioTreble { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLevelRange)(::windows_core::Interface::as_raw(self), nchannel, pfminleveldb, pfmaxleveldb, pfstepping).ok() } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -2298,14 +2298,14 @@ pub struct IAudioVolumeDuckNotification_Vtbl { impl IAudioVolumeLevel { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLevelRange)(::windows_core::Interface::as_raw(self), nchannel, pfminleveldb, pfmaxleveldb, pfstepping).ok() } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -2327,14 +2327,14 @@ pub struct IAudioVolumeLevel_Vtbl { impl IChannelAudioVolume { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannelVolume(&self, dwindex: u32, flevel: f32, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, flevel, eventcontext).ok() } pub unsafe fn GetChannelVolume(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn SetAllVolumes(&self, pfvolumes: &[f32], eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllVolumes)(::windows_core::Interface::as_raw(self), pfvolumes.len().try_into().unwrap(), ::core::mem::transmute(pfvolumes.as_ptr()), eventcontext).ok() @@ -2358,11 +2358,11 @@ pub struct IChannelAudioVolume_Vtbl { impl IConnector { pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataFlow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataFlow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataFlow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConnectTo(&self, pconnectto: P0) -> ::windows_core::Result<()> where @@ -2375,19 +2375,19 @@ impl IConnector { } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectedTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConnectorIdConnectedTo(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectorIdConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectorIdConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIdConnectedTo(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceIdConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceIdConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2421,11 +2421,11 @@ pub struct IControlChangeNotify_Vtbl { impl IControlInterface { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2440,7 +2440,7 @@ pub struct IControlInterface_Vtbl { impl IDeviceSpecificProperty { pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, pvvalue: *mut ::core::ffi::c_void, pcbvalue: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), pvvalue, pcbvalue).ok() @@ -2466,27 +2466,27 @@ pub struct IDeviceSpecificProperty_Vtbl { impl IDeviceTopology { pub unsafe fn GetConnectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnector(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnector)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnector)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSubunitCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubunitCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubunitCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubunit(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubunit)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubunit)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartById(&self, nid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartById)(::windows_core::Interface::as_raw(self), nid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartById)(::windows_core::Interface::as_raw(self), nid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignalPath(&self, pipartfrom: P0, pipartto: P1, brejectmixedpaths: P2) -> ::windows_core::Result where @@ -2495,7 +2495,7 @@ impl IDeviceTopology { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignalPath)(::windows_core::Interface::as_raw(self), pipartfrom.into_param().abi(), pipartto.into_param().abi(), brejectmixedpaths.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignalPath)(::windows_core::Interface::as_raw(self), pipartfrom.into_param().abi(), pipartto.into_param().abi(), brejectmixedpaths.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2519,16 +2519,16 @@ impl IMMDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &T::IID, dwclsctx, ::core::mem::transmute(pactivationparams.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &T::IID, dwclsctx, ::core::mem::transmute(pactivationparams.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn OpenPropertyStore(&self, stgmaccess: super::super::System::Com::STGM) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenPropertyStore)(::windows_core::Interface::as_raw(self), stgmaccess, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetState(&self, pdwstate: *mut u32) -> DEVICE_STATE { (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), pdwstate) @@ -2570,11 +2570,11 @@ pub struct IMMDeviceActivator_Vtbl { impl IMMDeviceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Item(&self, ndevice: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ndevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ndevice, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2589,18 +2589,18 @@ pub struct IMMDeviceCollection_Vtbl { impl IMMDeviceEnumerator { pub unsafe fn EnumAudioEndpoints(&self, dataflow: EDataFlow, dwstatemask: DEVICE_STATE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAudioEndpoints)(::windows_core::Interface::as_raw(self), dataflow, dwstatemask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAudioEndpoints)(::windows_core::Interface::as_raw(self), dataflow, dwstatemask, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultAudioEndpoint(&self, dataflow: EDataFlow, role: ERole) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultAudioEndpoint)(::windows_core::Interface::as_raw(self), dataflow, role, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultAudioEndpoint)(::windows_core::Interface::as_raw(self), dataflow, role, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self, pwstrid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), pwstrid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), pwstrid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterEndpointNotificationCallback(&self, pclient: P0) -> ::windows_core::Result<()> where @@ -2630,7 +2630,7 @@ pub struct IMMDeviceEnumerator_Vtbl { impl IMMEndpoint { pub unsafe fn GetDataFlow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataFlow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataFlow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2726,43 +2726,43 @@ pub struct IMessageFilter_Vtbl { impl IPart { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlobalId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlobalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlobalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPartType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetControlInterfaceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlInterfaceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlInterfaceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetControlInterface(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlInterface)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlInterface)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumPartsIncoming(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPartsIncoming)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPartsIncoming)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumPartsOutgoing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPartsOutgoing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPartsOutgoing)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTopologyObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTopologyObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTopologyObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Activate(&self, dwclscontext: u32, refiid: *const ::windows_core::GUID, ppvobject: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), dwclscontext, refiid, ::core::mem::transmute(ppvobject.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2803,11 +2803,11 @@ pub struct IPart_Vtbl { impl IPartsList { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPart(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPart)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPart)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2822,14 +2822,14 @@ pub struct IPartsList_Vtbl { impl IPerChannelDbLevel { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLevelRange)(::windows_core::Interface::as_raw(self), nchannel, pfminleveldb, pfmaxleveldb, pfstepping).ok() } pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), nchannel, &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLevel)(::windows_core::Interface::as_raw(self), nchannel, fleveldb, ::core::mem::transmute(pguideventcontext.unwrap_or(::std::ptr::null()))).ok() @@ -2860,7 +2860,7 @@ impl ISimpleAudioVolume { } pub unsafe fn GetMasterVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMasterVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMasterVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMute(&self, bmute: P0, eventcontext: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -2870,7 +2870,7 @@ impl ISimpleAudioVolume { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2890,19 +2890,19 @@ impl ISpatialAudioClient { } pub unsafe fn GetNativeStaticObjectTypeMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNativeStaticObjectTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNativeStaticObjectTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedAudioObjectFormatEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedAudioObjectFormatEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMaxFrameCount(&self, objectformat: *const WAVEFORMATEX) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxFrameCount)(::windows_core::Interface::as_raw(self), objectformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxFrameCount)(::windows_core::Interface::as_raw(self), objectformat, &mut result__).map(|| result__) } pub unsafe fn IsAudioObjectFormatSupported(&self, objectformat: *const WAVEFORMATEX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsAudioObjectFormatSupported)(::windows_core::Interface::as_raw(self), objectformat).ok() @@ -2915,7 +2915,7 @@ impl ISpatialAudioClient { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioStream)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(activationparams), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioStream)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(activationparams), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2939,19 +2939,19 @@ impl ISpatialAudioClient2 { } pub unsafe fn GetNativeStaticObjectTypeMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNativeStaticObjectTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNativeStaticObjectTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSupportedAudioObjectFormatEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSupportedAudioObjectFormatEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMaxFrameCount(&self, objectformat: *const WAVEFORMATEX) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxFrameCount)(::windows_core::Interface::as_raw(self), objectformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxFrameCount)(::windows_core::Interface::as_raw(self), objectformat, &mut result__).map(|| result__) } pub unsafe fn IsAudioObjectFormatSupported(&self, objectformat: *const WAVEFORMATEX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsAudioObjectFormatSupported)(::windows_core::Interface::as_raw(self), objectformat).ok() @@ -2964,18 +2964,18 @@ impl ISpatialAudioClient2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.ActivateSpatialAudioStream)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(activationparams), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActivateSpatialAudioStream)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(activationparams), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOffloadCapable)(::windows_core::Interface::as_raw(self), category, &mut result__).map(|| result__) } pub unsafe fn GetMaxFrameCountForCategory(&self, category: AUDIO_STREAM_CATEGORY, offloadenabled: P0, objectformat: *const WAVEFORMATEX) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxFrameCountForCategory)(::windows_core::Interface::as_raw(self), category, offloadenabled.into_param().abi(), objectformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxFrameCountForCategory)(::windows_core::Interface::as_raw(self), category, offloadenabled.into_param().abi(), objectformat, &mut result__).map(|| result__) } } #[repr(C)] @@ -2993,19 +2993,19 @@ impl ISpatialAudioMetadataClient { } pub unsafe fn GetSpatialAudioMetadataItemsBufferLength(&self, maxitemcount: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpatialAudioMetadataItemsBufferLength)(::windows_core::Interface::as_raw(self), maxitemcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpatialAudioMetadataItemsBufferLength)(::windows_core::Interface::as_raw(self), maxitemcount, &mut result__).map(|| result__) } pub unsafe fn ActivateSpatialAudioMetadataWriter(&self, overflowmode: SpatialAudioMetadataWriterOverflowMode) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataWriter)(::windows_core::Interface::as_raw(self), overflowmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataWriter)(::windows_core::Interface::as_raw(self), overflowmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivateSpatialAudioMetadataCopier(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataCopier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataCopier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivateSpatialAudioMetadataReader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataReader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioMetadataReader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3032,7 +3032,7 @@ impl ISpatialAudioMetadataCopier { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyMetadataForFrames)(::windows_core::Interface::as_raw(self), copyframecount, copymode, dstmetadataitems.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyMetadataForFrames)(::windows_core::Interface::as_raw(self), copyframecount, copymode, dstmetadataitems.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -3051,23 +3051,23 @@ pub struct ISpatialAudioMetadataCopier_Vtbl { impl ISpatialAudioMetadataItems { pub unsafe fn GetFrameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxValueBufferLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxValueBufferLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxValueBufferLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3168,11 +3168,11 @@ impl ISpatialAudioObject { } pub unsafe fn IsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPosition)(::windows_core::Interface::as_raw(self), x, y, z).ok() @@ -3199,11 +3199,11 @@ impl ISpatialAudioObjectBase { } pub unsafe fn IsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3226,11 +3226,11 @@ impl ISpatialAudioObjectForHrtf { } pub unsafe fn IsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPosition)(::windows_core::Interface::as_raw(self), x, y, z).ok() @@ -3273,11 +3273,11 @@ impl ISpatialAudioObjectForMetadataCommands { } pub unsafe fn IsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteNextMetadataCommand(&self, commandid: u8, valuebuffer: ::core::option::Option<*const ::core::ffi::c_void>, valuebufferlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteNextMetadataCommand)(::windows_core::Interface::as_raw(self), commandid, ::core::mem::transmute(valuebuffer.unwrap_or(::std::ptr::null())), valuebufferlength).ok() @@ -3300,15 +3300,15 @@ impl ISpatialAudioObjectForMetadataItems { } pub unsafe fn IsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioObjectType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudioObjectType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSpatialAudioMetadataItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpatialAudioMetadataItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpatialAudioMetadataItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3322,14 +3322,14 @@ pub struct ISpatialAudioObjectForMetadataItems_Vtbl { impl ISpatialAudioObjectRenderStream { pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetService(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self)).ok() @@ -3348,7 +3348,7 @@ impl ISpatialAudioObjectRenderStream { } pub unsafe fn ActivateSpatialAudioObject(&self, r#type: AudioObjectType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioObject)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioObject)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3362,14 +3362,14 @@ pub struct ISpatialAudioObjectRenderStream_Vtbl { impl ISpatialAudioObjectRenderStreamBase { pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetService(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self)).ok() @@ -3404,14 +3404,14 @@ pub struct ISpatialAudioObjectRenderStreamBase_Vtbl { impl ISpatialAudioObjectRenderStreamForHrtf { pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetService(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self)).ok() @@ -3430,7 +3430,7 @@ impl ISpatialAudioObjectRenderStreamForHrtf { } pub unsafe fn ActivateSpatialAudioObjectForHrtf(&self, r#type: AudioObjectType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForHrtf)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForHrtf)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3444,14 +3444,14 @@ pub struct ISpatialAudioObjectRenderStreamForHrtf_Vtbl { impl ISpatialAudioObjectRenderStreamForMetadata { pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAvailableDynamicObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetService(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetService)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self)).ok() @@ -3470,11 +3470,11 @@ impl ISpatialAudioObjectRenderStreamForMetadata { } pub unsafe fn ActivateSpatialAudioObjectForMetadataCommands(&self, r#type: AudioObjectType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForMetadataCommands)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForMetadataCommands)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivateSpatialAudioObjectForMetadataItems(&self, r#type: AudioObjectType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForMetadataItems)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateSpatialAudioObjectForMetadataItems)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/DeviceManager/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/DeviceManager/mod.rs index 3d125c93a2..9f22574279 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/DeviceManager/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/DeviceManager/mod.rs @@ -26,11 +26,11 @@ impl IMDSPDevice { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -40,15 +40,15 @@ impl IMDSPDevice { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, pformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -88,11 +88,11 @@ impl IMDSPDevice2 { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -102,15 +102,15 @@ impl IMDSPDevice2 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, pformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -124,7 +124,7 @@ impl IMDSPDevice2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn GetFormatSupport2(&self, dwflags: u32, ppaudioformatex: *mut *mut super::Audio::WAVEFORMATEX, pnaudioformatcount: *mut u32, ppvideoformatex: *mut *mut super::MediaFoundation::VIDEOINFOHEADER, pnvideoformatcount: *mut u32, ppfiletype: *mut *mut WMFILECAPABILITIES, pnfiletypecount: *mut u32) -> ::windows_core::Result<()> { @@ -164,11 +164,11 @@ impl IMDSPDevice3 { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -178,15 +178,15 @@ impl IMDSPDevice3 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, pformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -200,7 +200,7 @@ impl IMDSPDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn GetFormatSupport2(&self, dwflags: u32, ppaudioformatex: *mut *mut super::Audio::WAVEFORMATEX, pnaudioformatcount: *mut u32, ppvideoformatex: *mut *mut super::MediaFoundation::VIDEOINFOHEADER, pnvideoformatcount: *mut u32, ppfiletype: *mut *mut WMFILECAPABILITIES, pnfiletypecount: *mut u32) -> ::windows_core::Result<()> { @@ -218,7 +218,7 @@ impl IMDSPDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszpropname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, pwszpropname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -228,7 +228,7 @@ impl IMDSPDevice3 { } pub unsafe fn GetFormatCapability(&self, format: WMDM_FORMATCODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatCapability)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatCapability)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } pub unsafe fn DeviceIoControl(&self, dwiocontrolcode: u32, lpinbuffer: &[u8], lpoutbuffer: *mut u8, pnoutbuffersize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeviceIoControl)(::windows_core::Interface::as_raw(self), dwiocontrolcode, ::core::mem::transmute(lpinbuffer.as_ptr()), lpinbuffer.len().try_into().unwrap(), lpoutbuffer, pnoutbuffersize).ok() @@ -238,7 +238,7 @@ impl IMDSPDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -256,11 +256,11 @@ pub struct IMDSPDevice3_Vtbl { impl IMDSPDeviceControl { pub unsafe fn GetDCStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDCStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDCStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Play(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Play)(::windows_core::Interface::as_raw(self)).ok() @@ -310,7 +310,7 @@ impl IMDSPDirectTransfer { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransferToDevice)(::windows_core::Interface::as_raw(self), pwszsourcefilepath.into_param().abi(), psourceoperation.into_param().abi(), fuflags, pwszdestinationname.into_param().abi(), psourcemetadata.into_param().abi(), ptransferprogress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransferToDevice)(::windows_core::Interface::as_raw(self), pwszsourcefilepath.into_param().abi(), psourceoperation.into_param().abi(), fuflags, pwszdestinationname.into_param().abi(), psourcemetadata.into_param().abi(), ptransferprogress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -327,14 +327,14 @@ impl IMDSPEnumDevice { } pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -354,14 +354,14 @@ impl IMDSPEnumStorage { } pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -482,29 +482,29 @@ pub struct IMDSPObject2_Vtbl { impl IMDSPObjectInfo { pub unsafe fn GetPlayLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlayLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlayLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetPlayOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlayOffset(&self, dwoffset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlayOffset)(::windows_core::Interface::as_raw(self), dwoffset).ok() } pub unsafe fn GetTotalLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastPlayPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLongestPlayPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLongestPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLongestPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -541,7 +541,7 @@ impl IMDSPStorage { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -552,7 +552,7 @@ impl IMDSPStorage { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -566,11 +566,11 @@ impl IMDSPStorage { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -609,7 +609,7 @@ impl IMDSPStorage2 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -620,7 +620,7 @@ impl IMDSPStorage2 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -634,11 +634,11 @@ impl IMDSPStorage2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -648,7 +648,7 @@ impl IMDSPStorage2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn CreateStorage2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>, pwszname: P0, qwfilesize: u64) -> ::windows_core::Result @@ -656,7 +656,7 @@ impl IMDSPStorage2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -694,7 +694,7 @@ impl IMDSPStorage3 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -705,7 +705,7 @@ impl IMDSPStorage3 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -719,11 +719,11 @@ impl IMDSPStorage3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -733,7 +733,7 @@ impl IMDSPStorage3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn CreateStorage2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>, pwszname: P0, qwfilesize: u64) -> ::windows_core::Result @@ -741,7 +741,7 @@ impl IMDSPStorage3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -780,7 +780,7 @@ impl IMDSPStorage4 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -791,7 +791,7 @@ impl IMDSPStorage4 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -805,11 +805,11 @@ impl IMDSPStorage4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStorage)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(pformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -819,7 +819,7 @@ impl IMDSPStorage4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn CreateStorage2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>, pwszname: P0, qwfilesize: u64) -> ::windows_core::Result @@ -827,7 +827,7 @@ impl IMDSPStorage4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateStorage2)(::windows_core::Interface::as_raw(self), dwattributes, dwattributesex, ::core::mem::transmute(paudioformat.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvideoformat.unwrap_or(::std::ptr::null())), pwszname.into_param().abi(), qwfilesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, paudioformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -861,7 +861,7 @@ impl IMDSPStorage4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStorageWithMetadata)(::windows_core::Interface::as_raw(self), dwattributes, pwszname.into_param().abi(), pmetadata.into_param().abi(), qwfilesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStorageWithMetadata)(::windows_core::Interface::as_raw(self), dwattributes, pwszname.into_param().abi(), pmetadata.into_param().abi(), qwfilesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSpecifiedMetadata(&self, ppwszpropnames: &[::windows_core::PCWSTR], pmetadata: P0) -> ::windows_core::Result<()> where @@ -874,11 +874,11 @@ impl IMDSPStorage4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -897,7 +897,7 @@ pub struct IMDSPStorage4_Vtbl { impl IMDSPStorageGlobals { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnum: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnum, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -913,7 +913,7 @@ impl IMDSPStorageGlobals { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, fumode: u32, pprogress: P0) -> ::windows_core::Result<()> where @@ -923,11 +923,11 @@ impl IMDSPStorageGlobals { } pub unsafe fn GetDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -949,11 +949,11 @@ pub struct IMDSPStorageGlobals_Vtbl { impl IMDServiceProvider { pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -968,11 +968,11 @@ pub struct IMDServiceProvider_Vtbl { impl IMDServiceProvider2 { pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDevice(&self, pwszdevicepath: P0, pdwcount: *mut u32, pppdevicearray: *mut *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -992,11 +992,11 @@ pub struct IMDServiceProvider2_Vtbl { impl IMDServiceProvider3 { pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDevice(&self, pwszdevicepath: P0, pdwcount: *mut u32, pppdevicearray: *mut *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -1019,7 +1019,7 @@ pub struct IMDServiceProvider3_Vtbl { impl ISCPSecureAuthenticate { pub unsafe fn GetSecureQuery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1033,11 +1033,11 @@ pub struct ISCPSecureAuthenticate_Vtbl { impl ISCPSecureAuthenticate2 { pub unsafe fn GetSecureQuery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSCPSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSCPSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSCPSession)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1116,7 +1116,7 @@ impl ISCPSecureExchange3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransferContainerDataOnClearChannel)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ::core::mem::transmute(pdata.as_ptr()), pdata.len().try_into().unwrap(), pprogresscallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransferContainerDataOnClearChannel)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ::core::mem::transmute(pdata.as_ptr()), pdata.len().try_into().unwrap(), pprogresscallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetObjectDataOnClearChannel(&self, pdevice: P0, pdata: *mut u8, pdwsize: *mut u32) -> ::windows_core::Result<()> where @@ -1342,7 +1342,7 @@ impl ISCPSession { } pub unsafe fn GetSecureQuery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecureQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1364,11 +1364,11 @@ impl IWMDMDevice { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -1378,15 +1378,15 @@ impl IWMDMDevice { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, ppformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -1426,11 +1426,11 @@ impl IWMDMDevice2 { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -1440,15 +1440,15 @@ impl IWMDMDevice2 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, ppformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -1462,7 +1462,7 @@ impl IWMDMDevice2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn GetFormatSupport2(&self, dwflags: u32, ppaudioformatex: *mut *mut super::Audio::WAVEFORMATEX, pnaudioformatcount: *mut u32, ppvideoformatex: *mut *mut super::MediaFoundation::VIDEOINFOHEADER, pnvideoformatcount: *mut u32, ppfiletype: *mut *mut WMFILECAPABILITIES, pnfiletypecount: *mut u32) -> ::windows_core::Result<()> { @@ -1502,11 +1502,11 @@ impl IWMDMDevice3 { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnumber: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnumber, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -1516,15 +1516,15 @@ impl IWMDMDevice3 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDeviceIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormatSupport(&self, ppformatex: *mut *mut super::Audio::WAVEFORMATEX, pnformatcount: *mut u32, pppwszmimetype: *mut *mut ::windows_core::PWSTR, pnmimetypecount: *mut u32) -> ::windows_core::Result<()> { @@ -1538,7 +1538,7 @@ impl IWMDMDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn GetFormatSupport2(&self, dwflags: u32, ppaudioformatex: *mut *mut super::Audio::WAVEFORMATEX, pnaudioformatcount: *mut u32, ppvideoformatex: *mut *mut super::MediaFoundation::VIDEOINFOHEADER, pnvideoformatcount: *mut u32, ppfiletype: *mut *mut WMFILECAPABILITIES, pnfiletypecount: *mut u32) -> ::windows_core::Result<()> { @@ -1556,7 +1556,7 @@ impl IWMDMDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszpropname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, pwszpropname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -1566,7 +1566,7 @@ impl IWMDMDevice3 { } pub unsafe fn GetFormatCapability(&self, format: WMDM_FORMATCODE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormatCapability)(::windows_core::Interface::as_raw(self), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormatCapability)(::windows_core::Interface::as_raw(self), format, &mut result__).map(|| result__) } pub unsafe fn DeviceIoControl(&self, dwiocontrolcode: u32, lpinbuffer: &[u8], lpoutbuffer: *mut u8, pnoutbuffersize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeviceIoControl)(::windows_core::Interface::as_raw(self), dwiocontrolcode, ::core::mem::transmute(lpinbuffer.as_ptr()), lpinbuffer.len().try_into().unwrap(), lpoutbuffer, pnoutbuffersize).ok() @@ -1576,7 +1576,7 @@ impl IWMDMDevice3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1594,11 +1594,11 @@ pub struct IWMDMDevice3_Vtbl { impl IWMDMDeviceControl { pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Play(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Play)(::windows_core::Interface::as_raw(self)).ok() @@ -1661,14 +1661,14 @@ impl IWMDMEnumDevice { } pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1688,14 +1688,14 @@ impl IWMDMEnumStorage { } pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt, &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1712,7 +1712,7 @@ pub struct IWMDMEnumStorage_Vtbl { impl IWMDMLogger { pub unsafe fn IsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enable(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -1787,7 +1787,7 @@ impl IWMDMMetaData { } pub unsafe fn GetItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1820,29 +1820,29 @@ pub struct IWMDMNotification_Vtbl { impl IWMDMObjectInfo { pub unsafe fn GetPlayLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlayLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlayLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetPlayOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlayOffset(&self, dwoffset: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlayOffset)(::windows_core::Interface::as_raw(self), dwoffset).ok() } pub unsafe fn GetTotalLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastPlayPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLongestPlayPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLongestPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLongestPlayPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2123,7 +2123,7 @@ impl IWMDMStorage { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -2134,7 +2134,7 @@ impl IWMDMStorage { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -2144,7 +2144,7 @@ impl IWMDMStorage { } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -2179,7 +2179,7 @@ impl IWMDMStorage2 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -2190,7 +2190,7 @@ impl IWMDMStorage2 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -2200,7 +2200,7 @@ impl IWMDMStorage2 { } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -2210,7 +2210,7 @@ impl IWMDMStorage2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, pformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -2244,7 +2244,7 @@ impl IWMDMStorage3 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -2255,7 +2255,7 @@ impl IWMDMStorage3 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -2265,7 +2265,7 @@ impl IWMDMStorage3 { } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -2275,7 +2275,7 @@ impl IWMDMStorage3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, pformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -2287,7 +2287,7 @@ impl IWMDMStorage3 { } pub unsafe fn GetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMetadata(&self, pmetadata: P0) -> ::windows_core::Result<()> where @@ -2297,7 +2297,7 @@ impl IWMDMStorage3 { } pub unsafe fn CreateEmptyMetadataObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEmptyMetadataObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEmptyMetadataObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnumPreference(&self, pmode: *mut WMDM_STORAGE_ENUM_MODE, pviews: ::core::option::Option<&[WMDMMetadataView]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEnumPreference)(::windows_core::Interface::as_raw(self), pmode, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() @@ -2321,7 +2321,7 @@ impl IWMDMStorage4 { } pub unsafe fn GetStorageGlobals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStorageGlobals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetAttributes(&self, pdwattributes: *mut u32, pformat: ::core::option::Option<*mut super::Audio::WAVEFORMATEX>) -> ::windows_core::Result<()> { @@ -2332,7 +2332,7 @@ impl IWMDMStorage4 { } pub unsafe fn GetDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pdwsizelow: *mut u32, pdwsizehigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), pdwsizelow, pdwsizehigh).ok() @@ -2342,7 +2342,7 @@ impl IWMDMStorage4 { } pub unsafe fn EnumStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOpaqueCommand(&self, pcommand: *mut OPAQUECOMMAND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SendOpaqueCommand)(::windows_core::Interface::as_raw(self), pcommand).ok() @@ -2352,7 +2352,7 @@ impl IWMDMStorage4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStorage)(::windows_core::Interface::as_raw(self), pszstoragename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Media_Audio", feature = "Win32_Media_MediaFoundation"))] pub unsafe fn SetAttributes2(&self, dwattributes: u32, dwattributesex: u32, pformat: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, pvideoformat: ::core::option::Option<*const super::MediaFoundation::VIDEOINFOHEADER>) -> ::windows_core::Result<()> { @@ -2364,7 +2364,7 @@ impl IWMDMStorage4 { } pub unsafe fn GetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMetadata(&self, pmetadata: P0) -> ::windows_core::Result<()> where @@ -2374,7 +2374,7 @@ impl IWMDMStorage4 { } pub unsafe fn CreateEmptyMetadataObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEmptyMetadataObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEmptyMetadataObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnumPreference(&self, pmode: *mut WMDM_STORAGE_ENUM_MODE, pviews: ::core::option::Option<&[WMDMMetadataView]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEnumPreference)(::windows_core::Interface::as_raw(self), pmode, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() @@ -2393,18 +2393,18 @@ impl IWMDMStorage4 { } pub unsafe fn GetSpecifiedMetadata(&self, ppwszpropnames: &[::windows_core::PCWSTR]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpecifiedMetadata)(::windows_core::Interface::as_raw(self), ppwszpropnames.len().try_into().unwrap(), ::core::mem::transmute(ppwszpropnames.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpecifiedMetadata)(::windows_core::Interface::as_raw(self), ppwszpropnames.len().try_into().unwrap(), ::core::mem::transmute(ppwszpropnames.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindStorage(&self, findscope: WMDM_FIND_SCOPE, pwszuniqueid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindStorage)(::windows_core::Interface::as_raw(self), findscope, pwszuniqueid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2428,7 +2428,7 @@ impl IWMDMStorageControl { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, fumode: u32, pprogress: P0) -> ::windows_core::Result<()> where @@ -2479,7 +2479,7 @@ impl IWMDMStorageControl2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, fumode: u32, pprogress: P0) -> ::windows_core::Result<()> where @@ -2536,7 +2536,7 @@ impl IWMDMStorageControl3 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Insert)(::windows_core::Interface::as_raw(self), fumode, pwszfile.into_param().abi(), poperation.into_param().abi(), pprogress.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, fumode: u32, pprogress: P0) -> ::windows_core::Result<()> where @@ -2599,7 +2599,7 @@ pub struct IWMDMStorageControl3_Vtbl { impl IWMDMStorageGlobals { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerialNumber(&self, pserialnum: *mut WMDMID, abmac: &mut [u8; 8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSerialNumber)(::windows_core::Interface::as_raw(self), pserialnum, ::core::mem::transmute(abmac.as_ptr())).ok() @@ -2615,7 +2615,7 @@ impl IWMDMStorageGlobals { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, fumode: u32, pprogress: P0) -> ::windows_core::Result<()> where @@ -2641,15 +2641,15 @@ pub struct IWMDMStorageGlobals_Vtbl { impl IWMDeviceManager { pub unsafe fn GetRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2665,26 +2665,26 @@ pub struct IWMDeviceManager_Vtbl { impl IWMDeviceManager2 { pub unsafe fn GetRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceFromCanonicalName(&self, pwszcanonicalname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceFromCanonicalName)(::windows_core::Interface::as_raw(self), pwszcanonicalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceFromCanonicalName)(::windows_core::Interface::as_raw(self), pwszcanonicalname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDevices2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDevices2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDevices2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reinitialize(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reinitialize)(::windows_core::Interface::as_raw(self)).ok() @@ -2703,26 +2703,26 @@ pub struct IWMDeviceManager2_Vtbl { impl IWMDeviceManager3 { pub unsafe fn GetRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceFromCanonicalName(&self, pwszcanonicalname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceFromCanonicalName)(::windows_core::Interface::as_raw(self), pwszcanonicalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceFromCanonicalName)(::windows_core::Interface::as_raw(self), pwszcanonicalname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDevices2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDevices2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDevices2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reinitialize(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reinitialize)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Media/DirectShow/Tv/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/DirectShow/Tv/mod.rs index f1f4c98ba2..9e671b10fc 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/DirectShow/Tv/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/DirectShow/Tv/mod.rs @@ -7,22 +7,22 @@ impl IATSCChannelTuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -33,14 +33,14 @@ impl IATSCChannelTuneRequest { } pub unsafe fn Channel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannel)(::windows_core::Interface::as_raw(self), channel).ok() } pub unsafe fn MinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinorChannel(&self, minorchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinorChannel)(::windows_core::Interface::as_raw(self), minorchannel).ok() @@ -62,14 +62,14 @@ pub struct IATSCChannelTuneRequest_Vtbl { impl IATSCComponentType { pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaMajorType(&self, mediamajortype: P0) -> ::windows_core::Result<()> where @@ -79,14 +79,14 @@ impl IATSCComponentType { } pub unsafe fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Set_MediaMajorType)(::windows_core::Interface::as_raw(self), mediamajortypeguid).ok() } pub unsafe fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaSubType(&self, mediasubtype: P0) -> ::windows_core::Result<()> where @@ -96,14 +96,14 @@ impl IATSCComponentType { } pub unsafe fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Set_MediaSubType)(::windows_core::Interface::as_raw(self), mediasubtypeguid).ok() } pub unsafe fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaFormatType(&self, mediaformattype: P0) -> ::windows_core::Result<()> where @@ -113,7 +113,7 @@ impl IATSCComponentType { } pub unsafe fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Set_MediaFormatType)(::windows_core::Interface::as_raw(self), mediaformattypeguid).ok() @@ -121,7 +121,7 @@ impl IATSCComponentType { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -130,25 +130,25 @@ impl IATSCComponentType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLangID(&self, langid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLangID)(::windows_core::Interface::as_raw(self), langid).ok() } pub unsafe fn StreamType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamType(&self, mp2streamtype: super::MPEG2StreamType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStreamType)(::windows_core::Interface::as_raw(self), mp2streamtype).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -170,49 +170,49 @@ pub struct IATSCComponentType_Vtbl { impl IATSCLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -220,18 +220,18 @@ impl IATSCLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPhysicalChannel(&self, physicalchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPhysicalChannel)(::windows_core::Interface::as_raw(self), physicalchannel).ok() } pub unsafe fn TSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTSID)(::windows_core::Interface::as_raw(self), tsid).ok() @@ -255,49 +255,49 @@ pub struct IATSCLocator_Vtbl { impl IATSCLocator2 { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -305,25 +305,25 @@ impl IATSCLocator2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPhysicalChannel(&self, physicalchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPhysicalChannel)(::windows_core::Interface::as_raw(self), physicalchannel).ok() } pub unsafe fn TSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTSID)(::windows_core::Interface::as_raw(self), tsid).ok() } pub unsafe fn ProgramNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProgramNumber(&self, programnumber: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProgramNumber)(::windows_core::Interface::as_raw(self), programnumber).ok() @@ -345,7 +345,7 @@ pub struct IATSCLocator2_Vtbl { impl IATSCTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -355,7 +355,7 @@ impl IATSCTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -365,11 +365,11 @@ impl IATSCTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -379,7 +379,7 @@ impl IATSCTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -387,22 +387,22 @@ impl IATSCTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -413,7 +413,7 @@ impl IATSCTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -424,7 +424,7 @@ impl IATSCTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -436,60 +436,60 @@ impl IATSCTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MinChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinChannel(&self, newminchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinChannel)(::windows_core::Interface::as_raw(self), newminchannelval).ok() } pub unsafe fn MaxChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxChannel(&self, newmaxchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxChannel)(::windows_core::Interface::as_raw(self), newmaxchannelval).ok() } pub unsafe fn InputType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InputType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InputType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInputType(&self, newinputtypeval: super::TunerInputType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInputType)(::windows_core::Interface::as_raw(self), newinputtypeval).ok() } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCountryCode)(::windows_core::Interface::as_raw(self), newcountrycodeval).ok() } pub unsafe fn MinMinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinMinorChannel(&self, newminminorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinMinorChannel)(::windows_core::Interface::as_raw(self), newminminorchannelval).ok() } pub unsafe fn MaxMinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxMinorChannel(&self, newmaxminorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxMinorChannel)(::windows_core::Interface::as_raw(self), newmaxminorchannelval).ok() } pub unsafe fn MinPhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinPhysicalChannel(&self, newminphysicalchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinPhysicalChannel)(::windows_core::Interface::as_raw(self), newminphysicalchannelval).ok() } pub unsafe fn MaxPhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxPhysicalChannel(&self, newmaxphysicalchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxPhysicalChannel)(::windows_core::Interface::as_raw(self), newmaxphysicalchannelval).ok() @@ -521,46 +521,46 @@ impl IATSC_EIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEtmLocation(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEtmLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEtmLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTitleText(&self, dwrecordindex: u32, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordTitleText)(::windows_core::Interface::as_raw(self), dwrecordindex, pdwlength, pptext).ok() } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -596,15 +596,15 @@ impl IATSC_ETT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEtmId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEtmId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEtmId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExtendedMessageText(&self, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExtendedMessageText)(::windows_core::Interface::as_raw(self), pdwlength, pptext).ok() @@ -632,35 +632,35 @@ impl IATSC_MGT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordType(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTypePid(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTypePid)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTypePid)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordVersionNumber(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordVersionNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordVersionNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -670,7 +670,7 @@ impl IATSC_MGT { } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -706,27 +706,27 @@ impl IATSC_STT { } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGpsUtcOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGpsUtcOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGpsUtcOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDaylightSavings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDaylightSavings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDaylightSavings)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -757,87 +757,87 @@ impl IATSC_VCT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordName(&self, dwrecordindex: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordName)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordName)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordMajorChannelNumber(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordMajorChannelNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordMajorChannelNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordMinorChannelNumber(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordMinorChannelNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordMinorChannelNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordModulationMode(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordModulationMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordModulationMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCarrierFrequency(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCarrierFrequency)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCarrierFrequency)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordProgramNumber(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordProgramNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordProgramNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEtmLocation(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEtmLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEtmLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordIsAccessControlledBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordIsAccessControlledBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordIsAccessControlledBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordIsHiddenBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordIsHiddenBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordIsHiddenBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordIsPathSelectBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordIsPathSelectBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordIsPathSelectBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordIsOutOfBandBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordIsOutOfBandBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordIsOutOfBandBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordIsHideGuideBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordIsHideGuideBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordIsHideGuideBitSet)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceType(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordSourceId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordSourceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordSourceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -847,7 +847,7 @@ impl IATSC_VCT { } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -892,14 +892,14 @@ pub struct IATSC_VCT_Vtbl { impl IAnalogAudioComponentType { pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaMajorType(&self, mediamajortype: P0) -> ::windows_core::Result<()> where @@ -909,14 +909,14 @@ impl IAnalogAudioComponentType { } pub unsafe fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaMajorType)(::windows_core::Interface::as_raw(self), mediamajortypeguid).ok() } pub unsafe fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaSubType(&self, mediasubtype: P0) -> ::windows_core::Result<()> where @@ -926,14 +926,14 @@ impl IAnalogAudioComponentType { } pub unsafe fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaSubType)(::windows_core::Interface::as_raw(self), mediasubtypeguid).ok() } pub unsafe fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaFormatType(&self, mediaformattype: P0) -> ::windows_core::Result<()> where @@ -943,7 +943,7 @@ impl IAnalogAudioComponentType { } pub unsafe fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaFormatType)(::windows_core::Interface::as_raw(self), mediaformattypeguid).ok() @@ -951,7 +951,7 @@ impl IAnalogAudioComponentType { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -960,11 +960,11 @@ impl IAnalogAudioComponentType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AnalogAudioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AnalogAudioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AnalogAudioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnalogAudioMode(&self, mode: super::TVAudioMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAnalogAudioMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -986,49 +986,49 @@ pub struct IAnalogAudioComponentType_Vtbl { impl IAnalogLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -1036,11 +1036,11 @@ impl IAnalogLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VideoStandard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoStandard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoStandard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVideoStandard(&self, avs: super::AnalogVideoStandard) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVideoStandard)(::windows_core::Interface::as_raw(self), avs).ok() @@ -1062,7 +1062,7 @@ pub struct IAnalogLocator_Vtbl { impl IAnalogRadioTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1072,7 +1072,7 @@ impl IAnalogRadioTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1082,11 +1082,11 @@ impl IAnalogRadioTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -1096,7 +1096,7 @@ impl IAnalogRadioTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -1104,22 +1104,22 @@ impl IAnalogRadioTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -1130,7 +1130,7 @@ impl IAnalogRadioTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -1141,7 +1141,7 @@ impl IAnalogRadioTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -1153,25 +1153,25 @@ impl IAnalogRadioTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MinFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinFrequency(&self, newminfrequencyval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinFrequency)(::windows_core::Interface::as_raw(self), newminfrequencyval).ok() } pub unsafe fn MaxFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxFrequency(&self, newmaxfrequencyval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxFrequency)(::windows_core::Interface::as_raw(self), newmaxfrequencyval).ok() } pub unsafe fn Step(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Step)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Step)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStep(&self, newstepval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStep)(::windows_core::Interface::as_raw(self), newstepval).ok() @@ -1197,7 +1197,7 @@ pub struct IAnalogRadioTuningSpace_Vtbl { impl IAnalogRadioTuningSpace2 { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1207,7 +1207,7 @@ impl IAnalogRadioTuningSpace2 { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1217,11 +1217,11 @@ impl IAnalogRadioTuningSpace2 { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -1231,7 +1231,7 @@ impl IAnalogRadioTuningSpace2 { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -1239,22 +1239,22 @@ impl IAnalogRadioTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -1265,7 +1265,7 @@ impl IAnalogRadioTuningSpace2 { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -1276,7 +1276,7 @@ impl IAnalogRadioTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -1288,32 +1288,32 @@ impl IAnalogRadioTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MinFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinFrequency(&self, newminfrequencyval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinFrequency)(::windows_core::Interface::as_raw(self), newminfrequencyval).ok() } pub unsafe fn MaxFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxFrequency(&self, newmaxfrequencyval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxFrequency)(::windows_core::Interface::as_raw(self), newmaxfrequencyval).ok() } pub unsafe fn Step(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Step)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Step)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStep(&self, newstepval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStep)(::windows_core::Interface::as_raw(self), newstepval).ok() } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCountryCode)(::windows_core::Interface::as_raw(self), newcountrycodeval).ok() @@ -1335,7 +1335,7 @@ pub struct IAnalogRadioTuningSpace2_Vtbl { impl IAnalogTVTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1345,7 +1345,7 @@ impl IAnalogTVTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1355,11 +1355,11 @@ impl IAnalogTVTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -1369,7 +1369,7 @@ impl IAnalogTVTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -1377,22 +1377,22 @@ impl IAnalogTVTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -1403,7 +1403,7 @@ impl IAnalogTVTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -1414,7 +1414,7 @@ impl IAnalogTVTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -1426,32 +1426,32 @@ impl IAnalogTVTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MinChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinChannel(&self, newminchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinChannel)(::windows_core::Interface::as_raw(self), newminchannelval).ok() } pub unsafe fn MaxChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxChannel(&self, newmaxchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxChannel)(::windows_core::Interface::as_raw(self), newmaxchannelval).ok() } pub unsafe fn InputType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInputType(&self, newinputtypeval: super::TunerInputType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInputType)(::windows_core::Interface::as_raw(self), newinputtypeval).ok() } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCountryCode)(::windows_core::Interface::as_raw(self), newcountrycodeval).ok() @@ -1476,31 +1476,31 @@ pub struct IAnalogTVTuningSpace_Vtbl { impl IAtscContentAdvisoryDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRatingRegionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRatingRegionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRatingRegionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordRatingRegion(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRatingRegion)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRatingRegion)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRatedDimensions(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRatedDimensions)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRatedDimensions)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRatingDimension(&self, bindexouter: u8, bindexinner: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRatingDimension)(::windows_core::Interface::as_raw(self), bindexouter, bindexinner, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRatingDimension)(::windows_core::Interface::as_raw(self), bindexouter, bindexinner, &mut result__).map(|| result__) } pub unsafe fn GetRecordRatingValue(&self, bindexouter: u8, bindexinner: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRatingValue)(::windows_core::Interface::as_raw(self), bindexouter, bindexinner, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRatingValue)(::windows_core::Interface::as_raw(self), bindexouter, bindexinner, &mut result__).map(|| result__) } pub unsafe fn GetRecordRatingDescriptionText(&self, bindex: u8, pblength: *mut u8, pptext: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordRatingDescriptionText)(::windows_core::Interface::as_raw(self), bindex, pblength, pptext).ok() @@ -1530,46 +1530,46 @@ impl IAtscPsipParser { } pub unsafe fn GetPAT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPMT(&self, pid: u16, pwprogramnumber: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPMT)(::windows_core::Interface::as_raw(self), pid, pwprogramnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPMT)(::windows_core::Interface::as_raw(self), pid, pwprogramnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTSDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMGT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMGT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMGT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVCT(&self, tableid: u8, fgetnexttable: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVCT)(::windows_core::Interface::as_raw(self), tableid, fgetnexttable.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVCT)(::windows_core::Interface::as_raw(self), tableid, fgetnexttable.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT(&self, pid: u16, pwsourceid: *const u16, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), pid, pwsourceid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), pid, pwsourceid, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetETT(&self, pid: u16, wsourceid: *const u16, pweventid: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetETT)(::windows_core::Interface::as_raw(self), pid, wsourceid, pweventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetETT)(::windows_core::Interface::as_raw(self), pid, wsourceid, pweventid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSTT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSTT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSTT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEAS(&self, pid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEAS)(::windows_core::Interface::as_raw(self), pid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEAS)(::windows_core::Interface::as_raw(self), pid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1593,7 +1593,7 @@ pub struct IAtscPsipParser_Vtbl { impl IAttributeGet { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttribIndexed(&self, lindex: i32, pguidattribute: *mut ::windows_core::GUID, pbattribute: *mut u8, pdwattributelength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttribIndexed)(::windows_core::Interface::as_raw(self), lindex, pguidattribute, pbattribute, pdwattributelength).ok() @@ -1631,7 +1631,7 @@ pub struct IAttributeSet_Vtbl { impl IAuxInTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1641,7 +1641,7 @@ impl IAuxInTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1651,11 +1651,11 @@ impl IAuxInTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -1665,7 +1665,7 @@ impl IAuxInTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -1673,22 +1673,22 @@ impl IAuxInTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -1699,7 +1699,7 @@ impl IAuxInTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -1710,7 +1710,7 @@ impl IAuxInTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -1722,7 +1722,7 @@ impl IAuxInTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1739,7 +1739,7 @@ pub struct IAuxInTuningSpace_Vtbl { impl IAuxInTuningSpace2 { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1749,7 +1749,7 @@ impl IAuxInTuningSpace2 { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1759,11 +1759,11 @@ impl IAuxInTuningSpace2 { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -1773,7 +1773,7 @@ impl IAuxInTuningSpace2 { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -1781,22 +1781,22 @@ impl IAuxInTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -1807,7 +1807,7 @@ impl IAuxInTuningSpace2 { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -1818,7 +1818,7 @@ impl IAuxInTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -1830,11 +1830,11 @@ impl IAuxInTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCountryCode)(::windows_core::Interface::as_raw(self), newcountrycodeval).ok() @@ -1857,7 +1857,7 @@ impl IBDAComparable { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareExact)(::windows_core::Interface::as_raw(self), compareto.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareExact)(::windows_core::Interface::as_raw(self), compareto.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareEquivalent(&self, compareto: P0, dwflags: u32) -> ::windows_core::Result @@ -1865,23 +1865,23 @@ impl IBDAComparable { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareEquivalent)(::windows_core::Interface::as_raw(self), compareto.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareEquivalent)(::windows_core::Interface::as_raw(self), compareto.into_param().abi(), dwflags, &mut result__).map(|| result__) } pub unsafe fn HashExact(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashExact)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashExact)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HashExactIncremental(&self, partialresult: i64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashExactIncremental)(::windows_core::Interface::as_raw(self), partialresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashExactIncremental)(::windows_core::Interface::as_raw(self), partialresult, &mut result__).map(|| result__) } pub unsafe fn HashEquivalent(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashEquivalent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashEquivalent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn HashEquivalentIncremental(&self, partialresult: i64, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashEquivalentIncremental)(::windows_core::Interface::as_raw(self), partialresult, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashEquivalentIncremental)(::windows_core::Interface::as_raw(self), partialresult, dwflags, &mut result__).map(|| result__) } } #[repr(C)] @@ -1907,7 +1907,7 @@ impl IBDACreateTuneRequestEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequestEx(&self, tunerequestiid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTuneRequestEx)(::windows_core::Interface::as_raw(self), tunerequestiid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTuneRequestEx)(::windows_core::Interface::as_raw(self), tunerequestiid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1951,15 +1951,15 @@ impl ICAT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -1972,7 +1972,7 @@ impl ICAT { } pub unsafe fn GetNextTable(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -2003,26 +2003,26 @@ pub struct ICAT_Vtbl { impl ICaptionServiceDescriptor { pub unsafe fn GetNumberOfServices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfServices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfServices)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, bindex: u8, langcode: &mut [u8; 3]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), bindex, ::core::mem::transmute(langcode.as_ptr())).ok() } pub unsafe fn GetCaptionServiceNumber(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaptionServiceNumber)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaptionServiceNumber)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetCCType(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCCType)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCCType)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetEasyReader(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEasyReader)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEasyReader)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetWideAspectRatio(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWideAspectRatio)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWideAspectRatio)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -2045,22 +2045,22 @@ impl IChannelIDTuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -2071,7 +2071,7 @@ impl IChannelIDTuneRequest { } pub unsafe fn ChannelID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChannelID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChannelID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetChannelID(&self, channelid: P0) -> ::windows_core::Result<()> where @@ -2097,22 +2097,22 @@ impl IChannelTuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -2123,7 +2123,7 @@ impl IChannelTuneRequest { } pub unsafe fn Channel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Channel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Channel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannel)(::windows_core::Interface::as_raw(self), channel).ok() @@ -2146,7 +2146,7 @@ impl IComponent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetType(&self, ct: P0) -> ::windows_core::Result<()> @@ -2157,21 +2157,21 @@ impl IComponent { } pub unsafe fn DescLangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DescLangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DescLangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescLangID(&self, langid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDescLangID)(::windows_core::Interface::as_raw(self), langid).ok() } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStatus(&self, status: super::ComponentStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2182,7 +2182,7 @@ impl IComponent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2217,14 +2217,14 @@ pub struct IComponent_Vtbl { impl IComponentType { pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaMajorType(&self, mediamajortype: P0) -> ::windows_core::Result<()> where @@ -2234,14 +2234,14 @@ impl IComponentType { } pub unsafe fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_MediaMajorType)(::windows_core::Interface::as_raw(self), mediamajortypeguid).ok() } pub unsafe fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaSubType(&self, mediasubtype: P0) -> ::windows_core::Result<()> where @@ -2251,14 +2251,14 @@ impl IComponentType { } pub unsafe fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_MediaSubType)(::windows_core::Interface::as_raw(self), mediasubtypeguid).ok() } pub unsafe fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaFormatType(&self, mediaformattype: P0) -> ::windows_core::Result<()> where @@ -2268,7 +2268,7 @@ impl IComponentType { } pub unsafe fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_MediaFormatType)(::windows_core::Interface::as_raw(self), mediaformattypeguid).ok() @@ -2276,7 +2276,7 @@ impl IComponentType { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -2285,7 +2285,7 @@ impl IComponentType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2328,16 +2328,16 @@ pub struct IComponentType_Vtbl { impl IComponentTypes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2345,7 +2345,7 @@ impl IComponentTypes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn put_Item(&self, index: P0, componenttype: P1) -> ::windows_core::Result<()> @@ -2361,7 +2361,7 @@ impl IComponentTypes { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), componenttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), componenttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -2372,7 +2372,7 @@ impl IComponentTypes { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2412,16 +2412,16 @@ pub struct IComponentTypes_Vtbl { impl IComponents { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumComponents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumComponents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumComponents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2429,7 +2429,7 @@ impl IComponents { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, component: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -2437,7 +2437,7 @@ impl IComponents { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), component.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), component.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -2448,7 +2448,7 @@ impl IComponents { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn put_Item(&self, index: P0, ppcomponent: P1) -> ::windows_core::Result<()> @@ -2496,16 +2496,16 @@ pub struct IComponents_Vtbl { impl IComponentsOld { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumComponents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumComponents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumComponents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2513,7 +2513,7 @@ impl IComponentsOld { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, component: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -2521,7 +2521,7 @@ impl IComponentsOld { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), component.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), component.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -2532,7 +2532,7 @@ impl IComponentsOld { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2586,21 +2586,21 @@ pub struct ICreatePropBagOnRegKey_Vtbl { impl IDTFilter { pub unsafe fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrRating)(::windows_core::Interface::as_raw(self), pensystem, penrating, plbfenattr).ok() } pub unsafe fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).map(|| result__) } pub unsafe fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, lbfattrs).ok() } pub unsafe fn BlockUnRated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRated(&self, fblockunratedshows: P0) -> ::windows_core::Result<()> where @@ -2610,7 +2610,7 @@ impl IDTFilter { } pub unsafe fn BlockUnRatedDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRatedDelay(&self, msecsdelaybeforeblock: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBlockUnRatedDelay)(::windows_core::Interface::as_raw(self), msecsdelaybeforeblock).ok() @@ -2634,21 +2634,21 @@ pub struct IDTFilter_Vtbl { impl IDTFilter2 { pub unsafe fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCurrRating)(::windows_core::Interface::as_raw(self), pensystem, penrating, plbfenattr).ok() } pub unsafe fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).map(|| result__) } pub unsafe fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, lbfattrs).ok() } pub unsafe fn BlockUnRated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRated(&self, fblockunratedshows: P0) -> ::windows_core::Result<()> where @@ -2658,18 +2658,18 @@ impl IDTFilter2 { } pub unsafe fn BlockUnRatedDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRatedDelay(&self, msecsdelaybeforeblock: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBlockUnRatedDelay)(::windows_core::Interface::as_raw(self), msecsdelaybeforeblock).ok() } pub unsafe fn ChallengeUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChallengeUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChallengeUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).map(|| result__) } pub unsafe fn GetLastErrorCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLastErrorCode)(::windows_core::Interface::as_raw(self)).ok() @@ -2688,21 +2688,21 @@ pub struct IDTFilter2_Vtbl { impl IDTFilter3 { pub unsafe fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetCurrRating)(::windows_core::Interface::as_raw(self), pensystem, penrating, plbfenattr).ok() } pub unsafe fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).map(|| result__) } pub unsafe fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.put_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, lbfattrs).ok() } pub unsafe fn BlockUnRated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRated(&self, fblockunratedshows: P0) -> ::windows_core::Result<()> where @@ -2712,29 +2712,29 @@ impl IDTFilter3 { } pub unsafe fn BlockUnRatedDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BlockUnRatedDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRatedDelay(&self, msecsdelaybeforeblock: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetBlockUnRatedDelay)(::windows_core::Interface::as_raw(self), msecsdelaybeforeblock).ok() } pub unsafe fn ChallengeUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ChallengeUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ChallengeUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).map(|| result__) } pub unsafe fn GetLastErrorCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLastErrorCode)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetProtectionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtectionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtectionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LicenseHasExpirationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LicenseHasExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LicenseHasExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRights(&self, bstrrights: P0) -> ::windows_core::Result<()> where @@ -2756,7 +2756,7 @@ pub struct IDTFilter3_Vtbl { impl IDTFilterConfig { pub unsafe fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2798,49 +2798,49 @@ pub struct IDTFilterLicenseRenewal_Vtbl { impl IDVBCLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -2848,7 +2848,7 @@ impl IDVBCLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2865,49 +2865,49 @@ pub struct IDVBCLocator_Vtbl { impl IDVBSLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -2915,18 +2915,18 @@ impl IDVBSLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SignalPolarisation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignalPolarisation(&self, polarisationval: super::Polarisation) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSignalPolarisation)(::windows_core::Interface::as_raw(self), polarisationval).ok() } pub unsafe fn WestPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWestPosition(&self, westlongitude: P0) -> ::windows_core::Result<()> where @@ -2936,21 +2936,21 @@ impl IDVBSLocator { } pub unsafe fn OrbitalPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOrbitalPosition(&self, longitude: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOrbitalPosition)(::windows_core::Interface::as_raw(self), longitude).ok() } pub unsafe fn Azimuth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAzimuth(&self, azimuth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAzimuth)(::windows_core::Interface::as_raw(self), azimuth).ok() } pub unsafe fn Elevation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Elevation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Elevation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElevation(&self, elevation: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetElevation)(::windows_core::Interface::as_raw(self), elevation).ok() @@ -2980,49 +2980,49 @@ pub struct IDVBSLocator_Vtbl { impl IDVBSLocator2 { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -3030,18 +3030,18 @@ impl IDVBSLocator2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SignalPolarisation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignalPolarisation(&self, polarisationval: super::Polarisation) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSignalPolarisation)(::windows_core::Interface::as_raw(self), polarisationval).ok() } pub unsafe fn WestPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWestPosition(&self, westlongitude: P0) -> ::windows_core::Result<()> where @@ -3051,70 +3051,70 @@ impl IDVBSLocator2 { } pub unsafe fn OrbitalPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOrbitalPosition(&self, longitude: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOrbitalPosition)(::windows_core::Interface::as_raw(self), longitude).ok() } pub unsafe fn Azimuth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAzimuth(&self, azimuth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAzimuth)(::windows_core::Interface::as_raw(self), azimuth).ok() } pub unsafe fn Elevation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Elevation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Elevation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElevation(&self, elevation: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetElevation)(::windows_core::Interface::as_raw(self), elevation).ok() } pub unsafe fn DiseqLNBSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiseqLNBSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiseqLNBSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDiseqLNBSource(&self, diseqlnbsourceval: super::LNB_Source) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDiseqLNBSource)(::windows_core::Interface::as_raw(self), diseqlnbsourceval).ok() } pub unsafe fn LocalOscillatorOverrideLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalOscillatorOverrideLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalOscillatorOverrideLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocalOscillatorOverrideLow(&self, localoscillatoroverridelowval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalOscillatorOverrideLow)(::windows_core::Interface::as_raw(self), localoscillatoroverridelowval).ok() } pub unsafe fn LocalOscillatorOverrideHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalOscillatorOverrideHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalOscillatorOverrideHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocalOscillatorOverrideHigh(&self, localoscillatoroverridehighval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalOscillatorOverrideHigh)(::windows_core::Interface::as_raw(self), localoscillatoroverridehighval).ok() } pub unsafe fn LocalLNBSwitchOverride(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalLNBSwitchOverride)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalLNBSwitchOverride)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocalLNBSwitchOverride(&self, locallnbswitchoverrideval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalLNBSwitchOverride)(::windows_core::Interface::as_raw(self), locallnbswitchoverrideval).ok() } pub unsafe fn LocalSpectralInversionOverride(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalSpectralInversionOverride)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalSpectralInversionOverride)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocalSpectralInversionOverride(&self, localspectralinversionoverrideval: super::SpectralInversion) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalSpectralInversionOverride)(::windows_core::Interface::as_raw(self), localspectralinversionoverrideval).ok() } pub unsafe fn SignalRollOff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignalRollOff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignalRollOff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignalRollOff(&self, rolloffval: super::RollOff) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSignalRollOff)(::windows_core::Interface::as_raw(self), rolloffval).ok() } pub unsafe fn SignalPilot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignalPilot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignalPilot)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignalPilot(&self, pilotval: super::Pilot) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSignalPilot)(::windows_core::Interface::as_raw(self), pilotval).ok() @@ -3148,7 +3148,7 @@ pub struct IDVBSLocator2_Vtbl { impl IDVBSTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3158,7 +3158,7 @@ impl IDVBSTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3168,11 +3168,11 @@ impl IDVBSTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -3182,7 +3182,7 @@ impl IDVBSTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -3190,22 +3190,22 @@ impl IDVBSTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -3216,7 +3216,7 @@ impl IDVBSTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -3227,7 +3227,7 @@ impl IDVBSTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -3239,46 +3239,46 @@ impl IDVBSTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SystemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SystemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SystemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSystemType(&self, systype: super::DVBSystemType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSystemType)(::windows_core::Interface::as_raw(self), systype).ok() } pub unsafe fn NetworkID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkID(&self, networkid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNetworkID)(::windows_core::Interface::as_raw(self), networkid).ok() } pub unsafe fn LowOscillator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LowOscillator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LowOscillator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLowOscillator(&self, lowoscillator: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowOscillator)(::windows_core::Interface::as_raw(self), lowoscillator).ok() } pub unsafe fn HighOscillator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighOscillator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighOscillator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighOscillator(&self, highoscillator: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHighOscillator)(::windows_core::Interface::as_raw(self), highoscillator).ok() } pub unsafe fn LNBSwitch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LNBSwitch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LNBSwitch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLNBSwitch(&self, lnbswitch: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLNBSwitch)(::windows_core::Interface::as_raw(self), lnbswitch).ok() } pub unsafe fn InputRange(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputRange(&self, inputrange: P0) -> ::windows_core::Result<()> where @@ -3288,7 +3288,7 @@ impl IDVBSTuningSpace { } pub unsafe fn SpectralInversion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpectralInversion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpectralInversion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpectralInversion(&self, spectralinversionval: super::SpectralInversion) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpectralInversion)(::windows_core::Interface::as_raw(self), spectralinversionval).ok() @@ -3318,49 +3318,49 @@ pub struct IDVBSTuningSpace_Vtbl { impl IDVBTLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -3368,53 +3368,53 @@ impl IDVBTLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBandwidth(&self, bandwidthval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBandwidth)(::windows_core::Interface::as_raw(self), bandwidthval).ok() } pub unsafe fn LPInnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LPInnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LPInnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLPInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLPInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn LPInnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LPInnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LPInnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLPInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLPInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn HAlpha(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HAlpha)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HAlpha)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHAlpha(&self, alpha: super::HierarchyAlpha) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHAlpha)(::windows_core::Interface::as_raw(self), alpha).ok() } pub unsafe fn Guard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGuard(&self, gi: super::GuardInterval) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGuard)(::windows_core::Interface::as_raw(self), gi).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, mode: super::TransmissionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn OtherFrequencyInUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OtherFrequencyInUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OtherFrequencyInUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOtherFrequencyInUse(&self, otherfrequencyinuseval: P0) -> ::windows_core::Result<()> where @@ -3451,49 +3451,49 @@ pub struct IDVBTLocator_Vtbl { impl IDVBTLocator2 { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -3501,53 +3501,53 @@ impl IDVBTLocator2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Bandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Bandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBandwidth(&self, bandwidthval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBandwidth)(::windows_core::Interface::as_raw(self), bandwidthval).ok() } pub unsafe fn LPInnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LPInnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LPInnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLPInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLPInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn LPInnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LPInnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LPInnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLPInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLPInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn HAlpha(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HAlpha)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HAlpha)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHAlpha(&self, alpha: super::HierarchyAlpha) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHAlpha)(::windows_core::Interface::as_raw(self), alpha).ok() } pub unsafe fn Guard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Guard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Guard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGuard(&self, gi: super::GuardInterval) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGuard)(::windows_core::Interface::as_raw(self), gi).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, mode: super::TransmissionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn OtherFrequencyInUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OtherFrequencyInUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OtherFrequencyInUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOtherFrequencyInUse(&self, otherfrequencyinuseval: P0) -> ::windows_core::Result<()> where @@ -3557,7 +3557,7 @@ impl IDVBTLocator2 { } pub unsafe fn PhysicalLayerPipeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhysicalLayerPipeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhysicalLayerPipeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPhysicalLayerPipeId(&self, physicallayerpipeidval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPhysicalLayerPipeId)(::windows_core::Interface::as_raw(self), physicallayerpipeidval).ok() @@ -3580,22 +3580,22 @@ impl IDVBTuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -3606,21 +3606,21 @@ impl IDVBTuneRequest { } pub unsafe fn ONID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ONID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ONID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetONID(&self, onid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetONID)(::windows_core::Interface::as_raw(self), onid).ok() } pub unsafe fn TSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTSID)(::windows_core::Interface::as_raw(self), tsid).ok() } pub unsafe fn SID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSID(&self, sid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSID)(::windows_core::Interface::as_raw(self), sid).ok() @@ -3646,7 +3646,7 @@ pub struct IDVBTuneRequest_Vtbl { impl IDVBTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3656,7 +3656,7 @@ impl IDVBTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3666,11 +3666,11 @@ impl IDVBTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -3680,7 +3680,7 @@ impl IDVBTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -3688,22 +3688,22 @@ impl IDVBTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -3714,7 +3714,7 @@ impl IDVBTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -3725,7 +3725,7 @@ impl IDVBTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -3737,11 +3737,11 @@ impl IDVBTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SystemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSystemType(&self, systype: super::DVBSystemType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSystemType)(::windows_core::Interface::as_raw(self), systype).ok() @@ -3763,7 +3763,7 @@ pub struct IDVBTuningSpace_Vtbl { impl IDVBTuningSpace2 { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3773,7 +3773,7 @@ impl IDVBTuningSpace2 { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3783,11 +3783,11 @@ impl IDVBTuningSpace2 { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -3797,7 +3797,7 @@ impl IDVBTuningSpace2 { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -3805,22 +3805,22 @@ impl IDVBTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -3831,7 +3831,7 @@ impl IDVBTuningSpace2 { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -3842,7 +3842,7 @@ impl IDVBTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -3854,18 +3854,18 @@ impl IDVBTuningSpace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SystemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SystemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SystemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSystemType(&self, systype: super::DVBSystemType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSystemType)(::windows_core::Interface::as_raw(self), systype).ok() } pub unsafe fn NetworkID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkID(&self, networkid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNetworkID)(::windows_core::Interface::as_raw(self), networkid).ok() @@ -3891,15 +3891,15 @@ impl IDVB_BAT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBouquetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBouquetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBouquetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32, ppdescriptor: *const ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, ::core::mem::transmute(ppdescriptor)).ok() @@ -3909,23 +3909,23 @@ impl IDVB_BAT { } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -3938,7 +3938,7 @@ impl IDVB_BAT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -3982,7 +3982,7 @@ impl IDVB_DIT { } pub unsafe fn GetTransitionFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransitionFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransitionFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4004,59 +4004,59 @@ impl IDVB_EIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSegmentLastSectionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSegmentLastSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSegmentLastSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastTableId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastTableId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastTableId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4069,7 +4069,7 @@ impl IDVB_EIT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -4082,7 +4082,7 @@ impl IDVB_EIT { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4123,59 +4123,59 @@ impl IDVB_EIT2 { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSegmentLastSectionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSegmentLastSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSegmentLastSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastTableId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastTableId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastTableId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4188,7 +4188,7 @@ impl IDVB_EIT2 { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -4201,14 +4201,14 @@ impl IDVB_EIT2 { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSegmentInfo(&self, pbtid: *mut u8, pbsegment: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSegmentInfo)(::windows_core::Interface::as_raw(self), pbtid, pbsegment).ok() } pub unsafe fn GetRecordSection(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordSection)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordSection)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -4230,42 +4230,42 @@ impl IDVB_NIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4278,7 +4278,7 @@ impl IDVB_NIT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -4291,7 +4291,7 @@ impl IDVB_NIT { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4327,27 +4327,27 @@ impl IDVB_RST { } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTransportStreamId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordOriginalNetworkId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -4374,47 +4374,47 @@ impl IDVB_SDT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEITScheduleFlag(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEITScheduleFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEITScheduleFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEITPresentFollowingFlag(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEITPresentFollowingFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEITPresentFollowingFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4427,7 +4427,7 @@ impl IDVB_SDT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -4440,7 +4440,7 @@ impl IDVB_SDT { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4478,38 +4478,38 @@ impl IDVB_SIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4522,7 +4522,7 @@ impl IDVB_SIT { } pub unsafe fn GetNextTable(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -4565,11 +4565,11 @@ impl IDVB_ST { } pub unsafe fn GetDataLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4591,7 +4591,7 @@ impl IDVB_TDT { } pub unsafe fn GetUTCTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUTCTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUTCTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4612,15 +4612,15 @@ impl IDVB_TOT { } pub unsafe fn GetUTCTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUTCTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUTCTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -4644,49 +4644,49 @@ pub struct IDVB_TOT_Vtbl { impl IDigitalCableLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -4694,25 +4694,25 @@ impl IDigitalCableLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPhysicalChannel(&self, physicalchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPhysicalChannel)(::windows_core::Interface::as_raw(self), physicalchannel).ok() } pub unsafe fn TSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetTSID)(::windows_core::Interface::as_raw(self), tsid).ok() } pub unsafe fn ProgramNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProgramNumber(&self, programnumber: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProgramNumber)(::windows_core::Interface::as_raw(self), programnumber).ok() @@ -4733,22 +4733,22 @@ impl IDigitalCableTuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -4759,28 +4759,28 @@ impl IDigitalCableTuneRequest { } pub unsafe fn Channel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetChannel)(::windows_core::Interface::as_raw(self), channel).ok() } pub unsafe fn MinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinorChannel(&self, minorchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinorChannel)(::windows_core::Interface::as_raw(self), minorchannel).ok() } pub unsafe fn MajorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMajorChannel(&self, majorchannel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMajorChannel)(::windows_core::Interface::as_raw(self), majorchannel).ok() } pub unsafe fn SourceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceID(&self, sourceid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceID)(::windows_core::Interface::as_raw(self), sourceid).ok() @@ -4804,7 +4804,7 @@ pub struct IDigitalCableTuneRequest_Vtbl { impl IDigitalCableTuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4814,7 +4814,7 @@ impl IDigitalCableTuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4824,11 +4824,11 @@ impl IDigitalCableTuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -4838,7 +4838,7 @@ impl IDigitalCableTuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -4846,22 +4846,22 @@ impl IDigitalCableTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -4872,7 +4872,7 @@ impl IDigitalCableTuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -4883,7 +4883,7 @@ impl IDigitalCableTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -4895,88 +4895,88 @@ impl IDigitalCableTuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MinChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MinChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinChannel(&self, newminchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMinChannel)(::windows_core::Interface::as_raw(self), newminchannelval).ok() } pub unsafe fn MaxChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MaxChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxChannel(&self, newmaxchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMaxChannel)(::windows_core::Interface::as_raw(self), newmaxchannelval).ok() } pub unsafe fn InputType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InputType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InputType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInputType(&self, newinputtypeval: super::TunerInputType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetInputType)(::windows_core::Interface::as_raw(self), newinputtypeval).ok() } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCountryCode)(::windows_core::Interface::as_raw(self), newcountrycodeval).ok() } pub unsafe fn MinMinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinMinorChannel(&self, newminminorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinMinorChannel)(::windows_core::Interface::as_raw(self), newminminorchannelval).ok() } pub unsafe fn MaxMinorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxMinorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxMinorChannel(&self, newmaxminorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxMinorChannel)(::windows_core::Interface::as_raw(self), newmaxminorchannelval).ok() } pub unsafe fn MinPhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinPhysicalChannel(&self, newminphysicalchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinPhysicalChannel)(::windows_core::Interface::as_raw(self), newminphysicalchannelval).ok() } pub unsafe fn MaxPhysicalChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxPhysicalChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxPhysicalChannel(&self, newmaxphysicalchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxPhysicalChannel)(::windows_core::Interface::as_raw(self), newmaxphysicalchannelval).ok() } pub unsafe fn MinMajorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinMajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinMajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinMajorChannel(&self, newminmajorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinMajorChannel)(::windows_core::Interface::as_raw(self), newminmajorchannelval).ok() } pub unsafe fn MaxMajorChannel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxMajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxMajorChannel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxMajorChannel(&self, newmaxmajorchannelval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxMajorChannel)(::windows_core::Interface::as_raw(self), newmaxmajorchannelval).ok() } pub unsafe fn MinSourceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinSourceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinSourceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinSourceID(&self, newminsourceidval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinSourceID)(::windows_core::Interface::as_raw(self), newminsourceidval).ok() } pub unsafe fn MaxSourceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxSourceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxSourceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxSourceID(&self, newmaxsourceidval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxSourceID)(::windows_core::Interface::as_raw(self), newmaxsourceidval).ok() @@ -5004,49 +5004,49 @@ pub struct IDigitalCableTuningSpace_Vtbl { impl IDigitalLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -5054,7 +5054,7 @@ impl IDigitalLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5068,31 +5068,31 @@ pub struct IDigitalLocator_Vtbl { impl IDvbCableDeliverySystemDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFECOuter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFECOuter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFECOuter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFECInner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFECInner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFECInner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5112,30 +5112,30 @@ pub struct IDvbCableDeliverySystemDescriptor_Vtbl { impl IDvbComponentDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcode.as_ptr())).ok() } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5155,15 +5155,15 @@ pub struct IDvbComponentDescriptor_Vtbl { impl IDvbContentDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordContentNibbles(&self, brecordindex: u8, pbvallevel1: *mut u8, pbvallevel2: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordContentNibbles)(::windows_core::Interface::as_raw(self), brecordindex, pbvallevel1, pbvallevel2).ok() @@ -5187,15 +5187,15 @@ pub struct IDvbContentDescriptor_Vtbl { impl IDvbContentIdentifierDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordCrid(&self, brecordindex: u8, pbtype: *mut u8, pblocation: *mut u8, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordCrid)(::windows_core::Interface::as_raw(self), brecordindex, pbtype, pblocation, pblength, ppbbytes).ok() @@ -5215,34 +5215,34 @@ pub struct IDvbContentIdentifierDescriptor_Vtbl { impl IDvbDataBroadcastDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataBroadcastID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataBroadcastID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataBroadcastID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelectorLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectorLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectorLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelectorBytes(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSelectorBytes)(::windows_core::Interface::as_raw(self), pblen, pbval).ok() } pub unsafe fn GetLangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), pblen, pbval).ok() @@ -5267,15 +5267,15 @@ pub struct IDvbDataBroadcastDescriptor_Vtbl { impl IDvbDataBroadcastIDDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataBroadcastID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataBroadcastID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataBroadcastID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIDSelectorBytes(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIDSelectorBytes)(::windows_core::Interface::as_raw(self), pblen, pbval).ok() @@ -5295,11 +5295,11 @@ pub struct IDvbDataBroadcastIDDescriptor_Vtbl { impl IDvbDefaultAuthorityDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultAuthority(&self, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDefaultAuthority)(::windows_core::Interface::as_raw(self), pblength, ppbbytes).ok() @@ -5318,26 +5318,26 @@ pub struct IDvbDefaultAuthorityDescriptor_Vtbl { impl IDvbExtendedEventDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescriptorNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescriptorNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescriptorNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastDescriptorNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastDescriptorNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastDescriptorNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcode.as_ptr())).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordItemW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrdesc: *mut ::windows_core::BSTR, pbstritem: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordItemW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, ::core::mem::transmute(pbstrdesc), ::core::mem::transmute(pbstritem)).ok() @@ -5350,14 +5350,14 @@ impl IDvbExtendedEventDescriptor { } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConcatenatedTextW(&self, followingdescriptor: P0, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConcatenatedTextW)(::windows_core::Interface::as_raw(self), followingdescriptor.into_param().abi(), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConcatenatedTextW)(::windows_core::Interface::as_raw(self), followingdescriptor.into_param().abi(), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordItemRawBytes(&self, brecordindex: u8, ppbrawitem: *mut *mut u8, pbitemlength: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordItemRawBytes)(::windows_core::Interface::as_raw(self), brecordindex, ppbrawitem, pbitemlength).ok() @@ -5384,23 +5384,23 @@ pub struct IDvbExtendedEventDescriptor_Vtbl { impl IDvbFrequencyListDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodingType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodingType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodingType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordCentreFrequency(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCentreFrequency)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCentreFrequency)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5418,27 +5418,27 @@ pub struct IDvbFrequencyListDescriptor_Vtbl { impl IDvbHDSimulcastLogicalChannelDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelAndVisibility(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5451,31 +5451,31 @@ pub struct IDvbHDSimulcastLogicalChannelDescriptor_Vtbl { impl IDvbLinkageDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTSId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTSId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTSId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetONId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetONId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetONId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLinkageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrivateDataLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrivateDataLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrivateDataLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrivateData(&self, pblen: *mut u8, pbdata: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPrivateData)(::windows_core::Interface::as_raw(self), pblen, pbdata).ok() @@ -5499,58 +5499,58 @@ pub struct IDvbLinkageDescriptor_Vtbl { impl IDvbLogicalChannel2Descriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelAndVisibility(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetCountOfLists(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfLists)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfLists)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetListId(&self, blistindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListId)(::windows_core::Interface::as_raw(self), blistindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListId)(::windows_core::Interface::as_raw(self), blistindex, &mut result__).map(|| result__) } pub unsafe fn GetListNameW(&self, blistindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListNameW)(::windows_core::Interface::as_raw(self), blistindex, convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListNameW)(::windows_core::Interface::as_raw(self), blistindex, convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetListCountryCode(&self, blistindex: u8, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetListCountryCode)(::windows_core::Interface::as_raw(self), blistindex, ::core::mem::transmute(pszcode.as_ptr())).ok() } pub unsafe fn GetListCountOfRecords(&self, bchannellistindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListCountOfRecords)(::windows_core::Interface::as_raw(self), bchannellistindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListCountOfRecords)(::windows_core::Interface::as_raw(self), bchannellistindex, &mut result__).map(|| result__) } pub unsafe fn GetListRecordServiceId(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListRecordServiceId)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListRecordServiceId)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetListRecordLogicalChannelNumber(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetListRecordLogicalChannelAndVisibility(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), blistindex, brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5571,23 +5571,23 @@ pub struct IDvbLogicalChannel2Descriptor_Vtbl { impl IDvbLogicalChannelDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5605,27 +5605,27 @@ pub struct IDvbLogicalChannelDescriptor_Vtbl { impl IDvbLogicalChannelDescriptor2 { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordLogicalChannelNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordLogicalChannelAndVisibility(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordLogicalChannelAndVisibility)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5639,27 +5639,27 @@ pub struct IDvbLogicalChannelDescriptor2_Vtbl { impl IDvbMultilingualServiceNameDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceProviderNameW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceProviderNameW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceProviderNameW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordServiceNameW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceNameW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceNameW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5678,19 +5678,19 @@ pub struct IDvbMultilingualServiceNameDescriptor_Vtbl { impl IDvbNetworkNameDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNetworkName(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNetworkNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5707,15 +5707,15 @@ pub struct IDvbNetworkNameDescriptor_Vtbl { impl IDvbParentalRatingDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordRating(&self, brecordindex: u8, pszcountrycode: &mut [u8; 4], pbval: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordRating)(::windows_core::Interface::as_raw(self), brecordindex, ::core::mem::transmute(pszcountrycode.as_ptr()), pbval).ok() @@ -5735,15 +5735,15 @@ pub struct IDvbParentalRatingDescriptor_Vtbl { impl IDvbPrivateDataSpecifierDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrivateDataSpecifier(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrivateDataSpecifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrivateDataSpecifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5759,39 +5759,39 @@ pub struct IDvbPrivateDataSpecifierDescriptor_Vtbl { impl IDvbSatelliteDeliverySystemDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOrbitalPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWestEastFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWestEastFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWestEastFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPolarization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolarization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolarization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFECInner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFECInner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFECInner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5813,27 +5813,27 @@ pub struct IDvbSatelliteDeliverySystemDescriptor_Vtbl { impl IDvbServiceAttributeDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordNumericSelectionFlag(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNumericSelectionFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNumericSelectionFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordVisibleServiceFlag(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordVisibleServiceFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordVisibleServiceFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5852,35 +5852,35 @@ pub struct IDvbServiceAttributeDescriptor_Vtbl { impl IDvbServiceDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceProviderName(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceProviderNameW(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProviderNameW)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProviderNameW)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceName(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessedServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessedServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessedServiceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceNameEmphasized(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceNameEmphasized)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceNameEmphasized)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5901,43 +5901,43 @@ pub struct IDvbServiceDescriptor_Vtbl { impl IDvbServiceDescriptor2 { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceProviderName(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceProviderName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceProviderNameW(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceProviderNameW)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceProviderNameW)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceName(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessedServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProcessedServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProcessedServiceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceNameEmphasized(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceNameEmphasized)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceNameEmphasized)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceProviderNameW2(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProviderNameW2)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProviderNameW2)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5952,23 +5952,23 @@ pub struct IDvbServiceDescriptor2_Vtbl { impl IDvbServiceListDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceType(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -5986,22 +5986,22 @@ pub struct IDvbServiceListDescriptor_Vtbl { impl IDvbShortEventDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcode.as_ptr())).ok() } pub unsafe fn GetEventNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6025,59 +6025,59 @@ impl IDvbSiParser { } pub unsafe fn GetPAT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPMT(&self, pid: u16, pwprogramnumber: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTSDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNIT(&self, tableid: u8, pwnetworkid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDT(&self, tableid: u8, pwtransportstreamid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT(&self, tableid: u8, pwserviceid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBAT(&self, pwbouquetid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRST(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetST(&self, pid: u16, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTOT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6111,63 +6111,63 @@ impl IDvbSiParser2 { } pub unsafe fn GetPAT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPMT(&self, pid: u16, pwprogramnumber: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTSDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNIT(&self, tableid: u8, pwnetworkid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDT(&self, tableid: u8, pwtransportstreamid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT(&self, tableid: u8, pwserviceid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBAT(&self, pwbouquetid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRST(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetST(&self, pid: u16, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTOT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT2(&self, tableid: u8, pwserviceid: ::core::option::Option<*const u16>, pbsegment: ::core::option::Option<*const u8>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEIT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pbsegment.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEIT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pbsegment.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6181,31 +6181,31 @@ pub struct IDvbSiParser2_Vtbl { impl IDvbSubtitlingDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordSubtitlingType(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordSubtitlingType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordSubtitlingType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCompositionPageID(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCompositionPageID)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCompositionPageID)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordAncillaryPageID(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordAncillaryPageID)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordAncillaryPageID)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -6225,31 +6225,31 @@ pub struct IDvbSubtitlingDescriptor_Vtbl { impl IDvbTeletextDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordLangId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTeletextType(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTeletextType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTeletextType)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordMagazineNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordMagazineNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordMagazineNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordPageNumber(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordPageNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordPageNumber)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -6269,55 +6269,55 @@ pub struct IDvbTeletextDescriptor_Vtbl { impl IDvbTerrestrial2DeliverySystemDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTagExtension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTagExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTagExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCentreFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCentreFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCentreFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPLPId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPLPId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPLPId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetT2SystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetT2SystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetT2SystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMultipleInputMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMultipleInputMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMultipleInputMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGuardInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransmissionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCellId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOtherFrequencyFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherFrequencyFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherFrequencyFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTFSFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTFSFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTFSFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6343,47 +6343,47 @@ pub struct IDvbTerrestrial2DeliverySystemDescriptor_Vtbl { impl IDvbTerrestrialDeliverySystemDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCentreFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCentreFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCentreFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConstellation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConstellation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConstellation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHierarchyInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHierarchyInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHierarchyInformation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodeRateHPStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeRateHPStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeRateHPStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodeRateLPStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeRateLPStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeRateLPStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGuardInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransmissionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOtherFrequencyFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherFrequencyFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherFrequencyFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6407,11 +6407,11 @@ pub struct IDvbTerrestrialDeliverySystemDescriptor_Vtbl { impl IESCloseMmiEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6419,15 +6419,15 @@ impl IESCloseMmiEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDialogNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDialogNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDialogNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6446,7 +6446,7 @@ impl IESEventFactory { P2: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateESEvent)(::windows_core::Interface::as_raw(self), pserviceprovider.into_param().abi(), dweventid, ::core::mem::transmute(guideventtype), peventdata.len().try_into().unwrap(), ::core::mem::transmute(peventdata.as_ptr()), bstrbaseurl.into_param().abi(), pinitcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateESEvent)(::windows_core::Interface::as_raw(self), pserviceprovider.into_param().abi(), dweventid, ::core::mem::transmute(guideventtype), peventdata.len().try_into().unwrap(), ::core::mem::transmute(peventdata.as_ptr()), bstrbaseurl.into_param().abi(), pinitcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6521,11 +6521,11 @@ pub struct IESEventServiceConfiguration_Vtbl { impl IESFileExpiryDateEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6533,35 +6533,35 @@ impl IESFileExpiryDateEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTunerId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTunerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTunerId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpiryDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalExpiryDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxRenewalCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxRenewalCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxRenewalCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEntitlementTokenPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEntitlementTokenPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEntitlementTokenPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoesExpireAfterFirstUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesExpireAfterFirstUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesExpireAfterFirstUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6580,11 +6580,11 @@ pub struct IESFileExpiryDateEvent_Vtbl { impl IESIsdbCasResponseEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6592,28 +6592,28 @@ impl IESIsdbCasResponseEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetResponseData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResponseData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResponseData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6633,11 +6633,11 @@ pub struct IESIsdbCasResponseEvent_Vtbl { impl IESLicenseRenewalResultEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6645,56 +6645,56 @@ impl IESLicenseRenewalResultEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCallersId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCallersId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCallersId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRenewalSuccessful(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRenewalSuccessful)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRenewalSuccessful)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCheckEntitlementCallRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCheckEntitlementCallRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCheckEntitlementCallRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescrambledStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescrambledStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescrambledStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRenewalResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenewalResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenewalResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCASFailureCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCASFailureCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCASFailureCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRenewalHResult(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenewalHResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenewalHResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEntitlementTokenLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntitlementTokenLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntitlementTokenLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEntitlementToken(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntitlementToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntitlementToken)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpiryDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpiryDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6721,11 +6721,11 @@ pub struct IESLicenseRenewalResultEvent_Vtbl { impl IESOpenMmiEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6733,28 +6733,28 @@ impl IESOpenMmiEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDialogNumber(&self, pdialogrequest: *mut u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDialogNumber)(::windows_core::Interface::as_raw(self), pdialogrequest, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDialogNumber)(::windows_core::Interface::as_raw(self), pdialogrequest, &mut result__).map(|| result__) } pub unsafe fn GetDialogType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDialogType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDialogType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDialogData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDialogData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDialogData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDialogStringData(&self, pbstrbaseurl: *mut ::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDialogStringData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrbaseurl), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDialogStringData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrbaseurl), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6774,11 +6774,11 @@ pub struct IESOpenMmiEvent_Vtbl { impl IESRequestTunerEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6786,27 +6786,27 @@ impl IESRequestTunerEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConsequences(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConsequences)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConsequences)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEstimatedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEstimatedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEstimatedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6823,11 +6823,11 @@ pub struct IESRequestTunerEvent_Vtbl { impl IESValueUpdatedEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6835,16 +6835,16 @@ impl IESValueUpdatedEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetValueNames(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6861,14 +6861,14 @@ pub struct IESValueUpdatedEvent_Vtbl { impl IETFilter { pub unsafe fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EvalRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrRating)(::windows_core::Interface::as_raw(self), pensystem, penrating, plbfenattr).ok() } pub unsafe fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).map(|| result__) } pub unsafe fn GetLastErrorCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLastErrorCode)(::windows_core::Interface::as_raw(self)).ok() @@ -6898,7 +6898,7 @@ impl IETFilterConfig { } pub unsafe fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6935,7 +6935,7 @@ impl IEnumComponentTypes { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6965,7 +6965,7 @@ impl IEnumComponents { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6994,7 +6994,7 @@ impl IEnumGuideDataProperties { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7021,7 +7021,7 @@ impl IEnumMSVidGraphSegment { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7050,7 +7050,7 @@ impl IEnumStreamBufferRecordingAttrib { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7077,7 +7077,7 @@ impl IEnumTuneRequests { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7107,7 +7107,7 @@ impl IEnumTuningSpaces { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7130,14 +7130,14 @@ pub struct IEnumTuningSpaces_Vtbl { impl IEvalRat { pub unsafe fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, &mut result__).map(|| result__) } pub unsafe fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_BlockedRatingAttributes)(::windows_core::Interface::as_raw(self), ensystem, enlevel, lbfattrs).ok() } pub unsafe fn BlockUnRated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockUnRated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockUnRated(&self, fblockunratedshows: P0) -> ::windows_core::Result<()> where @@ -7172,15 +7172,15 @@ impl IGenericDescriptor { } pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBody(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBody)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7200,22 +7200,22 @@ impl IGenericDescriptor2 { } pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBody(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBody)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize2(&self, pbdesc: *const u8, wcount: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Initialize2)(::windows_core::Interface::as_raw(self), pbdesc, wcount).ok() } pub unsafe fn GetLength2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7230,7 +7230,7 @@ pub struct IGenericDescriptor2_Vtbl { impl IGpnvsCommonBase { pub unsafe fn GetValueUpdateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueUpdateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueUpdateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7244,7 +7244,7 @@ pub struct IGpnvsCommonBase_Vtbl { impl IGuideData { pub unsafe fn GetServices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetServiceProperties(&self, ptunerequest: P0) -> ::windows_core::Result @@ -7252,31 +7252,31 @@ impl IGuideData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceProperties)(::windows_core::Interface::as_raw(self), ptunerequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceProperties)(::windows_core::Interface::as_raw(self), ptunerequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetGuideProgramIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuideProgramIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuideProgramIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProgramProperties(&self, varprogramdescriptionid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgramProperties)(::windows_core::Interface::as_raw(self), varprogramdescriptionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgramProperties)(::windows_core::Interface::as_raw(self), varprogramdescriptionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetScheduleEntryIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScheduleEntryIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScheduleEntryIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetScheduleEntryProperties(&self, varscheduleentrydescriptionid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScheduleEntryProperties)(::windows_core::Interface::as_raw(self), varscheduleentrydescriptionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScheduleEntryProperties)(::windows_core::Interface::as_raw(self), varscheduleentrydescriptionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7379,15 +7379,15 @@ pub struct IGuideDataLoader_Vtbl { impl IGuideDataProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Language(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7406,49 +7406,49 @@ pub struct IGuideDataProperty_Vtbl { impl IISDBSLocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -7456,18 +7456,18 @@ impl IISDBSLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SignalPolarisation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignalPolarisation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignalPolarisation(&self, polarisationval: super::Polarisation) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSignalPolarisation)(::windows_core::Interface::as_raw(self), polarisationval).ok() } pub unsafe fn WestPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WestPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWestPosition(&self, westlongitude: P0) -> ::windows_core::Result<()> where @@ -7477,21 +7477,21 @@ impl IISDBSLocator { } pub unsafe fn OrbitalPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OrbitalPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOrbitalPosition(&self, longitude: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOrbitalPosition)(::windows_core::Interface::as_raw(self), longitude).ok() } pub unsafe fn Azimuth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Azimuth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAzimuth(&self, azimuth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAzimuth)(::windows_core::Interface::as_raw(self), azimuth).ok() } pub unsafe fn Elevation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Elevation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Elevation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElevation(&self, elevation: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetElevation)(::windows_core::Interface::as_raw(self), elevation).ok() @@ -7515,49 +7515,49 @@ impl IISDB_BIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBroadcastViewPropriety(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBroadcastViewPropriety)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBroadcastViewPropriety)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordBroadcasterId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordBroadcasterId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordBroadcasterId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7590,46 +7590,46 @@ impl IISDB_CDT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDownloadDataId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDownloadDataId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDownloadDataId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSectionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSectionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetSizeOfDataModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSizeOfDataModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSizeOfDataModule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataModule(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataModule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7661,11 +7661,11 @@ impl IISDB_EMM { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableIdExtension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableIdExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableIdExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataBytes(&self, pwbufferlength: *mut u16, pbbuffer: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDataBytes)(::windows_core::Interface::as_raw(self), pwbufferlength, pbbuffer).ok() @@ -7681,7 +7681,7 @@ impl IISDB_EMM { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7708,42 +7708,42 @@ impl IISDB_LDT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalServiceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalServiceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalServiceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptionId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptionId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptionId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7774,58 +7774,58 @@ impl IISDB_NBIT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordInformationId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordInformationId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordInformationId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordInformationType(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordInformationType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordInformationType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptionBodyLocation(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptionBodyLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptionBodyLocation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordMessageSectionNumber(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordMessageSectionNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordMessageSectionNumber)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordUserDefined(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordUserDefined)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordUserDefined)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordNumberOfKeys(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNumberOfKeys)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNumberOfKeys)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordKeys(&self, dwrecordindex: u32) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordKeys)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordKeys)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7860,47 +7860,47 @@ impl IISDB_SDT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordServiceId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEITScheduleFlag(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordEITScheduleFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordEITScheduleFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordEITPresentFollowingFlag(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordEITPresentFollowingFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordEITPresentFollowingFlag)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordRunningStatus)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordFreeCAMode)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() @@ -7913,7 +7913,7 @@ impl IISDB_SDT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -7926,11 +7926,11 @@ impl IISDB_SDT { } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEITUserDefinedFlags(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEITUserDefinedFlags)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEITUserDefinedFlags)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -7951,78 +7951,78 @@ impl IISDB_SDTT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableIdExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableIdExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableIdExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginalNetworkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordGroup(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordGroup)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordGroup)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTargetVersion(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTargetVersion)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTargetVersion)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordNewVersion(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNewVersion)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNewVersion)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDownloadLevel(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDownloadLevel)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDownloadLevel)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordVersionIndicator(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordVersionIndicator)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordVersionIndicator)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordScheduleTimeShiftInformation(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordScheduleTimeShiftInformation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordScheduleTimeShiftInformation)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfSchedules(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfSchedules)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfSchedules)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordStartTimeByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordStartTimeByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordStartTimeByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDurationByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDurationByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDurationByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: ::core::option::Option<*mut u32>, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetVersionHash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8055,47 +8055,47 @@ pub struct IISDB_SDTT_Vtbl { impl IIsdbAudioComponentDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSimulcastGroupTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSimulcastGroupTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSimulcastGroupTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetESMultiLingualFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetESMultiLingualFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetESMultiLingualFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMainComponentFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainComponentFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainComponentFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQualityIndicator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQualityIndicator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQualityIndicator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSamplingRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSamplingRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSamplingRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcode.as_ptr())).ok() @@ -8105,7 +8105,7 @@ impl IIsdbAudioComponentDescriptor { } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8132,39 +8132,39 @@ pub struct IIsdbAudioComponentDescriptor_Vtbl { impl IIsdbCAContractInformationDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCASystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCAUnitId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAUnitId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAUnitId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordComponentTag(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordComponentTag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordComponentTag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetContractVerificationInfoLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContractVerificationInfoLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContractVerificationInfoLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContractVerificationInfo(&self, bbuflength: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContractVerificationInfo)(::windows_core::Interface::as_raw(self), bbuflength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContractVerificationInfo)(::windows_core::Interface::as_raw(self), bbuflength, &mut result__).map(|| result__) } pub unsafe fn GetFeeNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeeNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeeNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8186,23 +8186,23 @@ pub struct IIsdbCAContractInformationDescriptor_Vtbl { impl IIsdbCADescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCASystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReservedBits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReservedBits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReservedBits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCAPID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAPID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAPID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrivateDataBytes(&self, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPrivateDataBytes)(::windows_core::Interface::as_raw(self), pbbufferlength, pbbuffer).ok() @@ -8224,23 +8224,23 @@ pub struct IIsdbCADescriptor_Vtbl { impl IIsdbCAServiceDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCASystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCASystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCABroadcasterGroupId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCABroadcasterGroupId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCABroadcasterGroupId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMessageControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessageControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessageControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceIds(&self, pbnumserviceids: *mut u8, pwserviceids: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetServiceIds)(::windows_core::Interface::as_raw(self), pbnumserviceids, pwserviceids).ok() @@ -8262,47 +8262,47 @@ pub struct IIsdbCAServiceDescriptor_Vtbl { impl IIsdbComponentGroupDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentGroupType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentGroupType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentGroupType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordGroupId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordGroupId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordGroupId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordNumberOfCAUnit(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNumberOfCAUnit)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNumberOfCAUnit)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCAUnitCAUnitId(&self, brecordindex: u8, bcaunitindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCAUnitCAUnitId)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCAUnitCAUnitId)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCAUnitNumberOfComponents(&self, brecordindex: u8, bcaunitindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCAUnitNumberOfComponents)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCAUnitNumberOfComponents)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCAUnitComponentTag(&self, brecordindex: u8, bcaunitindex: u8, bcomponentindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCAUnitComponentTag)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, bcomponentindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCAUnitComponentTag)(::windows_core::Interface::as_raw(self), brecordindex, bcaunitindex, bcomponentindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTotalBitRate(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTotalBitRate)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTotalBitRate)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordTextW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTextW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTextW)(::windows_core::Interface::as_raw(self), brecordindex, convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8326,42 +8326,42 @@ pub struct IIsdbComponentGroupDescriptor_Vtbl { impl IIsdbDataContentDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataComponentId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataComponentId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataComponentId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEntryComponent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntryComponent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntryComponent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelectorLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectorLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectorLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelectorBytes(&self, bbuflength: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectorBytes)(::windows_core::Interface::as_raw(self), bbuflength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectorBytes)(::windows_core::Interface::as_raw(self), bbuflength, &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordComponentRef(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordComponentRef)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordComponentRef)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetLanguageCode(&self, pszcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcode.as_ptr())).ok() } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8384,18 +8384,18 @@ pub struct IIsdbDataContentDescriptor_Vtbl { impl IIsdbDigitalCopyControlDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCopyControl(&self, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCopyControl)(::windows_core::Interface::as_raw(self), pbdigitalrecordingcontroldata, pbcopycontroltype, pbapscontroldata, pbmaximumbitrate).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordCopyControl(&self, brecordindex: u8, pbcomponenttag: *mut u8, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordCopyControl)(::windows_core::Interface::as_raw(self), brecordindex, pbcomponenttag, pbdigitalrecordingcontroldata, pbcopycontroltype, pbapscontroldata, pbmaximumbitrate).ok() @@ -8416,69 +8416,69 @@ pub struct IIsdbDigitalCopyControlDescriptor_Vtbl { impl IIsdbDownloadContentDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFlags(&self, pfreboot: *mut super::super::super::Foundation::BOOL, pfaddon: *mut super::super::super::Foundation::BOOL, pfcompatibility: *mut super::super::super::Foundation::BOOL, pfmoduleinfo: *mut super::super::super::Foundation::BOOL, pftextinfo: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), pfreboot, pfaddon, pfcompatibility, pfmoduleinfo, pftextinfo).ok() } pub unsafe fn GetComponentSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDownloadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDownloadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDownloadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeOutValueDII(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeOutValueDII)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeOutValueDII)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLeakRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLeakRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLeakRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComponentTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCompatiblityDescriptorLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompatiblityDescriptorLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompatiblityDescriptorLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCompatiblityDescriptor(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompatiblityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompatiblityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordModuleId(&self, wrecordindex: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordModuleId)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordModuleId)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordModuleSize(&self, wrecordindex: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordModuleSize)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordModuleSize)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordModuleInfoLength(&self, wrecordindex: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordModuleInfoLength)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordModuleInfoLength)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordModuleInfo(&self, wrecordindex: u16) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordModuleInfo)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordModuleInfo)(::windows_core::Interface::as_raw(self), wrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetTextLanguageCode(&self, szcode: &mut [u8; 4]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTextLanguageCode)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(szcode.as_ptr())).ok() } pub unsafe fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8508,27 +8508,27 @@ pub struct IIsdbDownloadContentDescriptor_Vtbl { impl IIsdbEmergencyInformationDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetStartEndFlag(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartEndFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartEndFlag)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetSignalLevel(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignalLevel)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignalLevel)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetAreaCode(&self, brecordindex: u8, ppwval: *mut *mut u16, pbnumareacodes: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAreaCode)(::windows_core::Interface::as_raw(self), brecordindex, ppwval, pbnumareacodes).ok() @@ -8551,26 +8551,26 @@ pub struct IIsdbEmergencyInformationDescriptor_Vtbl { impl IIsdbEventGroupDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEvent(&self, brecordindex: u8, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordEvent)(::windows_core::Interface::as_raw(self), brecordindex, pwserviceid, pweventid).ok() } pub unsafe fn GetCountOfRefRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRefRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRefRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRefRecordEvent(&self, brecordindex: u8, pworiginalnetworkid: *mut u16, pwtransportstreamid: *mut u16, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRefRecordEvent)(::windows_core::Interface::as_raw(self), brecordindex, pworiginalnetworkid, pwtransportstreamid, pwserviceid, pweventid).ok() @@ -8593,27 +8593,27 @@ pub struct IIsdbEventGroupDescriptor_Vtbl { impl IIsdbHierarchicalTransmissionDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFutureUse1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFutureUse1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFutureUse1)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQualityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFutureUse2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFutureUse2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFutureUse2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReferencePid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReferencePid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReferencePid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8632,31 +8632,31 @@ pub struct IIsdbHierarchicalTransmissionDescriptor_Vtbl { impl IIsdbLogoTransmissionDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLogoTransmissionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogoTransmissionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogoTransmissionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLogoId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogoId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogoId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLogoVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogoVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogoVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDownloadDataId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDownloadDataId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDownloadDataId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLogoCharW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogoCharW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogoCharW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8676,31 +8676,31 @@ pub struct IIsdbLogoTransmissionDescriptor_Vtbl { impl IIsdbSIParameterDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParameterVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameterVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameterVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUpdateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordNumberOfTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNumberOfTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNumberOfTable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableId(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableId)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptionLength(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptionLength)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptionLength)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptionBytes(&self, brecordindex: u8, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptionBytes)(::windows_core::Interface::as_raw(self), brecordindex, pbbufferlength, pbbuffer).ok() @@ -8724,38 +8724,38 @@ pub struct IIsdbSIParameterDescriptor_Vtbl { impl IIsdbSeriesDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSeriesId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSeriesId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSeriesId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRepeatLabel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRepeatLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRepeatLabel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgramPattern(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgramPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgramPattern)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpireDate(&self, pfvalid: *mut super::super::super::Foundation::BOOL, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpireDate)(::windows_core::Interface::as_raw(self), pfvalid, pmdtval).ok() } pub unsafe fn GetEpisodeNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEpisodeNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEpisodeNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastEpisodeNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastEpisodeNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastEpisodeNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSeriesNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSeriesNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSeriesNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8783,91 +8783,91 @@ impl IIsdbSiParser2 { } pub unsafe fn GetPAT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPAT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCAT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPMT(&self, pid: u16, pwprogramnumber: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPMT)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pwprogramnumber.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTSDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTSDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNIT(&self, tableid: u8, pwnetworkid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwnetworkid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDT(&self, tableid: u8, pwtransportstreamid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT(&self, tableid: u8, pwserviceid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBAT(&self, pwbouquetid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBAT)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwbouquetid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRST(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRST)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetST(&self, pid: u16, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetST)(::windows_core::Interface::as_raw(self), pid, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTDT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTDT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTOT(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTOT)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSIT(&self, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSIT)(::windows_core::Interface::as_raw(self), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEIT2(&self, tableid: u8, pwserviceid: ::core::option::Option<*const u16>, pbsegment: ::core::option::Option<*const u8>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEIT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pbsegment.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEIT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwserviceid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pbsegment.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDT2(&self, tableid: u8, pwtransportstreamid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSDT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSDT2)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtransportstreamid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBIT(&self, tableid: u8, pworiginalnetworkid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalnetworkid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalnetworkid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNBIT(&self, tableid: u8, pworiginalnetworkid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNBIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalnetworkid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNBIT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalnetworkid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLDT(&self, tableid: u8, pworiginalserviceid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalserviceid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLDT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pworiginalserviceid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDTT(&self, tableid: u8, pwtableidext: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSDTT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtableidext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSDTT)(::windows_core::Interface::as_raw(self), tableid, ::core::mem::transmute(pwtableidext.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCDT(&self, tableid: u8, bsectionnumber: u8, pwdownloaddataid: ::core::option::Option<*const u16>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCDT)(::windows_core::Interface::as_raw(self), tableid, bsectionnumber, ::core::mem::transmute(pwdownloaddataid.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCDT)(::windows_core::Interface::as_raw(self), tableid, bsectionnumber, ::core::mem::transmute(pwdownloaddataid.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEMM(&self, pid: u16, wtableidext: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEMM)(::windows_core::Interface::as_raw(self), pid, wtableidext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEMM)(::windows_core::Interface::as_raw(self), pid, wtableidext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8887,35 +8887,35 @@ pub struct IIsdbSiParser2_Vtbl { impl IIsdbTSInformationDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRemoteControlKeyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteControlKeyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteControlKeyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTSNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTSNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTSNameW)(::windows_core::Interface::as_raw(self), convmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordTransmissionTypeInfo(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordTransmissionTypeInfo)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordTransmissionTypeInfo)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordNumberOfServices(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordNumberOfServices)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordNumberOfServices)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordServiceIdByIndex(&self, brecordindex: u8, bserviceindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordServiceIdByIndex)(::windows_core::Interface::as_raw(self), brecordindex, bserviceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordServiceIdByIndex)(::windows_core::Interface::as_raw(self), brecordindex, bserviceindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -8936,31 +8936,31 @@ pub struct IIsdbTSInformationDescriptor_Vtbl { impl IIsdbTerrestrialDeliverySystemDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAreaCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAreaCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAreaCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGuardInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuardInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransmissionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransmissionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordFrequency(&self, brecordindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordFrequency)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordFrequency)(::windows_core::Interface::as_raw(self), brecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -8983,14 +8983,14 @@ pub struct IIsdbTerrestrialDeliverySystemDescriptor_Vtbl { impl ILanguageComponentType { pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaMajorType(&self, mediamajortype: P0) -> ::windows_core::Result<()> where @@ -9000,14 +9000,14 @@ impl ILanguageComponentType { } pub unsafe fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaMajorType)(::windows_core::Interface::as_raw(self), mediamajortypeguid).ok() } pub unsafe fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaSubType(&self, mediasubtype: P0) -> ::windows_core::Result<()> where @@ -9017,14 +9017,14 @@ impl ILanguageComponentType { } pub unsafe fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaSubType)(::windows_core::Interface::as_raw(self), mediasubtypeguid).ok() } pub unsafe fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaFormatType(&self, mediaformattype: P0) -> ::windows_core::Result<()> where @@ -9034,7 +9034,7 @@ impl ILanguageComponentType { } pub unsafe fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_MediaFormatType)(::windows_core::Interface::as_raw(self), mediaformattypeguid).ok() @@ -9042,7 +9042,7 @@ impl ILanguageComponentType { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -9051,11 +9051,11 @@ impl ILanguageComponentType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLangID(&self, langid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLangID)(::windows_core::Interface::as_raw(self), langid).ok() @@ -9077,49 +9077,49 @@ pub struct ILanguageComponentType_Vtbl { impl ILocator { pub unsafe fn CarrierFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CarrierFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCarrierFrequency)(::windows_core::Interface::as_raw(self), frequency).ok() } pub unsafe fn InnerFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InnerFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInnerFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn InnerFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InnerFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInnerFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OuterFEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOuterFEC)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn OuterFECRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OuterFECRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOuterFECRate)(::windows_core::Interface::as_raw(self), fec).ok() } pub unsafe fn Modulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetModulation)(::windows_core::Interface::as_raw(self), modulation).ok() } pub unsafe fn SymbolRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SymbolRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSymbolRate)(::windows_core::Interface::as_raw(self), rate).ok() @@ -9127,7 +9127,7 @@ impl ILocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9163,7 +9163,7 @@ impl IMPEG2Component { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetType(&self, ct: P0) -> ::windows_core::Result<()> @@ -9174,21 +9174,21 @@ impl IMPEG2Component { } pub unsafe fn DescLangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DescLangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DescLangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescLangID(&self, langid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDescLangID)(::windows_core::Interface::as_raw(self), langid).ok() } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStatus(&self, status: super::ComponentStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -9199,25 +9199,25 @@ impl IMPEG2Component { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPID(&self, pid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPID)(::windows_core::Interface::as_raw(self), pid).ok() } pub unsafe fn PCRPID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PCRPID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PCRPID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPCRPID(&self, pcrpid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPCRPID)(::windows_core::Interface::as_raw(self), pcrpid).ok() } pub unsafe fn ProgramNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProgramNumber(&self, programnumber: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProgramNumber)(::windows_core::Interface::as_raw(self), programnumber).ok() @@ -9243,14 +9243,14 @@ pub struct IMPEG2Component_Vtbl { impl IMPEG2ComponentType { pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaMajorType(&self, mediamajortype: P0) -> ::windows_core::Result<()> where @@ -9260,14 +9260,14 @@ impl IMPEG2ComponentType { } pub unsafe fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._MediaMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_MediaMajorType)(::windows_core::Interface::as_raw(self), mediamajortypeguid).ok() } pub unsafe fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaSubType(&self, mediasubtype: P0) -> ::windows_core::Result<()> where @@ -9277,14 +9277,14 @@ impl IMPEG2ComponentType { } pub unsafe fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._MediaSubType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_MediaSubType)(::windows_core::Interface::as_raw(self), mediasubtypeguid).ok() } pub unsafe fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaFormatType(&self, mediaformattype: P0) -> ::windows_core::Result<()> where @@ -9294,7 +9294,7 @@ impl IMPEG2ComponentType { } pub unsafe fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._MediaFormatType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Set_MediaFormatType)(::windows_core::Interface::as_raw(self), mediaformattypeguid).ok() @@ -9302,7 +9302,7 @@ impl IMPEG2ComponentType { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -9311,18 +9311,18 @@ impl IMPEG2ComponentType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LangID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LangID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LangID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLangID(&self, langid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLangID)(::windows_core::Interface::as_raw(self), langid).ok() } pub unsafe fn StreamType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamType(&self, mp2streamtype: super::MPEG2StreamType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamType)(::windows_core::Interface::as_raw(self), mp2streamtype).ok() @@ -9345,22 +9345,22 @@ impl IMPEG2TuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -9371,14 +9371,14 @@ impl IMPEG2TuneRequest { } pub unsafe fn TSID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTSID)(::windows_core::Interface::as_raw(self), tsid).ok() } pub unsafe fn ProgNo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgNo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgNo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProgNo(&self, progno: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProgNo)(::windows_core::Interface::as_raw(self), progno).ok() @@ -9406,7 +9406,7 @@ impl IMPEG2TuneRequestFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTuneRequest)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTuneRequest)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9447,7 +9447,7 @@ impl IMPEG2_TIF_CONTROL { } pub unsafe fn GetPIDCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPIDCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPIDCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPIDs(&self, pulcpids: *mut u32, pulpids: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPIDs)(::windows_core::Interface::as_raw(self), pulcpids, pulpids).ok() @@ -9478,7 +9478,7 @@ impl IMSEventBinder { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bind)(::windows_core::Interface::as_raw(self), peventobject.into_param().abi(), eventname.into_param().abi(), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bind)(::windows_core::Interface::as_raw(self), peventobject.into_param().abi(), eventname.into_param().abi(), eventhandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unbind(&self, cancelcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unbind)(::windows_core::Interface::as_raw(self), cancelcookie).ok() @@ -9503,11 +9503,11 @@ pub struct IMSEventBinder_Vtbl { impl IMSVidAnalogTuner { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -9517,23 +9517,23 @@ impl IMSVidAnalogTuner { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -9541,11 +9541,11 @@ impl IMSVidAnalogTuner { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -9553,7 +9553,7 @@ impl IMSVidAnalogTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tune(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tune)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tune)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTune(&self, ptr: P0) -> ::windows_core::Result<()> @@ -9565,7 +9565,7 @@ impl IMSVidAnalogTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, plts: P0) -> ::windows_core::Result<()> @@ -9576,29 +9576,29 @@ impl IMSVidAnalogTuner { } pub unsafe fn Channel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Channel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Channel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannel)(::windows_core::Interface::as_raw(self), channel).ok() } pub unsafe fn VideoFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, lcc: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCountryCode)(::windows_core::Interface::as_raw(self), lcc).ok() } pub unsafe fn SAP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SAP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SAP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSAP(&self, fsapon: P0) -> ::windows_core::Result<()> where @@ -9608,7 +9608,7 @@ impl IMSVidAnalogTuner { } pub unsafe fn ChannelAvailable(&self, nchannel: i32, signalstrength: *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChannelAvailable)(::windows_core::Interface::as_raw(self), nchannel, signalstrength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChannelAvailable)(::windows_core::Interface::as_raw(self), nchannel, signalstrength, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -9634,11 +9634,11 @@ pub struct IMSVidAnalogTuner_Vtbl { impl IMSVidAnalogTuner2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -9648,23 +9648,23 @@ impl IMSVidAnalogTuner2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -9672,11 +9672,11 @@ impl IMSVidAnalogTuner2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -9684,7 +9684,7 @@ impl IMSVidAnalogTuner2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tune(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Tune)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Tune)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTune(&self, ptr: P0) -> ::windows_core::Result<()> @@ -9696,7 +9696,7 @@ impl IMSVidAnalogTuner2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, plts: P0) -> ::windows_core::Result<()> @@ -9707,29 +9707,29 @@ impl IMSVidAnalogTuner2 { } pub unsafe fn Channel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Channel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChannel)(::windows_core::Interface::as_raw(self), channel).ok() } pub unsafe fn VideoFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, lcc: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCountryCode)(::windows_core::Interface::as_raw(self), lcc).ok() } pub unsafe fn SAP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SAP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SAP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSAP(&self, fsapon: P0) -> ::windows_core::Result<()> where @@ -9739,19 +9739,19 @@ impl IMSVidAnalogTuner2 { } pub unsafe fn ChannelAvailable(&self, nchannel: i32, signalstrength: *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ChannelAvailable)(::windows_core::Interface::as_raw(self), nchannel, signalstrength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ChannelAvailable)(::windows_core::Interface::as_raw(self), nchannel, signalstrength, &mut result__).map(|| result__) } pub unsafe fn TVFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TunerModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TunerModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TunerModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumAuxInputs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumAuxInputs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumAuxInputs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -9791,11 +9791,11 @@ pub struct IMSVidAnalogTunerEvent_Vtbl { impl IMSVidAudioRenderer { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -9805,23 +9805,23 @@ impl IMSVidAudioRenderer { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -9829,21 +9829,21 @@ impl IMSVidAudioRenderer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, lvol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), lvol).ok() } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBalance(&self, lbal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBalance)(::windows_core::Interface::as_raw(self), lbal).ok() } pub unsafe fn Balance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -9864,12 +9864,12 @@ pub struct IMSVidAudioRenderer_Vtbl { impl IMSVidAudioRendererDevices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, v: P0) -> ::windows_core::Result @@ -9877,7 +9877,7 @@ impl IMSVidAudioRendererDevices { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pdb: P0) -> ::windows_core::Result<()> @@ -9993,11 +9993,11 @@ pub struct IMSVidAudioRendererEvent2_Vtbl { impl IMSVidClosedCaptioning { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10007,23 +10007,23 @@ impl IMSVidClosedCaptioning { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10031,11 +10031,11 @@ impl IMSVidClosedCaptioning { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Enable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnable(&self, on: P0) -> ::windows_core::Result<()> where @@ -10060,11 +10060,11 @@ pub struct IMSVidClosedCaptioning_Vtbl { impl IMSVidClosedCaptioning2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10074,23 +10074,23 @@ impl IMSVidClosedCaptioning2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10098,11 +10098,11 @@ impl IMSVidClosedCaptioning2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Enable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Enable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnable(&self, on: P0) -> ::windows_core::Result<()> where @@ -10112,7 +10112,7 @@ impl IMSVidClosedCaptioning2 { } pub unsafe fn Service(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Service)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Service)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetService(&self, on: MSVidCCService) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetService)(::windows_core::Interface::as_raw(self), on).ok() @@ -10134,11 +10134,11 @@ pub struct IMSVidClosedCaptioning2_Vtbl { impl IMSVidClosedCaptioning3 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10148,23 +10148,23 @@ impl IMSVidClosedCaptioning3 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10172,11 +10172,11 @@ impl IMSVidClosedCaptioning3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Enable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Enable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Enable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnable(&self, on: P0) -> ::windows_core::Result<()> where @@ -10186,14 +10186,14 @@ impl IMSVidClosedCaptioning3 { } pub unsafe fn Service(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Service)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Service)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetService(&self, on: MSVidCCService) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetService)(::windows_core::Interface::as_raw(self), on).ok() } pub unsafe fn TeleTextFilter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TeleTextFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TeleTextFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -10212,11 +10212,11 @@ impl IMSVidCompositionSegment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Init(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Init)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Init)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInit(&self, pinit: P0) -> ::windows_core::Result<()> where @@ -10226,11 +10226,11 @@ impl IMSVidCompositionSegment { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainer(&self, pctl: P0) -> ::windows_core::Result<()> where @@ -10240,11 +10240,11 @@ impl IMSVidCompositionSegment { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Build(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Build)(::windows_core::Interface::as_raw(self)).ok() @@ -10281,12 +10281,12 @@ impl IMSVidCompositionSegment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Up(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Up)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Up)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Down(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Down)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Down)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -10315,7 +10315,7 @@ pub struct IMSVidCompositionSegment_Vtbl { impl IMSVidCtl { pub unsafe fn AutoSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSize(&self, vbool: P0) -> ::windows_core::Result<()> where @@ -10325,14 +10325,14 @@ impl IMSVidCtl { } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, backcolor: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColor)(::windows_core::Interface::as_raw(self), backcolor).ok() } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, vbool: P0) -> ::windows_core::Result<()> where @@ -10342,7 +10342,7 @@ impl IMSVidCtl { } pub unsafe fn TabStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TabStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TabStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTabStop(&self, vbool: P0) -> ::windows_core::Result<()> where @@ -10352,21 +10352,21 @@ impl IMSVidCtl { } pub unsafe fn Window(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Window)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Window)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DisplaySize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplaySize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplaySize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplaySize(&self, newvalue: DisplaySizeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplaySize)(::windows_core::Interface::as_raw(self), newvalue).ok() } pub unsafe fn MaintainAspectRatio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaintainAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaintainAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaintainAspectRatio(&self, newvalue: P0) -> ::windows_core::Result<()> where @@ -10376,7 +10376,7 @@ impl IMSVidCtl { } pub unsafe fn ColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorKey(&self, newvalue: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColorKey)(::windows_core::Interface::as_raw(self), newvalue).ok() @@ -10387,7 +10387,7 @@ impl IMSVidCtl { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_InputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_InputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_OutputsAvailable(&self, categoryguid: P0) -> ::windows_core::Result @@ -10395,37 +10395,37 @@ impl IMSVidCtl { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_OutputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_OutputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get__InputsAvailable(&self, categoryguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get__InputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get__InputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get__OutputsAvailable(&self, categoryguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get__OutputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get__OutputsAvailable)(::windows_core::Interface::as_raw(self), categoryguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VideoRenderersAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoRenderersAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoRenderersAvailable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioRenderersAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioRenderersAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioRenderersAvailable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FeaturesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FeaturesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FeaturesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InputActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputActive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetInputActive(&self, pval: P0) -> ::windows_core::Result<()> @@ -10437,7 +10437,7 @@ impl IMSVidCtl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutputsActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputsActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputsActive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetOutputsActive(&self, pval: P0) -> ::windows_core::Result<()> @@ -10449,7 +10449,7 @@ impl IMSVidCtl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn VideoRendererActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoRendererActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoRendererActive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetVideoRendererActive(&self, pval: P0) -> ::windows_core::Result<()> @@ -10461,7 +10461,7 @@ impl IMSVidCtl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioRendererActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioRendererActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioRendererActive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAudioRendererActive(&self, pval: P0) -> ::windows_core::Result<()> @@ -10473,7 +10473,7 @@ impl IMSVidCtl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FeaturesActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FeaturesActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FeaturesActive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFeaturesActive(&self, pval: P0) -> ::windows_core::Result<()> @@ -10484,7 +10484,7 @@ impl IMSVidCtl { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -10622,11 +10622,11 @@ pub struct IMSVidCtl_Vtbl { impl IMSVidDataServices { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10636,23 +10636,23 @@ impl IMSVidDataServices { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10660,7 +10660,7 @@ impl IMSVidDataServices { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -10697,11 +10697,11 @@ pub struct IMSVidDataServicesEvent_Vtbl { impl IMSVidDevice { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10711,23 +10711,23 @@ impl IMSVidDevice { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10735,7 +10735,7 @@ impl IMSVidDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -10761,7 +10761,7 @@ pub struct IMSVidDevice_Vtbl { impl IMSVidDevice2 { pub unsafe fn DevicePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DevicePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DevicePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10802,11 +10802,11 @@ pub struct IMSVidDeviceEvent_Vtbl { impl IMSVidEVR { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -10816,23 +10816,23 @@ impl IMSVidEVR { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -10840,11 +10840,11 @@ impl IMSVidEVR { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomCompositorClass(&self, compositorclsid: P0) -> ::windows_core::Result<()> where @@ -10854,14 +10854,14 @@ impl IMSVidEVR { } pub unsafe fn _CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_CustomCompositorClass(&self, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_CustomCompositorClass)(::windows_core::Interface::as_raw(self), compositorclsid).ok() } pub unsafe fn _CustomCompositor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_CustomCompositor(&self, compositor: P0) -> ::windows_core::Result<()> where @@ -10872,11 +10872,11 @@ impl IMSVidEVR { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMixerBitmap(&self, mixerpicturedisp: P0) -> ::windows_core::Result<()> @@ -10892,7 +10892,7 @@ impl IMSVidEVR { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MixerBitmapPositionRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMixerBitmapPositionRect(&self, rdest: P0) -> ::windows_core::Result<()> @@ -10903,7 +10903,7 @@ impl IMSVidEVR { } pub unsafe fn MixerBitmapOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMixerBitmapOpacity(&self, opacity: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMixerBitmapOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() @@ -10918,14 +10918,14 @@ impl IMSVidEVR { } pub unsafe fn SourceSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, newsize: SourceSizeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceSize)(::windows_core::Interface::as_raw(self), newsize).ok() } pub unsafe fn OverScan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverScan(&self, lpercent: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOverScan)(::windows_core::Interface::as_raw(self), lpercent).ok() @@ -10933,22 +10933,22 @@ impl IMSVidEVR { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AvailableSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaxVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MinVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClippedSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClippedSourceRect(&self, prect: P0) -> ::windows_core::Result<()> @@ -10959,7 +10959,7 @@ impl IMSVidEVR { } pub unsafe fn UsingOverlay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUsingOverlay(&self, useoverlayval: P0) -> ::windows_core::Result<()> where @@ -10970,15 +10970,15 @@ impl IMSVidEVR { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Capture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FramesPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DecimateInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecimateInput(&self, pdeci: P0) -> ::windows_core::Result<()> where @@ -10989,7 +10989,7 @@ impl IMSVidEVR { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn Presenter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Presenter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Presenter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetPresenter(&self, pallocpresent: P0) -> ::windows_core::Result<()> @@ -11006,7 +11006,7 @@ impl IMSVidEVR { } pub unsafe fn SuppressEffects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -11057,11 +11057,11 @@ pub struct IMSVidEVREvent_Vtbl { impl IMSVidEncoder { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11071,23 +11071,23 @@ impl IMSVidEncoder { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11095,15 +11095,15 @@ impl IMSVidEncoder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn VideoEncoderInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoEncoderInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoEncoderInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AudioEncoderInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioEncoderInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioEncoderInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -11122,11 +11122,11 @@ pub struct IMSVidEncoder_Vtbl { impl IMSVidFeature { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11136,23 +11136,23 @@ impl IMSVidFeature { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11160,7 +11160,7 @@ impl IMSVidFeature { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -11197,12 +11197,12 @@ pub struct IMSVidFeatureEvent_Vtbl { impl IMSVidFeatures { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, v: P0) -> ::windows_core::Result @@ -11210,7 +11210,7 @@ impl IMSVidFeatures { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pdb: P0) -> ::windows_core::Result<()> @@ -11254,11 +11254,11 @@ pub struct IMSVidFeatures_Vtbl { impl IMSVidFilePlayback { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11268,23 +11268,23 @@ impl IMSVidFilePlayback { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11292,18 +11292,18 @@ impl IMSVidFilePlayback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -11325,7 +11325,7 @@ impl IMSVidFilePlayback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -11335,29 +11335,29 @@ impl IMSVidFilePlayback { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, filename: P0) -> ::windows_core::Result<()> where @@ -11382,11 +11382,11 @@ pub struct IMSVidFilePlayback_Vtbl { impl IMSVidFilePlayback2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11396,23 +11396,23 @@ impl IMSVidFilePlayback2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11420,18 +11420,18 @@ impl IMSVidFilePlayback2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -11453,7 +11453,7 @@ impl IMSVidFilePlayback2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -11463,29 +11463,29 @@ impl IMSVidFilePlayback2 { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, filename: P0) -> ::windows_core::Result<()> where @@ -11539,11 +11539,11 @@ pub struct IMSVidFilePlaybackEvent_Vtbl { impl IMSVidGenericSink { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11553,23 +11553,23 @@ impl IMSVidGenericSink { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11577,7 +11577,7 @@ impl IMSVidGenericSink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetSinkFilter(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -11587,7 +11587,7 @@ impl IMSVidGenericSink { } pub unsafe fn SinkStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SinkStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SinkStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSinkStreams(&self, streams: MSVidSinkStreams) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSinkStreams)(::windows_core::Interface::as_raw(self), streams).ok() @@ -11610,11 +11610,11 @@ pub struct IMSVidGenericSink_Vtbl { impl IMSVidGenericSink2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11624,23 +11624,23 @@ impl IMSVidGenericSink2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11648,7 +11648,7 @@ impl IMSVidGenericSink2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetSinkFilter(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -11658,7 +11658,7 @@ impl IMSVidGenericSink2 { } pub unsafe fn SinkStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SinkStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SinkStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSinkStreams(&self, streams: MSVidSinkStreams) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSinkStreams)(::windows_core::Interface::as_raw(self), streams).ok() @@ -11690,11 +11690,11 @@ impl IMSVidGraphSegment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Init(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Init)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Init)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInit(&self, pinit: P0) -> ::windows_core::Result<()> where @@ -11704,11 +11704,11 @@ impl IMSVidGraphSegment { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainer(&self, pctl: P0) -> ::windows_core::Result<()> where @@ -11718,11 +11718,11 @@ impl IMSVidGraphSegment { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Build(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Build)(::windows_core::Interface::as_raw(self)).ok() @@ -11775,38 +11775,38 @@ pub struct IMSVidGraphSegment_Vtbl { impl IMSVidGraphSegmentContainer { pub unsafe fn Graph(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Graph)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Graph)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Input(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Input)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Input)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Outputs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Outputs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Outputs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VideoRenderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoRenderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoRenderer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioRenderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioRenderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioRenderer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Features(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Features)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Features)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Composites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Composites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Composites)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ParentContainer(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Decompose(&self, psegment: P0) -> ::windows_core::Result<()> @@ -11899,11 +11899,11 @@ pub struct IMSVidGraphSegmentUserInput_Vtbl { impl IMSVidInputDevice { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -11913,23 +11913,23 @@ impl IMSVidInputDevice { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -11937,11 +11937,11 @@ impl IMSVidInputDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -11975,12 +11975,12 @@ pub struct IMSVidInputDeviceEvent_Vtbl { impl IMSVidInputDevices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, v: P0) -> ::windows_core::Result @@ -11988,7 +11988,7 @@ impl IMSVidInputDevices { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pdb: P0) -> ::windows_core::Result<()> @@ -12032,11 +12032,11 @@ pub struct IMSVidInputDevices_Vtbl { impl IMSVidOutputDevice { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12046,23 +12046,23 @@ impl IMSVidOutputDevice { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -12070,7 +12070,7 @@ impl IMSVidOutputDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -12107,12 +12107,12 @@ pub struct IMSVidOutputDeviceEvent_Vtbl { impl IMSVidOutputDevices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, v: P0) -> ::windows_core::Result @@ -12120,7 +12120,7 @@ impl IMSVidOutputDevices { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pdb: P0) -> ::windows_core::Result<()> @@ -12164,11 +12164,11 @@ pub struct IMSVidOutputDevices_Vtbl { impl IMSVidPlayback { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12178,23 +12178,23 @@ impl IMSVidPlayback { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -12202,18 +12202,18 @@ impl IMSVidPlayback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -12235,7 +12235,7 @@ impl IMSVidPlayback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -12245,25 +12245,25 @@ impl IMSVidPlayback { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -12318,35 +12318,35 @@ pub struct IMSVidPlaybackEvent_Vtbl { impl IMSVidRect { pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, topval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTop)(::windows_core::Interface::as_raw(self), topval).ok() } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, leftval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeft)(::windows_core::Interface::as_raw(self), leftval).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, widthval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), widthval).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, heightval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHeight)(::windows_core::Interface::as_raw(self), heightval).ok() } pub unsafe fn HWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHWnd(&self, hwndval: P0) -> ::windows_core::Result<()> where @@ -12390,33 +12390,33 @@ pub struct IMSVidRect_Vtbl { impl IMSVidStreamBufferRecordingControl { pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartTime(&self, rtstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartTime)(::windows_core::Interface::as_raw(self), rtstart).ok() } pub unsafe fn StopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStopTime(&self, rtstop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStopTime)(::windows_core::Interface::as_raw(self), rtstop).ok() } pub unsafe fn RecordingStopped(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecordingStopped)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecordingStopped)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecordingStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecordingStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecordingStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecordingType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecordingType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecordingType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecordingAttribute(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12441,11 +12441,11 @@ pub struct IMSVidStreamBufferRecordingControl_Vtbl { impl IMSVidStreamBufferSink { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12455,23 +12455,23 @@ impl IMSVidStreamBufferSink { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -12479,7 +12479,7 @@ impl IMSVidStreamBufferSink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ContentRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12487,7 +12487,7 @@ impl IMSVidStreamBufferSink { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ReferenceRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12495,11 +12495,11 @@ impl IMSVidStreamBufferSink { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SinkName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SinkName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SinkName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSinkName(&self, name: P0) -> ::windows_core::Result<()> where @@ -12512,7 +12512,7 @@ impl IMSVidStreamBufferSink { } pub unsafe fn SBESink(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SBESink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SBESink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12541,11 +12541,11 @@ pub struct IMSVidStreamBufferSink_Vtbl { impl IMSVidStreamBufferSink2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12555,23 +12555,23 @@ impl IMSVidStreamBufferSink2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -12579,7 +12579,7 @@ impl IMSVidStreamBufferSink2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ContentRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12587,7 +12587,7 @@ impl IMSVidStreamBufferSink2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ReferenceRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12595,11 +12595,11 @@ impl IMSVidStreamBufferSink2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SinkName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SinkName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SinkName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSinkName(&self, name: P0) -> ::windows_core::Result<()> where @@ -12612,7 +12612,7 @@ impl IMSVidStreamBufferSink2 { } pub unsafe fn SBESink(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SBESink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SBESink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnlockProfile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnlockProfile)(::windows_core::Interface::as_raw(self)).ok() @@ -12633,11 +12633,11 @@ pub struct IMSVidStreamBufferSink2_Vtbl { impl IMSVidStreamBufferSink3 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12647,23 +12647,23 @@ impl IMSVidStreamBufferSink3 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -12671,7 +12671,7 @@ impl IMSVidStreamBufferSink3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ContentRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12679,7 +12679,7 @@ impl IMSVidStreamBufferSink3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_ContentRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ReferenceRecorder(&self, pszfilename: P0) -> ::windows_core::Result @@ -12687,11 +12687,11 @@ impl IMSVidStreamBufferSink3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_ReferenceRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SinkName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SinkName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SinkName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSinkName(&self, name: P0) -> ::windows_core::Result<()> where @@ -12704,30 +12704,30 @@ impl IMSVidStreamBufferSink3 { } pub unsafe fn SBESink(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SBESink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SBESink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnlockProfile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UnlockProfile)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn SetMinSeek(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetMinSeek)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetMinSeek)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VideoCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CCCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CCCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CCCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WSTCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WSTCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WSTCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAudioAnalysisFilter(&self, szclsid: P0) -> ::windows_core::Result<()> where @@ -12737,14 +12737,14 @@ impl IMSVidStreamBufferSink3 { } pub unsafe fn AudioAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_AudioAnalysisFilter(&self, guid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_AudioAnalysisFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guid)).ok() } pub unsafe fn _AudioAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._AudioAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._AudioAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVideoAnalysisFilter(&self, szclsid: P0) -> ::windows_core::Result<()> where @@ -12754,14 +12754,14 @@ impl IMSVidStreamBufferSink3 { } pub unsafe fn VideoAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_VideoAnalysisFilter(&self, guid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_VideoAnalysisFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guid)).ok() } pub unsafe fn _VideoAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._VideoAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._VideoAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataAnalysisFilter(&self, szclsid: P0) -> ::windows_core::Result<()> where @@ -12771,18 +12771,18 @@ impl IMSVidStreamBufferSink3 { } pub unsafe fn DataAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_DataAnalysisFilter(&self, guid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_DataAnalysisFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guid)).ok() } pub unsafe fn _DataAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._DataAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._DataAnalysisFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LicenseErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LicenseErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LicenseErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -12967,11 +12967,11 @@ pub struct IMSVidStreamBufferSinkEvent4_Vtbl { impl IMSVidStreamBufferSource { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -12981,23 +12981,23 @@ impl IMSVidStreamBufferSource { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -13005,18 +13005,18 @@ impl IMSVidStreamBufferSource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -13038,7 +13038,7 @@ impl IMSVidStreamBufferSource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -13048,29 +13048,29 @@ impl IMSVidStreamBufferSource { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, filename: P0) -> ::windows_core::Result<()> where @@ -13080,11 +13080,11 @@ impl IMSVidStreamBufferSource { } pub unsafe fn Start(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecordingAttribute(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRatings(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, pbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CurrentRatings)(::windows_core::Interface::as_raw(self), pensystem, penrating, pbfenattr).ok() @@ -13103,7 +13103,7 @@ impl IMSVidStreamBufferSource { } pub unsafe fn SBESource(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SBESource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SBESource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13127,11 +13127,11 @@ pub struct IMSVidStreamBufferSource_Vtbl { impl IMSVidStreamBufferSource2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -13141,23 +13141,23 @@ impl IMSVidStreamBufferSource2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -13165,18 +13165,18 @@ impl IMSVidStreamBufferSource2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -13198,7 +13198,7 @@ impl IMSVidStreamBufferSource2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -13208,29 +13208,29 @@ impl IMSVidStreamBufferSource2 { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, filename: P0) -> ::windows_core::Result<()> where @@ -13240,11 +13240,11 @@ impl IMSVidStreamBufferSource2 { } pub unsafe fn Start(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecordingAttribute(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecordingAttribute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRatings(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, pbfenattr: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CurrentRatings)(::windows_core::Interface::as_raw(self), pensystem, penrating, pbfenattr).ok() @@ -13263,26 +13263,26 @@ impl IMSVidStreamBufferSource2 { } pub unsafe fn SBESource(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SBESource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SBESource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RateEx(&self, dwrate: f64, dwframespersecond: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_RateEx)(::windows_core::Interface::as_raw(self), dwrate, dwframespersecond).ok() } pub unsafe fn AudioCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VideoCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CCCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CCCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CCCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WSTCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WSTCounter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WSTCounter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13549,11 +13549,11 @@ pub struct IMSVidStreamBufferV2SourceEvent_Vtbl { impl IMSVidTuner { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -13563,23 +13563,23 @@ impl IMSVidTuner { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -13587,11 +13587,11 @@ impl IMSVidTuner { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -13599,7 +13599,7 @@ impl IMSVidTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tune(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tune)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tune)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTune(&self, ptr: P0) -> ::windows_core::Result<()> @@ -13611,7 +13611,7 @@ impl IMSVidTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, plts: P0) -> ::windows_core::Result<()> @@ -13675,11 +13675,11 @@ pub struct IMSVidTunerEvent_Vtbl { impl IMSVidVMR9 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -13689,23 +13689,23 @@ impl IMSVidVMR9 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -13713,11 +13713,11 @@ impl IMSVidVMR9 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomCompositorClass(&self, compositorclsid: P0) -> ::windows_core::Result<()> where @@ -13727,14 +13727,14 @@ impl IMSVidVMR9 { } pub unsafe fn _CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_CustomCompositorClass(&self, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_CustomCompositorClass)(::windows_core::Interface::as_raw(self), compositorclsid).ok() } pub unsafe fn _CustomCompositor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_CustomCompositor(&self, compositor: P0) -> ::windows_core::Result<()> where @@ -13745,11 +13745,11 @@ impl IMSVidVMR9 { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMixerBitmap(&self, mixerpicturedisp: P0) -> ::windows_core::Result<()> @@ -13765,7 +13765,7 @@ impl IMSVidVMR9 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MixerBitmapPositionRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMixerBitmapPositionRect(&self, rdest: P0) -> ::windows_core::Result<()> @@ -13776,7 +13776,7 @@ impl IMSVidVMR9 { } pub unsafe fn MixerBitmapOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMixerBitmapOpacity(&self, opacity: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMixerBitmapOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() @@ -13791,14 +13791,14 @@ impl IMSVidVMR9 { } pub unsafe fn SourceSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, newsize: SourceSizeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceSize)(::windows_core::Interface::as_raw(self), newsize).ok() } pub unsafe fn OverScan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverScan(&self, lpercent: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOverScan)(::windows_core::Interface::as_raw(self), lpercent).ok() @@ -13806,22 +13806,22 @@ impl IMSVidVMR9 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AvailableSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaxVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MinVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClippedSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClippedSourceRect(&self, prect: P0) -> ::windows_core::Result<()> @@ -13832,7 +13832,7 @@ impl IMSVidVMR9 { } pub unsafe fn UsingOverlay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUsingOverlay(&self, useoverlayval: P0) -> ::windows_core::Result<()> where @@ -13843,15 +13843,15 @@ impl IMSVidVMR9 { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Capture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FramesPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DecimateInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecimateInput(&self, pdeci: P0) -> ::windows_core::Result<()> where @@ -13861,7 +13861,7 @@ impl IMSVidVMR9 { } pub unsafe fn Allocator_ID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Allocator_ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Allocator_ID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllocator(&self, allocpresent: P0, id: i32) -> ::windows_core::Result<()> where @@ -13877,11 +13877,11 @@ impl IMSVidVMR9 { } pub unsafe fn SuppressEffects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Allocator(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Allocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Allocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13904,11 +13904,11 @@ impl IMSVidVRGraphSegment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Init(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Init)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Init)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInit(&self, pinit: P0) -> ::windows_core::Result<()> where @@ -13918,11 +13918,11 @@ impl IMSVidVRGraphSegment { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainer(&self, pctl: P0) -> ::windows_core::Result<()> where @@ -13932,11 +13932,11 @@ impl IMSVidVRGraphSegment { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Build(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Build)(::windows_core::Interface::as_raw(self)).ok() @@ -13973,11 +13973,11 @@ impl IMSVidVRGraphSegment { } pub unsafe fn Owner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseOverlay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseOverlay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseOverlay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseOverlay(&self, useoverlayval: P0) -> ::windows_core::Result<()> where @@ -13987,7 +13987,7 @@ impl IMSVidVRGraphSegment { } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, visible: P0) -> ::windows_core::Result<()> where @@ -13997,21 +13997,21 @@ impl IMSVidVRGraphSegment { } pub unsafe fn ColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorKey(&self, colorkey: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColorKey)(::windows_core::Interface::as_raw(self), colorkey).ok() } pub unsafe fn Source(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSource(&self, r: super::super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSource)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(r)).ok() } pub unsafe fn Destination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestination(&self, r: super::super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDestination)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(r)).ok() @@ -14021,14 +14021,14 @@ impl IMSVidVRGraphSegment { } pub unsafe fn BorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBorderColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn MaintainAspectRatio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaintainAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaintainAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaintainAspectRatio(&self, fmaintain: P0) -> ::windows_core::Result<()> where @@ -14088,11 +14088,11 @@ pub struct IMSVidVRGraphSegment_Vtbl { impl IMSVidVideoInputDevice { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -14102,23 +14102,23 @@ impl IMSVidVideoInputDevice { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -14126,11 +14126,11 @@ impl IMSVidVideoInputDevice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() @@ -14150,11 +14150,11 @@ pub struct IMSVidVideoInputDevice_Vtbl { impl IMSVidVideoRenderer { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -14164,23 +14164,23 @@ impl IMSVidVideoRenderer { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -14188,11 +14188,11 @@ impl IMSVidVideoRenderer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomCompositorClass(&self, compositorclsid: P0) -> ::windows_core::Result<()> where @@ -14202,14 +14202,14 @@ impl IMSVidVideoRenderer { } pub unsafe fn _CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_CustomCompositorClass(&self, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_CustomCompositorClass)(::windows_core::Interface::as_raw(self), compositorclsid).ok() } pub unsafe fn _CustomCompositor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_CustomCompositor(&self, compositor: P0) -> ::windows_core::Result<()> where @@ -14220,11 +14220,11 @@ impl IMSVidVideoRenderer { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMixerBitmap(&self, mixerpicturedisp: P0) -> ::windows_core::Result<()> @@ -14240,7 +14240,7 @@ impl IMSVidVideoRenderer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MixerBitmapPositionRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMixerBitmapPositionRect(&self, rdest: P0) -> ::windows_core::Result<()> @@ -14251,7 +14251,7 @@ impl IMSVidVideoRenderer { } pub unsafe fn MixerBitmapOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMixerBitmapOpacity(&self, opacity: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMixerBitmapOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() @@ -14266,14 +14266,14 @@ impl IMSVidVideoRenderer { } pub unsafe fn SourceSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, newsize: SourceSizeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceSize)(::windows_core::Interface::as_raw(self), newsize).ok() } pub unsafe fn OverScan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OverScan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OverScan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverScan(&self, lpercent: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOverScan)(::windows_core::Interface::as_raw(self), lpercent).ok() @@ -14281,22 +14281,22 @@ impl IMSVidVideoRenderer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AvailableSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaxVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MinVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClippedSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClippedSourceRect(&self, prect: P0) -> ::windows_core::Result<()> @@ -14307,7 +14307,7 @@ impl IMSVidVideoRenderer { } pub unsafe fn UsingOverlay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUsingOverlay(&self, useoverlayval: P0) -> ::windows_core::Result<()> where @@ -14318,15 +14318,15 @@ impl IMSVidVideoRenderer { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Capture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FramesPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DecimateInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecimateInput(&self, pdeci: P0) -> ::windows_core::Result<()> where @@ -14415,11 +14415,11 @@ pub struct IMSVidVideoRenderer_Vtbl { impl IMSVidVideoRenderer2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -14429,23 +14429,23 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -14453,11 +14453,11 @@ impl IMSVidVideoRenderer2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomCompositorClass(&self, compositorclsid: P0) -> ::windows_core::Result<()> where @@ -14467,14 +14467,14 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn _CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositorClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_CustomCompositorClass(&self, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Set_CustomCompositorClass)(::windows_core::Interface::as_raw(self), compositorclsid).ok() } pub unsafe fn _CustomCompositor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._CustomCompositor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Set_CustomCompositor(&self, compositor: P0) -> ::windows_core::Result<()> where @@ -14485,11 +14485,11 @@ impl IMSVidVideoRenderer2 { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _MixerBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._MixerBitmap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMixerBitmap(&self, mixerpicturedisp: P0) -> ::windows_core::Result<()> @@ -14505,7 +14505,7 @@ impl IMSVidVideoRenderer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MixerBitmapPositionRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapPositionRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMixerBitmapPositionRect(&self, rdest: P0) -> ::windows_core::Result<()> @@ -14516,7 +14516,7 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn MixerBitmapOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MixerBitmapOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMixerBitmapOpacity(&self, opacity: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMixerBitmapOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() @@ -14531,14 +14531,14 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn SourceSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceSize(&self, newsize: SourceSizeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceSize)(::windows_core::Interface::as_raw(self), newsize).ok() } pub unsafe fn OverScan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OverScan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverScan(&self, lpercent: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOverScan)(::windows_core::Interface::as_raw(self), lpercent).ok() @@ -14546,22 +14546,22 @@ impl IMSVidVideoRenderer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AvailableSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AvailableSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaxVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MinVidRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinVidRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClippedSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClippedSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClippedSourceRect(&self, prect: P0) -> ::windows_core::Result<()> @@ -14572,7 +14572,7 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn UsingOverlay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsingOverlay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUsingOverlay(&self, useoverlayval: P0) -> ::windows_core::Result<()> where @@ -14583,15 +14583,15 @@ impl IMSVidVideoRenderer2 { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Capture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Capture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FramesPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FramesPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DecimateInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DecimateInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecimateInput(&self, pdeci: P0) -> ::windows_core::Result<()> where @@ -14601,15 +14601,15 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn Allocator(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Allocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Allocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Allocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._Allocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._Allocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Allocator_ID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Allocator_ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Allocator_ID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllocator(&self, allocpresent: P0, id: i32) -> ::windows_core::Result<()> where @@ -14631,7 +14631,7 @@ impl IMSVidVideoRenderer2 { } pub unsafe fn SuppressEffects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -14655,12 +14655,12 @@ pub struct IMSVidVideoRenderer2_Vtbl { impl IMSVidVideoRendererDevices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, v: P0) -> ::windows_core::Result @@ -14668,7 +14668,7 @@ impl IMSVidVideoRendererDevices { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), v.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pdb: P0) -> ::windows_core::Result<()> @@ -14760,11 +14760,11 @@ pub struct IMSVidVideoRendererEvent2_Vtbl { impl IMSVidWebDVD { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -14774,23 +14774,23 @@ impl IMSVidWebDVD { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -14798,18 +14798,18 @@ impl IMSVidWebDVD { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -14831,7 +14831,7 @@ impl IMSVidWebDVD { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -14841,25 +14841,25 @@ impl IMSVidWebDVD { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnDVDEvent(&self, levent: i32, lparam1: isize, lparam2: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnDVDEvent)(::windows_core::Interface::as_raw(self), levent, lparam1, lparam2).ok() @@ -14912,7 +14912,7 @@ impl IMSVidWebDVD { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AudioLanguage)(::windows_core::Interface::as_raw(self), lstream, fformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AudioLanguage)(::windows_core::Interface::as_raw(self), lstream, fformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowMenu(&self, menuid: DVDMenuIDConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowMenu)(::windows_core::Interface::as_raw(self), menuid).ok() @@ -14925,11 +14925,11 @@ impl IMSVidWebDVD { } pub unsafe fn ButtonsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ButtonsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ButtonsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentButton(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentButton)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentButton)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SelectAndActivateButton(&self, lbutton: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectAndActivateButton)(::windows_core::Interface::as_raw(self), lbutton).ok() @@ -14957,55 +14957,55 @@ impl IMSVidWebDVD { } pub unsafe fn get_ButtonAtPosition(&self, xpos: i32, ypos: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonAtPosition)(::windows_core::Interface::as_raw(self), xpos, ypos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonAtPosition)(::windows_core::Interface::as_raw(self), xpos, ypos, &mut result__).map(|| result__) } pub unsafe fn get_NumberOfChapters(&self, ltitle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_NumberOfChapters)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_NumberOfChapters)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).map(|| result__) } pub unsafe fn TotalTitleTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TitlesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TitlesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TitlesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentDiscSide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDiscSide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDiscSide)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentChapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentChapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentChapter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentTitle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentTitle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DVDTimeCode2bstr(&self, timecode: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDTimeCode2bstr)(::windows_core::Interface::as_raw(self), timecode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDTimeCode2bstr)(::windows_core::Interface::as_raw(self), timecode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DVDDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDVDDirectory(&self, newval: P0) -> ::windows_core::Result<()> where @@ -15015,52 +15015,52 @@ impl IMSVidWebDVD { } pub unsafe fn IsSubpictureStreamEnabled(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn IsAudioStreamEnabled(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn CurrentSubpictureStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentSubpictureStream(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentSubpictureStream)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn get_SubpictureLanguage(&self, lstream: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SubpictureLanguage)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SubpictureLanguage)(::windows_core::Interface::as_raw(self), lstream, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAudioStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAudioStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAudioStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentAudioStream(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentAudioStream)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn AudioStreamsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AnglesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AnglesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AnglesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAngle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAngle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAngle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentAngle(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentAngle)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn SubpictureStreamsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubpictureStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubpictureStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubpictureOn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubpictureOn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubpictureOn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubpictureOn(&self, newval: P0) -> ::windows_core::Result<()> where @@ -15070,7 +15070,7 @@ impl IMSVidWebDVD { } pub unsafe fn DVDUniqueID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptParentalLevelChange(&self, faccept: P0, strusername: P1, strpassword: P2) -> ::windows_core::Result<()> where @@ -15102,53 +15102,53 @@ impl IMSVidWebDVD { } pub unsafe fn get_TitleParentalLevels(&self, ltitle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TitleParentalLevels)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TitleParentalLevels)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).map(|| result__) } pub unsafe fn PlayerParentalCountry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayerParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayerParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PlayerParentalLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayerParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayerParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Eject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Eject)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn UOPValid(&self, luop: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UOPValid)(::windows_core::Interface::as_raw(self), luop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UOPValid)(::windows_core::Interface::as_raw(self), luop, &mut result__).map(|| result__) } pub unsafe fn get_SPRM(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn get_GPRM(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_GPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_GPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn put_GPRM(&self, lindex: i32, svalue: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_GPRM)(::windows_core::Interface::as_raw(self), lindex, svalue).ok() } pub unsafe fn get_DVDTextStringType(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DVDTextStringType)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DVDTextStringType)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).map(|| result__) } pub unsafe fn get_DVDTextString(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DVDTextString)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DVDTextString)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_DVDTextNumberOfStrings(&self, llangindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DVDTextNumberOfStrings)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DVDTextNumberOfStrings)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).map(|| result__) } pub unsafe fn DVDTextNumberOfLanguages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_DVDTextLanguageLCID(&self, llangindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DVDTextLanguageLCID)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DVDTextLanguageLCID)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).map(|| result__) } pub unsafe fn RegionChange(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegionChange)(::windows_core::Interface::as_raw(self)).ok() @@ -15156,7 +15156,7 @@ impl IMSVidWebDVD { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DVDAdm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDAdm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDAdm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteBookmark(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteBookmark)(::windows_core::Interface::as_raw(self)).ok() @@ -15175,49 +15175,49 @@ impl IMSVidWebDVD { } pub unsafe fn PreferredSubpictureStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultMenuLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultMenuLanguage(&self, lang: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultMenuLanguage)(::windows_core::Interface::as_raw(self), lang).ok() } pub unsafe fn DefaultSubpictureLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultSubpictureLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultSubpictureLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAudioLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultAudioLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultAudioLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSubpictureLanguageExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultSubpictureLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultSubpictureLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAudioLanguageExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultAudioLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultAudioLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_LanguageFromLCID(&self, lcid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_LanguageFromLCID)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_LanguageFromLCID)(::windows_core::Interface::as_raw(self), lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KaraokeAudioPresentationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKaraokeAudioPresentationMode(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn get_KaraokeChannelContent(&self, lstream: i32, lchan: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_KaraokeChannelContent)(::windows_core::Interface::as_raw(self), lstream, lchan, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_KaraokeChannelContent)(::windows_core::Interface::as_raw(self), lstream, lchan, &mut result__).map(|| result__) } pub unsafe fn get_KaraokeChannelAssignment(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_KaraokeChannelAssignment)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_KaraokeChannelAssignment)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn RestorePreferredSettings(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RestorePreferredSettings)(::windows_core::Interface::as_raw(self)).ok() @@ -15225,12 +15225,12 @@ impl IMSVidWebDVD { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ButtonRect(&self, lbutton: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ButtonRect)(::windows_core::Interface::as_raw(self), lbutton, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ButtonRect)(::windows_core::Interface::as_raw(self), lbutton, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DVDScreenInMouseCoordinates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DVDScreenInMouseCoordinates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DVDScreenInMouseCoordinates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDVDScreenInMouseCoordinates(&self, prect: P0) -> ::windows_core::Result<()> @@ -15361,11 +15361,11 @@ pub struct IMSVidWebDVD_Vtbl { impl IMSVidWebDVD2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -15375,23 +15375,23 @@ impl IMSVidWebDVD2 { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -15399,18 +15399,18 @@ impl IMSVidWebDVD2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsViewable(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsViewable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v), &mut result__).map(|| result__) } pub unsafe fn View(&self, v: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.View)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(v)).ok() } pub unsafe fn EnableResetOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnableResetOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResetOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -15432,7 +15432,7 @@ impl IMSVidWebDVD2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_CanStep)(::windows_core::Interface::as_raw(self), fbackwards.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Step(&self, lstep: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Step)(::windows_core::Interface::as_raw(self), lstep).ok() @@ -15442,25 +15442,25 @@ impl IMSVidWebDVD2 { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCurrentPosition)(::windows_core::Interface::as_raw(self), lposition).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPositionMode)(::windows_core::Interface::as_raw(self), lpositionmode).ok() } pub unsafe fn PositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnDVDEvent(&self, levent: i32, lparam1: isize, lparam2: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnDVDEvent)(::windows_core::Interface::as_raw(self), levent, lparam1, lparam2).ok() @@ -15513,7 +15513,7 @@ impl IMSVidWebDVD2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_AudioLanguage)(::windows_core::Interface::as_raw(self), lstream, fformat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_AudioLanguage)(::windows_core::Interface::as_raw(self), lstream, fformat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowMenu(&self, menuid: DVDMenuIDConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ShowMenu)(::windows_core::Interface::as_raw(self), menuid).ok() @@ -15526,11 +15526,11 @@ impl IMSVidWebDVD2 { } pub unsafe fn ButtonsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ButtonsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ButtonsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentButton(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentButton)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentButton)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SelectAndActivateButton(&self, lbutton: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SelectAndActivateButton)(::windows_core::Interface::as_raw(self), lbutton).ok() @@ -15558,55 +15558,55 @@ impl IMSVidWebDVD2 { } pub unsafe fn get_ButtonAtPosition(&self, xpos: i32, ypos: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ButtonAtPosition)(::windows_core::Interface::as_raw(self), xpos, ypos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ButtonAtPosition)(::windows_core::Interface::as_raw(self), xpos, ypos, &mut result__).map(|| result__) } pub unsafe fn get_NumberOfChapters(&self, ltitle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_NumberOfChapters)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_NumberOfChapters)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).map(|| result__) } pub unsafe fn TotalTitleTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TitlesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TitlesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TitlesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentDiscSide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentDiscSide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentDiscSide)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentChapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentChapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentChapter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentTitle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentTitle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DVDTimeCode2bstr(&self, timecode: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDTimeCode2bstr)(::windows_core::Interface::as_raw(self), timecode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDTimeCode2bstr)(::windows_core::Interface::as_raw(self), timecode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DVDDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDVDDirectory(&self, newval: P0) -> ::windows_core::Result<()> where @@ -15616,52 +15616,52 @@ impl IMSVidWebDVD2 { } pub unsafe fn IsSubpictureStreamEnabled(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn IsAudioStreamEnabled(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn CurrentSubpictureStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentSubpictureStream(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentSubpictureStream)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn get_SubpictureLanguage(&self, lstream: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_SubpictureLanguage)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_SubpictureLanguage)(::windows_core::Interface::as_raw(self), lstream, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAudioStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAudioStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAudioStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentAudioStream(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentAudioStream)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn AudioStreamsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AudioStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AudioStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AnglesAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AnglesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AnglesAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAngle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAngle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAngle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentAngle(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentAngle)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn SubpictureStreamsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubpictureStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubpictureStreamsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SubpictureOn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubpictureOn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubpictureOn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubpictureOn(&self, newval: P0) -> ::windows_core::Result<()> where @@ -15671,7 +15671,7 @@ impl IMSVidWebDVD2 { } pub unsafe fn DVDUniqueID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptParentalLevelChange(&self, faccept: P0, strusername: P1, strpassword: P2) -> ::windows_core::Result<()> where @@ -15703,53 +15703,53 @@ impl IMSVidWebDVD2 { } pub unsafe fn get_TitleParentalLevels(&self, ltitle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_TitleParentalLevels)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_TitleParentalLevels)(::windows_core::Interface::as_raw(self), ltitle, &mut result__).map(|| result__) } pub unsafe fn PlayerParentalCountry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PlayerParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PlayerParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PlayerParentalLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PlayerParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PlayerParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Eject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Eject)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn UOPValid(&self, luop: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UOPValid)(::windows_core::Interface::as_raw(self), luop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UOPValid)(::windows_core::Interface::as_raw(self), luop, &mut result__).map(|| result__) } pub unsafe fn get_SPRM(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_SPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_SPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn get_GPRM(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_GPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_GPRM)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn put_GPRM(&self, lindex: i32, svalue: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_GPRM)(::windows_core::Interface::as_raw(self), lindex, svalue).ok() } pub unsafe fn get_DVDTextStringType(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_DVDTextStringType)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_DVDTextStringType)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).map(|| result__) } pub unsafe fn get_DVDTextString(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_DVDTextString)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_DVDTextString)(::windows_core::Interface::as_raw(self), llangindex, lstringindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_DVDTextNumberOfStrings(&self, llangindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_DVDTextNumberOfStrings)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_DVDTextNumberOfStrings)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).map(|| result__) } pub unsafe fn DVDTextNumberOfLanguages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_DVDTextLanguageLCID(&self, llangindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_DVDTextLanguageLCID)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_DVDTextLanguageLCID)(::windows_core::Interface::as_raw(self), llangindex, &mut result__).map(|| result__) } pub unsafe fn RegionChange(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RegionChange)(::windows_core::Interface::as_raw(self)).ok() @@ -15757,7 +15757,7 @@ impl IMSVidWebDVD2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DVDAdm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDAdm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDAdm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteBookmark(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DeleteBookmark)(::windows_core::Interface::as_raw(self)).ok() @@ -15776,49 +15776,49 @@ impl IMSVidWebDVD2 { } pub unsafe fn PreferredSubpictureStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PreferredSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PreferredSubpictureStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultMenuLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultMenuLanguage(&self, lang: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDefaultMenuLanguage)(::windows_core::Interface::as_raw(self), lang).ok() } pub unsafe fn DefaultSubpictureLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultSubpictureLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultSubpictureLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAudioLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultAudioLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultAudioLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSubpictureLanguageExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultSubpictureLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultSubpictureLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAudioLanguageExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultAudioLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultAudioLanguageExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_LanguageFromLCID(&self, lcid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_LanguageFromLCID)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_LanguageFromLCID)(::windows_core::Interface::as_raw(self), lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KaraokeAudioPresentationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKaraokeAudioPresentationMode(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKaraokeAudioPresentationMode)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn get_KaraokeChannelContent(&self, lstream: i32, lchan: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_KaraokeChannelContent)(::windows_core::Interface::as_raw(self), lstream, lchan, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_KaraokeChannelContent)(::windows_core::Interface::as_raw(self), lstream, lchan, &mut result__).map(|| result__) } pub unsafe fn get_KaraokeChannelAssignment(&self, lstream: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_KaraokeChannelAssignment)(::windows_core::Interface::as_raw(self), lstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_KaraokeChannelAssignment)(::windows_core::Interface::as_raw(self), lstream, &mut result__).map(|| result__) } pub unsafe fn RestorePreferredSettings(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RestorePreferredSettings)(::windows_core::Interface::as_raw(self)).ok() @@ -15826,12 +15826,12 @@ impl IMSVidWebDVD2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ButtonRect(&self, lbutton: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ButtonRect)(::windows_core::Interface::as_raw(self), lbutton, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ButtonRect)(::windows_core::Interface::as_raw(self), lbutton, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DVDScreenInMouseCoordinates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DVDScreenInMouseCoordinates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DVDScreenInMouseCoordinates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDVDScreenInMouseCoordinates(&self, prect: P0) -> ::windows_core::Result<()> @@ -15889,40 +15889,40 @@ impl IMSVidWebDVDAdm { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConfirmPassword)(::windows_core::Interface::as_raw(self), strusername.into_param().abi(), strpassword.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConfirmPassword)(::windows_core::Interface::as_raw(self), strusername.into_param().abi(), strpassword.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetParentalLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentalCountry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentalCountry)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAudioLCID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultAudioLCID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultAudioLCID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultAudioLCID(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultAudioLCID)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn DefaultSubpictureLCID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultSubpictureLCID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultSubpictureLCID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultSubpictureLCID(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultSubpictureLCID)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn DefaultMenuLCID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultMenuLCID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultMenuLCID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultMenuLCID(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultMenuLCID)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn BookmarkOnStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BookmarkOnStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BookmarkOnStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBookmarkOnStop(&self, newval: P0) -> ::windows_core::Result<()> where @@ -16141,11 +16141,11 @@ pub struct IMSVidWebDVDEvent_Vtbl { impl IMSVidXDS { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPower(&self, power: P0) -> ::windows_core::Result<()> where @@ -16155,23 +16155,23 @@ impl IMSVidXDS { } pub unsafe fn Power(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Power)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._Category)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._ClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqualDevice(&self, device: P0) -> ::windows_core::Result @@ -16179,11 +16179,11 @@ impl IMSVidXDS { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqualDevice)(::windows_core::Interface::as_raw(self), device.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ChannelChangeInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChannelChangeInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChannelChangeInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -16235,18 +16235,18 @@ pub struct IMceBurnerControl_Vtbl { impl IMpeg2Data { pub unsafe fn GetSection(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSection)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSection)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTable(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamOfSections(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, hdatareadyevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamOfSections)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, hdatareadyevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamOfSections)(::windows_core::Interface::as_raw(self), pid, tid, pfilter, hdatareadyevent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16323,27 +16323,27 @@ impl IPAT { } pub unsafe fn GetTransportStreamId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportStreamId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordProgramNumber(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordProgramNumber)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordProgramNumber)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordProgramMapPid(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordProgramMapPid)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordProgramMapPid)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn FindRecordProgramMapPid(&self, wprogramnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindRecordProgramMapPid)(::windows_core::Interface::as_raw(self), wprogramnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindRecordProgramMapPid)(::windows_core::Interface::as_raw(self), wprogramnumber, &mut result__).map(|| result__) } pub unsafe fn RegisterForNextTable(&self, hnexttableavailable: P0) -> ::windows_core::Result<()> where @@ -16353,7 +16353,7 @@ impl IPAT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -16386,11 +16386,11 @@ pub struct IPAT_Vtbl { impl IPBDAAttributesDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributePayload(&self, ppbattributebuffer: *mut *mut u8, pdwattributelength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttributePayload)(::windows_core::Interface::as_raw(self), ppbattributebuffer, pdwattributelength).ok() @@ -16409,11 +16409,11 @@ pub struct IPBDAAttributesDescriptor_Vtbl { impl IPBDAEntitlementDescriptor { pub unsafe fn GetTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetToken(&self, ppbtokenbuffer: *mut *mut u8, pdwtokenlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetToken)(::windows_core::Interface::as_raw(self), ppbtokenbuffer, pdwtokenlength).ok() @@ -16438,11 +16438,11 @@ impl IPBDASiParser { } pub unsafe fn GetEIT(&self, dwsize: u32, pbuffer: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), dwsize, pbuffer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEIT)(::windows_core::Interface::as_raw(self), dwsize, pbuffer, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServices(&self, dwsize: u32, pbuffer: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServices)(::windows_core::Interface::as_raw(self), dwsize, pbuffer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServices)(::windows_core::Interface::as_raw(self), dwsize, pbuffer, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16461,39 +16461,39 @@ impl IPBDA_EIT { } pub unsafe fn GetTableId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetServiceIdx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceIdx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceIdx)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordEventId)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordStartTime)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDuration)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -16523,11 +16523,11 @@ impl IPBDA_Services { } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordByIndex(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -16550,46 +16550,46 @@ impl IPMT { } pub unsafe fn GetProgramNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgramNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPcrPid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPcrPid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPcrPid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() } pub unsafe fn GetCountOfRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRecordStreamType(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordStreamType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordStreamType)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordElementaryPid(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordElementaryPid)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordElementaryPid)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCountOfDescriptors)(::windows_core::Interface::as_raw(self), dwrecordindex, &mut result__).map(|| result__) } pub unsafe fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwdescindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwdescindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwrecordindex, dwdescindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecordDescriptorByTag)(::windows_core::Interface::as_raw(self), dwrecordindex, btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -16608,7 +16608,7 @@ impl IPMT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -16649,7 +16649,7 @@ pub struct IPMT_Vtbl { impl IPSITables { pub unsafe fn GetTable(&self, dwtsid: u32, dwtid_pid: u32, dwhashedver: u32, dwpara4: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), dwtsid, dwtid_pid, dwhashedver, dwpara4, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), dwtsid, dwtid_pid, dwhashedver, dwpara4, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16689,7 +16689,7 @@ impl IPersistTuneXml { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -16702,7 +16702,7 @@ impl IPersistTuneXml { } pub unsafe fn Save(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -16722,7 +16722,7 @@ impl IPersistTuneXmlUtility { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16739,7 +16739,7 @@ impl IPersistTuneXmlUtility2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Deserialize)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Deserialize)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Serialize(&self, pitunerequest: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -16747,7 +16747,7 @@ impl IPersistTuneXmlUtility2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), pitunerequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), pitunerequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16788,7 +16788,7 @@ impl ISBE2Crossbar { } pub unsafe fn GetInitialProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInitialProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInitialProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputProfile(&self, pprofile: P0, pcoutputpins: *mut u32, ppoutputpins: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -16798,7 +16798,7 @@ impl ISBE2Crossbar { } pub unsafe fn EnumStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16824,7 +16824,7 @@ impl ISBE2EnumStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16886,12 +16886,12 @@ pub struct ISBE2GlobalEvent2_Vtbl { impl ISBE2MediaTypeProfile { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn GetStream(&self, index: u32) -> ::windows_core::Result<*mut super::super::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn AddStream(&self, pmediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -16940,7 +16940,7 @@ impl ISBE2StreamMap { } pub unsafe fn EnumMappedStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumMappedStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumMappedStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16963,115 +16963,115 @@ impl ISCTE_EAS { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSequencyNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSequencyNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSequencyNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEASEventID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEASEventID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEASEventID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginatorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginatorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginatorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEASEventCodeLen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEASEventCodeLen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEASEventCodeLen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEASEventCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEASEventCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEASEventCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRawNatureOfActivationTextLen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawNatureOfActivationTextLen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawNatureOfActivationTextLen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRawNatureOfActivationText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawNatureOfActivationText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawNatureOfActivationText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNatureOfActivationText(&self, bstris0639code: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNatureOfActivationText)(::windows_core::Interface::as_raw(self), bstris0639code.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNatureOfActivationText)(::windows_core::Interface::as_raw(self), bstris0639code.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTimeRemaining(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeRemaining)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeRemaining)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAlertPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlertPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlertPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDetailsOOBSourceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsOOBSourceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsOOBSourceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDetailsMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDetailsMinor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsMinor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsMinor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDetailsAudioOOBSourceID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsAudioOOBSourceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsAudioOOBSourceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAlertText(&self, bstris0639code: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlertText)(::windows_core::Interface::as_raw(self), bstris0639code.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlertText)(::windows_core::Interface::as_raw(self), bstris0639code.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRawAlertTextLen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawAlertTextLen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawAlertTextLen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRawAlertText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawAlertText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawAlertText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocationCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocationCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocationCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocationCodes(&self, bindex: u8, pbstate: *mut u8, pbcountysubdivision: *mut u8, pwcounty: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLocationCodes)(::windows_core::Interface::as_raw(self), bindex, pbstate, pbcountysubdivision, pwcounty).ok() } pub unsafe fn GetExceptionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExceptionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExceptionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExceptionService(&self, bindex: u8, pbibref: *mut u8, pwfirst: *mut u16, pwsecond: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExceptionService)(::windows_core::Interface::as_raw(self), bindex, pbibref, pwfirst, pwsecond).ok() } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -17122,7 +17122,7 @@ impl ISIInbandEPG { } pub unsafe fn IsSIEPGScanRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSIEPGScanRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSIEPGScanRunning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17155,7 +17155,7 @@ impl IScanningTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, tuningspace: P0) -> ::windows_core::Result<()> @@ -17166,12 +17166,12 @@ impl IScanningTuner { } pub unsafe fn EnumTuningSpaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuneRequest(&self, tunerequest: P0) -> ::windows_core::Result<()> @@ -17190,7 +17190,7 @@ impl IScanningTuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPreferredComponentTypes(&self, componenttypes: P0) -> ::windows_core::Result<()> @@ -17201,7 +17201,7 @@ impl IScanningTuner { } pub unsafe fn SignalStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TriggerSignalEvents(&self, interval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.TriggerSignalEvents)(::windows_core::Interface::as_raw(self), interval).ok() @@ -17238,7 +17238,7 @@ impl IScanningTunerEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, tuningspace: P0) -> ::windows_core::Result<()> @@ -17249,12 +17249,12 @@ impl IScanningTunerEx { } pub unsafe fn EnumTuningSpaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuneRequest(&self, tunerequest: P0) -> ::windows_core::Result<()> @@ -17273,7 +17273,7 @@ impl IScanningTunerEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPreferredComponentTypes(&self, componenttypes: P0) -> ::windows_core::Result<()> @@ -17284,7 +17284,7 @@ impl IScanningTunerEx { } pub unsafe fn SignalStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TriggerSignalEvents(&self, interval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.TriggerSignalEvents)(::windows_core::Interface::as_raw(self), interval).ok() @@ -17316,7 +17316,7 @@ impl IScanningTunerEx { } pub unsafe fn TerminateCurrentScan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminateCurrentScan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminateCurrentScan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResumeCurrentScan(&self, hevent: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResumeCurrentScan)(::windows_core::Interface::as_raw(self), hevent).ok() @@ -17368,7 +17368,7 @@ impl ISectionList { } pub unsafe fn GetNumberOfSections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfSections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfSections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSectionData(&self, sectionnumber: u16, pdwrawpacketlength: *mut u32, ppsection: *mut *mut SECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSectionData)(::windows_core::Interface::as_raw(self), sectionnumber, pdwrawpacketlength, ppsection).ok() @@ -17397,19 +17397,19 @@ pub struct ISectionList_Vtbl { impl IServiceLocationDescriptor { pub unsafe fn GetPCR_PID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPCR_PID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPCR_PID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElementStreamType(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElementStreamType)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElementStreamType)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetElementPID(&self, bindex: u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElementPID)(::windows_core::Interface::as_raw(self), bindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElementPID)(::windows_core::Interface::as_raw(self), bindex, &mut result__).map(|| result__) } pub unsafe fn GetElementLanguageCode(&self, bindex: u8, langcode: &mut [u8; 3]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetElementLanguageCode)(::windows_core::Interface::as_raw(self), bindex, ::core::mem::transmute(langcode.as_ptr())).ok() @@ -17436,7 +17436,7 @@ impl IStreamBufferConfigure { } pub unsafe fn GetDirectory(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackingFileCount(&self, dwmin: u32, dwmax: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackingFileCount)(::windows_core::Interface::as_raw(self), dwmin, dwmax).ok() @@ -17449,7 +17449,7 @@ impl IStreamBufferConfigure { } pub unsafe fn GetBackingFileDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17474,7 +17474,7 @@ impl IStreamBufferConfigure2 { } pub unsafe fn GetDirectory(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackingFileCount(&self, dwmin: u32, dwmax: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBackingFileCount)(::windows_core::Interface::as_raw(self), dwmin, dwmax).ok() @@ -17487,14 +17487,14 @@ impl IStreamBufferConfigure2 { } pub unsafe fn GetBackingFileDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultiplexedPacketSize(&self, cbbytesperpacket: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), cbbytesperpacket).ok() } pub unsafe fn GetMultiplexedPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFFTransitionRates(&self, dwmaxfullframerate: u32, dwmaxnonskippingrate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFFTransitionRates)(::windows_core::Interface::as_raw(self), dwmaxfullframerate, dwmaxnonskippingrate).ok() @@ -17523,7 +17523,7 @@ impl IStreamBufferConfigure3 { } pub unsafe fn GetDirectory(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDirectory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackingFileCount(&self, dwmin: u32, dwmax: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetBackingFileCount)(::windows_core::Interface::as_raw(self), dwmin, dwmax).ok() @@ -17536,14 +17536,14 @@ impl IStreamBufferConfigure3 { } pub unsafe fn GetBackingFileDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBackingFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultiplexedPacketSize(&self, cbbytesperpacket: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), cbbytesperpacket).ok() } pub unsafe fn GetMultiplexedPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMultiplexedPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFFTransitionRates(&self, dwmaxfullframerate: u32, dwmaxnonskippingrate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFFTransitionRates)(::windows_core::Interface::as_raw(self), dwmaxfullframerate, dwmaxnonskippingrate).ok() @@ -17559,7 +17559,7 @@ impl IStreamBufferConfigure3 { } pub unsafe fn GetStartRecConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartRecConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartRecConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNamespace(&self, psznamespace: P0) -> ::windows_core::Result<()> where @@ -17569,7 +17569,7 @@ impl IStreamBufferConfigure3 { } pub unsafe fn GetNamespace(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17627,7 +17627,7 @@ pub struct IStreamBufferInitialize_Vtbl { impl IStreamBufferMediaSeeking { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CheckCapabilities(&self, pcapabilities: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CheckCapabilities)(::windows_core::Interface::as_raw(self), pcapabilities).ok() @@ -17637,11 +17637,11 @@ impl IStreamBufferMediaSeeking { } pub unsafe fn QueryPreferredFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingTimeFormat(&self, pformat: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsUsingTimeFormat)(::windows_core::Interface::as_raw(self), pformat).ok() @@ -17651,15 +17651,15 @@ impl IStreamBufferMediaSeeking { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStopPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConvertTimeFormat(&self, ptarget: *mut i64, ptargetformat: ::core::option::Option<*const ::windows_core::GUID>, source: i64, psourceformat: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ConvertTimeFormat)(::windows_core::Interface::as_raw(self), ptarget, ::core::mem::transmute(ptargetformat.unwrap_or(::std::ptr::null())), source, ::core::mem::transmute(psourceformat.unwrap_or(::std::ptr::null()))).ok() @@ -17678,11 +17678,11 @@ impl IStreamBufferMediaSeeking { } pub unsafe fn GetRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17695,7 +17695,7 @@ pub struct IStreamBufferMediaSeeking_Vtbl { impl IStreamBufferMediaSeeking2 { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CheckCapabilities(&self, pcapabilities: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CheckCapabilities)(::windows_core::Interface::as_raw(self), pcapabilities).ok() @@ -17705,11 +17705,11 @@ impl IStreamBufferMediaSeeking2 { } pub unsafe fn QueryPreferredFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingTimeFormat(&self, pformat: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.IsUsingTimeFormat)(::windows_core::Interface::as_raw(self), pformat).ok() @@ -17719,15 +17719,15 @@ impl IStreamBufferMediaSeeking2 { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStopPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConvertTimeFormat(&self, ptarget: *mut i64, ptargetformat: ::core::option::Option<*const ::windows_core::GUID>, source: i64, psourceformat: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ConvertTimeFormat)(::windows_core::Interface::as_raw(self), ptarget, ::core::mem::transmute(ptargetformat.unwrap_or(::std::ptr::null())), source, ::core::mem::transmute(psourceformat.unwrap_or(::std::ptr::null()))).ok() @@ -17746,11 +17746,11 @@ impl IStreamBufferMediaSeeking2 { } pub unsafe fn GetRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRateEx(&self, drate: f64, dwframespersec: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRateEx)(::windows_core::Interface::as_raw(self), drate, dwframespersec).ok() @@ -17786,7 +17786,7 @@ impl IStreamBufferRecComp { } pub unsafe fn GetCurrentLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -17838,7 +17838,7 @@ impl IStreamBufferRecordingAttribute { } pub unsafe fn GetAttributeCount(&self, ulreserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), ulreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), ulreserved, &mut result__).map(|| result__) } pub unsafe fn GetAttributeByName(&self, pszattributename: P0, pulreserved: *const u32, pstreambufferattributetype: *mut STREAMBUFFER_ATTR_DATATYPE, pbattribute: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> where @@ -17851,7 +17851,7 @@ impl IStreamBufferRecordingAttribute { } pub unsafe fn EnumAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17878,7 +17878,7 @@ impl IStreamBufferSink { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsProfileLocked(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsProfileLocked)(::windows_core::Interface::as_raw(self)).ok() @@ -17906,7 +17906,7 @@ impl IStreamBufferSink2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsProfileLocked(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsProfileLocked)(::windows_core::Interface::as_raw(self)).ok() @@ -17935,7 +17935,7 @@ impl IStreamBufferSink3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRecorder)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwrecordtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsProfileLocked(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.IsProfileLocked)(::windows_core::Interface::as_raw(self)).ok() @@ -17981,15 +17981,15 @@ impl ITSDT { } pub unsafe fn GetVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCountOfTableDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTableDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTableDescriptorByTag)(::windows_core::Interface::as_raw(self), btag, pdwcookie, ::core::mem::transmute(ppdescriptor)).ok() @@ -18002,7 +18002,7 @@ impl ITSDT { } pub unsafe fn GetNextTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForWhenCurrent(&self, hnexttableiscurrent: P0) -> ::windows_core::Result<()> where @@ -18037,22 +18037,22 @@ impl ITuneRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Components)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Locator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Locator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Locator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLocator(&self, locator: P0) -> ::windows_core::Result<()> @@ -18118,7 +18118,7 @@ impl ITuneRequestInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreviousProgram(&self, currentrequest: P0) -> ::windows_core::Result @@ -18126,7 +18126,7 @@ impl ITuneRequestInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNextLocator(&self, currentrequest: P0) -> ::windows_core::Result @@ -18134,7 +18134,7 @@ impl ITuneRequestInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreviousLocator(&self, currentrequest: P0) -> ::windows_core::Result @@ -18142,7 +18142,7 @@ impl ITuneRequestInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18208,7 +18208,7 @@ impl ITuneRequestInfoEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNextProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNextProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreviousProgram(&self, currentrequest: P0) -> ::windows_core::Result @@ -18216,7 +18216,7 @@ impl ITuneRequestInfoEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPreviousProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPreviousProgram)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNextLocator(&self, currentrequest: P0) -> ::windows_core::Result @@ -18224,7 +18224,7 @@ impl ITuneRequestInfoEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNextLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNextLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreviousLocator(&self, currentrequest: P0) -> ::windows_core::Result @@ -18232,7 +18232,7 @@ impl ITuneRequestInfoEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPreviousLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPreviousLocator)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateComponentListEx(&self, currentrequest: P0) -> ::windows_core::Result<::windows_core::IUnknown> @@ -18240,7 +18240,7 @@ impl ITuneRequestInfoEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateComponentListEx)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComponentListEx)(::windows_core::Interface::as_raw(self), currentrequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18258,7 +18258,7 @@ impl ITuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuningSpace(&self, tuningspace: P0) -> ::windows_core::Result<()> @@ -18269,12 +18269,12 @@ impl ITuner { } pub unsafe fn EnumTuningSpaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTuneRequest(&self, tunerequest: P0) -> ::windows_core::Result<()> @@ -18293,7 +18293,7 @@ impl ITuner { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPreferredComponentTypes(&self, componenttypes: P0) -> ::windows_core::Result<()> @@ -18304,7 +18304,7 @@ impl ITuner { } pub unsafe fn SignalStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TriggerSignalEvents(&self, interval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TriggerSignalEvents)(::windows_core::Interface::as_raw(self), interval).ok() @@ -18372,7 +18372,7 @@ pub struct ITunerCap_Vtbl { impl ITunerCapEx { pub unsafe fn Has608_708Caption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Has608_708Caption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Has608_708Caption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18389,7 +18389,7 @@ pub struct ITunerCapEx_Vtbl { impl ITuningSpace { pub unsafe fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUniqueName(&self, name: P0) -> ::windows_core::Result<()> where @@ -18399,7 +18399,7 @@ impl ITuningSpace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, name: P0) -> ::windows_core::Result<()> where @@ -18409,11 +18409,11 @@ impl ITuningSpace { } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetworkType(&self, networktypeguid: P0) -> ::windows_core::Result<()> where @@ -18423,7 +18423,7 @@ impl ITuningSpace { } pub unsafe fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NetworkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Set_NetworkType)(::windows_core::Interface::as_raw(self), networktypeguid).ok() @@ -18431,22 +18431,22 @@ impl ITuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTuneRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTuneRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoryGUIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCategoryGUIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumDeviceMonikers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDeviceMonikers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultPreferredComponentTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: P0) -> ::windows_core::Result<()> @@ -18457,7 +18457,7 @@ impl ITuningSpace { } pub unsafe fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FrequencyMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrequencyMapping(&self, mapping: P0) -> ::windows_core::Result<()> where @@ -18468,7 +18468,7 @@ impl ITuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultLocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultLocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDefaultLocator(&self, locatorval: P0) -> ::windows_core::Result<()> @@ -18480,7 +18480,7 @@ impl ITuningSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -18540,12 +18540,12 @@ pub struct ITuningSpace_Vtbl { impl ITuningSpaceContainer { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result @@ -18553,7 +18553,7 @@ impl ITuningSpaceContainer { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn put_Item(&self, varindex: P0, tuningspace: P1) -> ::windows_core::Result<()> @@ -18569,12 +18569,12 @@ impl ITuningSpaceContainer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpacesForCLSID)(::windows_core::Interface::as_raw(self), spaceclsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpacesForCLSID)(::windows_core::Interface::as_raw(self), spaceclsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn _TuningSpacesForCLSID2(&self, spaceclsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._TuningSpacesForCLSID2)(::windows_core::Interface::as_raw(self), spaceclsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._TuningSpacesForCLSID2)(::windows_core::Interface::as_raw(self), spaceclsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TuningSpacesForName(&self, name: P0) -> ::windows_core::Result @@ -18582,7 +18582,7 @@ impl ITuningSpaceContainer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpacesForName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpacesForName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindID(&self, tuningspace: P0) -> ::windows_core::Result @@ -18590,7 +18590,7 @@ impl ITuningSpaceContainer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindID)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindID)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, tuningspace: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -18598,11 +18598,11 @@ impl ITuningSpaceContainer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), tuningspace.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumTuningSpaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -18612,7 +18612,7 @@ impl ITuningSpaceContainer { } pub unsafe fn MaxCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxCount(&self, maxcount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxCount)(::windows_core::Interface::as_raw(self), maxcount).ok() @@ -18669,12 +18669,12 @@ pub struct ITuningSpaceContainer_Vtbl { impl ITuningSpaces { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result @@ -18682,11 +18682,11 @@ impl ITuningSpaces { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumTuningSpaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTuningSpaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -18710,14 +18710,14 @@ pub struct ITuningSpaces_Vtbl { impl IXDSCodec { pub unsafe fn XDSToRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XDSToRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XDSToRatObjOK)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCCSubstreamService(&self, substreammask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCCSubstreamService)(::windows_core::Interface::as_raw(self), substreammask).ok() } pub unsafe fn CCSubstreamService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CCSubstreamService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CCSubstreamService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContentAdvisoryRating(&self, prat: *mut i32, ppktseqid: *mut i32, pcallseqid: *mut i32, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetContentAdvisoryRating)(::windows_core::Interface::as_raw(self), prat, ppktseqid, pcallseqid, ptimestart, ptimeend).ok() @@ -18727,7 +18727,7 @@ impl IXDSCodec { } pub unsafe fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrLicenseExpDate)(::windows_core::Interface::as_raw(self), prottype, &mut result__).map(|| result__) } pub unsafe fn GetLastErrorCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLastErrorCode)(::windows_core::Interface::as_raw(self)).ok() @@ -18750,7 +18750,7 @@ pub struct IXDSCodec_Vtbl { impl IXDSCodecConfig { pub unsafe fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecureChannelObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPauseBufferTime(&self, dwpausebuffertime: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPauseBufferTime)(::windows_core::Interface::as_raw(self), dwpausebuffertime).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Media/DirectShow/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/DirectShow/mod.rs index 48cd4fc6e2..745e7f2173 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/DirectShow/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/DirectShow/mod.rs @@ -17,36 +17,36 @@ pub unsafe fn AMGetErrorTextW(hr: ::windows_core::HRESULT, pbuffer: &mut [u16]) impl IAMAnalogVideoDecoder { pub unsafe fn AvailableTVFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTVFormat(&self, lanalogvideostandard: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTVFormat)(::windows_core::Interface::as_raw(self), lanalogvideostandard).ok() } pub unsafe fn TVFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HorizontalLocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HorizontalLocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HorizontalLocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVCRHorizontalLocking(&self, lvcrhorizontallocking: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVCRHorizontalLocking)(::windows_core::Interface::as_raw(self), lvcrhorizontallocking).ok() } pub unsafe fn VCRHorizontalLocking(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VCRHorizontalLocking)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VCRHorizontalLocking)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfLines(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfLines)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfLines)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputEnable(&self, loutputenable: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputEnable)(::windows_core::Interface::as_raw(self), loutputenable).ok() } pub unsafe fn OutputEnable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputEnable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputEnable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -68,28 +68,28 @@ pub struct IAMAnalogVideoDecoder_Vtbl { impl IAMAnalogVideoEncoder { pub unsafe fn AvailableTVFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTVFormat(&self, lanalogvideostandard: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTVFormat)(::windows_core::Interface::as_raw(self), lanalogvideostandard).ok() } pub unsafe fn TVFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCopyProtection(&self, lvideocopyprotection: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCopyProtection)(::windows_core::Interface::as_raw(self), lvideocopyprotection).ok() } pub unsafe fn CopyProtection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyProtection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyProtection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCCEnable(&self, lccenable: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCCEnable)(::windows_core::Interface::as_raw(self), lccenable).ok() } pub unsafe fn CCEnable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CCEnable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CCEnable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -109,7 +109,7 @@ pub struct IAMAnalogVideoEncoder_Vtbl { impl IAMAsyncReaderTimestampScaling { pub unsafe fn GetTimestampMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimestampMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimestampMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimestampMode(&self, fraw: P0) -> ::windows_core::Result<()> where @@ -136,7 +136,7 @@ impl IAMAudioInputMixer { } pub unsafe fn Enable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMono(&self, fmono: P0) -> ::windows_core::Result<()> where @@ -146,21 +146,21 @@ impl IAMAudioInputMixer { } pub unsafe fn Mono(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mono)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mono)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMixLevel(&self, level: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMixLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn MixLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MixLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MixLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPan(&self, pan: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPan)(::windows_core::Interface::as_raw(self), pan).ok() } pub unsafe fn Pan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLoudness(&self, floudness: P0) -> ::windows_core::Result<()> where @@ -170,29 +170,29 @@ impl IAMAudioInputMixer { } pub unsafe fn Loudness(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Loudness)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Loudness)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTreble(&self, treble: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTreble)(::windows_core::Interface::as_raw(self), treble).ok() } pub unsafe fn Treble(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Treble)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Treble)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TrebleRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrebleRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrebleRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBass(&self, bass: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBass)(::windows_core::Interface::as_raw(self), bass).ok() } pub unsafe fn Bass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BassRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BassRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BassRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -237,7 +237,7 @@ impl IAMBufferNegotiation { } pub unsafe fn GetAllocatorProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocatorProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocatorProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -351,7 +351,7 @@ impl IAMClockSlave { } pub unsafe fn GetErrorTolerance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorTolerance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorTolerance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -369,15 +369,15 @@ pub struct IAMClockSlave_Vtbl { impl IAMCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Item(&self, litem: i32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), litem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), litem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -416,7 +416,7 @@ impl IAMCrossbar { } pub unsafe fn get_IsRoutedTo(&self, outputpinindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IsRoutedTo)(::windows_core::Interface::as_raw(self), outputpinindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IsRoutedTo)(::windows_core::Interface::as_raw(self), outputpinindex, &mut result__).map(|| result__) } pub unsafe fn get_CrossbarPinInfo(&self, isinputpin: P0, pinindex: i32, pinindexrelated: *mut i32, physicaltype: *mut i32) -> ::windows_core::Result<()> where @@ -440,7 +440,7 @@ pub struct IAMCrossbar_Vtbl { impl IAMDecoderCaps { pub unsafe fn GetDecoderCaps(&self, dwcapindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDecoderCaps)(::windows_core::Interface::as_raw(self), dwcapindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDecoderCaps)(::windows_core::Interface::as_raw(self), dwcapindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -492,7 +492,7 @@ impl IAMDevMemoryControl { } pub unsafe fn GetDevId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -530,17 +530,17 @@ impl IAMDirectSound { #[cfg(feature = "Win32_Media_Audio_DirectSound")] pub unsafe fn GetDirectSoundInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectSoundInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectSoundInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio_DirectSound")] pub unsafe fn GetPrimaryBufferInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrimaryBufferInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrimaryBufferInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio_DirectSound")] pub unsafe fn GetSecondaryBufferInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecondaryBufferInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecondaryBufferInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio_DirectSound")] pub unsafe fn ReleaseDirectSoundInterface(&self, lpds: P0) -> ::windows_core::Result<()> @@ -610,18 +610,18 @@ pub struct IAMDirectSound_Vtbl { impl IAMDroppedFrames { pub unsafe fn GetNumDropped(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumDropped)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumDropped)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumNotDropped(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumNotDropped)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumNotDropped)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDroppedInfo(&self, lsize: i32, plarray: *mut i32, plnumcopied: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDroppedInfo)(::windows_core::Interface::as_raw(self), lsize, plarray, plnumcopied).ok() } pub unsafe fn GetAverageFrameSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAverageFrameSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAverageFrameSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -641,29 +641,29 @@ impl IAMExtDevice { } pub unsafe fn ExternalDeviceID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExternalDeviceVersion(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalDeviceVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalDeviceVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDevicePower(&self, powermode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDevicePower)(::windows_core::Interface::as_raw(self), powermode).ok() } pub unsafe fn DevicePower(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DevicePower)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DevicePower)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Calibrate(&self, hevent: usize, mode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Calibrate)(::windows_core::Interface::as_raw(self), hevent, mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Calibrate)(::windows_core::Interface::as_raw(self), hevent, mode, &mut result__).map(|| result__) } pub unsafe fn SetDevicePort(&self, deviceport: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDevicePort)(::windows_core::Interface::as_raw(self), deviceport).ok() } pub unsafe fn DevicePort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DevicePort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DevicePort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -690,18 +690,18 @@ impl IAMExtTransport { } pub unsafe fn MediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocalControl(&self, state: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalControl)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn LocalControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self, statusitem: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), statusitem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), statusitem, &mut result__).map(|| result__) } pub unsafe fn GetTransportBasicParameters(&self, param: i32, pvalue: *mut i32, ppszdata: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransportBasicParameters)(::windows_core::Interface::as_raw(self), param, pvalue, ppszdata).ok() @@ -714,14 +714,14 @@ impl IAMExtTransport { } pub unsafe fn GetTransportVideoParameters(&self, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportVideoParameters)(::windows_core::Interface::as_raw(self), param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportVideoParameters)(::windows_core::Interface::as_raw(self), param, &mut result__).map(|| result__) } pub unsafe fn SetTransportVideoParameters(&self, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransportVideoParameters)(::windows_core::Interface::as_raw(self), param, value).ok() } pub unsafe fn GetTransportAudioParameters(&self, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportAudioParameters)(::windows_core::Interface::as_raw(self), param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportAudioParameters)(::windows_core::Interface::as_raw(self), param, &mut result__).map(|| result__) } pub unsafe fn SetTransportAudioParameters(&self, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransportAudioParameters)(::windows_core::Interface::as_raw(self), param, value).ok() @@ -731,14 +731,14 @@ impl IAMExtTransport { } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRate(&self, dblrate: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRate)(::windows_core::Interface::as_raw(self), dblrate).ok() } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChase(&self, penabled: *mut i32, poffset: *mut i32, phevent: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChase)(::windows_core::Interface::as_raw(self), penabled, poffset, phevent).ok() @@ -754,28 +754,28 @@ impl IAMExtTransport { } pub unsafe fn AntiClogControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntiClogControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntiClogControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAntiClogControl(&self, enable: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAntiClogControl)(::windows_core::Interface::as_raw(self), enable).ok() } pub unsafe fn GetEditPropertySet(&self, editid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEditPropertySet)(::windows_core::Interface::as_raw(self), editid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEditPropertySet)(::windows_core::Interface::as_raw(self), editid, &mut result__).map(|| result__) } pub unsafe fn SetEditPropertySet(&self, peditid: *mut i32, state: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEditPropertySet)(::windows_core::Interface::as_raw(self), peditid, state).ok() } pub unsafe fn GetEditProperty(&self, editid: i32, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEditProperty)(::windows_core::Interface::as_raw(self), editid, param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEditProperty)(::windows_core::Interface::as_raw(self), editid, param, &mut result__).map(|| result__) } pub unsafe fn SetEditProperty(&self, editid: i32, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEditProperty)(::windows_core::Interface::as_raw(self), editid, param, value).ok() } pub unsafe fn EditStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EditStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EditStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEditStart(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEditStart)(::windows_core::Interface::as_raw(self), value).ok() @@ -972,7 +972,7 @@ pub struct IAMGraphStreams_Vtbl { impl IAMLatency { pub unsafe fn GetLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1151,7 +1151,7 @@ pub struct IAMMediaContent2_Vtbl { impl IAMMediaStream { pub unsafe fn GetMultiMediaStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows_core::GUID, ptype: *mut STREAM_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformation)(::windows_core::Interface::as_raw(self), ppurposeid, ptype).ok() @@ -1164,14 +1164,14 @@ impl IAMMediaStream { } pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSharedSample(&self, pexistingsample: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendEndOfStream)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -1244,7 +1244,7 @@ impl IAMMediaTypeSample { } pub unsafe fn GetPointer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> i32 { (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self)) @@ -1282,7 +1282,7 @@ impl IAMMediaTypeSample { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn GetMediaType(&self) -> ::windows_core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -1337,7 +1337,7 @@ pub struct IAMMediaTypeSample_Vtbl { impl IAMMediaTypeStream { pub unsafe fn GetMultiMediaStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows_core::GUID, ptype: *mut STREAM_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformation)(::windows_core::Interface::as_raw(self), ppurposeid, ptype).ok() @@ -1350,14 +1350,14 @@ impl IAMMediaTypeStream { } pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSharedSample(&self, pexistingsample: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendEndOfStream)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -1375,11 +1375,11 @@ impl IAMMediaTypeStream { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), lsamplesize, pbbuffer, dwflags, punkouter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), lsamplesize, pbbuffer, dwflags, punkouter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamAllocatorRequirements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAllocatorRequirements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAllocatorRequirements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamAllocatorRequirements(&self, pprops: *const ALLOCATOR_PROPERTIES) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamAllocatorRequirements)(::windows_core::Interface::as_raw(self), pprops).ok() @@ -1409,33 +1409,33 @@ impl IAMMultiMediaStream { } pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, newstate: STREAM_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetState)(::windows_core::Interface::as_raw(self), newstate).ok() } pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, seektime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), seektime).ok() } pub unsafe fn GetEndOfStreamEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEndOfStreamEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEndOfStreamEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, streamtype: STREAM_TYPE, dwflags: AMMSF_MMS_INIT_FLAGS, pfiltergraph: P0) -> ::windows_core::Result<()> where @@ -1445,19 +1445,19 @@ impl IAMMultiMediaStream { } pub unsafe fn GetFilterGraph(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterGraph)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterGraph)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddMediaStream(&self, pstreamobject: P0, purposeid: *const ::windows_core::GUID, dwflags: AMMSF_MS_FLAGS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddMediaStream)(::windows_core::Interface::as_raw(self), pstreamobject.into_param().abi(), purposeid, dwflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddMediaStream)(::windows_core::Interface::as_raw(self), pstreamobject.into_param().abi(), purposeid, dwflags.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenFile(&self, pszfilename: P0, dwflags: u32) -> ::windows_core::Result<()> where @@ -1756,14 +1756,14 @@ pub struct IAMOpenProgress_Vtbl { impl IAMOverlayFX { pub unsafe fn QueryOverlayFXCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryOverlayFXCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryOverlayFXCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverlayFX(&self, dwoverlayfx: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOverlayFX)(::windows_core::Interface::as_raw(self), dwoverlayfx).ok() } pub unsafe fn GetOverlayFX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverlayFX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverlayFX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1779,7 +1779,7 @@ pub struct IAMOverlayFX_Vtbl { impl IAMParse { pub unsafe fn GetParseTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParseTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParseTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParseTime(&self, rtcurrent: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParseTime)(::windows_core::Interface::as_raw(self), rtcurrent).ok() @@ -1814,15 +1814,15 @@ pub struct IAMPhysicalPinInfo_Vtbl { impl IAMPlayList { pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self, dwitemindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), dwitemindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), dwitemindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNamedEvent(&self, pwszeventname: P0, dwitemindex: u32, ppitem: *mut ::core::option::Option, pdwflags: *mut u32) -> ::windows_core::Result<()> where @@ -1849,47 +1849,47 @@ pub struct IAMPlayList_Vtbl { impl IAMPlayListItem { pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceURL(&self, dwsourceindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceURL)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceURL)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceStart(&self, dwsourceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceStart)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceStart)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).map(|| result__) } pub unsafe fn GetSourceDuration(&self, dwsourceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceDuration)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceDuration)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).map(|| result__) } pub unsafe fn GetSourceStartMarker(&self, dwsourceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceStartMarker)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceStartMarker)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).map(|| result__) } pub unsafe fn GetSourceEndMarker(&self, dwsourceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceEndMarker)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceEndMarker)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).map(|| result__) } pub unsafe fn GetSourceStartMarkerName(&self, dwsourceindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceStartMarkerName)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceStartMarkerName)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceEndMarkerName(&self, dwsourceindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceEndMarkerName)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceEndMarkerName)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLinkURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetScanDuration(&self, dwsourceindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScanDuration)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScanDuration)(::windows_core::Interface::as_raw(self), dwsourceindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -1913,7 +1913,7 @@ pub struct IAMPlayListItem_Vtbl { impl IAMPluginControl { pub unsafe fn GetPreferredClsid(&self, subtype: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredClsid)(::windows_core::Interface::as_raw(self), subtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredClsid)(::windows_core::Interface::as_raw(self), subtype, &mut result__).map(|| result__) } pub unsafe fn GetPreferredClsidByIndex(&self, index: u32, subtype: *mut ::windows_core::GUID, clsid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreferredClsidByIndex)(::windows_core::Interface::as_raw(self), index, subtype, clsid).ok() @@ -1926,7 +1926,7 @@ impl IAMPluginControl { } pub unsafe fn GetDisabledByIndex(&self, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisabledByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisabledByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn SetDisabled(&self, clsid: *const ::windows_core::GUID, disabled: P0) -> ::windows_core::Result<()> where @@ -1958,11 +1958,11 @@ pub struct IAMPluginControl_Vtbl { impl IAMPushSource { pub unsafe fn GetLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPushSourceFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPushSourceFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPushSourceFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPushSourceFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPushSourceFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -1972,11 +1972,11 @@ impl IAMPushSource { } pub unsafe fn GetStreamOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxStreamOffset(&self, rtmaxoffset: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxStreamOffset)(::windows_core::Interface::as_raw(self), rtmaxoffset).ok() @@ -2030,7 +2030,7 @@ impl IAMStats { } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueByIndex(&self, lindex: i32, szname: *mut ::windows_core::BSTR, lcount: *mut i32, dlast: *mut f64, daverage: *mut f64, dstddev: *mut f64, dmin: *mut f64, dmax: *mut f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValueByIndex)(::windows_core::Interface::as_raw(self), lindex, ::core::mem::transmute(szname), lcount, dlast, daverage, dstddev, dmin, dmax).ok() @@ -2046,7 +2046,7 @@ impl IAMStats { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), lcreate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), lcreate, &mut result__).map(|| result__) } pub unsafe fn AddValue(&self, lindex: i32, dvalue: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddValue)(::windows_core::Interface::as_raw(self), lindex, dvalue).ok() @@ -2074,7 +2074,7 @@ impl IAMStreamConfig { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn GetFormat(&self) -> ::windows_core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfCapabilities(&self, picount: *mut i32, pisize: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberOfCapabilities)(::windows_core::Interface::as_raw(self), picount, pisize).ok() @@ -2131,7 +2131,7 @@ pub struct IAMStreamControl_Vtbl { impl IAMStreamSelect { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn Info(&self, lindex: i32, ppmt: ::core::option::Option<*mut *mut super::MediaFoundation::AM_MEDIA_TYPE>, pdwflags: ::core::option::Option<*mut u32>, plcid: ::core::option::Option<*mut u32>, pdwgroup: ::core::option::Option<*mut u32>, ppszname: ::core::option::Option<*mut ::windows_core::PWSTR>, ppobject: ::core::option::Option<*mut ::core::option::Option<::windows_core::IUnknown>>, ppunk: ::core::option::Option<*mut ::core::option::Option<::windows_core::IUnknown>>) -> ::windows_core::Result<()> { @@ -2168,15 +2168,15 @@ pub struct IAMStreamSelect_Vtbl { impl IAMTVAudio { pub unsafe fn GetHardwareSupportedTVAudioModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHardwareSupportedTVAudioModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHardwareSupportedTVAudioModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableTVAudioModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableTVAudioModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableTVAudioModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TVAudioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVAudioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVAudioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTVAudioMode(&self, lmode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTVAudioMode)(::windows_core::Interface::as_raw(self), lmode).ok() @@ -2235,14 +2235,14 @@ impl IAMTVTuner { } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTuningSpace)(::windows_core::Interface::as_raw(self), ltuningspace).ok() } pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Logon(&self, hcurrentuser: P0) -> ::windows_core::Result<()> where @@ -2255,18 +2255,18 @@ impl IAMTVTuner { } pub unsafe fn SignalPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMode)(::windows_core::Interface::as_raw(self), lmode).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterNotificationCallBack(&self, pnotify: P0, levents: i32) -> ::windows_core::Result<()> where @@ -2282,44 +2282,44 @@ impl IAMTVTuner { } pub unsafe fn AvailableTVFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableTVFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TVFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutoTune(&self, lchannel: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoTune)(::windows_core::Interface::as_raw(self), lchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoTune)(::windows_core::Interface::as_raw(self), lchannel, &mut result__).map(|| result__) } pub unsafe fn StoreAutoTune(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StoreAutoTune)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn NumInputConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumInputConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumInputConnections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn put_InputType(&self, lindex: i32, inputtype: TunerInputType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_InputType)(::windows_core::Interface::as_raw(self), lindex, inputtype).ok() } pub unsafe fn get_InputType(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_InputType)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_InputType)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn SetConnectInput(&self, lindex: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectInput)(::windows_core::Interface::as_raw(self), lindex).ok() } pub unsafe fn ConnectInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VideoFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioFrequency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioFrequency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2343,14 +2343,14 @@ pub struct IAMTVTuner_Vtbl { impl IAMTimecodeDisplay { pub unsafe fn GetTCDisplayEnable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTCDisplayEnable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTCDisplayEnable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTCDisplayEnable(&self, state: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTCDisplayEnable)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn GetTCDisplay(&self, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTCDisplay)(::windows_core::Interface::as_raw(self), param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTCDisplay)(::windows_core::Interface::as_raw(self), param, &mut result__).map(|| result__) } pub unsafe fn SetTCDisplay(&self, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTCDisplay)(::windows_core::Interface::as_raw(self), param, value).ok() @@ -2370,7 +2370,7 @@ pub struct IAMTimecodeDisplay_Vtbl { impl IAMTimecodeGenerator { pub unsafe fn GetTCGMode(&self, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTCGMode)(::windows_core::Interface::as_raw(self), param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTCGMode)(::windows_core::Interface::as_raw(self), param, &mut result__).map(|| result__) } pub unsafe fn SetTCGMode(&self, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTCGMode)(::windows_core::Interface::as_raw(self), param, value).ok() @@ -2380,7 +2380,7 @@ impl IAMTimecodeGenerator { } pub unsafe fn VITCLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VITCLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VITCLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimecode(&self, ptimecodesample: *const super::TIMECODE_SAMPLE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimecode)(::windows_core::Interface::as_raw(self), ptimecodesample).ok() @@ -2405,7 +2405,7 @@ pub struct IAMTimecodeGenerator_Vtbl { impl IAMTimecodeReader { pub unsafe fn GetTCRMode(&self, param: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTCRMode)(::windows_core::Interface::as_raw(self), param, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTCRMode)(::windows_core::Interface::as_raw(self), param, &mut result__).map(|| result__) } pub unsafe fn SetTCRMode(&self, param: i32, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTCRMode)(::windows_core::Interface::as_raw(self), param, value).ok() @@ -2415,7 +2415,7 @@ impl IAMTimecodeReader { } pub unsafe fn VITCLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VITCLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VITCLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimecode(&self, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimecode)(::windows_core::Interface::as_raw(self), ptimecodesample).ok() @@ -2448,14 +2448,14 @@ impl IAMTuner { } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTuningSpace)(::windows_core::Interface::as_raw(self), ltuningspace).ok() } pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Logon(&self, hcurrentuser: P0) -> ::windows_core::Result<()> where @@ -2468,18 +2468,18 @@ impl IAMTuner { } pub unsafe fn SignalPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMode)(::windows_core::Interface::as_raw(self), lmode).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterNotificationCallBack(&self, pnotify: P0, levents: i32) -> ::windows_core::Result<()> where @@ -2691,28 +2691,28 @@ impl IAMVideoCompression { } pub unsafe fn KeyFrameRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyFrameRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyFrameRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPFramesPerKeyFrame(&self, pframesperkeyframe: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPFramesPerKeyFrame)(::windows_core::Interface::as_raw(self), pframesperkeyframe).ok() } pub unsafe fn PFramesPerKeyFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PFramesPerKeyFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PFramesPerKeyFrame)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuality(&self, quality: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuality)(::windows_core::Interface::as_raw(self), quality).ok() } pub unsafe fn Quality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Quality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Quality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWindowSize(&self, windowsize: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowSize)(::windows_core::Interface::as_raw(self), windowsize).ok() } pub unsafe fn WindowSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInfo(&self, pszversion: ::windows_core::PWSTR, pcbversion: ::core::option::Option<*mut i32>, pszdescription: ::windows_core::PWSTR, pcbdescription: ::core::option::Option<*mut i32>, pdefaultkeyframerate: ::core::option::Option<*mut i32>, pdefaultpframesperkey: ::core::option::Option<*mut i32>, pdefaultquality: ::core::option::Option<*mut f64>, pcapabilities: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInfo)( @@ -2759,7 +2759,7 @@ impl IAMVideoControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaps)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, ppin: P0, mode: i32) -> ::windows_core::Result<()> where @@ -2772,21 +2772,21 @@ impl IAMVideoControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetCurrentActualFrameRate(&self, ppin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentActualFrameRate)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentActualFrameRate)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetMaxAvailableFrameRate(&self, ppin: P0, iindex: i32, dimensions: super::super::Foundation::SIZE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxAvailableFrameRate)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), iindex, ::core::mem::transmute(dimensions), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxAvailableFrameRate)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), iindex, ::core::mem::transmute(dimensions), &mut result__).map(|| result__) } pub unsafe fn GetFrameRateList(&self, ppin: P0, iindex: i32, dimensions: super::super::Foundation::SIZE, listsize: *mut i32, framerates: *mut *mut i64) -> ::windows_core::Result<()> where @@ -2811,7 +2811,7 @@ pub struct IAMVideoControl_Vtbl { impl IAMVideoDecimationProperties { pub unsafe fn QueryDecimationUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDecimationUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDecimationUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecimationUsage(&self, usage: DECIMATION_USAGE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDecimationUsage)(::windows_core::Interface::as_raw(self), usage).ok() @@ -3005,7 +3005,7 @@ impl IAsyncReader { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestAllocator)(::windows_core::Interface::as_raw(self), ppreferred.into_param().abi(), pprops, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAllocator)(::windows_core::Interface::as_raw(self), ppreferred.into_param().abi(), pprops, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Request(&self, psample: P0, dwuser: usize) -> ::windows_core::Result<()> where @@ -3087,7 +3087,7 @@ pub struct IAudioData_Vtbl { impl IAudioMediaStream { pub unsafe fn GetMultiMediaStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows_core::GUID, ptype: *mut STREAM_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformation)(::windows_core::Interface::as_raw(self), ppurposeid, ptype).ok() @@ -3100,14 +3100,14 @@ impl IAudioMediaStream { } pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSharedSample(&self, pexistingsample: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendEndOfStream)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -3125,7 +3125,7 @@ impl IAudioMediaStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), paudiodata.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), paudiodata.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3165,7 +3165,7 @@ impl IAudioStreamSample { } pub unsafe fn GetAudioData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3179,7 +3179,7 @@ pub struct IAudioStreamSample_Vtbl { impl IBDA_AUX { pub unsafe fn QueryCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumCapability(&self, dwindex: u32, dwinputid: *mut u32, pconnectortype: *mut ::windows_core::GUID, conntypenum: *mut u32, numvideostds: *mut u32, analogstds: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumCapability)(::windows_core::Interface::as_raw(self), dwindex, dwinputid, pconnectortype, conntypenum, numvideostds, analogstds).ok() @@ -3243,7 +3243,7 @@ impl IBDA_ConditionalAccess { } pub unsafe fn get_Entitlement(&self, usvirtualchannel: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Entitlement)(::windows_core::Interface::as_raw(self), usvirtualchannel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Entitlement)(::windows_core::Interface::as_raw(self), usvirtualchannel, &mut result__).map(|| result__) } pub unsafe fn TuneByChannel(&self, usvirtualchannel: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TuneByChannel)(::windows_core::Interface::as_raw(self), usvirtualchannel).ok() @@ -3259,7 +3259,7 @@ impl IBDA_ConditionalAccess { } pub unsafe fn GetModuleUI(&self, bydialognumber: u8) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleUI)(::windows_core::Interface::as_raw(self), bydialognumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleUI)(::windows_core::Interface::as_raw(self), bydialognumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InformUIClosed(&self, bydialognumber: u8, closereason: UICloseReasonType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InformUIClosed)(::windows_core::Interface::as_raw(self), bydialognumber, closereason).ok() @@ -3288,7 +3288,7 @@ impl IBDA_ConditionalAccessEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckEntitlementToken)(::windows_core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), requesttype, pbentitlementtoken.len().try_into().unwrap(), ::core::mem::transmute(pbentitlementtoken.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckEntitlementToken)(::windows_core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), requesttype, pbentitlementtoken.len().try_into().unwrap(), ::core::mem::transmute(pbentitlementtoken.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn SetCaptureToken(&self, pbcapturetoken: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCaptureToken)(::windows_core::Interface::as_raw(self), pbcapturetoken.len().try_into().unwrap(), ::core::mem::transmute(pbcapturetoken.as_ptr())).ok() @@ -3304,11 +3304,11 @@ impl IBDA_ConditionalAccessEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CloseMmiDialog)(::windows_core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), uldialognumber, reasoncode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloseMmiDialog)(::windows_core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), uldialognumber, reasoncode, &mut result__).map(|| result__) } pub unsafe fn CreateDialogRequestNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDialogRequestNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDialogRequestNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3809,7 +3809,7 @@ impl IBDA_EthernetFilter { } pub unsafe fn GetMulticastMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3852,7 +3852,7 @@ impl IBDA_FDC { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddPid)(::windows_core::Interface::as_raw(self), pidstoadd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddPid)(::windows_core::Interface::as_raw(self), pidstoadd.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemovePid(&self, pidstoremove: P0) -> ::windows_core::Result<()> where @@ -3865,7 +3865,7 @@ impl IBDA_FDC { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddTid)(::windows_core::Interface::as_raw(self), tidstoadd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddTid)(::windows_core::Interface::as_raw(self), tidstoadd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveTid(&self, tidstoremove: P0) -> ::windows_core::Result<()> where @@ -3951,7 +3951,7 @@ pub struct IBDA_FrequencyFilter_Vtbl { impl IBDA_GuideDataDeliveryService { pub unsafe fn GetGuideDataType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuideDataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuideDataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGuideData(&self, pulcbbufferlen: *mut u32, pbbuffer: *mut u8, pulguidedatapercentageprogress: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGuideData)(::windows_core::Interface::as_raw(self), pulcbbufferlen, pbbuffer, pulguidedatapercentageprogress).ok() @@ -3961,7 +3961,7 @@ impl IBDA_GuideDataDeliveryService { } pub unsafe fn GetTuneXmlFromServiceIdx(&self, ul64serviceidx: u64) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTuneXmlFromServiceIdx)(::windows_core::Interface::as_raw(self), ul64serviceidx, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTuneXmlFromServiceIdx)(::windows_core::Interface::as_raw(self), ul64serviceidx, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServices(&self, pulcbbufferlen: *mut u32, pbbuffer: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetServices)(::windows_core::Interface::as_raw(self), pulcbbufferlen, pbbuffer).ok() @@ -3971,7 +3971,7 @@ impl IBDA_GuideDataDeliveryService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceInfoFromTuneXml)(::windows_core::Interface::as_raw(self), bstrtunexml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceInfoFromTuneXml)(::windows_core::Interface::as_raw(self), bstrtunexml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4010,11 +4010,11 @@ impl IBDA_IPSinkInfo { } pub unsafe fn AdapterIPAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdapterIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdapterIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AdapterDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdapterDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdapterDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4042,7 +4042,7 @@ impl IBDA_IPV4Filter { } pub unsafe fn GetMulticastMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4072,7 +4072,7 @@ impl IBDA_IPV6Filter { } pub unsafe fn GetMulticastMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMulticastMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4153,7 +4153,7 @@ pub struct IBDA_MUX_Vtbl { impl IBDA_NameValueService { pub unsafe fn GetValueNameByIndex(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueNameByIndex)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueNameByIndex)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, bstrname: P0, bstrlanguage: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -4161,7 +4161,7 @@ impl IBDA_NameValueService { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrlanguage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrlanguage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, uldialogrequest: u32, bstrlanguage: P0, bstrname: P1, bstrvalue: P2, ulreserved: u32) -> ::windows_core::Result<()> where @@ -4408,7 +4408,7 @@ pub struct IBDA_Topology_Vtbl { impl IBDA_TransportStreamInfo { pub unsafe fn PatTableTickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PatTableTickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PatTableTickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4442,7 +4442,7 @@ impl IBDA_UserActivityService { } pub unsafe fn GetUserActivityInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserActivityInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserActivityInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserActivityDetected(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UserActivityDetected)(::windows_core::Interface::as_raw(self)).ok() @@ -4531,7 +4531,7 @@ impl IBDA_WMDRMTuner { } pub unsafe fn GetPidProtection(&self, pulpid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPidProtection)(::windows_core::Interface::as_raw(self), pulpid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPidProtection)(::windows_core::Interface::as_raw(self), pulpid, &mut result__).map(|| result__) } pub unsafe fn SetSyncValue(&self, ulsyncvalue: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncValue)(::windows_core::Interface::as_raw(self), ulsyncvalue).ok() @@ -4568,14 +4568,14 @@ impl IBPCSatelliteTuner { } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTuningSpace)(::windows_core::Interface::as_raw(self), ltuningspace).ok() } pub unsafe fn TuningSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TuningSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Logon(&self, hcurrentuser: P0) -> ::windows_core::Result<()> where @@ -4588,18 +4588,18 @@ impl IBPCSatelliteTuner { } pub unsafe fn SignalPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignalPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMode)(::windows_core::Interface::as_raw(self), lmode).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAvailableModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterNotificationCallBack(&self, pnotify: P0, levents: i32) -> ::windows_core::Result<()> where @@ -4640,7 +4640,7 @@ impl IBaseFilter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Stop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Stop)(::windows_core::Interface::as_raw(self)).ok() @@ -4653,7 +4653,7 @@ impl IBaseFilter { } pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).map(|| result__) } pub unsafe fn SetSyncSource(&self, pclock: P0) -> ::windows_core::Result<()> where @@ -4663,18 +4663,18 @@ impl IBaseFilter { } pub unsafe fn GetSyncSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumPins(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPins)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPins)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindPin(&self, id: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryFilterInfo(&self, pinfo: *mut FILTER_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryFilterInfo)(::windows_core::Interface::as_raw(self), pinfo).ok() @@ -4688,7 +4688,7 @@ impl IBaseFilter { } pub unsafe fn QueryVendorInfo(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4710,22 +4710,22 @@ impl IBaseVideoMixer { } pub unsafe fn GetLeadPin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLeadPin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLeadPin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputPinCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputPinCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputPinCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUsingClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUsingClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUsingClock(&self, bvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUsingClock)(::windows_core::Interface::as_raw(self), bvalue).ok() } pub unsafe fn GetClockPeriod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClockPeriod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClockPeriod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClockPeriod(&self, bvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClockPeriod)(::windows_core::Interface::as_raw(self), bvalue).ok() @@ -4754,14 +4754,14 @@ impl IBasicAudio { } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBalance(&self, lbalance: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBalance)(::windows_core::Interface::as_raw(self), lbalance).ok() } pub unsafe fn Balance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Balance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4782,79 +4782,79 @@ pub struct IBasicAudio_Vtbl { impl IBasicVideo { pub unsafe fn AvgTimePerFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvgTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvgTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BitRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BitErrorRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitErrorRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitErrorRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VideoWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VideoHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VideoHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VideoHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceLeft(&self, sourceleft: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceLeft)(::windows_core::Interface::as_raw(self), sourceleft).ok() } pub unsafe fn SourceLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceWidth(&self, sourcewidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceWidth)(::windows_core::Interface::as_raw(self), sourcewidth).ok() } pub unsafe fn SourceWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceTop(&self, sourcetop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceTop)(::windows_core::Interface::as_raw(self), sourcetop).ok() } pub unsafe fn SourceTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceHeight(&self, sourceheight: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceHeight)(::windows_core::Interface::as_raw(self), sourceheight).ok() } pub unsafe fn SourceHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationLeft(&self, destinationleft: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDestinationLeft)(::windows_core::Interface::as_raw(self), destinationleft).ok() } pub unsafe fn DestinationLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationWidth(&self, destinationwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDestinationWidth)(::windows_core::Interface::as_raw(self), destinationwidth).ok() } pub unsafe fn DestinationWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationTop(&self, destinationtop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDestinationTop)(::windows_core::Interface::as_raw(self), destinationtop).ok() } pub unsafe fn DestinationTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationHeight(&self, destinationheight: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDestinationHeight)(::windows_core::Interface::as_raw(self), destinationheight).ok() } pub unsafe fn DestinationHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourcePosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourcePosition)(::windows_core::Interface::as_raw(self), left, top, width, height).ok() @@ -4936,79 +4936,79 @@ pub struct IBasicVideo_Vtbl { impl IBasicVideo2 { pub unsafe fn AvgTimePerFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AvgTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AvgTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BitRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BitRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BitRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BitErrorRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BitErrorRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BitErrorRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VideoWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VideoWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VideoWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VideoHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VideoHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VideoHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceLeft(&self, sourceleft: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceLeft)(::windows_core::Interface::as_raw(self), sourceleft).ok() } pub unsafe fn SourceLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceWidth(&self, sourcewidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceWidth)(::windows_core::Interface::as_raw(self), sourcewidth).ok() } pub unsafe fn SourceWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceTop(&self, sourcetop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceTop)(::windows_core::Interface::as_raw(self), sourcetop).ok() } pub unsafe fn SourceTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceHeight(&self, sourceheight: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourceHeight)(::windows_core::Interface::as_raw(self), sourceheight).ok() } pub unsafe fn SourceHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationLeft(&self, destinationleft: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDestinationLeft)(::windows_core::Interface::as_raw(self), destinationleft).ok() } pub unsafe fn DestinationLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationWidth(&self, destinationwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDestinationWidth)(::windows_core::Interface::as_raw(self), destinationwidth).ok() } pub unsafe fn DestinationWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationTop(&self, destinationtop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDestinationTop)(::windows_core::Interface::as_raw(self), destinationtop).ok() } pub unsafe fn DestinationTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDestinationHeight(&self, destinationheight: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDestinationHeight)(::windows_core::Interface::as_raw(self), destinationheight).ok() } pub unsafe fn DestinationHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourcePosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSourcePosition)(::windows_core::Interface::as_raw(self), left, top, width, height).ok() @@ -5105,7 +5105,7 @@ pub struct IBufferingTime_Vtbl { impl ICCSubStreamFiltering { pub unsafe fn SubstreamTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubstreamTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubstreamTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubstreamTypes(&self, types: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSubstreamTypes)(::windows_core::Interface::as_raw(self), types).ok() @@ -5342,7 +5342,7 @@ impl ICaptureGraphBuilder { } pub unsafe fn GetFiltergraph(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetOutputFileName(&self, ptype: *const ::windows_core::GUID, lpstrfile: P0, ppf: *mut ::core::option::Option, ppsink: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -5425,7 +5425,7 @@ impl ICaptureGraphBuilder2 { } pub unsafe fn GetFiltergraph(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetOutputFileName(&self, ptype: *const ::windows_core::GUID, lpstrfile: P0, ppf: *mut ::core::option::Option, ppsink: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> @@ -5477,7 +5477,7 @@ impl ICaptureGraphBuilder2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), pindir, ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptype.unwrap_or(::std::ptr::null())), funconnected.into_param().abi(), num, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), psource.into_param().abi(), pindir, ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptype.unwrap_or(::std::ptr::null())), funconnected.into_param().abi(), num, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5514,14 +5514,14 @@ impl IConfigAsfWriter { } pub unsafe fn GetCurrentProfileId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProfileId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProfileId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConfigureFilterUsingProfileGuid(&self, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ConfigureFilterUsingProfileGuid)(::windows_core::Interface::as_raw(self), guidprofile).ok() } pub unsafe fn GetCurrentProfileGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProfileGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProfileGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_WindowsMediaFormat")] pub unsafe fn ConfigureFilterUsingProfile(&self, pprofile: P0) -> ::windows_core::Result<()> @@ -5533,7 +5533,7 @@ impl IConfigAsfWriter { #[cfg(feature = "Win32_Media_WindowsMediaFormat")] pub unsafe fn GetCurrentProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIndexMode(&self, bindexfile: P0) -> ::windows_core::Result<()> where @@ -5543,7 +5543,7 @@ impl IConfigAsfWriter { } pub unsafe fn GetIndexMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5573,14 +5573,14 @@ impl IConfigAsfWriter2 { } pub unsafe fn GetCurrentProfileId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentProfileId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentProfileId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConfigureFilterUsingProfileGuid(&self, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ConfigureFilterUsingProfileGuid)(::windows_core::Interface::as_raw(self), guidprofile).ok() } pub unsafe fn GetCurrentProfileGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentProfileGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentProfileGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_WindowsMediaFormat")] pub unsafe fn ConfigureFilterUsingProfile(&self, pprofile: P0) -> ::windows_core::Result<()> @@ -5592,7 +5592,7 @@ impl IConfigAsfWriter2 { #[cfg(feature = "Win32_Media_WindowsMediaFormat")] pub unsafe fn GetCurrentProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIndexMode(&self, bindexfile: P0) -> ::windows_core::Result<()> where @@ -5602,14 +5602,14 @@ impl IConfigAsfWriter2 { } pub unsafe fn GetIndexMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndexMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndexMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StreamNumFromPin(&self, ppin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StreamNumFromPin)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StreamNumFromPin)(::windows_core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParam(&self, dwparam: u32, dwparam1: u32, dwparam2: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParam)(::windows_core::Interface::as_raw(self), dwparam, dwparam1, dwparam2).ok() @@ -5638,7 +5638,7 @@ impl IConfigAviMux { } pub unsafe fn GetMasterStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMasterStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMasterStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputCompatibilityIndex(&self, foldindex: P0) -> ::windows_core::Result<()> where @@ -5648,7 +5648,7 @@ impl IConfigAviMux { } pub unsafe fn GetOutputCompatibilityIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCompatibilityIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCompatibilityIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5668,7 +5668,7 @@ impl IConfigInterleaving { } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn put_Interleaving(&self, prtinterleave: *const i64, prtpreroll: *const i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_Interleaving)(::windows_core::Interface::as_raw(self), prtinterleave, prtpreroll).ok() @@ -5892,14 +5892,14 @@ impl IDeferredCommand { } pub unsafe fn Confidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Postpone(&self, newtime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Postpone)(::windows_core::Interface::as_raw(self), newtime).ok() } pub unsafe fn GetHResult(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5938,7 +5938,7 @@ impl IDirectDrawMediaSampleAllocator { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetDirectDraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5955,7 +5955,7 @@ pub struct IDirectDrawMediaSampleAllocator_Vtbl { impl IDirectDrawMediaStream { pub unsafe fn GetMultiMediaStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows_core::GUID, ptype: *mut STREAM_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInformation)(::windows_core::Interface::as_raw(self), ppurposeid, ptype).ok() @@ -5968,14 +5968,14 @@ impl IDirectDrawMediaStream { } pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSharedSample(&self, pexistingsample: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SendEndOfStream)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -5994,7 +5994,7 @@ impl IDirectDrawMediaStream { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetDirectDraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn SetDirectDraw(&self, pdirectdraw: P0) -> ::windows_core::Result<()> @@ -6009,11 +6009,11 @@ impl IDirectDrawMediaStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), psurface.into_param().abi(), prect, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSample)(::windows_core::Interface::as_raw(self), psurface.into_param().abi(), prect, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTimePerFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimePerFrame)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6086,7 +6086,7 @@ pub struct IDirectDrawStreamSample_Vtbl { impl IDirectDrawVideo { pub unsafe fn GetSwitches(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSwitches)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwitches)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSwitches(&self, switches: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSwitches)(::windows_core::Interface::as_raw(self), switches).ok() @@ -6116,11 +6116,11 @@ impl IDirectDrawVideo { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetDirectDraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectDraw)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSurfaceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurfaceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurfaceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefault(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefault)(::windows_core::Interface::as_raw(self)).ok() @@ -6130,21 +6130,21 @@ impl IDirectDrawVideo { } pub unsafe fn CanUseScanLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanUseScanLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanUseScanLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseOverlayStretch(&self, useoverlaystretch: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UseOverlayStretch)(::windows_core::Interface::as_raw(self), useoverlaystretch).ok() } pub unsafe fn CanUseOverlayStretch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanUseOverlayStretch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanUseOverlayStretch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseWhenFullScreen(&self, usewhenfullscreen: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UseWhenFullScreen)(::windows_core::Interface::as_raw(self), usewhenfullscreen).ok() } pub unsafe fn WillUseFullScreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WillUseFullScreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WillUseFullScreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6420,58 +6420,58 @@ pub struct IDvdControl_Vtbl { impl IDvdControl2 { pub unsafe fn PlayTitle(&self, ultitle: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayTitle)(::windows_core::Interface::as_raw(self), ultitle, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayTitle)(::windows_core::Interface::as_raw(self), ultitle, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayChapterInTitle(&self, ultitle: u32, ulchapter: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayChapterInTitle)(::windows_core::Interface::as_raw(self), ultitle, ulchapter, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayChapterInTitle)(::windows_core::Interface::as_raw(self), ultitle, ulchapter, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayAtTimeInTitle(&self, ultitle: u32, pstarttime: *const DVD_HMSF_TIMECODE, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayAtTimeInTitle)(::windows_core::Interface::as_raw(self), ultitle, pstarttime, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayAtTimeInTitle)(::windows_core::Interface::as_raw(self), ultitle, pstarttime, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Stop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Stop)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn ReturnFromSubmenu(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReturnFromSubmenu)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReturnFromSubmenu)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayAtTime(&self, ptime: *const DVD_HMSF_TIMECODE, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayAtTime)(::windows_core::Interface::as_raw(self), ptime, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayAtTime)(::windows_core::Interface::as_raw(self), ptime, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayChapter(&self, ulchapter: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayChapter)(::windows_core::Interface::as_raw(self), ulchapter, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayChapter)(::windows_core::Interface::as_raw(self), ulchapter, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayPrevChapter(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayPrevChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayPrevChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReplayChapter(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplayChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplayChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayNextChapter(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayNextChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayNextChapter)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayForwards(&self, dspeed: f64, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayForwards)(::windows_core::Interface::as_raw(self), dspeed, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayForwards)(::windows_core::Interface::as_raw(self), dspeed, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayBackwards(&self, dspeed: f64, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayBackwards)(::windows_core::Interface::as_raw(self), dspeed, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayBackwards)(::windows_core::Interface::as_raw(self), dspeed, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowMenu(&self, menuid: DVD_MENU_ID, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowMenu)(::windows_core::Interface::as_raw(self), menuid, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowMenu)(::windows_core::Interface::as_raw(self), menuid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Resume(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectRelativeButton(&self, buttondir: DVD_RELATIVE_BUTTON) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectRelativeButton)(::windows_core::Interface::as_raw(self), buttondir).ok() @@ -6496,22 +6496,22 @@ impl IDvdControl2 { } pub unsafe fn SelectAudioStream(&self, ulaudio: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectAudioStream)(::windows_core::Interface::as_raw(self), ulaudio, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectAudioStream)(::windows_core::Interface::as_raw(self), ulaudio, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectSubpictureStream(&self, ulsubpicture: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectSubpictureStream)(::windows_core::Interface::as_raw(self), ulsubpicture, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectSubpictureStream)(::windows_core::Interface::as_raw(self), ulsubpicture, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubpictureState(&self, bstate: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetSubpictureState)(::windows_core::Interface::as_raw(self), bstate.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetSubpictureState)(::windows_core::Interface::as_raw(self), bstate.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectAngle(&self, ulangle: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectAngle)(::windows_core::Interface::as_raw(self), ulangle, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectAngle)(::windows_core::Interface::as_raw(self), ulangle, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectParentalLevel(&self, ulparentallevel: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectParentalLevel)(::windows_core::Interface::as_raw(self), ulparentallevel).ok() @@ -6539,7 +6539,7 @@ impl IDvdControl2 { } pub unsafe fn PlayChaptersAutoStop(&self, ultitle: u32, ulchapter: u32, ulchapterstoplay: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayChaptersAutoStop)(::windows_core::Interface::as_raw(self), ultitle, ulchapter, ulchapterstoplay, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayChaptersAutoStop)(::windows_core::Interface::as_raw(self), ultitle, ulchapter, ulchapterstoplay, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptParentalLevelChange(&self, baccept: P0) -> ::windows_core::Result<()> where @@ -6558,15 +6558,15 @@ impl IDvdControl2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), pstate.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), pstate.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlayPeriodInTitleAutoStop(&self, ultitle: u32, pstarttime: *const DVD_HMSF_TIMECODE, pendtime: *const DVD_HMSF_TIMECODE, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlayPeriodInTitleAutoStop)(::windows_core::Interface::as_raw(self), ultitle, pstarttime, pendtime, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlayPeriodInTitleAutoStop)(::windows_core::Interface::as_raw(self), ultitle, pstarttime, pendtime, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGPRM(&self, ulindex: u32, wvalue: u16, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetGPRM)(::windows_core::Interface::as_raw(self), ulindex, wvalue, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetGPRM)(::windows_core::Interface::as_raw(self), ulindex, wvalue, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectDefaultMenuLanguage(&self, language: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectDefaultMenuLanguage)(::windows_core::Interface::as_raw(self), language).ok() @@ -6628,7 +6628,7 @@ pub struct IDvdControl2_Vtbl { impl IDvdGraphBuilder { pub unsafe fn GetFiltergraph(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFiltergraph)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDvdInterface(&self, riid: *const ::windows_core::GUID, ppvif: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDvdInterface)(::windows_core::Interface::as_raw(self), riid, ppvif).ok() @@ -6653,15 +6653,15 @@ pub struct IDvdGraphBuilder_Vtbl { impl IDvdInfo { pub unsafe fn GetCurrentDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalTitleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalTitleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentButton(&self, pulbuttonsavailable: *mut u32, pulcurrentbutton: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentButton)(::windows_core::Interface::as_raw(self), pulbuttonsavailable, pulcurrentbutton).ok() @@ -6677,23 +6677,23 @@ impl IDvdInfo { } pub unsafe fn GetCurrentUOPS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentUOPS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentUOPS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllSPRMs(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllSPRMs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllSPRMs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllGPRMs(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllGPRMs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllGPRMs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioLanguage(&self, ulstream: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).map(|| result__) } pub unsafe fn GetSubpictureLanguage(&self, ulstream: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubpictureLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubpictureLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).map(|| result__) } pub unsafe fn GetTitleAttributes(&self, ultitle: u32, patr: *mut DVD_ATR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTitleAttributes)(::windows_core::Interface::as_raw(self), ultitle, patr).ok() @@ -6703,15 +6703,15 @@ impl IDvdInfo { } pub unsafe fn GetCurrentVideoAttributes(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentVideoAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentVideoAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentAudioAttributes(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentAudioAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentAudioAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSubpictureAttributes(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSubpictureAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSubpictureAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentVolumeInfo(&self, pulnumofvol: *mut u32, pulthisvolnum: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentVolumeInfo)(::windows_core::Interface::as_raw(self), pulnumofvol, pulthisvolnum, pside, pulnumoftitles).ok() @@ -6724,11 +6724,11 @@ impl IDvdInfo { } pub unsafe fn GetNumberOfChapters(&self, ultitle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfChapters)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfChapters)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).map(|| result__) } pub unsafe fn GetTitleParentalLevels(&self, ultitle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitleParentalLevels)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitleParentalLevels)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).map(|| result__) } pub unsafe fn GetRoot(&self, proot: &mut [u8], pulactualsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(proot.as_ptr()), proot.len().try_into().unwrap(), pulactualsize).ok() @@ -6767,11 +6767,11 @@ pub struct IDvdInfo_Vtbl { impl IDvdInfo2 { pub unsafe fn GetCurrentDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalTitleTime(&self, ptotaltime: *mut DVD_HMSF_TIMECODE, ultimecodeflags: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTotalTitleTime)(::windows_core::Interface::as_raw(self), ptotaltime, ultimecodeflags).ok() @@ -6790,23 +6790,23 @@ impl IDvdInfo2 { } pub unsafe fn GetCurrentUOPS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentUOPS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentUOPS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllSPRMs(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllSPRMs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllSPRMs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllGPRMs(&self) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllGPRMs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllGPRMs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioLanguage(&self, ulstream: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).map(|| result__) } pub unsafe fn GetSubpictureLanguage(&self, ulstream: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubpictureLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubpictureLanguage)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).map(|| result__) } pub unsafe fn GetTitleAttributes(&self, ultitle: u32, pmenu: *mut DVD_MenuAttributes, ptitle: *mut DVD_TitleAttributes) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTitleAttributes)(::windows_core::Interface::as_raw(self), ultitle, pmenu, ptitle).ok() @@ -6825,14 +6825,14 @@ impl IDvdInfo2 { } pub unsafe fn GetSubpictureAttributes(&self, ulstream: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubpictureAttributes)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubpictureAttributes)(::windows_core::Interface::as_raw(self), ulstream, &mut result__).map(|| result__) } pub unsafe fn GetDVDVolumeInfo(&self, pulnumofvolumes: *mut u32, pulvolume: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDVDVolumeInfo)(::windows_core::Interface::as_raw(self), pulnumofvolumes, pulvolume, pside, pulnumoftitles).ok() } pub unsafe fn GetDVDTextNumberOfLanguages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDVDTextNumberOfLanguages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDVDTextLanguageInfo(&self, ullangindex: u32, pulnumofstrings: *mut u32, plangcode: *mut u32, pbcharacterset: *mut DVD_TextCharSet) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDVDTextLanguageInfo)(::windows_core::Interface::as_raw(self), ullangindex, pulnumofstrings, plangcode, pbcharacterset).ok() @@ -6848,44 +6848,44 @@ impl IDvdInfo2 { } pub unsafe fn GetNumberOfChapters(&self, ultitle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfChapters)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfChapters)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).map(|| result__) } pub unsafe fn GetTitleParentalLevels(&self, ultitle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitleParentalLevels)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitleParentalLevels)(::windows_core::Interface::as_raw(self), ultitle, &mut result__).map(|| result__) } pub unsafe fn GetDVDDirectory(&self, pszwpath: &mut [u16], pulactualsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDVDDirectory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszwpath.as_ptr()), pszwpath.len().try_into().unwrap(), pulactualsize).ok() } pub unsafe fn IsAudioStreamEnabled(&self, ulstreamnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), ulstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAudioStreamEnabled)(::windows_core::Interface::as_raw(self), ulstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetDiscID(&self, pszwpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiscID)(::windows_core::Interface::as_raw(self), pszwpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiscID)(::windows_core::Interface::as_raw(self), pszwpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMenuLanguages(&self, planguages: *mut u32, ulmaxlanguages: u32, pulactuallanguages: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMenuLanguages)(::windows_core::Interface::as_raw(self), planguages, ulmaxlanguages, pulactuallanguages).ok() } pub unsafe fn GetButtonAtPosition(&self, point: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetButtonAtPosition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetButtonAtPosition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).map(|| result__) } pub unsafe fn GetCmdFromEvent(&self, lparam1: isize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCmdFromEvent)(::windows_core::Interface::as_raw(self), lparam1, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCmdFromEvent)(::windows_core::Interface::as_raw(self), lparam1, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultMenuLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultMenuLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultAudioLanguage(&self, planguage: *mut u32, paudioextension: *mut DVD_AUDIO_LANG_EXT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDefaultAudioLanguage)(::windows_core::Interface::as_raw(self), planguage, paudioextension).ok() @@ -6898,11 +6898,11 @@ impl IDvdInfo2 { } pub unsafe fn GetButtonRect(&self, ulbutton: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetButtonRect)(::windows_core::Interface::as_raw(self), ulbutton, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetButtonRect)(::windows_core::Interface::as_raw(self), ulbutton, &mut result__).map(|| result__) } pub unsafe fn IsSubpictureStreamEnabled(&self, ulstreamnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), ulstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubpictureStreamEnabled)(::windows_core::Interface::as_raw(self), ulstreamnum, &mut result__).map(|| result__) } } #[repr(C)] @@ -6954,11 +6954,11 @@ pub struct IDvdInfo2_Vtbl { impl IDvdState { pub unsafe fn GetDiscID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiscID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiscID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentalLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentalLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6973,11 +6973,11 @@ pub struct IDvdState_Vtbl { impl IESEvent { pub unsafe fn GetEventId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCompletionStatus)(::windows_core::Interface::as_raw(self), dwresult).ok() @@ -6985,11 +6985,11 @@ impl IESEvent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetData(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStringData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7038,11 +7038,11 @@ impl IEncoderAPI { } pub unsafe fn GetDefaultValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, api: *const ::windows_core::GUID, value: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), api, ::core::mem::transmute(value)).ok() @@ -7075,7 +7075,7 @@ impl IEnumFilters { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7105,7 +7105,7 @@ impl IEnumMediaTypes { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7134,7 +7134,7 @@ impl IEnumPIDMap { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7160,7 +7160,7 @@ impl IEnumPins { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7186,7 +7186,7 @@ impl IEnumRegFilters { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7212,7 +7212,7 @@ impl IEnumStreamIdMap { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7271,7 +7271,7 @@ impl IFileSinkFilter2 { } pub unsafe fn GetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7386,7 +7386,7 @@ impl IFilterGraph { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindFilterByName(&self, pname: P0) -> ::windows_core::Result @@ -7394,7 +7394,7 @@ impl IFilterGraph { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ConnectDirect(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -7465,7 +7465,7 @@ impl IFilterGraph2 { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindFilterByName(&self, pname: P0) -> ::windows_core::Result @@ -7473,7 +7473,7 @@ impl IFilterGraph2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ConnectDirect(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -7525,7 +7525,7 @@ impl IFilterGraph2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLogFile)(::windows_core::Interface::as_raw(self), hfile).ok() @@ -7544,7 +7544,7 @@ impl IFilterGraph2 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSourceFilterForMoniker)(::windows_core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSourceFilterForMoniker)(::windows_core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ReconnectEx(&self, ppin: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -7594,7 +7594,7 @@ impl IFilterGraph3 { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindFilterByName(&self, pname: P0) -> ::windows_core::Result @@ -7602,7 +7602,7 @@ impl IFilterGraph3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ConnectDirect(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -7654,7 +7654,7 @@ impl IFilterGraph3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLogFile)(::windows_core::Interface::as_raw(self), hfile).ok() @@ -7673,7 +7673,7 @@ impl IFilterGraph3 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddSourceFilterForMoniker)(::windows_core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddSourceFilterForMoniker)(::windows_core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ReconnectEx(&self, ppin: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -7719,32 +7719,32 @@ impl IFilterInfo { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), strpinid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindPin)(::windows_core::Interface::as_raw(self), strpinid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VendorInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Filter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Pins(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pins)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pins)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFileSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFileSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFileSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Filename(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Filename)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Filename)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilename(&self, strfilename: P0) -> ::windows_core::Result<()> where @@ -7787,7 +7787,7 @@ impl IFilterMapper { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterFilterInstance)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clsid), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterFilterInstance)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(clsid), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterPin(&self, filter: ::windows_core::GUID, name: P0, brendered: P1, boutput: P2, bzero: P3, bmany: P4, connectstofilter: ::windows_core::GUID, connectstopin: P5) -> ::windows_core::Result<()> where @@ -7960,7 +7960,7 @@ impl IFilterMapper3 { } pub unsafe fn GetICreateDevEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetICreateDevEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetICreateDevEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7980,7 +7980,7 @@ impl IFrequencyMap { } pub unsafe fn CountryCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountryCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCountryCode(&self, ulcountrycode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCountryCode)(::windows_core::Interface::as_raw(self), ulcountrycode).ok() @@ -8008,14 +8008,14 @@ pub struct IFrequencyMap_Vtbl { impl IFullScreenVideo { pub unsafe fn CountModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModeInfo(&self, mode: i32, pwidth: *mut i32, pheight: *mut i32, pdepth: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetModeInfo)(::windows_core::Interface::as_raw(self), mode, pwidth, pheight, pdepth).ok() } pub unsafe fn GetCurrentMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsModeAvailable(&self, mode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsModeAvailable)(::windows_core::Interface::as_raw(self), mode).ok() @@ -8028,7 +8028,7 @@ impl IFullScreenVideo { } pub unsafe fn GetClipFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipFactor(&self, clipfactor: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClipFactor)(::windows_core::Interface::as_raw(self), clipfactor).ok() @@ -8041,14 +8041,14 @@ impl IFullScreenVideo { } pub unsafe fn GetMessageDrain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitor(&self, monitor: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMonitor)(::windows_core::Interface::as_raw(self), monitor).ok() } pub unsafe fn GetMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HideOnDeactivate(&self, hide: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).HideOnDeactivate)(::windows_core::Interface::as_raw(self), hide).ok() @@ -8064,7 +8064,7 @@ impl IFullScreenVideo { } pub unsafe fn GetCaption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefault(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefault)(::windows_core::Interface::as_raw(self)).ok() @@ -8097,14 +8097,14 @@ pub struct IFullScreenVideo_Vtbl { impl IFullScreenVideoEx { pub unsafe fn CountModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CountModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CountModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModeInfo(&self, mode: i32, pwidth: *mut i32, pheight: *mut i32, pdepth: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetModeInfo)(::windows_core::Interface::as_raw(self), mode, pwidth, pheight, pdepth).ok() } pub unsafe fn GetCurrentMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsModeAvailable(&self, mode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsModeAvailable)(::windows_core::Interface::as_raw(self), mode).ok() @@ -8117,7 +8117,7 @@ impl IFullScreenVideoEx { } pub unsafe fn GetClipFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipFactor(&self, clipfactor: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetClipFactor)(::windows_core::Interface::as_raw(self), clipfactor).ok() @@ -8130,14 +8130,14 @@ impl IFullScreenVideoEx { } pub unsafe fn GetMessageDrain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitor(&self, monitor: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMonitor)(::windows_core::Interface::as_raw(self), monitor).ok() } pub unsafe fn GetMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HideOnDeactivate(&self, hide: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.HideOnDeactivate)(::windows_core::Interface::as_raw(self), hide).ok() @@ -8153,7 +8153,7 @@ impl IFullScreenVideoEx { } pub unsafe fn GetCaption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefault(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDefault)(::windows_core::Interface::as_raw(self)).ok() @@ -8175,7 +8175,7 @@ impl IFullScreenVideoEx { } pub unsafe fn IsKeepPixelAspectRatio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsKeepPixelAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsKeepPixelAspectRatio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8199,7 +8199,7 @@ impl IGetCapabilitiesKey { #[cfg(feature = "Win32_System_Registry")] pub unsafe fn GetCapabilitiesKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilitiesKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilitiesKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8231,7 +8231,7 @@ impl IGraphBuilder { } pub unsafe fn EnumFilters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindFilterByName(&self, pname: P0) -> ::windows_core::Result @@ -8239,7 +8239,7 @@ impl IGraphBuilder { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFilterByName)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ConnectDirect(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows_core::Result<()> @@ -8291,7 +8291,7 @@ impl IGraphBuilder { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSourceFilter)(::windows_core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogFile)(::windows_core::Interface::as_raw(self), hfile).ok() @@ -8347,7 +8347,7 @@ impl IGraphConfig { } pub unsafe fn EnumCacheFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCacheFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCacheFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveFilterFromCache(&self, pfilter: P0) -> ::windows_core::Result<()> @@ -8358,7 +8358,7 @@ impl IGraphConfig { } pub unsafe fn GetStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PushThroughData(&self, poutputpin: P0, pconnection: P1, heventabort: P2) -> ::windows_core::Result<()> where @@ -8381,7 +8381,7 @@ impl IGraphConfig { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterFlags)(::windows_core::Interface::as_raw(self), pfilter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterFlags)(::windows_core::Interface::as_raw(self), pfilter.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveFilterEx(&self, pfilter: P0, flags: u32) -> ::windows_core::Result<()> @@ -8442,7 +8442,7 @@ pub struct IGraphConfigCallback_Vtbl { impl IGraphVersion { pub unsafe fn QueryVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8456,7 +8456,7 @@ pub struct IGraphVersion_Vtbl { impl IIPDVDec { pub unsafe fn IPDisplay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IPDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IPDisplay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIPDisplay(&self, displaypix: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIPDisplay)(::windows_core::Interface::as_raw(self), displaypix).ok() @@ -8480,7 +8480,7 @@ impl IMPEG2PIDMap { } pub unsafe fn EnumPIDMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPIDMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPIDMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8502,7 +8502,7 @@ impl IMPEG2StreamIdMap { } pub unsafe fn EnumStreamIdMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStreamIdMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStreamIdMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8530,7 +8530,7 @@ impl IMediaControl { } pub unsafe fn GetState(&self, mstimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).map(|| result__) } pub unsafe fn RenderFile(&self, strfilename: P0) -> ::windows_core::Result<()> where @@ -8544,17 +8544,17 @@ impl IMediaControl { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSourceFilter)(::windows_core::Interface::as_raw(self), strfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSourceFilter)(::windows_core::Interface::as_raw(self), strfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FilterCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilterCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilterCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegFilterCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegFilterCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegFilterCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StopWhenReady(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StopWhenReady)(::windows_core::Interface::as_raw(self)).ok() @@ -8592,14 +8592,14 @@ pub struct IMediaControl_Vtbl { impl IMediaEvent { pub unsafe fn GetEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEvent(&self, leventcode: *mut i32, lparam1: *mut isize, lparam2: *mut isize, mstimeout: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), leventcode, lparam1, lparam2, mstimeout).ok() } pub unsafe fn WaitForCompletion(&self, mstimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).map(|| result__) } pub unsafe fn CancelDefaultHandling(&self, levcode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelDefaultHandling)(::windows_core::Interface::as_raw(self), levcode).ok() @@ -8631,14 +8631,14 @@ pub struct IMediaEvent_Vtbl { impl IMediaEventEx { pub unsafe fn GetEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEvent(&self, leventcode: *mut i32, lparam1: *mut isize, lparam2: *mut isize, mstimeout: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), leventcode, lparam1, lparam2, mstimeout).ok() } pub unsafe fn WaitForCompletion(&self, mstimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).map(|| result__) } pub unsafe fn CancelDefaultHandling(&self, levcode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CancelDefaultHandling)(::windows_core::Interface::as_raw(self), levcode).ok() @@ -8657,7 +8657,7 @@ impl IMediaEventEx { } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8691,7 +8691,7 @@ impl IMediaFilter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Stop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Stop)(::windows_core::Interface::as_raw(self)).ok() @@ -8704,7 +8704,7 @@ impl IMediaFilter { } pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).map(|| result__) } pub unsafe fn SetSyncSource(&self, pclock: P0) -> ::windows_core::Result<()> where @@ -8714,7 +8714,7 @@ impl IMediaFilter { } pub unsafe fn GetSyncSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8734,22 +8734,22 @@ pub struct IMediaFilter_Vtbl { impl IMediaParamInfo { pub unsafe fn GetParamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParamInfo(&self, dwparamindex: u32, pinfo: *mut MP_PARAMINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetParamInfo)(::windows_core::Interface::as_raw(self), dwparamindex, pinfo).ok() } pub unsafe fn GetParamText(&self, dwparamindex: u32) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParamText)(::windows_core::Interface::as_raw(self), dwparamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParamText)(::windows_core::Interface::as_raw(self), dwparamindex, &mut result__).map(|| result__) } pub unsafe fn GetNumTimeFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumTimeFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumTimeFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedTimeFormat(&self, dwformatindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedTimeFormat)(::windows_core::Interface::as_raw(self), dwformatindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedTimeFormat)(::windows_core::Interface::as_raw(self), dwformatindex, &mut result__).map(|| result__) } pub unsafe fn GetCurrentTimeFormat(&self, pguidtimeformat: *mut ::windows_core::GUID, ptimedata: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentTimeFormat)(::windows_core::Interface::as_raw(self), pguidtimeformat, ptimedata).ok() @@ -8771,7 +8771,7 @@ pub struct IMediaParamInfo_Vtbl { impl IMediaParams { pub unsafe fn GetParam(&self, dwparamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParam)(::windows_core::Interface::as_raw(self), dwparamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParam)(::windows_core::Interface::as_raw(self), dwparamindex, &mut result__).map(|| result__) } pub unsafe fn SetParam(&self, dwparamindex: u32, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParam)(::windows_core::Interface::as_raw(self), dwparamindex, value).ok() @@ -8804,25 +8804,25 @@ pub struct IMediaParams_Vtbl { impl IMediaPosition { pub unsafe fn Duration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, lltime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentPosition)(::windows_core::Interface::as_raw(self), lltime).ok() } pub unsafe fn CurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStopTime(&self, lltime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStopTime)(::windows_core::Interface::as_raw(self), lltime).ok() } pub unsafe fn PrerollTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrerollTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrerollTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrerollTime(&self, lltime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrerollTime)(::windows_core::Interface::as_raw(self), lltime).ok() @@ -8832,15 +8832,15 @@ impl IMediaPosition { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanSeekForward(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanSeekForward)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanSeekForward)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanSeekBackward(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanSeekBackward)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanSeekBackward)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8897,7 +8897,7 @@ pub struct IMediaPropertyBag_Vtbl { impl IMediaSample { pub unsafe fn GetPointer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> i32 { (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self)) @@ -8935,7 +8935,7 @@ impl IMediaSample { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn GetMediaType(&self) -> ::windows_core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -8989,7 +8989,7 @@ pub struct IMediaSample_Vtbl { impl IMediaSample2 { pub unsafe fn GetPointer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> i32 { (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self)) @@ -9027,7 +9027,7 @@ impl IMediaSample2 { #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn GetMediaType(&self) -> ::windows_core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -9067,7 +9067,7 @@ pub struct IMediaSample2_Vtbl { impl IMediaSample2Config { pub unsafe fn GetSurface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9081,7 +9081,7 @@ pub struct IMediaSample2Config_Vtbl { impl IMediaSeeking { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CheckCapabilities(&self, pcapabilities: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckCapabilities)(::windows_core::Interface::as_raw(self), pcapabilities).ok() @@ -9091,11 +9091,11 @@ impl IMediaSeeking { } pub unsafe fn QueryPreferredFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingTimeFormat(&self, pformat: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsUsingTimeFormat)(::windows_core::Interface::as_raw(self), pformat).ok() @@ -9105,15 +9105,15 @@ impl IMediaSeeking { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStopPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStopPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConvertTimeFormat(&self, ptarget: *mut i64, ptargetformat: ::core::option::Option<*const ::windows_core::GUID>, source: i64, psourceformat: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ConvertTimeFormat)(::windows_core::Interface::as_raw(self), ptarget, ::core::mem::transmute(ptargetformat.unwrap_or(::std::ptr::null())), source, ::core::mem::transmute(psourceformat.unwrap_or(::std::ptr::null()))).ok() @@ -9132,11 +9132,11 @@ impl IMediaSeeking { } pub unsafe fn GetRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9166,7 +9166,7 @@ pub struct IMediaSeeking_Vtbl { impl IMediaStream { pub unsafe fn GetMultiMediaStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMultiMediaStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows_core::GUID, ptype: *mut STREAM_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInformation)(::windows_core::Interface::as_raw(self), ppurposeid, ptype).ok() @@ -9179,14 +9179,14 @@ impl IMediaStream { } pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSharedSample(&self, pexistingsample: P0, dwflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSharedSample)(::windows_core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendEndOfStream)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -9212,7 +9212,7 @@ impl IMediaStreamFilter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Stop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Stop)(::windows_core::Interface::as_raw(self)).ok() @@ -9225,7 +9225,7 @@ impl IMediaStreamFilter { } pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).map(|| result__) } pub unsafe fn SetSyncSource(&self, pclock: P0) -> ::windows_core::Result<()> where @@ -9235,18 +9235,18 @@ impl IMediaStreamFilter { } pub unsafe fn GetSyncSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSyncSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumPins(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumPins)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumPins)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindPin(&self, id: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindPin)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindPin)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryFilterInfo(&self, pinfo: *mut FILTER_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueryFilterInfo)(::windows_core::Interface::as_raw(self), pinfo).ok() @@ -9260,7 +9260,7 @@ impl IMediaStreamFilter { } pub unsafe fn QueryVendorInfo(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryVendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryVendorInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddMediaStream(&self, pammediastream: P0) -> ::windows_core::Result<()> where @@ -9270,11 +9270,11 @@ impl IMediaStreamFilter { } pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportSeeking(&self, brenderer: P0) -> ::windows_core::Result<()> where @@ -9287,7 +9287,7 @@ impl IMediaStreamFilter { } pub unsafe fn GetCurrentStreamTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentStreamTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentStreamTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WaitUntil(&self, waitstreamtime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WaitUntil)(::windows_core::Interface::as_raw(self), waitstreamtime).ok() @@ -9325,11 +9325,11 @@ pub struct IMediaStreamFilter_Vtbl { impl IMediaTypeInfo { pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Subtype(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subtype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subtype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9345,11 +9345,11 @@ pub struct IMediaTypeInfo_Vtbl { impl IMemAllocator { pub unsafe fn SetProperties(&self, prequest: *const ALLOCATOR_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetProperties)(::windows_core::Interface::as_raw(self), prequest, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetProperties)(::windows_core::Interface::as_raw(self), prequest, &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -9383,11 +9383,11 @@ pub struct IMemAllocator_Vtbl { impl IMemAllocatorCallbackTemp { pub unsafe fn SetProperties(&self, prequest: *const ALLOCATOR_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetProperties)(::windows_core::Interface::as_raw(self), prequest, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetProperties)(::windows_core::Interface::as_raw(self), prequest, &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -9412,7 +9412,7 @@ impl IMemAllocatorCallbackTemp { } pub unsafe fn GetFreeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFreeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFreeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9440,7 +9440,7 @@ pub struct IMemAllocatorNotifyCallbackTemp_Vtbl { impl IMemInputPin { pub unsafe fn GetAllocator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyAllocator(&self, pallocator: P0, breadonly: P1) -> ::windows_core::Result<()> where @@ -9451,7 +9451,7 @@ impl IMemInputPin { } pub unsafe fn GetAllocatorRequirements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocatorRequirements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocatorRequirements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Receive(&self, psample: P0) -> ::windows_core::Result<()> where @@ -9461,7 +9461,7 @@ impl IMemInputPin { } pub unsafe fn ReceiveMultiple(&self, psamples: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveMultiple)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psamples.as_ptr()), psamples.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveMultiple)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psamples.as_ptr()), psamples.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn ReceiveCanBlock(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReceiveCanBlock)(::windows_core::Interface::as_raw(self)).ok() @@ -9513,7 +9513,7 @@ impl IMixerOCX { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<*mut u32> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn OnDraw(&self, hdcdraw: P0, prcdraw: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> @@ -9705,7 +9705,7 @@ impl IMpeg2Demultiplexer { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOutputPin)(::windows_core::Interface::as_raw(self), pmediatype, pszpinname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOutputPin)(::windows_core::Interface::as_raw(self), pmediatype, pszpinname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn SetOutputPinMediaType(&self, pszpinname: P0, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> @@ -9740,35 +9740,35 @@ pub struct IMpeg2Demultiplexer_Vtbl { impl IMpegAudioDecoder { pub unsafe fn FrequencyDivider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FrequencyDivider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FrequencyDivider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFrequencyDivider(&self, divider: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrequencyDivider)(::windows_core::Interface::as_raw(self), divider).ok() } pub unsafe fn DecoderAccuracy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DecoderAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DecoderAccuracy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecoderAccuracy(&self, accuracy: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDecoderAccuracy)(::windows_core::Interface::as_raw(self), accuracy).ok() } pub unsafe fn Stereo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Stereo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Stereo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStereo(&self, stereo: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStereo)(::windows_core::Interface::as_raw(self), stereo).ok() } pub unsafe fn DecoderWordSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DecoderWordSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DecoderWordSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDecoderWordSize(&self, wordsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDecoderWordSize)(::windows_core::Interface::as_raw(self), wordsize).ok() } pub unsafe fn IntegerDecode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IntegerDecode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IntegerDecode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIntegerDecode(&self, intdecode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIntegerDecode)(::windows_core::Interface::as_raw(self), intdecode).ok() @@ -9813,33 +9813,33 @@ impl IMultiMediaStream { } pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaStream)(::windows_core::Interface::as_raw(self), idpurpose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumMediaStreams)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, newstate: STREAM_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), newstate).ok() } pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, seektime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), seektime).ok() } pub unsafe fn GetEndOfStreamEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndOfStreamEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndOfStreamEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9869,18 +9869,18 @@ impl IOverlay { } pub unsafe fn GetDefaultColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorKey(&self, pcolorkey: *mut COLORKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColorKey)(::windows_core::Interface::as_raw(self), pcolorkey).ok() } pub unsafe fn GetWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetClipList(&self, psourcerect: *mut super::super::Foundation::RECT, pdestinationrect: *mut super::super::Foundation::RECT, pprgndata: *mut *mut super::super::Graphics::Gdi::RGNDATA) -> ::windows_core::Result<()> { @@ -9999,7 +9999,7 @@ impl IPersistMediaPropertyBag { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -10059,7 +10059,7 @@ impl IPin { } pub unsafe fn ConnectedTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn ConnectionMediaType(&self, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -10071,11 +10071,11 @@ impl IPin { } pub unsafe fn QueryDirection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDirection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDirection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn QueryAccept(&self, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::HRESULT { @@ -10083,7 +10083,7 @@ impl IPin { } pub unsafe fn EnumMediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryInternalConnections(&self, appin: ::core::option::Option<*mut ::core::option::Option>, npin: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryInternalConnections)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(appin.unwrap_or(::std::ptr::null_mut())), npin).ok() @@ -10192,39 +10192,39 @@ pub struct IPinFlowControl_Vtbl { impl IPinInfo { pub unsafe fn Pin(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pin)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConnectedTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectedTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConnectionMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionMediaType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FilterInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilterInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilterInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PinID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Connect(&self, ppin: P0) -> ::windows_core::Result<()> where @@ -10292,27 +10292,27 @@ pub struct IPinInfo_Vtbl { impl IQualProp { pub unsafe fn FramesDroppedInRenderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FramesDroppedInRenderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FramesDroppedInRenderer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FramesDrawn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FramesDrawn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FramesDrawn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AvgFrameRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvgFrameRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvgFrameRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Jitter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Jitter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Jitter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AvgSyncOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvgSyncOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvgSyncOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DevSyncOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DevSyncOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DevSyncOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10378,12 +10378,12 @@ pub struct IQueueCommand_Vtbl { impl IRegFilterInfo { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Filter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -10438,14 +10438,14 @@ impl IResourceManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), cresource, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), cresource, &mut result__).map(|| result__) } pub unsafe fn RegisterGroup(&self, pname: P0, paltokens: &[i32]) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterGroup)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), paltokens.len().try_into().unwrap(), ::core::mem::transmute(paltokens.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterGroup)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), paltokens.len().try_into().unwrap(), ::core::mem::transmute(paltokens.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn RequestResource(&self, idresource: i32, pfocusobject: P0, pconsumer: P1) -> ::windows_core::Result<()> where @@ -10521,11 +10521,11 @@ pub struct ISeekingPassThru_Vtbl { impl ISelector { pub unsafe fn NumSources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumSources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumSources)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SourceNodeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceNodeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceNodeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceNodeId(&self, dwpinid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSourceNodeId)(::windows_core::Interface::as_raw(self), dwpinid).ok() @@ -10545,7 +10545,7 @@ impl ISpecifyParticularPages { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetPages(&self, guidwhatpages: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPages)(::windows_core::Interface::as_raw(self), guidwhatpages, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPages)(::windows_core::Interface::as_raw(self), guidwhatpages, &mut result__).map(|| result__) } } #[repr(C)] @@ -10619,7 +10619,7 @@ pub struct IStreamSample_Vtbl { impl IVMRAspectRatioControl { pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAspectRatioMode(&self, dwarmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAspectRatioMode)(::windows_core::Interface::as_raw(self), dwarmode).ok() @@ -10637,7 +10637,7 @@ pub struct IVMRAspectRatioControl_Vtbl { impl IVMRAspectRatioControl9 { pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAspectRatioMode(&self, dwarmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAspectRatioMode)(::windows_core::Interface::as_raw(self), dwarmode).ok() @@ -10661,21 +10661,21 @@ impl IVMRDeinterlaceControl { } pub unsafe fn GetDeinterlaceMode(&self, dwstreamid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok() } pub unsafe fn GetDeinterlacePrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeinterlacePrefs(&self, dwdeinterlaceprefs: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), dwdeinterlaceprefs).ok() } pub unsafe fn GetActualDeinterlaceMode(&self, dwstreamid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } } #[repr(C)] @@ -10701,21 +10701,21 @@ impl IVMRDeinterlaceControl9 { } pub unsafe fn GetDeinterlaceMode(&self, dwstreamid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok() } pub unsafe fn GetDeinterlacePrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeinterlacePrefs(&self, dwdeinterlaceprefs: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeinterlacePrefs)(::windows_core::Interface::as_raw(self), dwdeinterlaceprefs).ok() } pub unsafe fn GetActualDeinterlaceMode(&self, dwstreamid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } } #[repr(C)] @@ -10744,21 +10744,21 @@ impl IVMRFilterConfig { } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderingPrefs)(::windows_core::Interface::as_raw(self), dwrenderflags).ok() } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderingMode(&self, mode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderingMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn GetRenderingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10787,21 +10787,21 @@ impl IVMRFilterConfig9 { } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderingPrefs)(::windows_core::Interface::as_raw(self), dwrenderflags).ok() } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderingMode(&self, mode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderingMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn GetRenderingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10976,7 +10976,7 @@ impl IVMRImagePresenterConfig { } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10994,7 +10994,7 @@ impl IVMRImagePresenterConfig9 { } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11012,7 +11012,7 @@ impl IVMRImagePresenterExclModeConfig { } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn SetXlcModeDDObjAndPrimarySurface(&self, lpddobj: P0, lpprimarysurf: P1) -> ::windows_core::Result<()> @@ -11114,21 +11114,21 @@ impl IVMRMixerControl { } pub unsafe fn GetAlpha(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlpha)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlpha)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetZOrder(&self, dwstreamid: u32, dwz: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, dwz).ok() } pub unsafe fn GetZOrder(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetOutputRect(&self, dwstreamid: u32, prect: *const NORMALIZEDRECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, prect).ok() } pub unsafe fn GetOutputRect(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetBackgroundClr(&self, clrbkg: P0) -> ::windows_core::Result<()> where @@ -11144,7 +11144,7 @@ impl IVMRMixerControl { } pub unsafe fn GetMixingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11170,21 +11170,21 @@ impl IVMRMixerControl9 { } pub unsafe fn GetAlpha(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlpha)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlpha)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetZOrder(&self, dwstreamid: u32, dwz: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, dwz).ok() } pub unsafe fn GetZOrder(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetOutputRect(&self, dwstreamid: u32, prect: *const VMR9NormalizedRect) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, prect).ok() } pub unsafe fn GetOutputRect(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetBackgroundClr(&self, clrbkg: P0) -> ::windows_core::Result<()> where @@ -11200,7 +11200,7 @@ impl IVMRMixerControl9 { } pub unsafe fn GetMixingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProcAmpControl(&self, dwstreamid: u32, lpclrcontrol: *const VMR9ProcAmpControl) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProcAmpControl)(::windows_core::Interface::as_raw(self), dwstreamid, lpclrcontrol).ok() @@ -11271,14 +11271,14 @@ impl IVMRMonitorConfig9 { } pub unsafe fn GetMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultMonitor(&self, udev: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultMonitor)(::windows_core::Interface::as_raw(self), udev).ok() } pub unsafe fn GetDefaultMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetAvailableMonitors(&self, pinfo: &mut [VMR9MonitorInfo], pdwnumdevices: *mut u32) -> ::windows_core::Result<()> { @@ -11306,7 +11306,7 @@ impl IVMRSurface { } pub unsafe fn LockSurface(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LockSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LockSurface)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UnlockSurface(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnlockSurface)(::windows_core::Interface::as_raw(self)).ok() @@ -11314,7 +11314,7 @@ impl IVMRSurface { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11337,7 +11337,7 @@ impl IVMRSurface9 { } pub unsafe fn LockSurface(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LockSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LockSurface)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UnlockSurface(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnlockSurface)(::windows_core::Interface::as_raw(self)).ok() @@ -11345,7 +11345,7 @@ impl IVMRSurface9 { #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetSurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11412,7 +11412,7 @@ impl IVMRSurfaceAllocator9 { #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetSurface(&self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AdviseNotify(&self, lpivmrsurfallocnotify: P0) -> ::windows_core::Result<()> where @@ -11449,7 +11449,7 @@ impl IVMRSurfaceAllocatorEx9 { #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetSurface(&self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSurface)(::windows_core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSurface)(::windows_core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AdviseNotify(&self, lpivmrsurfallocnotify: P0) -> ::windows_core::Result<()> where @@ -11588,7 +11588,7 @@ impl IVMRVideoStreamControl { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamActiveState(&self, factive: P0) -> ::windows_core::Result<()> where @@ -11598,7 +11598,7 @@ impl IVMRVideoStreamControl { } pub unsafe fn GetStreamActiveState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11627,7 +11627,7 @@ impl IVMRVideoStreamControl9 { } pub unsafe fn GetStreamActiveState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11657,7 +11657,7 @@ impl IVMRWindowlessControl { } pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAspectRatioMode(&self, aspectratiomode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAspectRatioMode)(::windows_core::Interface::as_raw(self), aspectratiomode).ok() @@ -11681,7 +11681,7 @@ impl IVMRWindowlessControl { } pub unsafe fn GetCurrentImage(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentImage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderColor(&self, clr: P0) -> ::windows_core::Result<()> where @@ -11691,7 +11691,7 @@ impl IVMRWindowlessControl { } pub unsafe fn GetBorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorKey(&self, clr: P0) -> ::windows_core::Result<()> where @@ -11701,7 +11701,7 @@ impl IVMRWindowlessControl { } pub unsafe fn GetColorKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11747,7 +11747,7 @@ impl IVMRWindowlessControl9 { } pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAspectRatioMode(&self, aspectratiomode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAspectRatioMode)(::windows_core::Interface::as_raw(self), aspectratiomode).ok() @@ -11771,7 +11771,7 @@ impl IVMRWindowlessControl9 { } pub unsafe fn GetCurrentImage(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentImage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderColor(&self, clr: P0) -> ::windows_core::Result<()> where @@ -11781,7 +11781,7 @@ impl IVMRWindowlessControl9 { } pub unsafe fn GetBorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11838,7 +11838,7 @@ impl IVPBaseConfig { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetOverlaySurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDirectDrawKernelHandle)(::windows_core::Interface::as_raw(self), dwddkernelhandle).ok() @@ -11929,7 +11929,7 @@ impl IVPConfig { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetOverlaySurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDirectDrawKernelHandle)(::windows_core::Interface::as_raw(self), dwddkernelhandle).ok() @@ -11965,7 +11965,7 @@ impl IVPManager { } pub unsafe fn GetVideoPortIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoPortIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoPortIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12057,7 +12057,7 @@ impl IVPVBIConfig { #[cfg(feature = "Win32_Graphics_DirectDraw")] pub unsafe fn GetOverlaySurface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOverlaySurface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDirectDrawKernelHandle)(::windows_core::Interface::as_raw(self), dwddkernelhandle).ok() @@ -12106,11 +12106,11 @@ impl IVideoEncoder { } pub unsafe fn GetDefaultValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, api: *const ::windows_core::GUID, value: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetValue)(::windows_core::Interface::as_raw(self), api, ::core::mem::transmute(value)).ok() @@ -12327,28 +12327,28 @@ impl IVideoWindow { } pub unsafe fn Caption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Caption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Caption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWindowStyle(&self, windowstyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowStyle)(::windows_core::Interface::as_raw(self), windowstyle).ok() } pub unsafe fn WindowStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWindowStyleEx(&self, windowstyleex: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowStyleEx)(::windows_core::Interface::as_raw(self), windowstyleex).ok() } pub unsafe fn WindowStyleEx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowStyleEx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowStyleEx)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoShow(&self, autoshow: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoShow)(::windows_core::Interface::as_raw(self), autoshow).ok() } pub unsafe fn AutoShow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoShow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoShow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWindowState(&self, windowstate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowState)(::windows_core::Interface::as_raw(self), windowstate).ok() @@ -12356,74 +12356,74 @@ impl IVideoWindow { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn WindowState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackgroundPalette(&self, backgroundpalette: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackgroundPalette)(::windows_core::Interface::as_raw(self), backgroundpalette).ok() } pub unsafe fn BackgroundPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackgroundPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackgroundPalette)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, visible: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVisible)(::windows_core::Interface::as_raw(self), visible).ok() } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, left: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), width).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, top: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHeight)(::windows_core::Interface::as_raw(self), height).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOwner(&self, owner: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOwner)(::windows_core::Interface::as_raw(self), owner).ok() } pub unsafe fn Owner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMessageDrain(&self, drain: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMessageDrain)(::windows_core::Interface::as_raw(self), drain).ok() } pub unsafe fn MessageDrain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageDrain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderColor(&self, color: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBorderColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn FullScreenMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullScreenMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullScreenMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFullScreenMode(&self, fullscreenmode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFullScreenMode)(::windows_core::Interface::as_raw(self), fullscreenmode).ok() @@ -12454,7 +12454,7 @@ impl IVideoWindow { } pub unsafe fn IsCursorHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCursorHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCursorHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Media/DxMediaObjects/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/DxMediaObjects/mod.rs index e21ce01139..32895d8c5d 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/DxMediaObjects/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/DxMediaObjects/mod.rs @@ -2,7 +2,7 @@ pub unsafe fn DMOEnum(guidcategory: *const ::windows_core::GUID, dwflags: u32, cintypes: u32, pintypes: *const DMO_PARTIAL_MEDIATYPE, couttypes: u32, pouttypes: *const DMO_PARTIAL_MEDIATYPE) -> ::windows_core::Result { ::windows_targets::link!("msdmo.dll" "system" fn DMOEnum(guidcategory : *const ::windows_core::GUID, dwflags : u32, cintypes : u32, pintypes : *const DMO_PARTIAL_MEDIATYPE, couttypes : u32, pouttypes : *const DMO_PARTIAL_MEDIATYPE, ppenum : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DMOEnum(guidcategory, dwflags, cintypes, pintypes, couttypes, pouttypes, &mut result__).from_abi(result__) + DMOEnum(guidcategory, dwflags, cintypes, pintypes, couttypes, pouttypes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DMOGetName(clsiddmo: *const ::windows_core::GUID, szname: &mut [u16; 80]) -> ::windows_core::Result<()> { @@ -68,7 +68,7 @@ impl IDMOQualityControl { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -84,18 +84,18 @@ pub struct IDMOQualityControl_Vtbl { impl IDMOVideoOutputOptimizations { pub unsafe fn QueryOperationModePreferences(&self, uloutputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryOperationModePreferences)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryOperationModePreferences)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetOperationMode(&self, uloutputstreamindex: u32, dwenabledfeatures: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOperationMode)(::windows_core::Interface::as_raw(self), uloutputstreamindex, dwenabledfeatures).ok() } pub unsafe fn GetCurrentOperationMode(&self, uloutputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentOperationMode)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentOperationMode)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).map(|| result__) } pub unsafe fn GetCurrentSampleRequirements(&self, uloutputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSampleRequirements)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSampleRequirements)(::windows_core::Interface::as_raw(self), uloutputstreamindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -121,7 +121,7 @@ impl IEnumDMO { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -141,7 +141,7 @@ impl IMediaBuffer { } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferAndLength(&self, ppbuffer: ::core::option::Option<*mut *mut u8>, pcblength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBufferAndLength)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppbuffer.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcblength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -163,11 +163,11 @@ impl IMediaObject { } pub unsafe fn GetInputStreamInfo(&self, dwinputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStreamInfo)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStreamInfo)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).map(|| result__) } pub unsafe fn GetOutputStreamInfo(&self, dwoutputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamInfo)(::windows_core::Interface::as_raw(self), dwoutputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamInfo)(::windows_core::Interface::as_raw(self), dwoutputstreamindex, &mut result__).map(|| result__) } pub unsafe fn GetInputType(&self, dwinputstreamindex: u32, dwtypeindex: u32, pmt: ::core::option::Option<*mut DMO_MEDIA_TYPE>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputType)(::windows_core::Interface::as_raw(self), dwinputstreamindex, dwtypeindex, ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null_mut()))).ok() @@ -195,7 +195,7 @@ impl IMediaObject { } pub unsafe fn GetInputMaxLatency(&self, dwinputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputMaxLatency)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputMaxLatency)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetInputMaxLatency(&self, dwinputstreamindex: u32, rtmaxlatency: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInputMaxLatency)(::windows_core::Interface::as_raw(self), dwinputstreamindex, rtmaxlatency).ok() @@ -214,7 +214,7 @@ impl IMediaObject { } pub unsafe fn GetInputStatus(&self, dwinputstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStatus)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStatus)(::windows_core::Interface::as_raw(self), dwinputstreamindex, &mut result__).map(|| result__) } pub unsafe fn ProcessInput(&self, dwinputstreamindex: u32, pbuffer: P0, dwflags: u32, rttimestamp: i64, rttimelength: i64) -> ::windows_core::Result<()> where @@ -263,11 +263,11 @@ impl IMediaObjectInPlace { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/KernelStreaming/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/KernelStreaming/mod.rs index 6c9e78a366..bc01c936c3 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/KernelStreaming/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/KernelStreaming/mod.rs @@ -13,7 +13,7 @@ where { ::windows_targets::link!("ksuser.dll" "system" fn KsCreateAllocator2(connectionhandle : super::super::Foundation:: HANDLE, allocatorframing : *const KSALLOCATOR_FRAMING, allocatorhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsCreateAllocator2(connectionhandle.into_param().abi(), allocatorframing, &mut result__).from_abi(result__) + KsCreateAllocator2(connectionhandle.into_param().abi(), allocatorframing, &mut result__).map(|| result__) } #[inline] pub unsafe fn KsCreateClock(connectionhandle: P0, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::Foundation::HANDLE) -> u32 @@ -30,7 +30,7 @@ where { ::windows_targets::link!("ksuser.dll" "system" fn KsCreateClock2(connectionhandle : super::super::Foundation:: HANDLE, clockcreate : *const KSCLOCK_CREATE, clockhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsCreateClock2(connectionhandle.into_param().abi(), clockcreate, &mut result__).from_abi(result__) + KsCreateClock2(connectionhandle.into_param().abi(), clockcreate, &mut result__).map(|| result__) } #[inline] pub unsafe fn KsCreatePin(filterhandle: P0, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::Foundation::HANDLE) -> u32 @@ -47,7 +47,7 @@ where { ::windows_targets::link!("ksuser.dll" "system" fn KsCreatePin2(filterhandle : super::super::Foundation:: HANDLE, connect : *const KSPIN_CONNECT, desiredaccess : u32, connectionhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsCreatePin2(filterhandle.into_param().abi(), connect, desiredaccess, &mut result__).from_abi(result__) + KsCreatePin2(filterhandle.into_param().abi(), connect, desiredaccess, &mut result__).map(|| result__) } #[inline] pub unsafe fn KsCreateTopologyNode(parenthandle: P0, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::Foundation::HANDLE) -> u32 @@ -64,7 +64,7 @@ where { ::windows_targets::link!("ksuser.dll" "system" fn KsCreateTopologyNode2(parenthandle : super::super::Foundation:: HANDLE, nodecreate : *const KSNODE_CREATE, desiredaccess : u32, nodehandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsCreateTopologyNode2(parenthandle.into_param().abi(), nodecreate, desiredaccess, &mut result__).from_abi(result__) + KsCreateTopologyNode2(parenthandle.into_param().abi(), nodecreate, desiredaccess, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] #[inline] @@ -82,7 +82,7 @@ where { ::windows_targets::link!("ksproxy.ax" "system" fn KsGetMediaTypeCount(filterhandle : super::super::Foundation:: HANDLE, pinfactoryid : u32, mediatypecount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsGetMediaTypeCount(filterhandle.into_param().abi(), pinfactoryid, &mut result__).from_abi(result__) + KsGetMediaTypeCount(filterhandle.into_param().abi(), pinfactoryid, &mut result__).map(|| result__) } #[inline] pub unsafe fn KsGetMultiplePinFactoryItems(filterhandle: P0, pinfactoryid: u32, propertyid: u32, items: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -96,7 +96,7 @@ where pub unsafe fn KsOpenDefaultDevice(category: *const ::windows_core::GUID, access: u32) -> ::windows_core::Result { ::windows_targets::link!("ksproxy.ax" "system" fn KsOpenDefaultDevice(category : *const ::windows_core::GUID, access : u32, devicehandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KsOpenDefaultDevice(category, access, &mut result__).from_abi(result__) + KsOpenDefaultDevice(category, access, &mut result__).map(|| result__) } #[inline] pub unsafe fn KsResolveRequiredAttributes(datarange: *const KSDATAFORMAT, attributes: ::core::option::Option<*const KSMULTIPLE_ITEM>) -> ::windows_core::Result<()> { @@ -201,39 +201,39 @@ pub struct IKsAllocatorEx_Vtbl { impl IKsClockPropertySet { pub unsafe fn KsGetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsSetTime(&self, time: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KsSetTime)(::windows_core::Interface::as_raw(self), time).ok() } pub unsafe fn KsGetPhysicalTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetPhysicalTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetPhysicalTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsSetPhysicalTime(&self, time: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KsSetPhysicalTime)(::windows_core::Interface::as_raw(self), time).ok() } pub unsafe fn KsGetCorrelatedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetCorrelatedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetCorrelatedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsSetCorrelatedTime(&self, correlatedtime: *const KSCORRELATED_TIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KsSetCorrelatedTime)(::windows_core::Interface::as_raw(self), correlatedtime).ok() } pub unsafe fn KsGetCorrelatedPhysicalTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetCorrelatedPhysicalTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetCorrelatedPhysicalTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsSetCorrelatedPhysicalTime(&self, correlatedtime: *const KSCORRELATED_TIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KsSetCorrelatedPhysicalTime)(::windows_core::Interface::as_raw(self), correlatedtime).ok() } pub unsafe fn KsGetResolution(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetResolution)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetResolution)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsGetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsGetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsGetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -315,7 +315,7 @@ impl IKsDataTypeHandler { } pub unsafe fn KsQueryExtendedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsQueryExtendedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsQueryExtendedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn KsSetMediaType(&self, ammediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()> { @@ -349,7 +349,7 @@ impl IKsFormatSupport { } pub unsafe fn GetDevicePreferredFormat(&self) -> ::windows_core::Result<*mut KSDATAFORMAT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevicePreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevicePreferredFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -395,7 +395,7 @@ pub struct IKsInterfaceHandler_Vtbl { impl IKsJackContainerId { pub unsafe fn GetJackContainerId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackContainerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackContainerId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -409,7 +409,7 @@ pub struct IKsJackContainerId_Vtbl { impl IKsJackDescription { pub unsafe fn GetJackCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetJackDescription(&self, njack: u32, pdescription: *mut KSJACK_DESCRIPTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetJackDescription)(::windows_core::Interface::as_raw(self), njack, pdescription).ok() @@ -427,11 +427,11 @@ pub struct IKsJackDescription_Vtbl { impl IKsJackDescription2 { pub unsafe fn GetJackCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetJackDescription2(&self, njack: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackDescription2)(::windows_core::Interface::as_raw(self), njack, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackDescription2)(::windows_core::Interface::as_raw(self), njack, &mut result__).map(|| result__) } } #[repr(C)] @@ -446,11 +446,11 @@ pub struct IKsJackDescription2_Vtbl { impl IKsJackDescription3 { pub unsafe fn GetJackCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetJackDescription3(&self, njack: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJackDescription3)(::windows_core::Interface::as_raw(self), njack, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJackDescription3)(::windows_core::Interface::as_raw(self), njack, &mut result__).map(|| result__) } } #[repr(C)] @@ -521,11 +521,11 @@ pub struct IKsObject_Vtbl { impl IKsPin { pub unsafe fn KsQueryMediums(&self) -> ::windows_core::Result<*mut KSMULTIPLE_ITEM> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsQueryMediums)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsQueryMediums)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsQueryInterfaces(&self) -> ::windows_core::Result<*mut KSMULTIPLE_ITEM> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsQueryInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsQueryInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsCreateSinkPinHandle(&self, interface: *const KSIDENTIFIER, medium: *const KSIDENTIFIER) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KsCreateSinkPinHandle)(::windows_core::Interface::as_raw(self), interface, medium).ok() @@ -602,11 +602,11 @@ pub struct IKsPin_Vtbl { impl IKsPinEx { pub unsafe fn KsQueryMediums(&self) -> ::windows_core::Result<*mut KSMULTIPLE_ITEM> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KsQueryMediums)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KsQueryMediums)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsQueryInterfaces(&self) -> ::windows_core::Result<*mut KSMULTIPLE_ITEM> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KsQueryInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KsQueryInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KsCreateSinkPinHandle(&self, interface: *const KSIDENTIFIER, medium: *const KSIDENTIFIER) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.KsCreateSinkPinHandle)(::windows_core::Interface::as_raw(self), interface, medium).ok() @@ -672,7 +672,7 @@ pub struct IKsPinEx_Vtbl { impl IKsPinFactory { pub unsafe fn KsPinFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KsPinFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KsPinFactory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -754,7 +754,7 @@ impl IKsPropertySet { } pub unsafe fn QuerySupported(&self, guidpropset: *const ::windows_core::GUID, dwpropid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySupported)(::windows_core::Interface::as_raw(self), guidpropset, dwpropid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySupported)(::windows_core::Interface::as_raw(self), guidpropset, dwpropid, &mut result__).map(|| result__) } } #[repr(C)] @@ -805,30 +805,30 @@ pub struct IKsTopology_Vtbl { impl IKsTopologyInfo { pub unsafe fn NumCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumCategories)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Category(&self, dwindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Category)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Category)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn NumConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumConnections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_ConnectionInfo(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ConnectionInfo)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ConnectionInfo)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn get_NodeName(&self, dwnodeid: u32, pwchnodename: ::windows_core::PWSTR, dwbufsize: u32, pdwnamelen: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_NodeName)(::windows_core::Interface::as_raw(self), dwnodeid, ::core::mem::transmute(pwchnodename), dwbufsize, pdwnamelen).ok() } pub unsafe fn NumNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumNodes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_NodeType(&self, dwnodeid: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_NodeType)(::windows_core::Interface::as_raw(self), dwnodeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_NodeType)(::windows_core::Interface::as_raw(self), dwnodeid, &mut result__).map(|| result__) } pub unsafe fn CreateNodeInstance(&self, dwnodeid: u32, iid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateNodeInstance)(::windows_core::Interface::as_raw(self), dwnodeid, iid, ppvobject).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Media/LibrarySharingServices/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/LibrarySharingServices/mod.rs index 4f04b61cb3..da53c2be10 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/LibrarySharingServices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/LibrarySharingServices/mod.rs @@ -6,11 +6,11 @@ impl IWindowsMediaLibrarySharingDevice { pub unsafe fn DeviceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Authorization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authorization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authorization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthorization(&self, authorization: WindowsMediaLibrarySharingDeviceAuthorizationStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthorization)(::windows_core::Interface::as_raw(self), authorization).ok() @@ -18,7 +18,7 @@ impl IWindowsMediaLibrarySharingDevice { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -43,11 +43,11 @@ impl IWindowsMediaLibrarySharingDeviceProperties { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProperty(&self, name: P0) -> ::windows_core::Result @@ -55,7 +55,7 @@ impl IWindowsMediaLibrarySharingDeviceProperties { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -81,11 +81,11 @@ pub struct IWindowsMediaLibrarySharingDeviceProperties_Vtbl { impl IWindowsMediaLibrarySharingDeviceProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -105,11 +105,11 @@ impl IWindowsMediaLibrarySharingDevices { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDevice(&self, deviceid: P0) -> ::windows_core::Result @@ -117,7 +117,7 @@ impl IWindowsMediaLibrarySharingDevices { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), deviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), deviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -149,7 +149,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn userHomeMediaSharingState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).userHomeMediaSharingState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).userHomeMediaSharingState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetuserHomeMediaSharingState(&self, sharingenabled: P0) -> ::windows_core::Result<()> where @@ -159,7 +159,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn userHomeMediaSharingLibraryName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).userHomeMediaSharingLibraryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).userHomeMediaSharingLibraryName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetuserHomeMediaSharingLibraryName(&self, libraryname: P0) -> ::windows_core::Result<()> where @@ -169,7 +169,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn computerHomeMediaSharingAllowedState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).computerHomeMediaSharingAllowedState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).computerHomeMediaSharingAllowedState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetcomputerHomeMediaSharingAllowedState(&self, sharingallowed: P0) -> ::windows_core::Result<()> where @@ -179,7 +179,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn userInternetMediaSharingState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).userInternetMediaSharingState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).userInternetMediaSharingState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetuserInternetMediaSharingState(&self, sharingenabled: P0) -> ::windows_core::Result<()> where @@ -189,7 +189,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn computerInternetMediaSharingAllowedState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).computerInternetMediaSharingAllowedState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).computerInternetMediaSharingAllowedState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetcomputerInternetMediaSharingAllowedState(&self, sharingallowed: P0) -> ::windows_core::Result<()> where @@ -199,7 +199,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn internetMediaSharingSecurityGroup(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).internetMediaSharingSecurityGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).internetMediaSharingSecurityGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetinternetMediaSharingSecurityGroup(&self, securitygroup: P0) -> ::windows_core::Result<()> where @@ -209,7 +209,7 @@ impl IWindowsMediaLibrarySharingServices { } pub unsafe fn allowSharingToAllDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).allowSharingToAllDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).allowSharingToAllDevices)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetallowSharingToAllDevices(&self, sharingenabled: P0) -> ::windows_core::Result<()> where @@ -235,11 +235,11 @@ impl IWindowsMediaLibrarySharingServices { #[cfg(feature = "Win32_System_Com")] pub unsafe fn getAllDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAllDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAllDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn customSettingsApplied(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).customSettingsApplied)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).customSettingsApplied)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Media/MediaFoundation/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/MediaFoundation/mod.rs index 5dce40a73f..1b7ef2ebd7 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/MediaFoundation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/MediaFoundation/mod.rs @@ -3,14 +3,14 @@ pub unsafe fn CreateNamedPropertyStore() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn CreateNamedPropertyStore(ppstore : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateNamedPropertyStore(&mut result__).from_abi(result__) + CreateNamedPropertyStore(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] #[inline] pub unsafe fn CreatePropertyStore() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn CreatePropertyStore(ppstore : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreatePropertyStore(&mut result__).from_abi(result__) + CreatePropertyStore(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DXVA2CreateDirect3DDeviceManager9(presettoken: *mut u32, ppdevicemanager: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -34,7 +34,7 @@ where { ::windows_targets::link!("dxva2.dll" "system" fn DXVAHD_CreateDevice(pd3ddevice : * mut::core::ffi::c_void, pcontentdesc : *const DXVAHD_CONTENT_DESC, usage : DXVAHD_DEVICE_USAGE, pplugin : PDXVAHDSW_Plugin, ppdevice : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DXVAHD_CreateDevice(pd3ddevice.into_param().abi(), pcontentdesc, usage, pplugin, &mut result__).from_abi(result__) + DXVAHD_CreateDevice(pd3ddevice.into_param().abi(), pcontentdesc, usage, pplugin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFAddPeriodicCallback(callback: MFPERIODICCALLBACK, pcontext: P0, pdwkey: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -48,19 +48,19 @@ where pub unsafe fn MFAllocateSerialWorkQueue(dwworkqueue: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFAllocateSerialWorkQueue(dwworkqueue : u32, pdwworkqueue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFAllocateSerialWorkQueue(dwworkqueue, &mut result__).from_abi(result__) + MFAllocateSerialWorkQueue(dwworkqueue, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFAllocateWorkQueue() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFAllocateWorkQueue(pdwworkqueue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFAllocateWorkQueue(&mut result__).from_abi(result__) + MFAllocateWorkQueue(&mut result__).map(|| result__) } #[inline] pub unsafe fn MFAllocateWorkQueueEx(workqueuetype: MFASYNC_WORKQUEUE_TYPE) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFAllocateWorkQueueEx(workqueuetype : MFASYNC_WORKQUEUE_TYPE, pdwworkqueue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFAllocateWorkQueueEx(workqueuetype, &mut result__).from_abi(result__) + MFAllocateWorkQueueEx(workqueuetype, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFAverageTimePerFrameToFrameRate(unaveragetimeperframe: u64, punnumerator: *mut u32, pundenominator: *mut u32) -> ::windows_core::Result<()> { @@ -76,7 +76,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFBeginCreateFile(accessmode : MF_FILE_ACCESSMODE, openmode : MF_FILE_OPENMODE, fflags : MF_FILE_FLAGS, pwszfilepath : ::windows_core::PCWSTR, pcallback : * mut::core::ffi::c_void, pstate : * mut::core::ffi::c_void, ppcancelcookie : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFBeginCreateFile(accessmode, openmode, fflags, pwszfilepath.into_param().abi(), pcallback.into_param().abi(), pstate.into_param().abi(), &mut result__).from_abi(result__) + MFBeginCreateFile(accessmode, openmode, fflags, pwszfilepath.into_param().abi(), pcallback.into_param().abi(), pstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFBeginRegisterWorkQueueWithMMCSS(dwworkqueueid: u32, wszclass: P0, dwtaskid: u32, pdonecallback: P1, pdonestate: P2) -> ::windows_core::Result<()> @@ -117,7 +117,7 @@ pub unsafe fn MFCalculateBitmapImageSize(pbmih: *const super::super::Graphics::G pub unsafe fn MFCalculateImageSize(guidsubtype: *const ::windows_core::GUID, unwidth: u32, unheight: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCalculateImageSize(guidsubtype : *const ::windows_core::GUID, unwidth : u32, unheight : u32, pcbimagesize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCalculateImageSize(guidsubtype, unwidth, unheight, &mut result__).from_abi(result__) + MFCalculateImageSize(guidsubtype, unwidth, unheight, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFCancelCreateFile(pcancelcookie: P0) -> ::windows_core::Result<()> @@ -140,7 +140,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCombineSamples(psample : * mut::core::ffi::c_void, psampletoadd : * mut::core::ffi::c_void, dwmaxmergeddurationinms : u32, pmerged : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCombineSamples(psample.into_param().abi(), psampletoadd.into_param().abi(), dwmaxmergeddurationinms, &mut result__).from_abi(result__) + MFCombineSamples(psample.into_param().abi(), psampletoadd.into_param().abi(), dwmaxmergeddurationinms, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFCompareFullToPartialMediaType(pmftypefull: P0, pmftypepartial: P1) -> super::super::Foundation::BOOL @@ -183,7 +183,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreate2DMediaBuffer(dwwidth : u32, dwheight : u32, dwfourcc : u32, fbottomup : super::super::Foundation:: BOOL, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreate2DMediaBuffer(dwwidth, dwheight, dwfourcc, fbottomup.into_param().abi(), &mut result__).from_abi(result__) + MFCreate2DMediaBuffer(dwwidth, dwheight, dwfourcc, fbottomup.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreate3GPMediaSink(pibytestream: P0, pvideomediatype: P1, paudiomediatype: P2) -> ::windows_core::Result @@ -194,7 +194,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreate3GPMediaSink(pibytestream : * mut::core::ffi::c_void, pvideomediatype : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreate3GPMediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreate3GPMediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAC3MediaSink(ptargetbytestream: P0, paudiomediatype: P1) -> ::windows_core::Result @@ -204,7 +204,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateAC3MediaSink(ptargetbytestream : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppmediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAC3MediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateAC3MediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateADTSMediaSink(ptargetbytestream: P0, paudiomediatype: P1) -> ::windows_core::Result @@ -214,7 +214,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateADTSMediaSink(ptargetbytestream : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppmediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateADTSMediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateADTSMediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAMMediaTypeFromMFMediaType(pmftype: P0, guidformatblocktype: ::windows_core::GUID, ppamtype: *mut *mut AM_MEDIA_TYPE) -> ::windows_core::Result<()> @@ -228,13 +228,13 @@ where pub unsafe fn MFCreateASFContentInfo() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFContentInfo(ppicontentinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFContentInfo(&mut result__).from_abi(result__) + MFCreateASFContentInfo(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFIndexer() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFIndexer(ppiindexer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFIndexer(&mut result__).from_abi(result__) + MFCreateASFIndexer(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFIndexerByteStream(picontentbytestream: P0, cbindexstartoffset: u64) -> ::windows_core::Result @@ -243,7 +243,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFIndexerByteStream(picontentbytestream : * mut::core::ffi::c_void, cbindexstartoffset : u64, piindexbytestream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFIndexerByteStream(picontentbytestream.into_param().abi(), cbindexstartoffset, &mut result__).from_abi(result__) + MFCreateASFIndexerByteStream(picontentbytestream.into_param().abi(), cbindexstartoffset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFMediaSink(pibytestream: P0) -> ::windows_core::Result @@ -252,7 +252,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFMediaSink(pibytestream : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFMediaSink(pibytestream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFMediaSink(pibytestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFMediaSinkActivate(pwszfilename: P0, pcontentinfo: P1) -> ::windows_core::Result @@ -262,19 +262,19 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFMediaSinkActivate(pwszfilename : ::windows_core::PCWSTR, pcontentinfo : * mut::core::ffi::c_void, ppiactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFMediaSinkActivate(pwszfilename.into_param().abi(), pcontentinfo.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFMediaSinkActivate(pwszfilename.into_param().abi(), pcontentinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFMultiplexer() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFMultiplexer(ppimultiplexer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFMultiplexer(&mut result__).from_abi(result__) + MFCreateASFMultiplexer(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFProfile() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFProfile(ppiprofile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFProfile(&mut result__).from_abi(result__) + MFCreateASFProfile(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFProfileFromPresentationDescriptor(pipd: P0) -> ::windows_core::Result @@ -283,13 +283,13 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFProfileFromPresentationDescriptor(pipd : * mut::core::ffi::c_void, ppiprofile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFProfileFromPresentationDescriptor(pipd.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFProfileFromPresentationDescriptor(pipd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFSplitter() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFSplitter(ppisplitter : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFSplitter(&mut result__).from_abi(result__) + MFCreateASFSplitter(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFStreamSelector(piasfprofile: P0) -> ::windows_core::Result @@ -298,7 +298,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFStreamSelector(piasfprofile : * mut::core::ffi::c_void, ppselector : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFStreamSelector(piasfprofile.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFStreamSelector(piasfprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFStreamingMediaSink(pibytestream: P0) -> ::windows_core::Result @@ -307,7 +307,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFStreamingMediaSink(pibytestream : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFStreamingMediaSink(pibytestream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFStreamingMediaSink(pibytestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateASFStreamingMediaSinkActivate(pbytestreamactivate: P0, pcontentinfo: P1) -> ::windows_core::Result @@ -317,7 +317,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateASFStreamingMediaSinkActivate(pbytestreamactivate : * mut::core::ffi::c_void, pcontentinfo : * mut::core::ffi::c_void, ppiactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateASFStreamingMediaSinkActivate(pbytestreamactivate.into_param().abi(), pcontentinfo.into_param().abi(), &mut result__).from_abi(result__) + MFCreateASFStreamingMediaSinkActivate(pbytestreamactivate.into_param().abi(), pcontentinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAVIMediaSink(pibytestream: P0, pvideomediatype: P1, paudiomediatype: P2) -> ::windows_core::Result @@ -328,7 +328,7 @@ where { ::windows_targets::link!("mfsrcsnk.dll" "system" fn MFCreateAVIMediaSink(pibytestream : * mut::core::ffi::c_void, pvideomediatype : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAVIMediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateAVIMediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAggregateSource(psourcecollection: P0) -> ::windows_core::Result @@ -337,13 +337,13 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateAggregateSource(psourcecollection : * mut::core::ffi::c_void, ppaggsource : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAggregateSource(psourcecollection.into_param().abi(), &mut result__).from_abi(result__) + MFCreateAggregateSource(psourcecollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAlignedMemoryBuffer(cbmaxlength: u32, cbaligment: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateAlignedMemoryBuffer(cbmaxlength : u32, cbaligment : u32, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAlignedMemoryBuffer(cbmaxlength, cbaligment, &mut result__).from_abi(result__) + MFCreateAlignedMemoryBuffer(cbmaxlength, cbaligment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAsyncResult(punkobject: P0, pcallback: P1, punkstate: P2) -> ::windows_core::Result @@ -354,7 +354,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateAsyncResult(punkobject : * mut::core::ffi::c_void, pcallback : * mut::core::ffi::c_void, punkstate : * mut::core::ffi::c_void, ppasyncresult : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAsyncResult(punkobject.into_param().abi(), pcallback.into_param().abi(), punkstate.into_param().abi(), &mut result__).from_abi(result__) + MFCreateAsyncResult(punkobject.into_param().abi(), pcallback.into_param().abi(), punkstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAttributes(ppmfattributes: *mut ::core::option::Option, cinitialsize: u32) -> ::windows_core::Result<()> { @@ -366,7 +366,7 @@ pub unsafe fn MFCreateAttributes(ppmfattributes: *mut ::core::option::Option ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateAudioMediaType(paudioformat : *const super::Audio:: WAVEFORMATEX, ppiaudiomediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAudioMediaType(paudioformat, &mut result__).from_abi(result__) + MFCreateAudioMediaType(paudioformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAudioRenderer(paudioattributes: P0) -> ::windows_core::Result @@ -375,13 +375,13 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateAudioRenderer(paudioattributes : * mut::core::ffi::c_void, ppsink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAudioRenderer(paudioattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateAudioRenderer(paudioattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateAudioRendererActivate() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateAudioRendererActivate(ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateAudioRendererActivate(&mut result__).from_abi(result__) + MFCreateAudioRendererActivate(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateCameraControlMonitor(symboliclink: P0, callback: P1) -> ::windows_core::Result @@ -391,7 +391,7 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateCameraControlMonitor(symboliclink : ::windows_core::PCWSTR, callback : * mut::core::ffi::c_void, ppcameracontrolmonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateCameraControlMonitor(symboliclink.into_param().abi(), callback.into_param().abi(), &mut result__).from_abi(result__) + MFCreateCameraControlMonitor(symboliclink.into_param().abi(), callback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateCameraOcclusionStateMonitor(symboliclink: P0, callback: P1) -> ::windows_core::Result @@ -401,13 +401,13 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateCameraOcclusionStateMonitor(symboliclink : ::windows_core::PCWSTR, callback : * mut::core::ffi::c_void, occlusionstatemonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateCameraOcclusionStateMonitor(symboliclink.into_param().abi(), callback.into_param().abi(), &mut result__).from_abi(result__) + MFCreateCameraOcclusionStateMonitor(symboliclink.into_param().abi(), callback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateCollection() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateCollection(ppimfcollection : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateCollection(&mut result__).from_abi(result__) + MFCreateCollection(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateContentDecryptorContext(guidmediaprotectionsystemid: *const ::windows_core::GUID, pd3dmanager: P0, pcontentprotectiondevice: P1) -> ::windows_core::Result @@ -417,19 +417,19 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateContentDecryptorContext(guidmediaprotectionsystemid : *const ::windows_core::GUID, pd3dmanager : * mut::core::ffi::c_void, pcontentprotectiondevice : * mut::core::ffi::c_void, ppcontentdecryptorcontext : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateContentDecryptorContext(guidmediaprotectionsystemid, pd3dmanager.into_param().abi(), pcontentprotectiondevice.into_param().abi(), &mut result__).from_abi(result__) + MFCreateContentDecryptorContext(guidmediaprotectionsystemid, pd3dmanager.into_param().abi(), pcontentprotectiondevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateContentProtectionDevice(protectionsystemid: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateContentProtectionDevice(protectionsystemid : *const ::windows_core::GUID, contentprotectiondevice : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateContentProtectionDevice(protectionsystemid, &mut result__).from_abi(result__) + MFCreateContentProtectionDevice(protectionsystemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateCredentialCache() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateCredentialCache(ppcache : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateCredentialCache(&mut result__).from_abi(result__) + MFCreateCredentialCache(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] #[inline] @@ -453,7 +453,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateDXGISurfaceBuffer(riid : *const ::windows_core::GUID, punksurface : * mut::core::ffi::c_void, usubresourceindex : u32, fbottomupwhenlinear : super::super::Foundation:: BOOL, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateDXGISurfaceBuffer(riid, punksurface.into_param().abi(), usubresourceindex, fbottomupwhenlinear.into_param().abi(), &mut result__).from_abi(result__) + MFCreateDXGISurfaceBuffer(riid, punksurface.into_param().abi(), usubresourceindex, fbottomupwhenlinear.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateDXSurfaceBuffer(riid: *const ::windows_core::GUID, punksurface: P0, fbottomupwhenlinear: P1) -> ::windows_core::Result @@ -463,7 +463,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateDXSurfaceBuffer(riid : *const ::windows_core::GUID, punksurface : * mut::core::ffi::c_void, fbottomupwhenlinear : super::super::Foundation:: BOOL, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateDXSurfaceBuffer(riid, punksurface.into_param().abi(), fbottomupwhenlinear.into_param().abi(), &mut result__).from_abi(result__) + MFCreateDXSurfaceBuffer(riid, punksurface.into_param().abi(), fbottomupwhenlinear.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateDeviceSource(pattributes: P0) -> ::windows_core::Result @@ -472,7 +472,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateDeviceSource(pattributes : * mut::core::ffi::c_void, ppsource : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateDeviceSource(pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateDeviceSource(pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateDeviceSourceActivate(pattributes: P0) -> ::windows_core::Result @@ -481,7 +481,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateDeviceSourceActivate(pattributes : * mut::core::ffi::c_void, ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateDeviceSourceActivate(pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateDeviceSourceActivate(pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -493,25 +493,25 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateEncryptedMediaExtensionsStoreActivate(pmphost : * mut::core::ffi::c_void, objectstream : * mut::core::ffi::c_void, classid : ::windows_core::PCWSTR, activate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateEncryptedMediaExtensionsStoreActivate(pmphost.into_param().abi(), objectstream.into_param().abi(), classid.into_param().abi(), &mut result__).from_abi(result__) + MFCreateEncryptedMediaExtensionsStoreActivate(pmphost.into_param().abi(), objectstream.into_param().abi(), classid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateEventQueue() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateEventQueue(ppmediaeventqueue : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateEventQueue(&mut result__).from_abi(result__) + MFCreateEventQueue(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateExtendedCameraIntrinsicModel(distortionmodeltype: MFCameraIntrinsic_DistortionModelType) -> ::windows_core::Result { ::windows_targets::link!("mfcore.dll" "system" fn MFCreateExtendedCameraIntrinsicModel(distortionmodeltype : MFCameraIntrinsic_DistortionModelType, ppextendedcameraintrinsicmodel : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateExtendedCameraIntrinsicModel(distortionmodeltype, &mut result__).from_abi(result__) + MFCreateExtendedCameraIntrinsicModel(distortionmodeltype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateExtendedCameraIntrinsics() -> ::windows_core::Result { ::windows_targets::link!("mfcore.dll" "system" fn MFCreateExtendedCameraIntrinsics(ppextendedcameraintrinsics : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateExtendedCameraIntrinsics(&mut result__).from_abi(result__) + MFCreateExtendedCameraIntrinsics(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateFMPEG4MediaSink(pibytestream: P0, pvideomediatype: P1, paudiomediatype: P2) -> ::windows_core::Result @@ -522,7 +522,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateFMPEG4MediaSink(pibytestream : * mut::core::ffi::c_void, pvideomediatype : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateFMPEG4MediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateFMPEG4MediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateFile(accessmode: MF_FILE_ACCESSMODE, openmode: MF_FILE_OPENMODE, fflags: MF_FILE_FLAGS, pwszfileurl: P0) -> ::windows_core::Result @@ -531,7 +531,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateFile(accessmode : MF_FILE_ACCESSMODE, openmode : MF_FILE_OPENMODE, fflags : MF_FILE_FLAGS, pwszfileurl : ::windows_core::PCWSTR, ppibytestream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateFile(accessmode, openmode, fflags, pwszfileurl.into_param().abi(), &mut result__).from_abi(result__) + MFCreateFile(accessmode, openmode, fflags, pwszfileurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_DxMediaObjects")] #[inline] @@ -542,7 +542,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateLegacyMediaBufferOnMFMediaBuffer(psample : * mut::core::ffi::c_void, pmfmediabuffer : * mut::core::ffi::c_void, cboffset : u32, ppmediabuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateLegacyMediaBufferOnMFMediaBuffer(psample.into_param().abi(), pmfmediabuffer.into_param().abi(), cboffset, &mut result__).from_abi(result__) + MFCreateLegacyMediaBufferOnMFMediaBuffer(psample.into_param().abi(), pmfmediabuffer.into_param().abi(), cboffset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -552,7 +552,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMFByteStreamOnStream(pstream : * mut::core::ffi::c_void, ppbytestream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMFByteStreamOnStream(pstream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMFByteStreamOnStream(pstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMFByteStreamOnStreamEx(punkstream: P0) -> ::windows_core::Result @@ -561,7 +561,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMFByteStreamOnStreamEx(punkstream : * mut::core::ffi::c_void, ppbytestream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMFByteStreamOnStreamEx(punkstream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMFByteStreamOnStreamEx(punkstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMFByteStreamWrapper(pstream: P0) -> ::windows_core::Result @@ -570,7 +570,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMFByteStreamWrapper(pstream : * mut::core::ffi::c_void, ppstreamwrapper : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMFByteStreamWrapper(pstream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMFByteStreamWrapper(pstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMFVideoFormatFromMFMediaType(pmftype: P0, ppmfvf: *mut *mut MFVIDEOFORMAT, pcbsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -587,7 +587,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateMP3MediaSink(ptargetbytestream : * mut::core::ffi::c_void, ppmediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMP3MediaSink(ptargetbytestream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMP3MediaSink(ptargetbytestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMPEG4MediaSink(pibytestream: P0, pvideomediatype: P1, paudiomediatype: P2) -> ::windows_core::Result @@ -598,7 +598,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateMPEG4MediaSink(pibytestream : * mut::core::ffi::c_void, pvideomediatype : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppimediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMPEG4MediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMPEG4MediaSink(pibytestream.into_param().abi(), pvideomediatype.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaBufferFromMediaType(pmediatype: P0, llduration: i64, dwminlength: u32, dwminalignment: u32) -> ::windows_core::Result @@ -607,7 +607,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaBufferFromMediaType(pmediatype : * mut::core::ffi::c_void, llduration : i64, dwminlength : u32, dwminalignment : u32, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaBufferFromMediaType(pmediatype.into_param().abi(), llduration, dwminlength, dwminalignment, &mut result__).from_abi(result__) + MFCreateMediaBufferFromMediaType(pmediatype.into_param().abi(), llduration, dwminlength, dwminalignment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaBufferWrapper(pbuffer: P0, cboffset: u32, dwlength: u32) -> ::windows_core::Result @@ -616,13 +616,13 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaBufferWrapper(pbuffer : * mut::core::ffi::c_void, cboffset : u32, dwlength : u32, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaBufferWrapper(pbuffer.into_param().abi(), cboffset, dwlength, &mut result__).from_abi(result__) + MFCreateMediaBufferWrapper(pbuffer.into_param().abi(), cboffset, dwlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaEvent(met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaEvent(met : u32, guidextendedtype : *const ::windows_core::GUID, hrstatus : ::windows_core::HRESULT, pvvalue : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ppevent : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaEvent(met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + MFCreateMediaEvent(met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaExtensionActivate(szactivatableclassid: P0, pconfiguration: P1, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -640,13 +640,13 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateMediaSession(pconfiguration : * mut::core::ffi::c_void, ppmediasession : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaSession(pconfiguration.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMediaSession(pconfiguration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaType() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaType(ppmftype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaType(&mut result__).from_abi(result__) + MFCreateMediaType(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaTypeFromProperties(punkstream: P0) -> ::windows_core::Result @@ -655,19 +655,19 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaTypeFromProperties(punkstream : * mut::core::ffi::c_void, ppmediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaTypeFromProperties(punkstream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMediaTypeFromProperties(punkstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMediaTypeFromRepresentation(guidrepresentation: ::windows_core::GUID, pvrepresentation: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMediaTypeFromRepresentation(guidrepresentation : ::windows_core::GUID, pvrepresentation : *const ::core::ffi::c_void, ppimediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMediaTypeFromRepresentation(::core::mem::transmute(guidrepresentation), pvrepresentation, &mut result__).from_abi(result__) + MFCreateMediaTypeFromRepresentation(::core::mem::transmute(guidrepresentation), pvrepresentation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMemoryBuffer(cbmaxlength: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMemoryBuffer(cbmaxlength : u32, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMemoryBuffer(cbmaxlength, &mut result__).from_abi(result__) + MFCreateMemoryBuffer(cbmaxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMuxSink(guidoutputsubtype: ::windows_core::GUID, poutputattributes: P0, poutputbytestream: P1) -> ::windows_core::Result @@ -677,7 +677,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateMuxSink(guidoutputsubtype : ::windows_core::GUID, poutputattributes : * mut::core::ffi::c_void, poutputbytestream : * mut::core::ffi::c_void, ppmuxsink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMuxSink(::core::mem::transmute(guidoutputsubtype), poutputattributes.into_param().abi(), poutputbytestream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMuxSink(::core::mem::transmute(guidoutputsubtype), poutputattributes.into_param().abi(), poutputbytestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMuxStreamAttributes(pattributestomux: P0) -> ::windows_core::Result @@ -686,7 +686,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMuxStreamAttributes(pattributestomux : * mut::core::ffi::c_void, ppmuxattribs : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMuxStreamAttributes(pattributestomux.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMuxStreamAttributes(pattributestomux.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMuxStreamMediaType(pmediatypestomux: P0) -> ::windows_core::Result @@ -695,7 +695,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMuxStreamMediaType(pmediatypestomux : * mut::core::ffi::c_void, ppmuxmediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMuxStreamMediaType(pmediatypestomux.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMuxStreamMediaType(pmediatypestomux.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateMuxStreamSample(psamplestomux: P0) -> ::windows_core::Result @@ -704,7 +704,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateMuxStreamSample(psamplestomux : * mut::core::ffi::c_void, ppmuxsample : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateMuxStreamSample(psamplestomux.into_param().abi(), &mut result__).from_abi(result__) + MFCreateMuxStreamSample(psamplestomux.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateNetSchemePlugin(riid: *const ::windows_core::GUID, ppvhandler: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -723,19 +723,19 @@ where pub unsafe fn MFCreatePMPServer(dwcreationflags: u32) -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreatePMPServer(dwcreationflags : u32, pppmpserver : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreatePMPServer(dwcreationflags, &mut result__).from_abi(result__) + MFCreatePMPServer(dwcreationflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreatePresentationClock() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreatePresentationClock(pppresentationclock : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreatePresentationClock(&mut result__).from_abi(result__) + MFCreatePresentationClock(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreatePresentationDescriptor(apstreamdescriptors: ::core::option::Option<&[::core::option::Option]>) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreatePresentationDescriptor(cstreamdescriptors : u32, apstreamdescriptors : *const * mut::core::ffi::c_void, pppresentationdescriptor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreatePresentationDescriptor(apstreamdescriptors.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apstreamdescriptors.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + MFCreatePresentationDescriptor(apstreamdescriptors.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apstreamdescriptors.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreatePresentationDescriptorFromASFProfile(piprofile: P0) -> ::windows_core::Result @@ -744,7 +744,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreatePresentationDescriptorFromASFProfile(piprofile : * mut::core::ffi::c_void, ppipd : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreatePresentationDescriptorFromASFProfile(piprofile.into_param().abi(), &mut result__).from_abi(result__) + MFCreatePresentationDescriptorFromASFProfile(piprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreatePropertiesFromMediaType(pmediatype: P0, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -758,7 +758,7 @@ where pub unsafe fn MFCreateProtectedEnvironmentAccess() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateProtectedEnvironmentAccess(ppaccess : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateProtectedEnvironmentAccess(&mut result__).from_abi(result__) + MFCreateProtectedEnvironmentAccess(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] #[inline] @@ -769,7 +769,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateProxyLocator(pszprotocol : ::windows_core::PCWSTR, pproxyconfig : * mut::core::ffi::c_void, ppproxylocator : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateProxyLocator(pszprotocol.into_param().abi(), pproxyconfig.into_param().abi(), &mut result__).from_abi(result__) + MFCreateProxyLocator(pszprotocol.into_param().abi(), pproxyconfig.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateRelativePanelWatcher(videodeviceid: P0, displaymonitordeviceid: P1) -> ::windows_core::Result @@ -779,25 +779,25 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateRelativePanelWatcher(videodeviceid : ::windows_core::PCWSTR, displaymonitordeviceid : ::windows_core::PCWSTR, pprelativepanelwatcher : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateRelativePanelWatcher(videodeviceid.into_param().abi(), displaymonitordeviceid.into_param().abi(), &mut result__).from_abi(result__) + MFCreateRelativePanelWatcher(videodeviceid.into_param().abi(), displaymonitordeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateRemoteDesktopPlugin() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateRemoteDesktopPlugin(ppplugin : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateRemoteDesktopPlugin(&mut result__).from_abi(result__) + MFCreateRemoteDesktopPlugin(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSample() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateSample(ppimfsample : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSample(&mut result__).from_abi(result__) + MFCreateSample(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSampleCopierMFT() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateSampleCopierMFT(ppcopiermft : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSampleCopierMFT(&mut result__).from_abi(result__) + MFCreateSampleCopierMFT(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSampleGrabberSinkActivate(pimfmediatype: P0, pimfsamplegrabbersinkcallback: P1) -> ::windows_core::Result @@ -807,7 +807,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateSampleGrabberSinkActivate(pimfmediatype : * mut::core::ffi::c_void, pimfsamplegrabbersinkcallback : * mut::core::ffi::c_void, ppiactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSampleGrabberSinkActivate(pimfmediatype.into_param().abi(), pimfsamplegrabbersinkcallback.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSampleGrabberSinkActivate(pimfmediatype.into_param().abi(), pimfsamplegrabbersinkcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSensorActivityMonitor(pcallback: P0) -> ::windows_core::Result @@ -816,7 +816,7 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateSensorActivityMonitor(pcallback : * mut::core::ffi::c_void, ppactivitymonitor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSensorActivityMonitor(pcallback.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSensorActivityMonitor(pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSensorGroup(sensorgroupsymboliclink: P0) -> ::windows_core::Result @@ -825,7 +825,7 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateSensorGroup(sensorgroupsymboliclink : ::windows_core::PCWSTR, ppsensorgroup : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSensorGroup(sensorgroupsymboliclink.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSensorGroup(sensorgroupsymboliclink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSensorProfile(profiletype: *const ::windows_core::GUID, profileindex: u32, constraints: P0) -> ::windows_core::Result @@ -834,13 +834,13 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateSensorProfile(profiletype : *const ::windows_core::GUID, profileindex : u32, constraints : ::windows_core::PCWSTR, ppprofile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSensorProfile(profiletype, profileindex, constraints.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSensorProfile(profiletype, profileindex, constraints.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSensorProfileCollection() -> ::windows_core::Result { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateSensorProfileCollection(ppsensorprofile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSensorProfileCollection(&mut result__).from_abi(result__) + MFCreateSensorProfileCollection(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSensorStream(streamid: u32, pattributes: P0, pmediatypecollection: P1) -> ::windows_core::Result @@ -850,13 +850,13 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateSensorStream(streamid : u32, pattributes : * mut::core::ffi::c_void, pmediatypecollection : * mut::core::ffi::c_void, ppstream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSensorStream(streamid, pattributes.into_param().abi(), pmediatypecollection.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSensorStream(streamid, pattributes.into_param().abi(), pmediatypecollection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSequencerSegmentOffset(dwid: u32, hnsoffset: i64) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("mf.dll" "system" fn MFCreateSequencerSegmentOffset(dwid : u32, hnsoffset : i64, pvarsegmentoffset : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSequencerSegmentOffset(dwid, hnsoffset, &mut result__).from_abi(result__) + MFCreateSequencerSegmentOffset(dwid, hnsoffset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSequencerSource(preserved: P0) -> ::windows_core::Result @@ -865,13 +865,13 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateSequencerSource(preserved : * mut::core::ffi::c_void, ppsequencersource : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSequencerSource(preserved.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSequencerSource(preserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSimpleTypeHandler() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateSimpleTypeHandler(pphandler : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSimpleTypeHandler(&mut result__).from_abi(result__) + MFCreateSimpleTypeHandler(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSinkWriterFromMediaSink(pmediasink: P0, pattributes: P1) -> ::windows_core::Result @@ -881,7 +881,7 @@ where { ::windows_targets::link!("mfreadwrite.dll" "system" fn MFCreateSinkWriterFromMediaSink(pmediasink : * mut::core::ffi::c_void, pattributes : * mut::core::ffi::c_void, ppsinkwriter : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSinkWriterFromMediaSink(pmediasink.into_param().abi(), pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSinkWriterFromMediaSink(pmediasink.into_param().abi(), pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSinkWriterFromURL(pwszoutputurl: P0, pbytestream: P1, pattributes: P2) -> ::windows_core::Result @@ -892,7 +892,7 @@ where { ::windows_targets::link!("mfreadwrite.dll" "system" fn MFCreateSinkWriterFromURL(pwszoutputurl : ::windows_core::PCWSTR, pbytestream : * mut::core::ffi::c_void, pattributes : * mut::core::ffi::c_void, ppsinkwriter : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSinkWriterFromURL(pwszoutputurl.into_param().abi(), pbytestream.into_param().abi(), pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSinkWriterFromURL(pwszoutputurl.into_param().abi(), pbytestream.into_param().abi(), pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSourceReaderFromByteStream(pbytestream: P0, pattributes: P1) -> ::windows_core::Result @@ -902,7 +902,7 @@ where { ::windows_targets::link!("mfreadwrite.dll" "system" fn MFCreateSourceReaderFromByteStream(pbytestream : * mut::core::ffi::c_void, pattributes : * mut::core::ffi::c_void, ppsourcereader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSourceReaderFromByteStream(pbytestream.into_param().abi(), pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSourceReaderFromByteStream(pbytestream.into_param().abi(), pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSourceReaderFromMediaSource(pmediasource: P0, pattributes: P1) -> ::windows_core::Result @@ -912,7 +912,7 @@ where { ::windows_targets::link!("mfreadwrite.dll" "system" fn MFCreateSourceReaderFromMediaSource(pmediasource : * mut::core::ffi::c_void, pattributes : * mut::core::ffi::c_void, ppsourcereader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSourceReaderFromMediaSource(pmediasource.into_param().abi(), pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSourceReaderFromMediaSource(pmediasource.into_param().abi(), pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSourceReaderFromURL(pwszurl: P0, pattributes: P1) -> ::windows_core::Result @@ -922,25 +922,25 @@ where { ::windows_targets::link!("mfreadwrite.dll" "system" fn MFCreateSourceReaderFromURL(pwszurl : ::windows_core::PCWSTR, pattributes : * mut::core::ffi::c_void, ppsourcereader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSourceReaderFromURL(pwszurl.into_param().abi(), pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFCreateSourceReaderFromURL(pwszurl.into_param().abi(), pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateSourceResolver() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateSourceResolver(ppisourceresolver : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSourceResolver(&mut result__).from_abi(result__) + MFCreateSourceResolver(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateStandardQualityManager() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateStandardQualityManager(ppqualitymanager : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateStandardQualityManager(&mut result__).from_abi(result__) + MFCreateStandardQualityManager(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateStreamDescriptor(dwstreamidentifier: u32, apmediatypes: &[::core::option::Option]) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateStreamDescriptor(dwstreamidentifier : u32, cmediatypes : u32, apmediatypes : *const * mut::core::ffi::c_void, ppdescriptor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateStreamDescriptor(dwstreamidentifier, apmediatypes.len().try_into().unwrap(), ::core::mem::transmute(apmediatypes.as_ptr()), &mut result__).from_abi(result__) + MFCreateStreamDescriptor(dwstreamidentifier, apmediatypes.len().try_into().unwrap(), ::core::mem::transmute(apmediatypes.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -950,7 +950,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateStreamOnMFByteStream(pbytestream : * mut::core::ffi::c_void, ppstream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateStreamOnMFByteStream(pbytestream.into_param().abi(), &mut result__).from_abi(result__) + MFCreateStreamOnMFByteStream(pbytestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateStreamOnMFByteStreamEx(pbytestream: P0, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -964,49 +964,49 @@ where pub unsafe fn MFCreateSystemTimeSource() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateSystemTimeSource(ppsystemtimesource : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateSystemTimeSource(&mut result__).from_abi(result__) + MFCreateSystemTimeSource(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTempFile(accessmode: MF_FILE_ACCESSMODE, openmode: MF_FILE_OPENMODE, fflags: MF_FILE_FLAGS) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateTempFile(accessmode : MF_FILE_ACCESSMODE, openmode : MF_FILE_OPENMODE, fflags : MF_FILE_FLAGS, ppibytestream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTempFile(accessmode, openmode, fflags, &mut result__).from_abi(result__) + MFCreateTempFile(accessmode, openmode, fflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTopoLoader() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateTopoLoader(ppobj : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTopoLoader(&mut result__).from_abi(result__) + MFCreateTopoLoader(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTopology() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateTopology(pptopo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTopology(&mut result__).from_abi(result__) + MFCreateTopology(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTopologyNode(nodetype: MF_TOPOLOGY_TYPE) -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateTopologyNode(nodetype : MF_TOPOLOGY_TYPE, ppnode : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTopologyNode(nodetype, &mut result__).from_abi(result__) + MFCreateTopologyNode(nodetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTrackedSample() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateTrackedSample(ppmfsample : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTrackedSample(&mut result__).from_abi(result__) + MFCreateTrackedSample(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTranscodeProfile() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateTranscodeProfile(pptranscodeprofile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTranscodeProfile(&mut result__).from_abi(result__) + MFCreateTranscodeProfile(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTranscodeSinkActivate() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFCreateTranscodeSinkActivate(ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTranscodeSinkActivate(&mut result__).from_abi(result__) + MFCreateTranscodeSinkActivate(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTranscodeTopology(psrc: P0, pwszoutputfilepath: P1, pprofile: P2) -> ::windows_core::Result @@ -1017,7 +1017,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateTranscodeTopology(psrc : * mut::core::ffi::c_void, pwszoutputfilepath : ::windows_core::PCWSTR, pprofile : * mut::core::ffi::c_void, pptranscodetopo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTranscodeTopology(psrc.into_param().abi(), pwszoutputfilepath.into_param().abi(), pprofile.into_param().abi(), &mut result__).from_abi(result__) + MFCreateTranscodeTopology(psrc.into_param().abi(), pwszoutputfilepath.into_param().abi(), pprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTranscodeTopologyFromByteStream(psrc: P0, poutputstream: P1, pprofile: P2) -> ::windows_core::Result @@ -1028,39 +1028,39 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateTranscodeTopologyFromByteStream(psrc : * mut::core::ffi::c_void, poutputstream : * mut::core::ffi::c_void, pprofile : * mut::core::ffi::c_void, pptranscodetopo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTranscodeTopologyFromByteStream(psrc.into_param().abi(), poutputstream.into_param().abi(), pprofile.into_param().abi(), &mut result__).from_abi(result__) + MFCreateTranscodeTopologyFromByteStream(psrc.into_param().abi(), poutputstream.into_param().abi(), pprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateTransformActivate() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateTransformActivate(ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateTransformActivate(&mut result__).from_abi(result__) + MFCreateTransformActivate(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateVideoMediaType(pvideoformat: *const MFVIDEOFORMAT) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateVideoMediaType(pvideoformat : *const MFVIDEOFORMAT, ppivideomediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoMediaType(pvideoformat, &mut result__).from_abi(result__) + MFCreateVideoMediaType(pvideoformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] pub unsafe fn MFCreateVideoMediaTypeFromBitMapInfoHeader(pbmihbitmapinfoheader: *const super::super::Graphics::Gdi::BITMAPINFOHEADER, dwpixelaspectratiox: u32, dwpixelaspectratioy: u32, interlacemode: MFVideoInterlaceMode, videoflags: u64, qwframespersecondnumerator: u64, qwframesperseconddenominator: u64, dwmaxbitrate: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateVideoMediaTypeFromBitMapInfoHeader(pbmihbitmapinfoheader : *const super::super::Graphics::Gdi:: BITMAPINFOHEADER, dwpixelaspectratiox : u32, dwpixelaspectratioy : u32, interlacemode : MFVideoInterlaceMode, videoflags : u64, qwframespersecondnumerator : u64, qwframesperseconddenominator : u64, dwmaxbitrate : u32, ppivideomediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoMediaTypeFromBitMapInfoHeader(pbmihbitmapinfoheader, dwpixelaspectratiox, dwpixelaspectratioy, interlacemode, videoflags, qwframespersecondnumerator, qwframesperseconddenominator, dwmaxbitrate, &mut result__).from_abi(result__) + MFCreateVideoMediaTypeFromBitMapInfoHeader(pbmihbitmapinfoheader, dwpixelaspectratiox, dwpixelaspectratioy, interlacemode, videoflags, qwframespersecondnumerator, qwframesperseconddenominator, dwmaxbitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] pub unsafe fn MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(pbmihbitmapinfoheader: *const super::super::Graphics::Gdi::BITMAPINFOHEADER, cbbitmapinfoheader: u32, dwpixelaspectratiox: u32, dwpixelaspectratioy: u32, interlacemode: MFVideoInterlaceMode, videoflags: u64, dwframespersecondnumerator: u32, dwframesperseconddenominator: u32, dwmaxbitrate: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(pbmihbitmapinfoheader : *const super::super::Graphics::Gdi:: BITMAPINFOHEADER, cbbitmapinfoheader : u32, dwpixelaspectratiox : u32, dwpixelaspectratioy : u32, interlacemode : MFVideoInterlaceMode, videoflags : u64, dwframespersecondnumerator : u32, dwframesperseconddenominator : u32, dwmaxbitrate : u32, ppivideomediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(pbmihbitmapinfoheader, cbbitmapinfoheader, dwpixelaspectratiox, dwpixelaspectratioy, interlacemode, videoflags, dwframespersecondnumerator, dwframesperseconddenominator, dwmaxbitrate, &mut result__).from_abi(result__) + MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(pbmihbitmapinfoheader, cbbitmapinfoheader, dwpixelaspectratiox, dwpixelaspectratioy, interlacemode, videoflags, dwframespersecondnumerator, dwframesperseconddenominator, dwmaxbitrate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateVideoMediaTypeFromSubtype(pamsubtype: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateVideoMediaTypeFromSubtype(pamsubtype : *const ::windows_core::GUID, ppivideomediatype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoMediaTypeFromSubtype(pamsubtype, &mut result__).from_abi(result__) + MFCreateVideoMediaTypeFromSubtype(pamsubtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateVideoMixer(powner: P0, riiddevice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -1099,7 +1099,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateVideoRendererActivate(hwndvideo : super::super::Foundation:: HWND, ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoRendererActivate(hwndvideo.into_param().abi(), &mut result__).from_abi(result__) + MFCreateVideoRendererActivate(hwndvideo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateVideoSampleAllocator(riid: *const ::windows_core::GUID, ppsampleallocator: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -1118,7 +1118,7 @@ where { ::windows_targets::link!("evr.dll" "system" fn MFCreateVideoSampleFromSurface(punksurface : * mut::core::ffi::c_void, ppsample : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVideoSampleFromSurface(punksurface.into_param().abi(), &mut result__).from_abi(result__) + MFCreateVideoSampleFromSurface(punksurface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateVirtualCamera(r#type: MFVirtualCameraType, lifetime: MFVirtualCameraLifetime, access: MFVirtualCameraAccess, friendlyname: P0, sourceid: P1, categories: ::core::option::Option<&[::windows_core::GUID]>) -> ::windows_core::Result @@ -1128,7 +1128,7 @@ where { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFCreateVirtualCamera(r#type : MFVirtualCameraType, lifetime : MFVirtualCameraLifetime, access : MFVirtualCameraAccess, friendlyname : ::windows_core::PCWSTR, sourceid : ::windows_core::PCWSTR, categories : *const ::windows_core::GUID, categorycount : u32, virtualcamera : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateVirtualCamera(r#type, lifetime, access, friendlyname.into_param().abi(), sourceid.into_param().abi(), ::core::mem::transmute(categories.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), categories.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + MFCreateVirtualCamera(r#type, lifetime, access, friendlyname.into_param().abi(), sourceid.into_param().abi(), ::core::mem::transmute(categories.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), categories.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateWAVEMediaSink(ptargetbytestream: P0, paudiomediatype: P1) -> ::windows_core::Result @@ -1138,7 +1138,7 @@ where { ::windows_targets::link!("mfsrcsnk.dll" "system" fn MFCreateWAVEMediaSink(ptargetbytestream : * mut::core::ffi::c_void, paudiomediatype : * mut::core::ffi::c_void, ppmediasink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateWAVEMediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).from_abi(result__) + MFCreateWAVEMediaSink(ptargetbytestream.into_param().abi(), paudiomediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFCreateWICBitmapBuffer(riid: *const ::windows_core::GUID, punksurface: P0) -> ::windows_core::Result @@ -1147,7 +1147,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFCreateWICBitmapBuffer(riid : *const ::windows_core::GUID, punksurface : * mut::core::ffi::c_void, ppbuffer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateWICBitmapBuffer(riid, punksurface.into_param().abi(), &mut result__).from_abi(result__) + MFCreateWICBitmapBuffer(riid, punksurface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] #[inline] @@ -1158,7 +1158,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateWMAEncoderActivate(pmediatype : * mut::core::ffi::c_void, pencodingconfigurationproperties : * mut::core::ffi::c_void, ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateWMAEncoderActivate(pmediatype.into_param().abi(), pencodingconfigurationproperties.into_param().abi(), &mut result__).from_abi(result__) + MFCreateWMAEncoderActivate(pmediatype.into_param().abi(), pencodingconfigurationproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] #[inline] @@ -1169,7 +1169,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFCreateWMVEncoderActivate(pmediatype : * mut::core::ffi::c_void, pencodingconfigurationproperties : * mut::core::ffi::c_void, ppactivate : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFCreateWMVEncoderActivate(pmediatype.into_param().abi(), pencodingconfigurationproperties.into_param().abi(), &mut result__).from_abi(result__) + MFCreateWMVEncoderActivate(pmediatype.into_param().abi(), pencodingconfigurationproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] #[inline] @@ -1194,7 +1194,7 @@ where pub unsafe fn MFDeserializePresentationDescriptor(pbdata: &[u8]) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFDeserializePresentationDescriptor(cbdata : u32, pbdata : *const u8, pppd : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFDeserializePresentationDescriptor(pbdata.len().try_into().unwrap(), ::core::mem::transmute(pbdata.as_ptr()), &mut result__).from_abi(result__) + MFDeserializePresentationDescriptor(pbdata.len().try_into().unwrap(), ::core::mem::transmute(pbdata.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFEndCreateFile(presult: P0) -> ::windows_core::Result @@ -1203,7 +1203,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFEndCreateFile(presult : * mut::core::ffi::c_void, ppfile : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFEndCreateFile(presult.into_param().abi(), &mut result__).from_abi(result__) + MFEndCreateFile(presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFEndRegisterWorkQueueWithMMCSS(presult: P0) -> ::windows_core::Result @@ -1212,7 +1212,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFEndRegisterWorkQueueWithMMCSS(presult : * mut::core::ffi::c_void, pdwtaskid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFEndRegisterWorkQueueWithMMCSS(presult.into_param().abi(), &mut result__).from_abi(result__) + MFEndRegisterWorkQueueWithMMCSS(presult.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn MFEndUnregisterWorkQueueWithMMCSS(presult: P0) -> ::windows_core::Result<()> @@ -1234,7 +1234,7 @@ where pub unsafe fn MFFrameRateToAverageTimePerFrame(unnumerator: u32, undenominator: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFFrameRateToAverageTimePerFrame(unnumerator : u32, undenominator : u32, punaveragetimeperframe : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFFrameRateToAverageTimePerFrame(unnumerator, undenominator, &mut result__).from_abi(result__) + MFFrameRateToAverageTimePerFrame(unnumerator, undenominator, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetAttributesAsBlob(pattributes: P0, pbuf: &mut [u8]) -> ::windows_core::Result<()> @@ -1251,19 +1251,19 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFGetAttributesAsBlobSize(pattributes : * mut::core::ffi::c_void, pcbbufsize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetAttributesAsBlobSize(pattributes.into_param().abi(), &mut result__).from_abi(result__) + MFGetAttributesAsBlobSize(pattributes.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetContentProtectionSystemCLSID(guidprotectionsystemid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("mfplat.dll" "system" fn MFGetContentProtectionSystemCLSID(guidprotectionsystemid : *const ::windows_core::GUID, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetContentProtectionSystemCLSID(guidprotectionsystemid, &mut result__).from_abi(result__) + MFGetContentProtectionSystemCLSID(guidprotectionsystemid, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetLocalId(verifier: &[u8]) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("mf.dll" "system" fn MFGetLocalId(verifier : *const u8, size : u32, id : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetLocalId(::core::mem::transmute(verifier.as_ptr()), verifier.len().try_into().unwrap(), &mut result__).from_abi(result__) + MFGetLocalId(::core::mem::transmute(verifier.as_ptr()), verifier.len().try_into().unwrap(), &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetMFTMerit(pmft: P0, verifier: &[u8]) -> ::windows_core::Result @@ -1272,19 +1272,19 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFGetMFTMerit(pmft : * mut::core::ffi::c_void, cbverifier : u32, verifier : *const u8, merit : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetMFTMerit(pmft.into_param().abi(), verifier.len().try_into().unwrap(), ::core::mem::transmute(verifier.as_ptr()), &mut result__).from_abi(result__) + MFGetMFTMerit(pmft.into_param().abi(), verifier.len().try_into().unwrap(), ::core::mem::transmute(verifier.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetPlaneSize(format: u32, dwwidth: u32, dwheight: u32) -> ::windows_core::Result { ::windows_targets::link!("evr.dll" "system" fn MFGetPlaneSize(format : u32, dwwidth : u32, dwheight : u32, pdwplanesize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetPlaneSize(format, dwwidth, dwheight, &mut result__).from_abi(result__) + MFGetPlaneSize(format, dwwidth, dwheight, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetPluginControl() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFGetPluginControl(ppplugincontrol : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetPluginControl(&mut result__).from_abi(result__) + MFGetPluginControl(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFGetService(punkobject: P0, guidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -1298,25 +1298,25 @@ where pub unsafe fn MFGetStrideForBitmapInfoHeader(format: u32, dwwidth: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFGetStrideForBitmapInfoHeader(format : u32, dwwidth : u32, pstride : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetStrideForBitmapInfoHeader(format, dwwidth, &mut result__).from_abi(result__) + MFGetStrideForBitmapInfoHeader(format, dwwidth, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetSupportedMimeTypes() -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("mfplat.dll" "system" fn MFGetSupportedMimeTypes(ppropvarmimetypearray : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetSupportedMimeTypes(&mut result__).from_abi(result__) + MFGetSupportedMimeTypes(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFGetSupportedSchemes() -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("mfplat.dll" "system" fn MFGetSupportedSchemes(ppropvarschemearray : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetSupportedSchemes(&mut result__).from_abi(result__) + MFGetSupportedSchemes(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFGetSystemId() -> ::windows_core::Result { ::windows_targets::link!("mf.dll" "system" fn MFGetSystemId(ppid : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetSystemId(&mut result__).from_abi(result__) + MFGetSystemId(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFGetSystemTime() -> i64 { @@ -1327,7 +1327,7 @@ pub unsafe fn MFGetSystemTime() -> i64 { pub unsafe fn MFGetTimerPeriodicity() -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFGetTimerPeriodicity(periodicity : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetTimerPeriodicity(&mut result__).from_abi(result__) + MFGetTimerPeriodicity(&mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetTopoNodeCurrentType(pnode: P0, dwstreamindex: u32, foutput: P1) -> ::windows_core::Result @@ -1337,7 +1337,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFGetTopoNodeCurrentType(pnode : * mut::core::ffi::c_void, dwstreamindex : u32, foutput : super::super::Foundation:: BOOL, pptype : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetTopoNodeCurrentType(pnode.into_param().abi(), dwstreamindex, foutput.into_param().abi(), &mut result__).from_abi(result__) + MFGetTopoNodeCurrentType(pnode.into_param().abi(), dwstreamindex, foutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFGetUncompressedVideoFormat(pvideoformat: *const MFVIDEOFORMAT) -> u32 { @@ -1353,13 +1353,13 @@ pub unsafe fn MFGetWorkQueueMMCSSClass(dwworkqueueid: u32, pwszclass: ::windows_ pub unsafe fn MFGetWorkQueueMMCSSPriority(dwworkqueueid: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFGetWorkQueueMMCSSPriority(dwworkqueueid : u32, lpriority : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetWorkQueueMMCSSPriority(dwworkqueueid, &mut result__).from_abi(result__) + MFGetWorkQueueMMCSSPriority(dwworkqueueid, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFGetWorkQueueMMCSSTaskId(dwworkqueueid: u32) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFGetWorkQueueMMCSSTaskId(dwworkqueueid : u32, pdwtaskid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFGetWorkQueueMMCSSTaskId(dwworkqueueid, &mut result__).from_abi(result__) + MFGetWorkQueueMMCSSTaskId(dwworkqueueid, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFHeapAlloc(nsize: usize, dwflags: u32, pszfile: P0, line: i32, eat: EAllocationType) -> *mut ::core::ffi::c_void @@ -1473,7 +1473,7 @@ where pub unsafe fn MFIsContentProtectionDeviceSupported(protectionsystemid: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("mfplat.dll" "system" fn MFIsContentProtectionDeviceSupported(protectionsystemid : *const ::windows_core::GUID, issupported : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFIsContentProtectionDeviceSupported(protectionsystemid, &mut result__).from_abi(result__) + MFIsContentProtectionDeviceSupported(protectionsystemid, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFIsFormatYUV(format: u32) -> super::super::Foundation::BOOL { @@ -1484,7 +1484,7 @@ pub unsafe fn MFIsFormatYUV(format: u32) -> super::super::Foundation::BOOL { pub unsafe fn MFIsVirtualCameraTypeSupported(r#type: MFVirtualCameraType) -> ::windows_core::Result { ::windows_targets::link!("mfsensorgroup.dll" "system" fn MFIsVirtualCameraTypeSupported(r#type : MFVirtualCameraType, supported : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFIsVirtualCameraTypeSupported(r#type, &mut result__).from_abi(result__) + MFIsVirtualCameraTypeSupported(r#type, &mut result__).map(|| result__) } #[inline] pub unsafe fn MFLoadSignedLibrary(pszname: P0) -> ::windows_core::Result @@ -1493,7 +1493,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFLoadSignedLibrary(pszname : ::windows_core::PCWSTR, pplib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFLoadSignedLibrary(pszname.into_param().abi(), &mut result__).from_abi(result__) + MFLoadSignedLibrary(pszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFLockDXGIDeviceManager(presettoken: ::core::option::Option<*mut u32>, ppmanager: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -1775,7 +1775,7 @@ where { ::windows_targets::link!("mf.dll" "system" fn MFTranscodeGetAudioOutputAvailableTypes(guidsubtype : *const ::windows_core::GUID, dwmftflags : u32, pcodecconfig : * mut::core::ffi::c_void, ppavailabletypes : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFTranscodeGetAudioOutputAvailableTypes(guidsubtype, dwmftflags, pcodecconfig.into_param().abi(), &mut result__).from_abi(result__) + MFTranscodeGetAudioOutputAvailableTypes(guidsubtype, dwmftflags, pcodecconfig.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFUnlockDXGIDeviceManager() -> ::windows_core::Result<()> { @@ -1804,7 +1804,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFUnwrapMediaType(pwrap : * mut::core::ffi::c_void, pporig : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFUnwrapMediaType(pwrap.into_param().abi(), &mut result__).from_abi(result__) + MFUnwrapMediaType(pwrap.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFValidateMediaTypeSize(formattype: ::windows_core::GUID, pblock: ::core::option::Option<&[u8]>) -> ::windows_core::Result<()> { @@ -1818,7 +1818,7 @@ where { ::windows_targets::link!("mfplat.dll" "system" fn MFWrapMediaType(porig : * mut::core::ffi::c_void, majortype : *const ::windows_core::GUID, subtype : *const ::windows_core::GUID, ppwrap : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MFWrapMediaType(porig.into_param().abi(), majortype, subtype, &mut result__).from_abi(result__) + MFWrapMediaType(porig.into_param().abi(), majortype, subtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MFllMulDiv(a: i64, b: i64, c: i64, d: i64) -> i64 { @@ -1829,7 +1829,7 @@ pub unsafe fn MFllMulDiv(a: i64, b: i64, c: i64, d: i64) -> i64 { pub unsafe fn OPMGetVideoOutputForTarget(padapterluid: *const super::super::Foundation::LUID, vidpntarget: u32, vos: OPM_VIDEO_OUTPUT_SEMANTICS) -> ::windows_core::Result { ::windows_targets::link!("dxva2.dll" "system" fn OPMGetVideoOutputForTarget(padapterluid : *const super::super::Foundation:: LUID, vidpntarget : u32, vos : OPM_VIDEO_OUTPUT_SEMANTICS, ppopmvideooutput : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OPMGetVideoOutputForTarget(padapterluid, vidpntarget, vos, &mut result__).from_abi(result__) + OPMGetVideoOutputForTarget(padapterluid, vidpntarget, vos, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -1869,7 +1869,7 @@ pub unsafe fn OPMXboxGetHDCPStatusAndType(phdcpstatus: *mut OPM_HDCP_STATUS, phd impl IAdvancedMediaCapture { pub unsafe fn GetAdvancedMediaCaptureSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdvancedMediaCaptureSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdvancedMediaCaptureSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1899,7 +1899,7 @@ pub struct IAdvancedMediaCaptureInitializationSettings_Vtbl { impl IAdvancedMediaCaptureSettings { pub unsafe fn GetDirectxDeviceManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectxDeviceManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectxDeviceManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1932,7 +1932,7 @@ impl IClusterDetector { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Detect)(::windows_core::Interface::as_raw(self), dwmaxnumclusters, fminclusterduration, fmaxclusterduration, psrctoc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Detect)(::windows_core::Interface::as_raw(self), dwmaxnumclusters, fminclusterduration, fmaxclusterduration, psrctoc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1959,11 +1959,11 @@ impl ICodecAPI { } pub unsafe fn GetDefaultValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, api: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), api, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, api: *const ::windows_core::GUID, value: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), api, ::core::mem::transmute(value)).ok() @@ -2890,7 +2890,7 @@ impl ID3D12VideoDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoderHeap(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC) -> ::windows_core::Result @@ -2898,7 +2898,7 @@ impl ID3D12VideoDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessor(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC]) -> ::windows_core::Result @@ -2906,7 +2906,7 @@ impl ID3D12VideoDevice { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12VideoDevice {} @@ -2937,7 +2937,7 @@ impl ID3D12VideoDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoderHeap(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC) -> ::windows_core::Result @@ -2945,7 +2945,7 @@ impl ID3D12VideoDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessor(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC]) -> ::windows_core::Result @@ -2953,7 +2953,7 @@ impl ID3D12VideoDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionEstimator(&self, pdesc: *const D3D12_VIDEO_MOTION_ESTIMATOR_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -2962,7 +2962,7 @@ impl ID3D12VideoDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionVectorHeap(&self, pdesc: *const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -2971,7 +2971,7 @@ impl ID3D12VideoDevice1 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12VideoDevice1 {} @@ -3000,7 +3000,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoderHeap(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC) -> ::windows_core::Result @@ -3008,7 +3008,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessor(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC]) -> ::windows_core::Result @@ -3016,7 +3016,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionEstimator(&self, pdesc: *const D3D12_VIDEO_MOTION_ESTIMATOR_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3025,7 +3025,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionVectorHeap(&self, pdesc: *const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3034,7 +3034,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateVideoDecoder1(&self, pdesc: *const D3D12_VIDEO_DECODER_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3043,7 +3043,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoDecoder1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoder1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoDecoderHeap1(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3052,7 +3052,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoDecoderHeap1)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoderHeap1)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoProcessor1(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC], pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3061,7 +3061,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoProcessor1)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessor1)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateVideoExtensionCommand(&self, pdesc: *const D3D12_VIDEO_EXTENSION_COMMAND_DESC, pcreationparameters: *const ::core::ffi::c_void, creationparametersdatasizeinbytes: usize, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3070,7 +3070,7 @@ impl ID3D12VideoDevice2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoExtensionCommand)(::windows_core::Interface::as_raw(self), pdesc, pcreationparameters, creationparametersdatasizeinbytes, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoExtensionCommand)(::windows_core::Interface::as_raw(self), pdesc, pcreationparameters, creationparametersdatasizeinbytes, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn ExecuteExtensionCommand(&self, pextensioncommand: P0, pexecutionparameters: *const ::core::ffi::c_void, executionparameterssizeinbytes: usize, poutputdata: *mut ::core::ffi::c_void, outputdatasizeinbytes: usize) -> ::windows_core::Result<()> @@ -3118,7 +3118,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoDecoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoDecoderHeap(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC) -> ::windows_core::Result @@ -3126,7 +3126,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoDecoderHeap)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn CreateVideoProcessor(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC]) -> ::windows_core::Result @@ -3134,7 +3134,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateVideoProcessor)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionEstimator(&self, pdesc: *const D3D12_VIDEO_MOTION_ESTIMATOR_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3143,7 +3143,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoMotionEstimator)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoMotionVectorHeap(&self, pdesc: *const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3152,7 +3152,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateVideoMotionVectorHeap)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateVideoDecoder1(&self, pdesc: *const D3D12_VIDEO_DECODER_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3161,7 +3161,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoDecoder1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoDecoderHeap1(&self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3170,7 +3170,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoDecoderHeap1)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoDecoderHeap1)(::windows_core::Interface::as_raw(self), pvideodecoderheapdesc, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateVideoProcessor1(&self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, pinputstreamdescs: &[D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC], pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3179,7 +3179,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor1)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoProcessor1)(::windows_core::Interface::as_raw(self), nodemask, poutputstreamdesc, pinputstreamdescs.len().try_into().unwrap(), ::core::mem::transmute(pinputstreamdescs.as_ptr()), pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn CreateVideoExtensionCommand(&self, pdesc: *const D3D12_VIDEO_EXTENSION_COMMAND_DESC, pcreationparameters: *const ::core::ffi::c_void, creationparametersdatasizeinbytes: usize, pprotectedresourcesession: P0) -> ::windows_core::Result @@ -3188,7 +3188,7 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateVideoExtensionCommand)(::windows_core::Interface::as_raw(self), pdesc, pcreationparameters, creationparametersdatasizeinbytes, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVideoExtensionCommand)(::windows_core::Interface::as_raw(self), pdesc, pcreationparameters, creationparametersdatasizeinbytes, pprotectedresourcesession.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn ExecuteExtensionCommand(&self, pextensioncommand: P0, pexecutionparameters: *const ::core::ffi::c_void, executionparameterssizeinbytes: usize, poutputdata: *mut ::core::ffi::c_void, outputdatasizeinbytes: usize) -> ::windows_core::Result<()> @@ -3203,14 +3203,14 @@ impl ID3D12VideoDevice3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoEncoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoEncoder)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVideoEncoderHeap(&self, pdesc: *const D3D12_VIDEO_ENCODER_HEAP_DESC) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateVideoEncoderHeap)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoEncoderHeap)(::windows_core::Interface::as_raw(self), pdesc, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for ID3D12VideoDevice3 {} @@ -5025,11 +5025,11 @@ impl IDXVAHD_Device { } pub unsafe fn GetVideoProcessorFilterRange(&self, filter: DXVAHD_FILTER) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoProcessorFilterRange)(::windows_core::Interface::as_raw(self), filter, &mut result__).map(|| result__) } pub unsafe fn CreateVideoProcessor(&self, pvpguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), pvpguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), pvpguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5248,7 +5248,7 @@ impl IDirect3DDeviceManager9 { } pub unsafe fn OpenDeviceHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenDeviceHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenDeviceHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CloseDeviceHandle(&self, hdevice: P0) -> ::windows_core::Result<()> where @@ -5324,7 +5324,7 @@ pub struct IDirectXVideoAccelerationService_Vtbl { impl IDirectXVideoDecoder { pub unsafe fn GetVideoDecoderService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoDecoderService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoDecoderService)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetCreationParameters(&self, pdeviceguid: ::core::option::Option<*mut ::windows_core::GUID>, pvideodesc: ::core::option::Option<*mut DXVA2_VideoDesc>, pconfig: ::core::option::Option<*mut DXVA2_ConfigPictureDecode>, pdecoderrendertargets: *mut *mut ::core::option::Option, pnumsurfaces: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -5389,7 +5389,7 @@ impl IDirectXVideoDecoderService { #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn CreateVideoDecoder(&self, guid: *const ::windows_core::GUID, pvideodesc: *const DXVA2_VideoDesc, pconfig: *const DXVA2_ConfigPictureDecode, ppdecoderrendertargets: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), guid, pvideodesc, pconfig, ::core::mem::transmute(ppdecoderrendertargets.as_ptr()), ppdecoderrendertargets.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoDecoder)(::windows_core::Interface::as_raw(self), guid, pvideodesc, pconfig, ::core::mem::transmute(ppdecoderrendertargets.as_ptr()), ppdecoderrendertargets.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5415,7 +5415,7 @@ pub struct IDirectXVideoDecoderService_Vtbl { impl IDirectXVideoMemoryConfiguration { pub unsafe fn GetAvailableSurfaceTypeByIndex(&self, dwtypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableSurfaceTypeByIndex)(::windows_core::Interface::as_raw(self), dwtypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableSurfaceTypeByIndex)(::windows_core::Interface::as_raw(self), dwtypeindex, &mut result__).map(|| result__) } pub unsafe fn SetSurfaceType(&self, dwtype: DXVA2_SurfaceType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSurfaceType)(::windows_core::Interface::as_raw(self), dwtype).ok() @@ -5433,7 +5433,7 @@ pub struct IDirectXVideoMemoryConfiguration_Vtbl { impl IDirectXVideoProcessor { pub unsafe fn GetVideoProcessorService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoProcessorService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoProcessorService)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetCreationParameters(&self, pdeviceguid: ::core::option::Option<*mut ::windows_core::GUID>, pvideodesc: ::core::option::Option<*mut DXVA2_VideoDesc>, prendertargetformat: ::core::option::Option<*mut super::super::Graphics::Direct3D9::D3DFORMAT>, pmaxnumsubstreams: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -5445,11 +5445,11 @@ impl IDirectXVideoProcessor { } pub unsafe fn GetProcAmpRange(&self, procampcap: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), procampcap, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), procampcap, &mut result__).map(|| result__) } pub unsafe fn GetFilterPropertyRange(&self, filtersetting: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterPropertyRange)(::windows_core::Interface::as_raw(self), filtersetting, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterPropertyRange)(::windows_core::Interface::as_raw(self), filtersetting, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn VideoProcessBlt(&self, prendertarget: P0, pbltparams: *const DXVA2_VideoProcessBltParams, psamples: &[DXVA2_VideoSample], phandlecomplete: ::core::option::Option<*mut super::super::Foundation::HANDLE>) -> ::windows_core::Result<()> @@ -5508,17 +5508,17 @@ impl IDirectXVideoProcessorService { #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetProcAmpRange(&self, videoprocdeviceguid: *const ::windows_core::GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, procampcap: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, procampcap, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, procampcap, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn GetFilterPropertyRange(&self, videoprocdeviceguid: *const ::windows_core::GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, filtersetting: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterPropertyRange)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, filtersetting, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterPropertyRange)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, filtersetting, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe fn CreateVideoProcessor(&self, videoprocdeviceguid: *const ::windows_core::GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, maxnumsubstreams: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, maxnumsubstreams, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVideoProcessor)(::windows_core::Interface::as_raw(self), videoprocdeviceguid, pvideodesc, rendertargetformat, maxnumsubstreams, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5563,7 +5563,7 @@ impl IEVRFilterConfig { } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5581,14 +5581,14 @@ impl IEVRFilterConfigEx { } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConfigPrefs(&self, dwconfigflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConfigPrefs)(::windows_core::Interface::as_raw(self), dwconfigflags).ok() } pub unsafe fn GetConfigPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfigPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfigPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5603,11 +5603,11 @@ pub struct IEVRFilterConfigEx_Vtbl { impl IEVRTrustedVideoPlugin { pub unsafe fn IsInTrustedVideoMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInTrustedVideoMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInTrustedVideoMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanConstrict(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanConstrict)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanConstrict)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConstriction(&self, dwkpix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConstriction)(::windows_core::Interface::as_raw(self), dwkpix).ok() @@ -5639,7 +5639,7 @@ impl IEVRVideoStreamControl { } pub unsafe fn GetStreamActiveState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamActiveState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5742,11 +5742,11 @@ impl IMF2DBuffer { } pub unsafe fn IsContiguousFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsContiguousFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsContiguousFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContiguousLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContiguousLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContiguousLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContiguousCopyTo(&self, pbdestbuffer: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ContiguousCopyTo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbdestbuffer.as_ptr()), pbdestbuffer.len().try_into().unwrap()).ok() @@ -5781,11 +5781,11 @@ impl IMF2DBuffer2 { } pub unsafe fn IsContiguousFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsContiguousFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsContiguousFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContiguousLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContiguousLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContiguousLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContiguousCopyTo(&self, pbdestbuffer: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ContiguousCopyTo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbdestbuffer.as_ptr()), pbdestbuffer.len().try_into().unwrap()).ok() @@ -5818,7 +5818,7 @@ impl IMFASFContentInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHeaderSize)(::windows_core::Interface::as_raw(self), pistartofcontent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHeaderSize)(::windows_core::Interface::as_raw(self), pistartofcontent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ParseHeader(&self, piheaderbuffer: P0, cboffsetwithinheader: u64) -> ::windows_core::Result<()> where @@ -5831,11 +5831,11 @@ impl IMFASFContentInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateHeader)(::windows_core::Interface::as_raw(self), piheader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateHeader)(::windows_core::Interface::as_raw(self), piheader.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProfile(&self, piprofile: P0) -> ::windows_core::Result<()> where @@ -5845,12 +5845,12 @@ impl IMFASFContentInfo { } pub unsafe fn GeneratePresentationDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GeneratePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GeneratePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetEncodingConfigurationPropertyStore(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEncodingConfigurationPropertyStore)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEncodingConfigurationPropertyStore)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5876,7 +5876,7 @@ impl IMFASFIndexer { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Initialize(&self, picontentinfo: P0) -> ::windows_core::Result<()> where @@ -5889,14 +5889,14 @@ impl IMFASFIndexer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexPosition)(::windows_core::Interface::as_raw(self), picontentinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexPosition)(::windows_core::Interface::as_raw(self), picontentinfo.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetIndexByteStreams(&self, ppibytestreams: *const ::core::option::Option, cbytestreams: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIndexByteStreams)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppibytestreams), cbytestreams).ok() } pub unsafe fn GetIndexByteStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexByteStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexByteStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIndexStatus(&self, pindexidentifier: *const ASF_INDEX_IDENTIFIER, pfisindexed: *mut super::super::Foundation::BOOL, pbindexdescriptor: *mut u8, pcbindexdescriptor: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIndexStatus)(::windows_core::Interface::as_raw(self), pindexidentifier, pfisindexed, pbindexdescriptor, pcbindexdescriptor).ok() @@ -5924,7 +5924,7 @@ impl IMFASFIndexer { } pub unsafe fn GetIndexWriteSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexWriteSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexWriteSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCompletedIndex(&self, piindexbuffer: P0, cboffsetwithinindex: u64) -> ::windows_core::Result<()> where @@ -5965,7 +5965,7 @@ impl IMFASFMultiplexer { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProcessSample(&self, wstreamnumber: u16, pisample: P0, hnstimestampadjust: i64) -> ::windows_core::Result<()> where @@ -5987,7 +5987,7 @@ impl IMFASFMultiplexer { } pub unsafe fn GetStatistics(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).map(|| result__) } pub unsafe fn SetSyncTolerance(&self, mssynctolerance: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncTolerance)(::windows_core::Interface::as_raw(self), mssynctolerance).ok() @@ -6012,14 +6012,14 @@ pub struct IMFASFMultiplexer_Vtbl { impl IMFASFMutualExclusion { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), guidtype).ok() } pub unsafe fn GetRecordCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamsForRecord(&self, dwrecordnumber: u32, pwstreamnumarray: *mut u16, pcstreams: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStreamsForRecord)(::windows_core::Interface::as_raw(self), dwrecordnumber, pwstreamnumarray, pcstreams).ok() @@ -6035,11 +6035,11 @@ impl IMFASFMutualExclusion { } pub unsafe fn AddRecord(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddRecord)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddRecord)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6064,38 +6064,38 @@ impl IMFASFProfile { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6105,7 +6105,7 @@ impl IMFASFProfile { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6118,7 +6118,7 @@ impl IMFASFProfile { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -6164,7 +6164,7 @@ impl IMFASFProfile { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6177,14 +6177,14 @@ impl IMFASFProfile { } pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStream(&self, dwstreamindex: u32, pwstreamnumber: *mut u16, ppistream: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, pwstreamnumber, ::core::mem::transmute(ppistream)).ok() } pub unsafe fn GetStreamByNumber(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStream(&self, pistream: P0) -> ::windows_core::Result<()> where @@ -6200,15 +6200,15 @@ impl IMFASFProfile { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMutualExclusionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMutualExclusion(&self, dwmutexindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmutexindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmutexindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddMutualExclusion(&self, pimutex: P0) -> ::windows_core::Result<()> where @@ -6221,11 +6221,11 @@ impl IMFASFProfile { } pub unsafe fn CreateMutualExclusion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamPrioritization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddStreamPrioritization(&self, pistreamprioritization: P0) -> ::windows_core::Result<()> where @@ -6238,11 +6238,11 @@ impl IMFASFProfile { } pub unsafe fn CreateStreamPrioritization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6280,7 +6280,7 @@ impl IMFASFSplitter { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SelectStreams(&self, pwstreamnumbers: *const u16, wnumstreams: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectStreams)(::windows_core::Interface::as_raw(self), pwstreamnumbers, wnumstreams).ok() @@ -6302,7 +6302,7 @@ impl IMFASFSplitter { } pub unsafe fn GetLastSendTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastSendTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastSendTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6327,38 +6327,38 @@ impl IMFASFStreamConfig { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6368,7 +6368,7 @@ impl IMFASFStreamConfig { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6381,7 +6381,7 @@ impl IMFASFStreamConfig { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -6427,7 +6427,7 @@ impl IMFASFStreamConfig { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6440,7 +6440,7 @@ impl IMFASFStreamConfig { } pub unsafe fn GetStreamType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamNumber(&self) -> u16 { (::windows_core::Interface::vtable(self).GetStreamNumber)(::windows_core::Interface::as_raw(self)) @@ -6450,7 +6450,7 @@ impl IMFASFStreamConfig { } pub unsafe fn GetMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaType(&self, pimediatype: P0) -> ::windows_core::Result<()> where @@ -6460,7 +6460,7 @@ impl IMFASFStreamConfig { } pub unsafe fn GetPayloadExtensionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPayloadExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPayloadExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPayloadExtension(&self, wpayloadextensionnumber: u16, pguidextensionsystemid: *mut ::windows_core::GUID, pcbextensiondatasize: *mut u16, pbextensionsysteminfo: *mut u8, pcbextensionsysteminfo: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPayloadExtension)(::windows_core::Interface::as_raw(self), wpayloadextensionnumber, pguidextensionsystemid, pcbextensiondatasize, pbextensionsysteminfo, pcbextensionsysteminfo).ok() @@ -6473,7 +6473,7 @@ impl IMFASFStreamConfig { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6496,7 +6496,7 @@ pub struct IMFASFStreamConfig_Vtbl { impl IMFASFStreamPrioritization { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStream(&self, dwstreamindex: u32, pwstreamnumber: *mut u16, pwstreamflags: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, pwstreamnumber, pwstreamflags).ok() @@ -6509,7 +6509,7 @@ impl IMFASFStreamPrioritization { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6527,52 +6527,52 @@ pub struct IMFASFStreamPrioritization_Vtbl { impl IMFASFStreamSelector { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputStreamCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputStreamNumbers(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamNumbers)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamNumbers)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputFromStream(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFromStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFromStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputOverride(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputOverride)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputOverride)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetOutputOverride(&self, dwoutputnum: u32, selection: ASF_SELECTION_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputOverride)(::windows_core::Interface::as_raw(self), dwoutputnum, selection).ok() } pub unsafe fn GetOutputMutexCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMutexCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMutexCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputMutex(&self, dwoutputnum: u32, dwmutexnum: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMutex)(::windows_core::Interface::as_raw(self), dwoutputnum, dwmutexnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMutex)(::windows_core::Interface::as_raw(self), dwoutputnum, dwmutexnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputMutexSelection(&self, dwoutputnum: u32, dwmutexnum: u32, wselectedrecord: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMutexSelection)(::windows_core::Interface::as_raw(self), dwoutputnum, dwmutexnum, wselectedrecord).ok() } pub unsafe fn GetBandwidthStepCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBandwidthStepCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandwidthStepCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBandwidthStep(&self, dwstepnum: u32, pdwbitrate: *mut u32, rgwstreamnumbers: *mut u16, rgselections: *mut ASF_SELECTION_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBandwidthStep)(::windows_core::Interface::as_raw(self), dwstepnum, pdwbitrate, rgwstreamnumbers, rgselections).ok() } pub unsafe fn BitrateToStepNumber(&self, dwbitrate: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitrateToStepNumber)(::windows_core::Interface::as_raw(self), dwbitrate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitrateToStepNumber)(::windows_core::Interface::as_raw(self), dwbitrate, &mut result__).map(|| result__) } pub unsafe fn SetStreamSelectorFlags(&self, dwstreamselectorflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamSelectorFlags)(::windows_core::Interface::as_raw(self), dwstreamselectorflags).ok() @@ -6605,38 +6605,38 @@ impl IMFActivate { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6646,7 +6646,7 @@ impl IMFActivate { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6659,7 +6659,7 @@ impl IMFActivate { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -6705,7 +6705,7 @@ impl IMFActivate { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6721,7 +6721,7 @@ impl IMFActivate { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ActivateObject)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateObject)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShutdownObject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShutdownObject)(::windows_core::Interface::as_raw(self)).ok() @@ -6789,7 +6789,7 @@ pub struct IMFAsyncCallbackLogging_Vtbl { impl IMFAsyncResult { pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self)).ok() @@ -6799,7 +6799,7 @@ impl IMFAsyncResult { } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> { (::windows_core::Interface::vtable(self).GetStateNoAddRef)(::windows_core::Interface::as_raw(self)) @@ -6823,38 +6823,38 @@ impl IMFAttributes { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6864,7 +6864,7 @@ impl IMFAttributes { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6877,7 +6877,7 @@ impl IMFAttributes { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -6923,7 +6923,7 @@ impl IMFAttributes { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -6978,38 +6978,38 @@ impl IMFAudioMediaType { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7019,7 +7019,7 @@ impl IMFAudioMediaType { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7032,7 +7032,7 @@ impl IMFAudioMediaType { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -7078,7 +7078,7 @@ impl IMFAudioMediaType { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7091,18 +7091,18 @@ impl IMFAudioMediaType { } pub unsafe fn GetMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCompressedFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, pimediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRepresentation(&self, guidrepresentation: ::windows_core::GUID, ppvrepresentation: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRepresentation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidrepresentation), ppvrepresentation).ok() @@ -7132,7 +7132,7 @@ impl IMFAudioPolicy { } pub unsafe fn GetGroupingParam(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupingParam)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -7142,7 +7142,7 @@ impl IMFAudioPolicy { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIconPath(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -7152,7 +7152,7 @@ impl IMFAudioPolicy { } pub unsafe fn GetIconPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7171,14 +7171,14 @@ pub struct IMFAudioPolicy_Vtbl { impl IMFAudioStreamVolume { pub unsafe fn GetChannelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannelVolume(&self, dwindex: u32, flevel: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, flevel).ok() } pub unsafe fn GetChannelVolume(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChannelVolume)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn SetAllVolumes(&self, pfvolumes: &[f32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllVolumes)(::windows_core::Interface::as_raw(self), pfvolumes.len().try_into().unwrap(), ::core::mem::transmute(pfvolumes.as_ptr())).ok() @@ -7219,25 +7219,25 @@ pub struct IMFBufferListNotify_Vtbl { impl IMFByteStream { pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, qwlength: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLength)(::windows_core::Interface::as_raw(self), qwlength).ok() } pub unsafe fn GetCurrentPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPosition(&self, qwposition: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentPosition)(::windows_core::Interface::as_raw(self), qwposition).ok() } pub unsafe fn IsEndOfStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEndOfStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEndOfStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Read(&self, pb: &mut [u8], pcbread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pb.as_ptr()), pb.len().try_into().unwrap(), pcbread).ok() @@ -7254,11 +7254,11 @@ impl IMFByteStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndRead)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndRead)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Write(&self, pb: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pb.as_ptr()), pb.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pb.as_ptr()), pb.len().try_into().unwrap(), &mut result__).map(|| result__) } pub unsafe fn BeginWrite(&self, pb: &[u8], pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -7272,11 +7272,11 @@ impl IMFByteStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndWrite)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndWrite)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, seekorigin: MFBYTESTREAM_SEEK_ORIGIN, llseekoffset: i64, dwseekflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), seekorigin, llseekoffset, dwseekflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), seekorigin, llseekoffset, dwseekflags, &mut result__).map(|| result__) } pub unsafe fn Flush(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Flush)(::windows_core::Interface::as_raw(self)).ok() @@ -7356,7 +7356,7 @@ impl IMFByteStreamCacheControl2 { } pub unsafe fn IsBackgroundTransferActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBackgroundTransferActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBackgroundTransferActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7395,7 +7395,7 @@ impl IMFByteStreamHandler { } pub unsafe fn GetMaxNumberOfBytesRequiredForResolution(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxNumberOfBytesRequiredForResolution)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxNumberOfBytesRequiredForResolution)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7420,7 +7420,7 @@ impl IMFByteStreamProxyClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateByteStreamProxy)(::windows_core::Interface::as_raw(self), pbytestream.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateByteStreamProxy)(::windows_core::Interface::as_raw(self), pbytestream.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7434,7 +7434,7 @@ pub struct IMFByteStreamProxyClassFactory_Vtbl { impl IMFByteStreamTimeSeek { pub unsafe fn IsTimeSeekSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTimeSeekSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTimeSeekSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TimeSeek(&self, qwtimeposition: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TimeSeek)(::windows_core::Interface::as_raw(self), qwtimeposition).ok() @@ -7459,7 +7459,7 @@ impl IMFCameraConfigurationManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadDefaults)(::windows_core::Interface::as_raw(self), cameraattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadDefaults)(::windows_core::Interface::as_raw(self), cameraattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveDefaults(&self, configurations: P0) -> ::windows_core::Result<()> where @@ -7487,7 +7487,7 @@ impl IMFCameraControlDefaults { } pub unsafe fn GetRangeInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRangeInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRangeInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LockControlData(&self, control: *mut *mut ::core::ffi::c_void, controlsize: *mut u32, data: ::core::option::Option<*mut *mut ::core::ffi::c_void>, datasize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockControlData)(::windows_core::Interface::as_raw(self), control, controlsize, ::core::mem::transmute(data.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(datasize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7513,38 +7513,38 @@ impl IMFCameraControlDefaultsCollection { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7554,7 +7554,7 @@ impl IMFCameraControlDefaultsCollection { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7567,7 +7567,7 @@ impl IMFCameraControlDefaultsCollection { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -7613,7 +7613,7 @@ impl IMFCameraControlDefaultsCollection { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7629,15 +7629,15 @@ impl IMFCameraControlDefaultsCollection { } pub unsafe fn GetControl(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControl)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControl)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOrAddExtendedControl(&self, configtype: MF_CAMERA_CONTROL_CONFIGURATION_TYPE, constrolid: u32, streamid: u32, datasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOrAddExtendedControl)(::windows_core::Interface::as_raw(self), configtype, constrolid, streamid, datasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOrAddExtendedControl)(::windows_core::Interface::as_raw(self), configtype, constrolid, streamid, datasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOrAddControl(&self, configtype: MF_CAMERA_CONTROL_CONFIGURATION_TYPE, controlset: *const ::windows_core::GUID, constrolid: u32, controlsize: u32, datasize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOrAddControl)(::windows_core::Interface::as_raw(self), configtype, controlset, constrolid, controlsize, datasize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOrAddControl)(::windows_core::Interface::as_raw(self), configtype, controlset, constrolid, controlsize, datasize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveControl(&self, controlset: *const ::windows_core::GUID, constrolid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveControl)(::windows_core::Interface::as_raw(self), controlset, constrolid).ok() @@ -7729,7 +7729,7 @@ pub struct IMFCameraOcclusionStateMonitor_Vtbl { impl IMFCameraOcclusionStateReport { pub unsafe fn GetOcclusionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOcclusionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOcclusionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7804,11 +7804,11 @@ impl IMFCaptureEngine { } pub unsafe fn GetSink(&self, mfcaptureenginesinktype: MF_CAPTURE_ENGINE_SINK_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), mfcaptureenginesinktype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), mfcaptureenginesinktype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7832,7 +7832,7 @@ impl IMFCaptureEngineClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7909,7 +7909,7 @@ impl IMFCapturePhotoConfirmation { } pub unsafe fn GetPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8014,7 +8014,7 @@ impl IMFCapturePreviewSink { } pub unsafe fn GetMirrorState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMirrorState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMirrorState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMirrorState(&self, fmirrorstate: P0) -> ::windows_core::Result<()> where @@ -8024,7 +8024,7 @@ impl IMFCapturePreviewSink { } pub unsafe fn GetRotation(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetRotation(&self, dwstreamindex: u32, dwrotationvalue: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, dwrotationvalue).ok() @@ -8098,7 +8098,7 @@ impl IMFCaptureRecordSink { } pub unsafe fn GetRotation(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetRotation(&self, dwstreamindex: u32, dwrotationvalue: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRotation)(::windows_core::Interface::as_raw(self), dwstreamindex, dwrotationvalue).ok() @@ -8222,19 +8222,19 @@ impl IMFCaptureSource { } pub unsafe fn GetCurrentDeviceMediaType(&self, dwsourcestreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentDeviceMediaType)(::windows_core::Interface::as_raw(self), dwsourcestreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentDeviceMediaType)(::windows_core::Interface::as_raw(self), dwsourcestreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceStreamCategory(&self, dwsourcestreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceStreamCategory)(::windows_core::Interface::as_raw(self), dwsourcestreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceStreamCategory)(::windows_core::Interface::as_raw(self), dwsourcestreamindex, &mut result__).map(|| result__) } pub unsafe fn GetMirrorState(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMirrorState)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMirrorState)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetMirrorState(&self, dwstreamindex: u32, fmirrorstate: P0) -> ::windows_core::Result<()> where @@ -8244,7 +8244,7 @@ impl IMFCaptureSource { } pub unsafe fn GetStreamIndexFromFriendlyName(&self, uifriendlyname: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamIndexFromFriendlyName)(::windows_core::Interface::as_raw(self), uifriendlyname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamIndexFromFriendlyName)(::windows_core::Interface::as_raw(self), uifriendlyname, &mut result__).map(|| result__) } } #[repr(C)] @@ -8288,18 +8288,18 @@ pub struct IMFCdmSuspendNotify_Vtbl { impl IMFClock { pub unsafe fn GetClockCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCorrelatedTime(&self, dwreserved: u32, pllclocktime: *mut i64, phnssystemtime: *mut i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCorrelatedTime)(::windows_core::Interface::as_raw(self), dwreserved, pllclocktime, phnssystemtime).ok() } pub unsafe fn GetContinuityKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetState(&self, dwreserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self, pclockproperties: *mut MFCLOCK_PROPERTIES) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), pclockproperties).ok() @@ -8326,7 +8326,7 @@ impl IMFClockConsumer { } pub unsafe fn GetPresentationClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8370,11 +8370,11 @@ pub struct IMFClockStateSink_Vtbl { impl IMFCollection { pub unsafe fn GetElementCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElementCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElementCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElement(&self, dwelementindex: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), dwelementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), dwelementindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddElement(&self, punkelement: P0) -> ::windows_core::Result<()> where @@ -8384,7 +8384,7 @@ impl IMFCollection { } pub unsafe fn RemoveElement(&self, dwelementindex: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoveElement)(::windows_core::Interface::as_raw(self), dwelementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoveElement)(::windows_core::Interface::as_raw(self), dwelementindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertElementAt(&self, dwindex: u32, punknown: P0) -> ::windows_core::Result<()> where @@ -8419,7 +8419,7 @@ impl IMFContentDecryptionModule { } pub unsafe fn GetSuspendNotify(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPMPHostApp(&self, pmphostapp: P0) -> ::windows_core::Result<()> where @@ -8432,14 +8432,14 @@ impl IMFContentDecryptionModule { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), sessiontype, callbacks.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), sessiontype, callbacks.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServerCertificate(&self, certificate: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetServerCertificate)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(certificate.as_ptr()), certificate.len().try_into().unwrap()).ok() } pub unsafe fn CreateTrustedInput(&self, contentinitdata: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTrustedInput)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(contentinitdata.as_ptr()), contentinitdata.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTrustedInput)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(contentinitdata.as_ptr()), contentinitdata.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProtectionSystemIds(&self, systemids: *mut *mut ::windows_core::GUID, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProtectionSystemIds)(::windows_core::Interface::as_raw(self), systemids, count).ok() @@ -8466,16 +8466,16 @@ impl IMFContentDecryptionModuleAccess { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContentDecryptionModule)(::windows_core::Interface::as_raw(self), contentdecryptionmoduleproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContentDecryptionModule)(::windows_core::Interface::as_raw(self), contentdecryptionmoduleproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetConfiguration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKeySystem(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeySystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8508,7 +8508,7 @@ impl IMFContentDecryptionModuleFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContentDecryptionModuleAccess)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), ::core::mem::transmute(configurations.as_ptr()), configurations.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContentDecryptionModuleAccess)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), ::core::mem::transmute(configurations.as_ptr()), configurations.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8526,11 +8526,11 @@ pub struct IMFContentDecryptionModuleFactory_Vtbl { impl IMFContentDecryptionModuleSession { pub unsafe fn GetSessionId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpiration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpiration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpiration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyStatuses(&self, keystatuses: *mut *mut MFMediaKeyStatus, numkeystatuses: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetKeyStatuses)(::windows_core::Interface::as_raw(self), keystatuses, numkeystatuses).ok() @@ -8540,7 +8540,7 @@ impl IMFContentDecryptionModuleSession { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), sessionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), sessionid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GenerateRequest(&self, initdatatype: P0, initdata: &[u8]) -> ::windows_core::Result<()> where @@ -8596,7 +8596,7 @@ pub struct IMFContentDecryptionModuleSessionCallbacks_Vtbl { impl IMFContentDecryptorContext { pub unsafe fn InitializeHardwareKey(&self, inputprivatedata: ::core::option::Option<&[u8]>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeHardwareKey)(::windows_core::Interface::as_raw(self), inputprivatedata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(inputprivatedata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeHardwareKey)(::windows_core::Interface::as_raw(self), inputprivatedata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(inputprivatedata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).map(|| result__) } } #[repr(C)] @@ -8610,7 +8610,7 @@ pub struct IMFContentDecryptorContext_Vtbl { impl IMFContentEnabler { pub unsafe fn GetEnableType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnableURL(&self, ppwszurl: *mut ::windows_core::PWSTR, pcchurl: *mut u32, ptruststatus: *mut MF_URL_TRUST_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetEnableURL)(::windows_core::Interface::as_raw(self), ppwszurl, pcchurl, ptruststatus).ok() @@ -8620,7 +8620,7 @@ impl IMFContentEnabler { } pub unsafe fn IsAutomaticSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAutomaticSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAutomaticSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutomaticEnable(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AutomaticEnable)(::windows_core::Interface::as_raw(self)).ok() @@ -8798,7 +8798,7 @@ impl IMFDXGIBuffer { } pub unsafe fn GetSubresourceIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubresourceIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubresourceIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUnknown(&self, guid: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetUnknown)(::windows_core::Interface::as_raw(self), guid, riid, ppvobject).ok() @@ -8843,7 +8843,7 @@ impl IMFDXGIDeviceManager { } pub unsafe fn OpenDeviceHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenDeviceHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenDeviceHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetDevice(&self, punkdevice: P0, resettoken: u32) -> ::windows_core::Result<()> where @@ -8882,7 +8882,7 @@ pub struct IMFDXGIDeviceManager_Vtbl { impl IMFDXGIDeviceManagerSource { pub unsafe fn GetManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8923,27 +8923,27 @@ impl IMFDeviceTransform { } pub unsafe fn GetInputAvailableType(&self, dwinputstreamid: u32, dwtypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputAvailableType)(::windows_core::Interface::as_raw(self), dwinputstreamid, dwtypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputAvailableType)(::windows_core::Interface::as_raw(self), dwinputstreamid, dwtypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCurrentType(&self, dwinputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCurrentType)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCurrentType)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputStreamAttributes(&self, dwinputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStreamAttributes)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStreamAttributes)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputAvailableType(&self, dwoutputstreamid: u32, dwtypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputAvailableType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, dwtypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputAvailableType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, dwtypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputCurrentType(&self, dwoutputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCurrentType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCurrentType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputStreamAttributes(&self, dwoutputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamAttributes)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamAttributes)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamCount(&self, pcinputstreams: *mut u32, pcoutputstreams: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), pcinputstreams, pcoutputstreams).ok() @@ -8977,7 +8977,7 @@ impl IMFDeviceTransform { } pub unsafe fn GetInputStreamState(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStreamState)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStreamState)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetOutputStreamState(&self, dwstreamid: u32, pmediatype: P0, value: DeviceStreamState, dwflags: u32) -> ::windows_core::Result<()> where @@ -8987,7 +8987,7 @@ impl IMFDeviceTransform { } pub unsafe fn GetOutputStreamState(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamState)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamState)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn GetInputStreamPreferredState(&self, dwstreamid: u32, value: *mut DeviceStreamState, ppmediatype: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputStreamPreferredState)(::windows_core::Interface::as_raw(self), dwstreamid, value, ::core::mem::transmute(ppmediatype)).ok() @@ -9078,7 +9078,7 @@ pub struct IMFExtendedCameraControl_Vtbl { impl IMFExtendedCameraController { pub unsafe fn GetExtendedCameraControl(&self, dwstreamindex: u32, ulpropertyid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtendedCameraControl)(::windows_core::Interface::as_raw(self), dwstreamindex, ulpropertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtendedCameraControl)(::windows_core::Interface::as_raw(self), dwstreamindex, ulpropertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9098,7 +9098,7 @@ impl IMFExtendedCameraIntrinsicModel { } pub unsafe fn GetDistortionModelType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDistortionModelType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDistortionModelType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9117,18 +9117,18 @@ impl IMFExtendedCameraIntrinsics { } pub unsafe fn GetBufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SerializeToBuffer(&self, pbbuffer: *mut u8, pdwbuffersize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SerializeToBuffer)(::windows_core::Interface::as_raw(self), pbbuffer, pdwbuffersize).ok() } pub unsafe fn GetIntrinsicModelCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntrinsicModelCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntrinsicModelCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntrinsicModelByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntrinsicModelByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntrinsicModelByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddIntrinsicModel(&self, pintrinsicmodel: P0) -> ::windows_core::Result<()> where @@ -9191,7 +9191,7 @@ impl IMFExtendedDRMTypeSupport { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTypeSupportedEx)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), keysystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTypeSupportedEx)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), keysystem.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -9221,29 +9221,29 @@ pub struct IMFFieldOfUseMFTUnlock_Vtbl { impl IMFFinalizableMediaSink { pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddStreamSink(&self, dwstreamsinkidentifier: u32, pmediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, pmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, pmediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStreamSink(&self, dwstreamsinkidentifier: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RemoveStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier).ok() } pub unsafe fn GetStreamSinkCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamSinkByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSinkByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSinkByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamSinkById(&self, dwstreamsinkidentifier: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSinkById)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSinkById)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentationClock(&self, ppresentationclock: P0) -> ::windows_core::Result<()> where @@ -9253,7 +9253,7 @@ impl IMFFinalizableMediaSink { } pub unsafe fn GetPresentationClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() @@ -9287,7 +9287,7 @@ impl IMFGetService { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9366,34 +9366,34 @@ impl IMFHttpDownloadRequest { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHeader)(::windows_core::Interface::as_raw(self), szheadername.into_param().abi(), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHeader)(::windows_core::Interface::as_raw(self), szheadername.into_param().abi(), dwindex, &mut result__).map(|| result__) } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HasNullSourceOrigin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasNullSourceOrigin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasNullSourceOrigin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeSeekResult(&self, pqwstarttime: *mut u64, pqwstoptime: *mut u64, pqwduration: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimeSeekResult)(::windows_core::Interface::as_raw(self), pqwstarttime, pqwstoptime, pqwduration).ok() } pub unsafe fn GetHttpStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHttpStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHttpStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAtEndOfPayload(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAtEndOfPayload)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAtEndOfPayload)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRangeEndOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRangeEndOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRangeEndOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -9438,7 +9438,7 @@ impl IMFHttpDownloadSession { P4: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), szobjectname.into_param().abi(), fbypassproxycache.into_param().abi(), fsecure.into_param().abi(), szverb.into_param().abi(), szreferrer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), szobjectname.into_param().abi(), fbypassproxycache.into_param().abi(), fsecure.into_param().abi(), szverb.into_param().abi(), szreferrer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -9460,7 +9460,7 @@ impl IMFHttpDownloadSessionProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateHttpDownloadSession)(::windows_core::Interface::as_raw(self), wszscheme.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateHttpDownloadSession)(::windows_core::Interface::as_raw(self), wszscheme.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9501,7 +9501,7 @@ impl IMFImageSharingEngineClassFactory { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceFromUDN)(::windows_core::Interface::as_raw(self), puniquedevicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceFromUDN)(::windows_core::Interface::as_raw(self), puniquedevicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9518,11 +9518,11 @@ impl IMFInputTrustAuthority { } pub unsafe fn RequestAccess(&self, action: MFPOLICYMANAGER_ACTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestAccess)(::windows_core::Interface::as_raw(self), action, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccess)(::windows_core::Interface::as_raw(self), action, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPolicy(&self, action: MFPOLICYMANAGER_ACTION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), action, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), action, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BindAccess(&self, pparam: *const MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BindAccess)(::windows_core::Interface::as_raw(self), pparam).ok() @@ -9569,14 +9569,14 @@ impl IMFMediaBuffer { } pub unsafe fn GetCurrentLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentLength(&self, cbcurrentlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentLength)(::windows_core::Interface::as_raw(self), cbcurrentlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9594,7 +9594,7 @@ pub struct IMFMediaBuffer_Vtbl { impl IMFMediaEngine { pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetErrorCode(&self, error: MF_MEDIA_ENGINE_ERR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetErrorCode)(::windows_core::Interface::as_raw(self), error).ok() @@ -9613,7 +9613,7 @@ impl IMFMediaEngine { } pub unsafe fn GetCurrentSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetworkState(&self) -> u16 { (::windows_core::Interface::vtable(self).GetNetworkState)(::windows_core::Interface::as_raw(self)) @@ -9626,7 +9626,7 @@ impl IMFMediaEngine { } pub unsafe fn GetBuffered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Load(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self)).ok() @@ -9636,7 +9636,7 @@ impl IMFMediaEngine { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetReadyState(&self) -> u16 { (::windows_core::Interface::vtable(self).GetReadyState)(::windows_core::Interface::as_raw(self)) @@ -9673,11 +9673,11 @@ impl IMFMediaEngine { } pub unsafe fn GetPlayed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSeekable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEnded(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsEnded)(::windows_core::Interface::as_raw(self)) @@ -9744,7 +9744,7 @@ impl IMFMediaEngine { } pub unsafe fn OnVideoStreamTick(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9805,7 +9805,7 @@ impl IMFMediaEngineAudioEndpointId { } pub unsafe fn GetAudioEndpointId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioEndpointId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioEndpointId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9823,15 +9823,15 @@ impl IMFMediaEngineClassFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTimeRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTimeRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTimeRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9852,7 +9852,7 @@ impl IMFMediaEngineClassFactory2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaKeys2)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), defaultcdmstorepath.into_param().abi(), inprivatecdmstorepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaKeys2)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), defaultcdmstorepath.into_param().abi(), inprivatecdmstorepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9870,7 +9870,7 @@ impl IMFMediaEngineClassFactory3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaKeySystemAccess)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), ::core::mem::transmute(ppsupportedconfigurationsarray.as_ptr()), ppsupportedconfigurationsarray.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaKeySystemAccess)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), ::core::mem::transmute(ppsupportedconfigurationsarray.as_ptr()), ppsupportedconfigurationsarray.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9906,22 +9906,22 @@ impl IMFMediaEngineClassFactoryEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTimeRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTimeRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTimeRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMediaSourceExtension(&self, dwflags: u32, pattr: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaSourceExtension)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaSourceExtension)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMediaKeys(&self, keysystem: P0, cdmstorepath: P1) -> ::windows_core::Result where @@ -9929,7 +9929,7 @@ impl IMFMediaEngineClassFactoryEx { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaKeys)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), cdmstorepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaKeys)(::windows_core::Interface::as_raw(self), keysystem.into_param().abi(), cdmstorepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsTypeSupported(&self, r#type: P0, keysystem: P1) -> ::windows_core::Result where @@ -9937,7 +9937,7 @@ impl IMFMediaEngineClassFactoryEx { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTypeSupported)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), keysystem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTypeSupported)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), keysystem.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -9953,7 +9953,7 @@ pub struct IMFMediaEngineClassFactoryEx_Vtbl { impl IMFMediaEngineEME { pub unsafe fn Keys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Keys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Keys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMediaKeys(&self, keys: P0) -> ::windows_core::Result<()> where @@ -9994,7 +9994,7 @@ pub struct IMFMediaEngineEMENotify_Vtbl { impl IMFMediaEngineEx { pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetErrorCode(&self, error: MF_MEDIA_ENGINE_ERR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetErrorCode)(::windows_core::Interface::as_raw(self), error).ok() @@ -10013,7 +10013,7 @@ impl IMFMediaEngineEx { } pub unsafe fn GetCurrentSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetworkState(&self) -> u16 { (::windows_core::Interface::vtable(self).base__.GetNetworkState)(::windows_core::Interface::as_raw(self)) @@ -10026,7 +10026,7 @@ impl IMFMediaEngineEx { } pub unsafe fn GetBuffered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Load(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Load)(::windows_core::Interface::as_raw(self)).ok() @@ -10036,7 +10036,7 @@ impl IMFMediaEngineEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetReadyState(&self) -> u16 { (::windows_core::Interface::vtable(self).base__.GetReadyState)(::windows_core::Interface::as_raw(self)) @@ -10073,11 +10073,11 @@ impl IMFMediaEngineEx { } pub unsafe fn GetPlayed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSeekable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEnded(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.IsEnded)(::windows_core::Interface::as_raw(self)) @@ -10144,7 +10144,7 @@ impl IMFMediaEngineEx { } pub unsafe fn OnVideoStreamTick(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSourceFromByteStream(&self, pbytestream: P0, purl: P1) -> ::windows_core::Result<()> where @@ -10155,7 +10155,7 @@ impl IMFMediaEngineEx { } pub unsafe fn GetStatistics(&self, statisticid: MF_MEDIA_ENGINE_STATISTIC) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), statisticid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), statisticid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UpdateVideoStream(&self, psrc: ::core::option::Option<*const MFVideoNormalizedRect>, pdst: ::core::option::Option<*const super::super::Foundation::RECT>, pborderclr: ::core::option::Option<*const MFARGB>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateVideoStream)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psrc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pdst.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pborderclr.unwrap_or(::std::ptr::null()))).ok() @@ -10177,23 +10177,23 @@ impl IMFMediaEngineEx { } pub unsafe fn GetResourceCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPresentationAttribute(&self, guidmfattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), guidmfattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), guidmfattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamAttribute(&self, dwstreamindex: u32, guidmfattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidmfattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidmfattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamSelection(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetStreamSelection(&self, dwstreamindex: u32, enabled: P0) -> ::windows_core::Result<()> where @@ -10206,7 +10206,7 @@ impl IMFMediaEngineEx { } pub unsafe fn IsProtected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsProtected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsProtected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InsertVideoEffect(&self, peffect: P0, foptional: P1) -> ::windows_core::Result<()> where @@ -10230,7 +10230,7 @@ impl IMFMediaEngineEx { } pub unsafe fn GetTimelineMarkerTimer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimelineMarkerTimer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimelineMarkerTimer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CancelTimelineMarkerTimer(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelTimelineMarkerTimer)(::windows_core::Interface::as_raw(self)).ok() @@ -10240,14 +10240,14 @@ impl IMFMediaEngineEx { } pub unsafe fn GetStereo3DFramePackingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStereo3DFramePackingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStereo3DFramePackingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStereo3DFramePackingMode(&self, packmode: MF_MEDIA_ENGINE_S3D_PACKING_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStereo3DFramePackingMode)(::windows_core::Interface::as_raw(self), packmode).ok() } pub unsafe fn GetStereo3DRenderMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStereo3DRenderMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStereo3DRenderMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStereo3DRenderMode(&self, outputtype: MF3DVideoOutputType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStereo3DRenderMode)(::windows_core::Interface::as_raw(self), outputtype).ok() @@ -10260,7 +10260,7 @@ impl IMFMediaEngineEx { } pub unsafe fn GetVideoSwapchainHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoSwapchainHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoSwapchainHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableHorizontalMirrorMode(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -10270,21 +10270,21 @@ impl IMFMediaEngineEx { } pub unsafe fn GetAudioStreamCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioStreamCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioStreamCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAudioStreamCategory(&self, category: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAudioStreamCategory)(::windows_core::Interface::as_raw(self), category).ok() } pub unsafe fn GetAudioEndpointRole(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioEndpointRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioEndpointRole)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAudioEndpointRole(&self, role: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAudioEndpointRole)(::windows_core::Interface::as_raw(self), role).ok() } pub unsafe fn GetRealTimeMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRealTimeMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRealTimeMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRealTimeMode(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -10353,7 +10353,7 @@ impl IMFMediaEngineExtension { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPlayType)(::windows_core::Interface::as_raw(self), audioonly.into_param().abi(), mimetype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPlayType)(::windows_core::Interface::as_raw(self), audioonly.into_param().abi(), mimetype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn BeginCreateObject(&self, bstrurl: P0, pbytestream: P1, r#type: MF_OBJECT_TYPE, ppiunknowncancelcookie: *mut ::core::option::Option<::windows_core::IUnknown>, pcallback: P2, punkstate: P3) -> ::windows_core::Result<()> where @@ -10375,7 +10375,7 @@ impl IMFMediaEngineExtension { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndCreateObject)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndCreateObject)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10437,7 +10437,7 @@ impl IMFMediaEngineProtectedContent { } pub unsafe fn GetRequiredProtections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequiredProtections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequiredProtections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOPMWindow(&self, hwnd: P0) -> ::windows_core::Result<()> where @@ -10450,7 +10450,7 @@ impl IMFMediaEngineProtectedContent { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransferVideoFrame)(::windows_core::Interface::as_raw(self), pdstsurf.into_param().abi(), ::core::mem::transmute(psrc.unwrap_or(::std::ptr::null())), pdst, ::core::mem::transmute(pborderclr.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransferVideoFrame)(::windows_core::Interface::as_raw(self), pdstsurf.into_param().abi(), ::core::mem::transmute(psrc.unwrap_or(::std::ptr::null())), pdst, ::core::mem::transmute(pborderclr.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn SetContentProtectionManager(&self, pcpm: P0) -> ::windows_core::Result<()> where @@ -10481,15 +10481,15 @@ impl IMFMediaEngineSrcElements { } pub unsafe fn GetURL(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMedia(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMedia)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMedia)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddElement(&self, purl: P0, ptype: P1, pmedia: P2) -> ::windows_core::Result<()> where @@ -10522,15 +10522,15 @@ impl IMFMediaEngineSrcElementsEx { } pub unsafe fn GetURL(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetURL)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetURL)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMedia(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMedia)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMedia)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddElement(&self, purl: P0, ptype: P1, pmedia: P2) -> ::windows_core::Result<()> where @@ -10554,7 +10554,7 @@ impl IMFMediaEngineSrcElementsEx { } pub unsafe fn GetKeySystem(&self, index: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeySystem)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeySystem)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10569,7 +10569,7 @@ pub struct IMFMediaEngineSrcElementsEx_Vtbl { impl IMFMediaEngineSupportsSourceTransfer { pub unsafe fn ShouldTransferSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShouldTransferSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShouldTransferSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DetachMediaSource(&self, ppbytestream: *mut ::core::option::Option, ppmediasource: *mut ::core::option::Option, ppmse: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DetachMediaSource)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppbytestream), ::core::mem::transmute(ppmediasource), ::core::mem::transmute(ppmse)).ok() @@ -10615,7 +10615,7 @@ impl IMFMediaEngineWebSupport { } pub unsafe fn ConnectWebAudio(&self, dwsamplerate: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectWebAudio)(::windows_core::Interface::as_raw(self), dwsamplerate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectWebAudio)(::windows_core::Interface::as_raw(self), dwsamplerate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisconnectWebAudio(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectWebAudio)(::windows_core::Interface::as_raw(self)).ok() @@ -10662,38 +10662,38 @@ impl IMFMediaEvent { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10703,7 +10703,7 @@ impl IMFMediaEvent { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10716,7 +10716,7 @@ impl IMFMediaEvent { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -10762,7 +10762,7 @@ impl IMFMediaEvent { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -10775,19 +10775,19 @@ impl IMFMediaEvent { } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExtendedType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtendedType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtendedType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10804,7 +10804,7 @@ pub struct IMFMediaEvent_Vtbl { impl IMFMediaEventGenerator { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -10818,7 +10818,7 @@ impl IMFMediaEventGenerator { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() @@ -10838,7 +10838,7 @@ pub struct IMFMediaEventGenerator_Vtbl { impl IMFMediaEventQueue { pub unsafe fn GetEvent(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -10852,7 +10852,7 @@ impl IMFMediaEventQueue { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, pevent: P0) -> ::windows_core::Result<()> where @@ -10893,11 +10893,11 @@ impl IMFMediaKeySession { } pub unsafe fn KeySystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Update(&self, key: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Update)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(key.as_ptr()), key.len().try_into().unwrap()).ok() @@ -10924,11 +10924,11 @@ impl IMFMediaKeySession2 { } pub unsafe fn KeySystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Update(&self, key: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Update)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(key.as_ptr()), key.len().try_into().unwrap()).ok() @@ -10944,7 +10944,7 @@ impl IMFMediaKeySession2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), bstrsessionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), bstrsessionid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GenerateRequest(&self, initdatatype: P0, pbinitdata: &[u8]) -> ::windows_core::Result<()> where @@ -10954,7 +10954,7 @@ impl IMFMediaKeySession2 { } pub unsafe fn Expiration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Expiration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Expiration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Remove(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self)).ok() @@ -11039,16 +11039,16 @@ impl IMFMediaKeySystemAccess { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaKeys)(::windows_core::Interface::as_raw(self), pcdmcustomconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaKeys)(::windows_core::Interface::as_raw(self), pcdmcustomconfig.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SupportedConfiguration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeySystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11074,18 +11074,18 @@ impl IMFMediaKeys { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), mimetype.into_param().abi(), ::core::mem::transmute(initdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), initdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(customdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), customdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), notify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), mimetype.into_param().abi(), ::core::mem::transmute(initdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), initdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(customdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), customdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), notify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeySystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Shutdown)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetSuspendNotify(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11106,32 +11106,32 @@ impl IMFMediaKeys2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), mimetype.into_param().abi(), ::core::mem::transmute(initdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), initdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(customdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), customdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), notify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), mimetype.into_param().abi(), ::core::mem::transmute(initdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), initdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(customdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), customdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), notify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeySystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeySystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Shutdown)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetSuspendNotify(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSuspendNotify)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSession2(&self, esessiontype: MF_MEDIAKEYSESSION_TYPE, pmfmediakeysessionnotify2: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession2)(::windows_core::Interface::as_raw(self), esessiontype, pmfmediakeysessionnotify2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession2)(::windows_core::Interface::as_raw(self), esessiontype, pmfmediakeysessionnotify2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServerCertificate(&self, pbservercertificate: ::core::option::Option<&[u8]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetServerCertificate)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbservercertificate.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pbservercertificate.as_deref().map_or(0, |slice| slice.len().try_into().unwrap())).ok() } pub unsafe fn GetDOMException(&self, systemcode: ::windows_core::HRESULT) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDOMException)(::windows_core::Interface::as_raw(self), systemcode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDOMException)(::windows_core::Interface::as_raw(self), systemcode, &mut result__).map(|| result__) } } #[repr(C)] @@ -11147,7 +11147,7 @@ pub struct IMFMediaKeys2_Vtbl { impl IMFMediaSession { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11161,7 +11161,7 @@ impl IMFMediaSession { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() @@ -11192,15 +11192,15 @@ impl IMFMediaSession { } pub unsafe fn GetClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSessionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFullTopology(&self, dwgetfulltopologyflags: u32, topoid: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullTopology)(::windows_core::Interface::as_raw(self), dwgetfulltopologyflags, topoid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullTopology)(::windows_core::Interface::as_raw(self), dwgetfulltopologyflags, topoid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11223,7 +11223,7 @@ pub struct IMFMediaSession_Vtbl { impl IMFMediaSharingEngine { pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetErrorCode(&self, error: MF_MEDIA_ENGINE_ERR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetErrorCode)(::windows_core::Interface::as_raw(self), error).ok() @@ -11242,7 +11242,7 @@ impl IMFMediaSharingEngine { } pub unsafe fn GetCurrentSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetworkState(&self) -> u16 { (::windows_core::Interface::vtable(self).base__.GetNetworkState)(::windows_core::Interface::as_raw(self)) @@ -11255,7 +11255,7 @@ impl IMFMediaSharingEngine { } pub unsafe fn GetBuffered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Load(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Load)(::windows_core::Interface::as_raw(self)).ok() @@ -11265,7 +11265,7 @@ impl IMFMediaSharingEngine { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanPlayType)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetReadyState(&self) -> u16 { (::windows_core::Interface::vtable(self).base__.GetReadyState)(::windows_core::Interface::as_raw(self)) @@ -11302,11 +11302,11 @@ impl IMFMediaSharingEngine { } pub unsafe fn GetPlayed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPlayed)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSeekable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSeekable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEnded(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).base__.IsEnded)(::windows_core::Interface::as_raw(self)) @@ -11373,7 +11373,7 @@ impl IMFMediaSharingEngine { } pub unsafe fn OnVideoStreamTick(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnVideoStreamTick)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDevice(&self, pdevice: *mut DEVICE_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), pdevice).ok() @@ -11393,7 +11393,7 @@ impl IMFMediaSharingEngineClassFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11407,29 +11407,29 @@ pub struct IMFMediaSharingEngineClassFactory_Vtbl { impl IMFMediaSink { pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddStreamSink(&self, dwstreamsinkidentifier: u32, pmediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, pmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, pmediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStreamSink(&self, dwstreamsinkidentifier: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveStreamSink)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier).ok() } pub unsafe fn GetStreamSinkCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamSinkByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSinkByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSinkByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamSinkById(&self, dwstreamsinkidentifier: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSinkById)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSinkById)(::windows_core::Interface::as_raw(self), dwstreamsinkidentifier, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentationClock(&self, ppresentationclock: P0) -> ::windows_core::Result<()> where @@ -11439,7 +11439,7 @@ impl IMFMediaSink { } pub unsafe fn GetPresentationClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentationClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Shutdown)(::windows_core::Interface::as_raw(self)).ok() @@ -11477,7 +11477,7 @@ pub struct IMFMediaSinkPreroll_Vtbl { impl IMFMediaSource { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11491,18 +11491,18 @@ impl IMFMediaSource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreatePresentationDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self, ppresentationdescriptor: P0, pguidtimeformat: *const ::windows_core::GUID, pvarstartposition: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -11536,7 +11536,7 @@ pub struct IMFMediaSource_Vtbl { impl IMFMediaSource2 { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11550,18 +11550,18 @@ impl IMFMediaSource2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreatePresentationDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self, ppresentationdescriptor: P0, pguidtimeformat: *const ::windows_core::GUID, pvarstartposition: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -11580,11 +11580,11 @@ impl IMFMediaSource2 { } pub unsafe fn GetSourceAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamAttributes(&self, dwstreamidentifier: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamAttributes)(::windows_core::Interface::as_raw(self), dwstreamidentifier, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamAttributes)(::windows_core::Interface::as_raw(self), dwstreamidentifier, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetD3DManager(&self, pmanager: P0) -> ::windows_core::Result<()> where @@ -11610,7 +11610,7 @@ pub struct IMFMediaSource2_Vtbl { impl IMFMediaSourceEx { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11624,18 +11624,18 @@ impl IMFMediaSourceEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreatePresentationDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePresentationDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self, ppresentationdescriptor: P0, pguidtimeformat: *const ::windows_core::GUID, pvarstartposition: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -11654,11 +11654,11 @@ impl IMFMediaSourceEx { } pub unsafe fn GetSourceAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamAttributes(&self, dwstreamidentifier: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAttributes)(::windows_core::Interface::as_raw(self), dwstreamidentifier, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAttributes)(::windows_core::Interface::as_raw(self), dwstreamidentifier, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetD3DManager(&self, pmanager: P0) -> ::windows_core::Result<()> where @@ -11699,7 +11699,7 @@ impl IMFMediaSourceExtension { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSourceBuffer)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), pnotify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSourceBuffer)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), pnotify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveSourceBuffer(&self, psourcebuffer: P0) -> ::windows_core::Result<()> where @@ -11797,7 +11797,7 @@ impl IMFMediaSourceTopologyProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaSourceTopology)(::windows_core::Interface::as_raw(self), ppresentationdescriptor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaSourceTopology)(::windows_core::Interface::as_raw(self), ppresentationdescriptor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11811,7 +11811,7 @@ pub struct IMFMediaSourceTopologyProvider_Vtbl { impl IMFMediaStream { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11825,18 +11825,18 @@ impl IMFMediaStream { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetMediaSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestSample(&self, ptoken: P0) -> ::windows_core::Result<()> where @@ -11858,7 +11858,7 @@ pub struct IMFMediaStream_Vtbl { impl IMFMediaStream2 { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -11872,18 +11872,18 @@ impl IMFMediaStream2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetMediaSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestSample(&self, ptoken: P0) -> ::windows_core::Result<()> where @@ -11896,7 +11896,7 @@ impl IMFMediaStream2 { } pub unsafe fn GetStreamState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11930,11 +11930,11 @@ impl IMFMediaTimeRange { } pub unsafe fn GetStart(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetEnd(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn ContainsTime(&self, time: f64) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).ContainsTime)(::windows_core::Interface::as_raw(self), time) @@ -11965,38 +11965,38 @@ impl IMFMediaType { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12006,7 +12006,7 @@ impl IMFMediaType { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12019,7 +12019,7 @@ impl IMFMediaType { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -12065,7 +12065,7 @@ impl IMFMediaType { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12078,18 +12078,18 @@ impl IMFMediaType { } pub unsafe fn GetMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCompressedFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, pimediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRepresentation(&self, guidrepresentation: ::windows_core::GUID, ppvrepresentation: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRepresentation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidrepresentation), ppvrepresentation).ok() @@ -12119,11 +12119,11 @@ impl IMFMediaTypeHandler { } pub unsafe fn GetMediaTypeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaTypeByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaTypeByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaTypeByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentMediaType(&self, pmediatype: P0) -> ::windows_core::Result<()> where @@ -12133,11 +12133,11 @@ impl IMFMediaTypeHandler { } pub unsafe fn GetCurrentMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12162,11 +12162,11 @@ impl IMFMetadata { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllLanguages(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllLanguages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, pwszname: P0, ppvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -12179,7 +12179,7 @@ impl IMFMetadata { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pwszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteProperty(&self, pwszname: P0) -> ::windows_core::Result<()> where @@ -12189,7 +12189,7 @@ impl IMFMetadata { } pub unsafe fn GetAllPropertyNames(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllPropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllPropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12212,7 +12212,7 @@ impl IMFMetadataProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMFMetadata)(::windows_core::Interface::as_raw(self), ppresentationdescriptor.into_param().abi(), dwstreamidentifier, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMFMetadata)(::windows_core::Interface::as_raw(self), ppresentationdescriptor.into_param().abi(), dwstreamidentifier, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12226,11 +12226,11 @@ pub struct IMFMetadataProvider_Vtbl { impl IMFMuxStreamAttributesManager { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributes(&self, dwmuxstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12245,15 +12245,15 @@ pub struct IMFMuxStreamAttributesManager_Vtbl { impl IMFMuxStreamMediaTypeManager { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, dwmuxstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamConfigurationCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamConfigurationCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamConfigurationCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddStreamConfiguration(&self, ullstreammask: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddStreamConfiguration)(::windows_core::Interface::as_raw(self), ullstreammask).ok() @@ -12263,7 +12263,7 @@ impl IMFMuxStreamMediaTypeManager { } pub unsafe fn GetStreamConfiguration(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamConfiguration)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamConfiguration)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -12282,11 +12282,11 @@ pub struct IMFMuxStreamMediaTypeManager_Vtbl { impl IMFMuxStreamSampleManager { pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSample(&self, dwmuxstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSample)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSample)(::windows_core::Interface::as_raw(self), dwmuxstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamConfiguration(&self) -> u64 { (::windows_core::Interface::vtable(self).GetStreamConfiguration)(::windows_core::Interface::as_raw(self)) @@ -12329,7 +12329,7 @@ impl IMFNetCredential { } pub unsafe fn LoggedOnUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggedOnUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggedOnUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12389,7 +12389,7 @@ impl IMFNetCredentialManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndGetCredentials)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndGetCredentials)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGood(&self, pcred: P0, fgood: P1) -> ::windows_core::Result<()> where @@ -12412,18 +12412,18 @@ pub struct IMFNetCredentialManager_Vtbl { impl IMFNetCrossOriginSupport { pub unsafe fn GetCrossOriginPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCrossOriginPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCrossOriginPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceOrigin(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceOrigin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceOrigin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSameOrigin(&self, wszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSameOrigin)(::windows_core::Interface::as_raw(self), wszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSameOrigin)(::windows_core::Interface::as_raw(self), wszurl.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -12456,7 +12456,7 @@ impl IMFNetProxyLocator { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12477,7 +12477,7 @@ impl IMFNetProxyLocatorFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProxyLocator)(::windows_core::Interface::as_raw(self), pszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProxyLocator)(::windows_core::Interface::as_raw(self), pszprotocol.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12494,7 +12494,7 @@ impl IMFNetResourceFilter { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnRedirect)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnRedirect)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnSendingRequest(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -12515,11 +12515,11 @@ pub struct IMFNetResourceFilter_Vtbl { impl IMFNetSchemeHandlerConfig { pub unsafe fn GetNumberOfSupportedProtocols(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfSupportedProtocols)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfSupportedProtocols)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProtocolType(&self, nprotocolindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedProtocolType)(::windows_core::Interface::as_raw(self), nprotocolindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedProtocolType)(::windows_core::Interface::as_raw(self), nprotocolindex, &mut result__).map(|| result__) } pub unsafe fn ResetProtocolRolloverSettings(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetProtocolRolloverSettings)(::windows_core::Interface::as_raw(self)).ok() @@ -12561,38 +12561,38 @@ impl IMFOutputPolicy { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12602,7 +12602,7 @@ impl IMFOutputPolicy { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12615,7 +12615,7 @@ impl IMFOutputPolicy { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -12661,7 +12661,7 @@ impl IMFOutputPolicy { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12674,15 +12674,15 @@ impl IMFOutputPolicy { } pub unsafe fn GenerateRequiredSchemas(&self, dwattributes: u32, guidoutputsubtype: ::windows_core::GUID, rgguidprotectionschemassupported: *const ::windows_core::GUID, cprotectionschemassupported: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateRequiredSchemas)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(guidoutputsubtype), rgguidprotectionschemassupported, cprotectionschemassupported, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateRequiredSchemas)(::windows_core::Interface::as_raw(self), dwattributes, ::core::mem::transmute(guidoutputsubtype), rgguidprotectionschemassupported, cprotectionschemassupported, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginatorID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginatorID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginatorID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinimumGRLVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinimumGRLVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinimumGRLVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12701,38 +12701,38 @@ impl IMFOutputSchema { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12742,7 +12742,7 @@ impl IMFOutputSchema { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12755,7 +12755,7 @@ impl IMFOutputSchema { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -12801,7 +12801,7 @@ impl IMFOutputSchema { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12814,15 +12814,15 @@ impl IMFOutputSchema { } pub unsafe fn GetSchemaType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSchemaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSchemaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConfigurationData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfigurationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfigurationData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginatorID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginatorID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginatorID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12838,7 +12838,7 @@ pub struct IMFOutputSchema_Vtbl { impl IMFOutputTrustAuthority { pub unsafe fn GetAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPolicy(&self, pppolicy: ::core::option::Option<&[::core::option::Option]>, ppbticket: ::core::option::Option<*mut *mut u8>, pcbticket: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPolicy)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pppolicy.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pppolicy.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppbticket.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbticket.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12899,7 +12899,7 @@ impl IMFPMPHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateObjectByCLSID)(::windows_core::Interface::as_raw(self), clsid, pstream.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObjectByCLSID)(::windows_core::Interface::as_raw(self), clsid, pstream.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12930,7 +12930,7 @@ impl IMFPMPHostApp { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ActivateClassById)(::windows_core::Interface::as_raw(self), id.into_param().abi(), pstream.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateClassById)(::windows_core::Interface::as_raw(self), id.into_param().abi(), pstream.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12958,7 +12958,7 @@ impl IMFPMPServer { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateObjectByCLSID)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObjectByCLSID)(::windows_core::Interface::as_raw(self), clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12974,19 +12974,19 @@ pub struct IMFPMPServer_Vtbl { impl IMFPMediaItem { pub unsafe fn GetMediaPlayer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaPlayer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaPlayer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserData(&self, dwuserdata: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUserData)(::windows_core::Interface::as_raw(self), dwuserdata).ok() @@ -13005,19 +13005,19 @@ impl IMFPMediaItem { } pub unsafe fn IsProtected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsProtected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsProtected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDuration(&self, guidpositiontype: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumberOfStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfStreams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamSelection(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetStreamSelection(&self, dwstreamindex: u32, fenabled: P0) -> ::windows_core::Result<()> where @@ -13027,15 +13027,15 @@ impl IMFPMediaItem { } pub unsafe fn GetStreamAttribute(&self, dwstreamindex: u32, guidmfattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidmfattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidmfattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPresentationAttribute(&self, guidmfattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), guidmfattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), guidmfattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamSink(&self, dwstreamindex: u32, pmediasink: P0) -> ::windows_core::Result<()> where @@ -13046,7 +13046,7 @@ impl IMFPMediaItem { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13096,18 +13096,18 @@ impl IMFPMediaPlayer { } pub unsafe fn GetPosition(&self, guidpositiontype: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDuration(&self, guidpositiontype: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), guidpositiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRate(&self, flrate: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRate)(::windows_core::Interface::as_raw(self), flrate).ok() } pub unsafe fn GetRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedRates(&self, fforwarddirection: P0, pflslowestrate: *mut f32, pflfastestrate: *mut f32) -> ::windows_core::Result<()> where @@ -13117,7 +13117,7 @@ impl IMFPMediaPlayer { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateMediaItemFromURL(&self, pwszurl: P0, fsync: P1, dwuserdata: usize, ppmediaitem: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -13144,25 +13144,25 @@ impl IMFPMediaPlayer { } pub unsafe fn GetMediaItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, flvolume: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), flvolume).ok() } pub unsafe fn GetBalance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBalance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBalance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBalance(&self, flbalance: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBalance)(::windows_core::Interface::as_raw(self), flbalance).ok() } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMute(&self, fmute: P0) -> ::windows_core::Result<()> where @@ -13181,18 +13181,18 @@ impl IMFPMediaPlayer { } pub unsafe fn GetVideoSourceRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoSourceRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAspectRatioMode(&self, dwaspectratiomode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAspectRatioMode)(::windows_core::Interface::as_raw(self), dwaspectratiomode).ok() } pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVideoWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateVideo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateVideo)(::windows_core::Interface::as_raw(self)).ok() @@ -13205,7 +13205,7 @@ impl IMFPMediaPlayer { } pub unsafe fn GetBorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InsertEffect(&self, peffect: P0, foptional: P1) -> ::windows_core::Result<()> where @@ -13293,7 +13293,7 @@ impl IMFPluginControl { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredClsid)(::windows_core::Interface::as_raw(self), plugintype, selector.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredClsid)(::windows_core::Interface::as_raw(self), plugintype, selector.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPreferredClsidByIndex(&self, plugintype: u32, index: u32, selector: *mut ::windows_core::PWSTR, clsid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreferredClsidByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, selector, clsid).ok() @@ -13309,7 +13309,7 @@ impl IMFPluginControl { } pub unsafe fn GetDisabledByIndex(&self, plugintype: u32, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisabledByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisabledByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, &mut result__).map(|| result__) } pub unsafe fn SetDisabled(&self, plugintype: u32, clsid: *const ::windows_core::GUID, disabled: P0) -> ::windows_core::Result<()> where @@ -13337,7 +13337,7 @@ impl IMFPluginControl2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPreferredClsid)(::windows_core::Interface::as_raw(self), plugintype, selector.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPreferredClsid)(::windows_core::Interface::as_raw(self), plugintype, selector.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPreferredClsidByIndex(&self, plugintype: u32, index: u32, selector: *mut ::windows_core::PWSTR, clsid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPreferredClsidByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, selector, clsid).ok() @@ -13353,7 +13353,7 @@ impl IMFPluginControl2 { } pub unsafe fn GetDisabledByIndex(&self, plugintype: u32, index: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisabledByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisabledByIndex)(::windows_core::Interface::as_raw(self), plugintype, index, &mut result__).map(|| result__) } pub unsafe fn SetDisabled(&self, plugintype: u32, clsid: *const ::windows_core::GUID, disabled: P0) -> ::windows_core::Result<()> where @@ -13376,18 +13376,18 @@ pub struct IMFPluginControl2_Vtbl { impl IMFPresentationClock { pub unsafe fn GetClockCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCorrelatedTime(&self, dwreserved: u32, pllclocktime: *mut i64, phnssystemtime: *mut i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCorrelatedTime)(::windows_core::Interface::as_raw(self), dwreserved, pllclocktime, phnssystemtime).ok() } pub unsafe fn GetContinuityKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetState(&self, dwreserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self, pclockproperties: *mut MFCLOCK_PROPERTIES) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), pclockproperties).ok() @@ -13400,11 +13400,11 @@ impl IMFPresentationClock { } pub unsafe fn GetTimeSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddClockStateSink(&self, pstatesink: P0) -> ::windows_core::Result<()> where @@ -13449,38 +13449,38 @@ impl IMFPresentationDescriptor { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13490,7 +13490,7 @@ impl IMFPresentationDescriptor { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13503,7 +13503,7 @@ impl IMFPresentationDescriptor { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -13549,7 +13549,7 @@ impl IMFPresentationDescriptor { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13562,7 +13562,7 @@ impl IMFPresentationDescriptor { } pub unsafe fn GetStreamDescriptorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamDescriptorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamDescriptorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamDescriptorByIndex(&self, dwindex: u32, pfselected: *mut super::super::Foundation::BOOL, ppdescriptor: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStreamDescriptorByIndex)(::windows_core::Interface::as_raw(self), dwindex, pfselected, ::core::mem::transmute(ppdescriptor)).ok() @@ -13575,7 +13575,7 @@ impl IMFPresentationDescriptor { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13593,25 +13593,25 @@ pub struct IMFPresentationDescriptor_Vtbl { impl IMFPresentationTimeSource { pub unsafe fn GetClockCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClockCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCorrelatedTime(&self, dwreserved: u32, pllclocktime: *mut i64, phnssystemtime: *mut i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCorrelatedTime)(::windows_core::Interface::as_raw(self), dwreserved, pllclocktime, phnssystemtime).ok() } pub unsafe fn GetContinuityKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContinuityKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetState(&self, dwreserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self, pclockproperties: *mut MFCLOCK_PROPERTIES) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), pclockproperties).ok() } pub unsafe fn GetUnderlyingClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnderlyingClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnderlyingClock)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13648,11 +13648,11 @@ impl IMFQualityAdvise { } pub unsafe fn GetDropMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDropMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDropMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQualityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DropTime(&self, hnsamounttodrop: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DropTime)(::windows_core::Interface::as_raw(self), hnsamounttodrop).ok() @@ -13679,11 +13679,11 @@ impl IMFQualityAdvise2 { } pub unsafe fn GetDropMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDropMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDropMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQualityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DropTime(&self, hnsamounttodrop: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DropTime)(::windows_core::Interface::as_raw(self), hnsamounttodrop).ok() @@ -13693,7 +13693,7 @@ impl IMFQualityAdvise2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotifyQualityEvent)(::windows_core::Interface::as_raw(self), pevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotifyQualityEvent)(::windows_core::Interface::as_raw(self), pevent.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -13707,11 +13707,11 @@ pub struct IMFQualityAdvise2_Vtbl { impl IMFQualityAdviseLimits { pub unsafe fn GetMaximumDropMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumDropMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumDropMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinimumQualityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinimumQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinimumQualityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13800,14 +13800,14 @@ impl IMFRateSupport { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSlowestRate)(::windows_core::Interface::as_raw(self), edirection, fthin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSlowestRate)(::windows_core::Interface::as_raw(self), edirection, fthin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFastestRate(&self, edirection: MFRATE_DIRECTION, fthin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFastestRate)(::windows_core::Interface::as_raw(self), edirection, fthin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFastestRate)(::windows_core::Interface::as_raw(self), edirection, fthin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsRateSupported(&self, fthin: P0, flrate: f32, pflnearestsupportedrate: *mut f32) -> ::windows_core::Result<()> where @@ -13834,7 +13834,7 @@ impl IMFReadWriteClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstanceFromURL)(::windows_core::Interface::as_raw(self), clsid, pwszurl.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceFromURL)(::windows_core::Interface::as_raw(self), clsid, pwszurl.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceFromObject(&self, clsid: *const ::windows_core::GUID, punkobject: P0, pattributes: P1) -> ::windows_core::Result where @@ -13843,7 +13843,7 @@ impl IMFReadWriteClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstanceFromObject)(::windows_core::Interface::as_raw(self), clsid, punkobject.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceFromObject)(::windows_core::Interface::as_raw(self), clsid, punkobject.into_param().abi(), pattributes.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13906,7 +13906,7 @@ pub struct IMFRealTimeClientEx_Vtbl { impl IMFRelativePanelReport { pub unsafe fn GetRelativePanel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelativePanel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelativePanel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13923,7 +13923,7 @@ impl IMFRelativePanelWatcher { } pub unsafe fn GetShutdownStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetShutdownStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetShutdownStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginGetReport(&self, pcallback: P0, pstate: P1) -> ::windows_core::Result<()> where @@ -13937,11 +13937,11 @@ impl IMFRelativePanelWatcher { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndGetReport)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndGetReport)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReport)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -14006,11 +14006,11 @@ pub struct IMFRemoteProxy_Vtbl { impl IMFSAMIStyle { pub unsafe fn GetStyleCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyleCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyleCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStyles(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelectedStyle(&self, pwszstyle: P0) -> ::windows_core::Result<()> where @@ -14020,7 +14020,7 @@ impl IMFSAMIStyle { } pub unsafe fn GetSelectedStyle(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14066,7 +14066,7 @@ impl IMFSSLCertificateManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnServerCertificate)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), ::core::mem::transmute(pbdata.as_ptr()), pbdata.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnServerCertificate)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), ::core::mem::transmute(pbdata.as_ptr()), pbdata.len().try_into().unwrap(), &mut result__).map(|| result__) } } #[repr(C)] @@ -14087,38 +14087,38 @@ impl IMFSample { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14128,7 +14128,7 @@ impl IMFSample { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14141,7 +14141,7 @@ impl IMFSample { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -14187,7 +14187,7 @@ impl IMFSample { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14200,36 +14200,36 @@ impl IMFSample { } pub unsafe fn GetSampleFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSampleFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSampleFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleFlags(&self, dwsampleflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleFlags)(::windows_core::Interface::as_raw(self), dwsampleflags).ok() } pub unsafe fn GetSampleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSampleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSampleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleTime(&self, hnssampletime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleTime)(::windows_core::Interface::as_raw(self), hnssampletime).ok() } pub unsafe fn GetSampleDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSampleDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSampleDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleDuration(&self, hnssampleduration: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleDuration)(::windows_core::Interface::as_raw(self), hnssampleduration).ok() } pub unsafe fn GetBufferCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertToContiguousBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertToContiguousBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertToContiguousBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBuffer(&self, pbuffer: P0) -> ::windows_core::Result<()> where @@ -14245,7 +14245,7 @@ impl IMFSample { } pub unsafe fn GetTotalLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyToBuffer(&self, pbuffer: P0) -> ::windows_core::Result<()> where @@ -14409,11 +14409,11 @@ pub struct IMFSampleOutputStream_Vtbl { impl IMFSampleProtection { pub unsafe fn GetInputProtectionVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputProtectionVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputProtectionVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputProtectionVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputProtectionVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputProtectionVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtectionCertificate(&self, dwversion: u32, ppcert: *mut *mut u8, pcbcert: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProtectionCertificate)(::windows_core::Interface::as_raw(self), dwversion, ppcert, pcbcert).ok() @@ -14457,7 +14457,7 @@ impl IMFSaveJob { } pub unsafe fn GetProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14511,7 +14511,7 @@ pub struct IMFSchemeHandler_Vtbl { impl IMFSecureBuffer { pub unsafe fn GetIdentifier(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14555,18 +14555,18 @@ pub struct IMFSeekInfo_Vtbl { impl IMFSensorActivitiesReport { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActivityReport(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityReport)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityReport)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityReportByDeviceName(&self, symbolicname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityReportByDeviceName)(::windows_core::Interface::as_raw(self), symbolicname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityReportByDeviceName)(::windows_core::Interface::as_raw(self), symbolicname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -14621,11 +14621,11 @@ impl IMFSensorActivityReport { } pub unsafe fn GetProcessCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessActivity(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessActivity)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessActivity)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -14642,37 +14642,37 @@ pub struct IMFSensorActivityReport_Vtbl { impl IMFSensorDevice { pub unsafe fn GetDeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSymbolicLink(&self, symboliclink: &mut [u16], pcchwritten: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSymbolicLink)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(symboliclink.as_ptr()), symboliclink.len().try_into().unwrap(), pcchwritten).ok() } pub unsafe fn GetDeviceAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamAttributesCount(&self, etype: MFSensorStreamType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAttributesCount)(::windows_core::Interface::as_raw(self), etype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAttributesCount)(::windows_core::Interface::as_raw(self), etype, &mut result__).map(|| result__) } pub unsafe fn GetStreamAttributes(&self, etype: MFSensorStreamType, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamAttributes)(::windows_core::Interface::as_raw(self), etype, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamAttributes)(::windows_core::Interface::as_raw(self), etype, dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSensorDeviceMode(&self, emode: MFSensorDeviceMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSensorDeviceMode)(::windows_core::Interface::as_raw(self), emode).ok() } pub unsafe fn GetSensorDeviceMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorDeviceMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorDeviceMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14697,30 +14697,30 @@ impl IMFSensorGroup { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSensorGroupAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorGroupAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorGroupAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSensorDeviceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorDeviceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSensorDevice(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSensorDevice)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSensorDevice)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultSensorDeviceIndex(&self, dwindex: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultSensorDeviceIndex)(::windows_core::Interface::as_raw(self), dwindex).ok() } pub unsafe fn GetDefaultSensorDeviceIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultSensorDeviceIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultSensorDeviceIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateMediaSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -14741,19 +14741,19 @@ pub struct IMFSensorGroup_Vtbl { impl IMFSensorProcessActivity { pub unsafe fn GetProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamingState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamingState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamingState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReportTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReportTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReportTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14782,7 +14782,7 @@ impl IMFSensorProfile { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMediaTypeSupported)(::windows_core::Interface::as_raw(self), streamid, pmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMediaTypeSupported)(::windows_core::Interface::as_raw(self), streamid, pmediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddBlockedControl(&self, wzblockedcontrol: P0) -> ::windows_core::Result<()> where @@ -14808,7 +14808,7 @@ impl IMFSensorProfileCollection { } pub unsafe fn GetProfile(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfile)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddProfile(&self, pprofile: P0) -> ::windows_core::Result<()> where @@ -14818,7 +14818,7 @@ impl IMFSensorProfileCollection { } pub unsafe fn FindProfile(&self, profileid: *const SENSORPROFILEID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindProfile)(::windows_core::Interface::as_raw(self), profileid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindProfile)(::windows_core::Interface::as_raw(self), profileid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveProfileByIndex(&self, index: u32) { (::windows_core::Interface::vtable(self).RemoveProfileByIndex)(::windows_core::Interface::as_raw(self), index) @@ -14846,38 +14846,38 @@ impl IMFSensorStream { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14887,7 +14887,7 @@ impl IMFSensorStream { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14900,7 +14900,7 @@ impl IMFSensorStream { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -14946,7 +14946,7 @@ impl IMFSensorStream { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14959,15 +14959,15 @@ impl IMFSensorStream { } pub unsafe fn GetMediaTypeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloneSensorStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CloneSensorStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloneSensorStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -14983,7 +14983,7 @@ pub struct IMFSensorStream_Vtbl { impl IMFSensorTransformFactory { pub unsafe fn GetFactoryAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFactoryAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFactoryAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFactory(&self, dwmaxtransformcount: u32, psensordevices: P0, pattributes: P1) -> ::windows_core::Result<()> where @@ -14994,7 +14994,7 @@ impl IMFSensorTransformFactory { } pub unsafe fn GetTransformCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransformInformation(&self, transformindex: u32, pguidtransformid: *mut ::windows_core::GUID, ppattributes: *mut ::core::option::Option, ppstreaminformation: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransformInformation)(::windows_core::Interface::as_raw(self), transformindex, pguidtransformid, ::core::mem::transmute(ppattributes), ::core::mem::transmute(ppstreaminformation)).ok() @@ -15004,7 +15004,7 @@ impl IMFSensorTransformFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransform)(::windows_core::Interface::as_raw(self), guidsensortransformid, pattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransform)(::windows_core::Interface::as_raw(self), guidsensortransformid, pattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15025,7 +15025,7 @@ impl IMFSequencerSource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppendTopology)(::windows_core::Interface::as_raw(self), ptopology.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppendTopology)(::windows_core::Interface::as_raw(self), ptopology.into_param().abi(), dwflags, &mut result__).map(|| result__) } pub unsafe fn DeleteTopology(&self, dwid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteTopology)(::windows_core::Interface::as_raw(self), dwid).ok() @@ -15064,7 +15064,7 @@ impl IMFSharingEngineClassFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pattr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15081,7 +15081,7 @@ impl IMFShutdown { } pub unsafe fn GetShutdownStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShutdownStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShutdownStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15115,7 +15115,7 @@ impl IMFSimpleAudioVolume { } pub unsafe fn GetMasterVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMasterVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMasterVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMute(&self, bmute: P0) -> ::windows_core::Result<()> where @@ -15125,7 +15125,7 @@ impl IMFSimpleAudioVolume { } pub unsafe fn GetMute(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMute)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15145,7 +15145,7 @@ impl IMFSinkWriter { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddStream)(::windows_core::Interface::as_raw(self), ptargetmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddStream)(::windows_core::Interface::as_raw(self), ptargetmediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetInputMediaType(&self, dwstreamindex: u32, pinputmediatype: P0, pencodingparameters: P1) -> ::windows_core::Result<()> where @@ -15273,7 +15273,7 @@ impl IMFSinkWriterEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddStream)(::windows_core::Interface::as_raw(self), ptargetmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddStream)(::windows_core::Interface::as_raw(self), ptargetmediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetInputMediaType(&self, dwstreamindex: u32, pinputmediatype: P0, pencodingparameters: P1) -> ::windows_core::Result<()> where @@ -15330,7 +15330,7 @@ impl IMFSourceBuffer { } pub unsafe fn GetBuffered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffered)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTimeStampOffset(&self) -> f64 { (::windows_core::Interface::vtable(self).GetTimeStampOffset)(::windows_core::Interface::as_raw(self)) @@ -15467,7 +15467,7 @@ pub struct IMFSourceOpenMonitor_Vtbl { impl IMFSourceReader { pub unsafe fn GetStreamSelection(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetStreamSelection(&self, dwstreamindex: u32, fselected: P0) -> ::windows_core::Result<()> where @@ -15477,11 +15477,11 @@ impl IMFSourceReader { } pub unsafe fn GetNativeMediaType(&self, dwstreamindex: u32, dwmediatypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, dwmediatypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, dwmediatypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentMediaType(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentMediaType(&self, dwstreamindex: u32, pdwreserved: ::core::option::Option<*const u32>, pmediatype: P0) -> ::windows_core::Result<()> where @@ -15503,7 +15503,7 @@ impl IMFSourceReader { } pub unsafe fn GetPresentationAttribute(&self, dwstreamindex: u32, guidattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresentationAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15585,7 +15585,7 @@ pub struct IMFSourceReaderCallback2_Vtbl { impl IMFSourceReaderEx { pub unsafe fn GetStreamSelection(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSelection)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).map(|| result__) } pub unsafe fn SetStreamSelection(&self, dwstreamindex: u32, fselected: P0) -> ::windows_core::Result<()> where @@ -15595,11 +15595,11 @@ impl IMFSourceReaderEx { } pub unsafe fn GetNativeMediaType(&self, dwstreamindex: u32, dwmediatypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, dwmediatypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, dwmediatypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentMediaType(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentMediaType(&self, dwstreamindex: u32, pdwreserved: ::core::option::Option<*const u32>, pmediatype: P0) -> ::windows_core::Result<()> where @@ -15621,14 +15621,14 @@ impl IMFSourceReaderEx { } pub unsafe fn GetPresentationAttribute(&self, dwstreamindex: u32, guidattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPresentationAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPresentationAttribute)(::windows_core::Interface::as_raw(self), dwstreamindex, guidattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNativeMediaType(&self, dwstreamindex: u32, pmediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, pmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNativeMediaType)(::windows_core::Interface::as_raw(self), dwstreamindex, pmediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddTransformForStream(&self, dwstreamindex: u32, ptransformoractivate: P0) -> ::windows_core::Result<()> where @@ -15747,21 +15747,21 @@ impl IMFSpatialAudioObjectBuffer { } pub unsafe fn GetCurrentLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentLength(&self, cbcurrentlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentLength)(::windows_core::Interface::as_raw(self), cbcurrentlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetID(&self, u32id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetID)(::windows_core::Interface::as_raw(self), u32id).ok() } pub unsafe fn GetID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn SetType(&self, r#type: super::Audio::AudioObjectType) -> ::windows_core::Result<()> { @@ -15770,12 +15770,12 @@ impl IMFSpatialAudioObjectBuffer { #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetMetadataItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15805,38 +15805,38 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15846,7 +15846,7 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15859,7 +15859,7 @@ impl IMFSpatialAudioSample { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -15905,7 +15905,7 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15918,36 +15918,36 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetSampleFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSampleFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSampleFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleFlags(&self, dwsampleflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSampleFlags)(::windows_core::Interface::as_raw(self), dwsampleflags).ok() } pub unsafe fn GetSampleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSampleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSampleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleTime(&self, hnssampletime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSampleTime)(::windows_core::Interface::as_raw(self), hnssampletime).ok() } pub unsafe fn GetSampleDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSampleDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSampleDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleDuration(&self, hnssampleduration: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSampleDuration)(::windows_core::Interface::as_raw(self), hnssampleduration).ok() } pub unsafe fn GetBufferCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBufferCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBufferCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBufferByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBufferByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertToContiguousBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ConvertToContiguousBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ConvertToContiguousBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBuffer(&self, pbuffer: P0) -> ::windows_core::Result<()> where @@ -15963,7 +15963,7 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetTotalLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTotalLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyToBuffer(&self, pbuffer: P0) -> ::windows_core::Result<()> where @@ -15973,7 +15973,7 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSpatialAudioObject(&self, paudioobjbuffer: P0) -> ::windows_core::Result<()> where @@ -15983,7 +15983,7 @@ impl IMFSpatialAudioSample { } pub unsafe fn GetSpatialAudioObjectByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpatialAudioObjectByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpatialAudioObjectByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16002,38 +16002,38 @@ impl IMFStreamDescriptor { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16043,7 +16043,7 @@ impl IMFStreamDescriptor { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16056,7 +16056,7 @@ impl IMFStreamDescriptor { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -16102,7 +16102,7 @@ impl IMFStreamDescriptor { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16115,11 +16115,11 @@ impl IMFStreamDescriptor { } pub unsafe fn GetStreamIdentifier(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaTypeHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaTypeHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaTypeHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16134,7 +16134,7 @@ pub struct IMFStreamDescriptor_Vtbl { impl IMFStreamSink { pub unsafe fn GetEvent(&self, dwflags: MEDIA_EVENT_GENERATOR_GET_EVENT_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEvent)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginGetEvent(&self, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -16148,22 +16148,22 @@ impl IMFStreamSink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndGetEvent)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueueEvent(&self, met: u32, guidextendedtype: *const ::windows_core::GUID, hrstatus: ::windows_core::HRESULT, pvvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueueEvent)(::windows_core::Interface::as_raw(self), met, guidextendedtype, hrstatus, ::core::mem::transmute(pvvalue)).ok() } pub unsafe fn GetMediaSink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaSink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaSink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIdentifier(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaTypeHandler(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaTypeHandler)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaTypeHandler)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessSample(&self, psample: P0) -> ::windows_core::Result<()> where @@ -16237,7 +16237,7 @@ impl IMFTimecodeTranslate { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndConvertTimecodeToHNS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndConvertTimecodeToHNS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn BeginConvertHNSToTimecode(&self, hnstime: i64, pcallback: P0, punkstate: P1) -> ::windows_core::Result<()> where @@ -16251,7 +16251,7 @@ impl IMFTimecodeTranslate { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndConvertHNSToTimecode)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndConvertHNSToTimecode)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16286,7 +16286,7 @@ impl IMFTimedText { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddDataSource)(::windows_core::Interface::as_raw(self), bytestream.into_param().abi(), label.into_param().abi(), language.into_param().abi(), kind, isdefault.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddDataSource)(::windows_core::Interface::as_raw(self), bytestream.into_param().abi(), label.into_param().abi(), language.into_param().abi(), kind, isdefault.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddDataSourceFromUrl(&self, url: P0, label: P1, language: P2, kind: MF_TIMED_TEXT_TRACK_KIND, isdefault: P3) -> ::windows_core::Result where @@ -16296,7 +16296,7 @@ impl IMFTimedText { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddDataSourceFromUrl)(::windows_core::Interface::as_raw(self), url.into_param().abi(), label.into_param().abi(), language.into_param().abi(), kind, isdefault.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddDataSourceFromUrl)(::windows_core::Interface::as_raw(self), url.into_param().abi(), label.into_param().abi(), language.into_param().abi(), kind, isdefault.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddTrack(&self, label: P0, language: P1, kind: MF_TIMED_TEXT_TRACK_KIND) -> ::windows_core::Result where @@ -16304,7 +16304,7 @@ impl IMFTimedText { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddTrack)(::windows_core::Interface::as_raw(self), label.into_param().abi(), language.into_param().abi(), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddTrack)(::windows_core::Interface::as_raw(self), label.into_param().abi(), language.into_param().abi(), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveTrack(&self, track: P0) -> ::windows_core::Result<()> where @@ -16314,26 +16314,26 @@ impl IMFTimedText { } pub unsafe fn GetCueTimeOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCueTimeOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCueTimeOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCueTimeOffset(&self, offset: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCueTimeOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTracks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActiveTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveTracks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTextTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextTracks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMetadataTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataTracks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInBandEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -16382,15 +16382,15 @@ pub struct IMFTimedTextBinary_Vtbl { impl IMFTimedTextBouten { pub unsafe fn GetBoutenType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoutenType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoutenType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBoutenColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoutenColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoutenColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBoutenPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoutenPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoutenPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16409,7 +16409,7 @@ impl IMFTimedTextCue { } pub unsafe fn GetOriginalId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCueKind(&self) -> MF_TIMED_TEXT_TRACK_KIND { (::windows_core::Interface::vtable(self).GetCueKind)(::windows_core::Interface::as_raw(self)) @@ -16425,22 +16425,22 @@ impl IMFTimedTextCue { } pub unsafe fn GetData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRegion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLineCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetLineCount)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetLine(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLine)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLine)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16467,18 +16467,18 @@ impl IMFTimedTextCueList { } pub unsafe fn GetCueByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCueByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCueByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCueById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCueById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCueById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCueByOriginalId(&self, originalid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCueByOriginalId)(::windows_core::Interface::as_raw(self), originalid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCueByOriginalId)(::windows_core::Interface::as_raw(self), originalid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddTextCue(&self, start: f64, duration: f64, text: P0, cue: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -16513,7 +16513,7 @@ pub struct IMFTimedTextCueList_Vtbl { impl IMFTimedTextFormattedText { pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubformattingCount(&self) -> u32 { (::windows_core::Interface::vtable(self).GetSubformattingCount)(::windows_core::Interface::as_raw(self)) @@ -16578,7 +16578,7 @@ pub struct IMFTimedTextNotify_Vtbl { impl IMFTimedTextRegion { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPosition(&self, px: *mut f64, py: *mut f64, unittype: *mut MF_TIMED_TEXT_UNIT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), px, py, unittype).ok() @@ -16588,37 +16588,37 @@ impl IMFTimedTextRegion { } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWritingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWritingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWritingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLineHeight(&self, plineheight: *mut f64, unittype: *mut MF_TIMED_TEXT_UNIT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLineHeight)(::windows_core::Interface::as_raw(self), plineheight, unittype).ok() } pub unsafe fn GetClipOverflow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipOverflow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipOverflow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPadding(&self, before: *mut f64, start: *mut f64, after: *mut f64, end: *mut f64, unittype: *mut MF_TIMED_TEXT_UNIT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPadding)(::windows_core::Interface::as_raw(self), before, start, after, end, unittype).ok() } pub unsafe fn GetWrap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWrap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWrap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetZIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetZIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetZIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScrollMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScrollMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScrollMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16643,19 +16643,19 @@ pub struct IMFTimedTextRegion_Vtbl { impl IMFTimedTextRuby { pub unsafe fn GetRubyText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRubyText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRubyText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRubyPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRubyPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRubyPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRubyAlign(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRubyAlign)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRubyAlign)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRubyReserve(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRubyReserve)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRubyReserve)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16672,49 +16672,49 @@ pub struct IMFTimedTextRuby_Vtbl { impl IMFTimedTextStyle { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsExternal(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsExternal)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetFontFamily(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFamily)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFontSize(&self, fontsize: *mut f64, unittype: *mut MF_TIMED_TEXT_UNIT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFontSize)(::windows_core::Interface::as_raw(self), fontsize, unittype).ok() } pub unsafe fn GetColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetShowBackgroundAlways(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowBackgroundAlways)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowBackgroundAlways)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFontStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBold(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBold)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRightToLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRightToLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRightToLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextDecoration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextDecoration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextDecoration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextOutline(&self, color: *mut MFARGB, thickness: *mut f64, blurradius: *mut f64, unittype: *mut MF_TIMED_TEXT_UNIT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTextOutline)(::windows_core::Interface::as_raw(self), color, thickness, blurradius, unittype).ok() @@ -16743,19 +16743,19 @@ pub struct IMFTimedTextStyle_Vtbl { impl IMFTimedTextStyle2 { pub unsafe fn GetRuby(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRuby)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuby)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBouten(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBouten)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBouten)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsTextCombined(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTextCombined)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTextCombined)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFontAngleInDegrees(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontAngleInDegrees)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontAngleInDegrees)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16775,7 +16775,7 @@ impl IMFTimedTextTrack { } pub unsafe fn GetLabel(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLabel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLabel(&self, label: P0) -> ::windows_core::Result<()> where @@ -16785,7 +16785,7 @@ impl IMFTimedTextTrack { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTrackKind(&self) -> MF_TIMED_TEXT_TRACK_KIND { (::windows_core::Interface::vtable(self).GetTrackKind)(::windows_core::Interface::as_raw(self)) @@ -16795,7 +16795,7 @@ impl IMFTimedTextTrack { } pub unsafe fn GetInBandMetadataTrackDispatchType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInBandMetadataTrackDispatchType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInBandMetadataTrackDispatchType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsActive(&self) -> super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsActive)(::windows_core::Interface::as_raw(self)) @@ -16808,14 +16808,14 @@ impl IMFTimedTextTrack { } pub unsafe fn GetDataFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetReadyState(&self) -> MF_TIMED_TEXT_TRACK_READY_STATE { (::windows_core::Interface::vtable(self).GetReadyState)(::windows_core::Interface::as_raw(self)) } pub unsafe fn GetCueList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCueList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCueList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16844,11 +16844,11 @@ impl IMFTimedTextTrackList { } pub unsafe fn GetTrack(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrack)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrack)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTrackById(&self, trackid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrackById)(::windows_core::Interface::as_raw(self), trackid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrackById)(::windows_core::Interface::as_raw(self), trackid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16868,7 +16868,7 @@ impl IMFTimer { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetTimer)(::windows_core::Interface::as_raw(self), dwflags, llclocktime, pcallback.into_param().abi(), punkstate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetTimer)(::windows_core::Interface::as_raw(self), dwflags, llclocktime, pcallback.into_param().abi(), punkstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CancelTimer(&self, punkkey: P0) -> ::windows_core::Result<()> where @@ -16909,38 +16909,38 @@ impl IMFTopology { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16950,7 +16950,7 @@ impl IMFTopology { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16963,7 +16963,7 @@ impl IMFTopology { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -17009,7 +17009,7 @@ impl IMFTopology { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17022,7 +17022,7 @@ impl IMFTopology { } pub unsafe fn GetTopologyID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTopologyID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTopologyID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddNode(&self, pnode: P0) -> ::windows_core::Result<()> where @@ -17038,11 +17038,11 @@ impl IMFTopology { } pub unsafe fn GetNodeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNodeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNodeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNode(&self, windex: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNode)(::windows_core::Interface::as_raw(self), windex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNode)(::windows_core::Interface::as_raw(self), windex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -17055,15 +17055,15 @@ impl IMFTopology { } pub unsafe fn GetNodeByID(&self, qwtoponodeid: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNodeByID)(::windows_core::Interface::as_raw(self), qwtoponodeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNodeByID)(::windows_core::Interface::as_raw(self), qwtoponodeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceNodeCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceNodeCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceNodeCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputNodeCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputNodeCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputNodeCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17089,38 +17089,38 @@ impl IMFTopologyNode { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17130,7 +17130,7 @@ impl IMFTopologyNode { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17143,7 +17143,7 @@ impl IMFTopologyNode { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -17189,7 +17189,7 @@ impl IMFTopologyNode { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17208,26 +17208,26 @@ impl IMFTopologyNode { } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNodeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNodeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNodeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTopoNodeID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTopoNodeID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTopoNodeID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTopoNodeID(&self, ulltopoid: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTopoNodeID)(::windows_core::Interface::as_raw(self), ulltopoid).ok() } pub unsafe fn GetInputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConnectOutput(&self, dwoutputindex: u32, pdownstreamnode: P0, dwinputindexondownstreamnode: u32) -> ::windows_core::Result<()> where @@ -17252,7 +17252,7 @@ impl IMFTopologyNode { } pub unsafe fn GetOutputPrefType(&self, dwoutputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputPrefType)(::windows_core::Interface::as_raw(self), dwoutputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputPrefType)(::windows_core::Interface::as_raw(self), dwoutputindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputPrefType(&self, dwinputindex: u32, ptype: P0) -> ::windows_core::Result<()> where @@ -17262,7 +17262,7 @@ impl IMFTopologyNode { } pub unsafe fn GetInputPrefType(&self, dwinputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputPrefType)(::windows_core::Interface::as_raw(self), dwinputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputPrefType)(::windows_core::Interface::as_raw(self), dwinputindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloneFrom(&self, pnode: P0) -> ::windows_core::Result<()> where @@ -17366,7 +17366,7 @@ impl IMFTranscodeProfile { } pub unsafe fn GetAudioAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVideoAttributes(&self, pattrs: P0) -> ::windows_core::Result<()> where @@ -17376,7 +17376,7 @@ impl IMFTranscodeProfile { } pub unsafe fn GetVideoAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerAttributes(&self, pattrs: P0) -> ::windows_core::Result<()> where @@ -17386,7 +17386,7 @@ impl IMFTranscodeProfile { } pub unsafe fn GetContainerAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17423,7 +17423,7 @@ impl IMFTranscodeSinkInfoProvider { } pub unsafe fn GetSinkInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSinkInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSinkInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17452,19 +17452,19 @@ impl IMFTransform { } pub unsafe fn GetOutputStreamInfo(&self, dwoutputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamInfo)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamInfo)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).map(|| result__) } pub unsafe fn GetAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputStreamAttributes(&self, dwinputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStreamAttributes)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStreamAttributes)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputStreamAttributes(&self, dwoutputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStreamAttributes)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStreamAttributes)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteInputStream(&self, dwstreamid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteInputStream)(::windows_core::Interface::as_raw(self), dwstreamid).ok() @@ -17474,11 +17474,11 @@ impl IMFTransform { } pub unsafe fn GetInputAvailableType(&self, dwinputstreamid: u32, dwtypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputAvailableType)(::windows_core::Interface::as_raw(self), dwinputstreamid, dwtypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputAvailableType)(::windows_core::Interface::as_raw(self), dwinputstreamid, dwtypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputAvailableType(&self, dwoutputstreamid: u32, dwtypeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputAvailableType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, dwtypeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputAvailableType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, dwtypeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputType(&self, dwinputstreamid: u32, ptype: P0, dwflags: u32) -> ::windows_core::Result<()> where @@ -17494,19 +17494,19 @@ impl IMFTransform { } pub unsafe fn GetInputCurrentType(&self, dwinputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCurrentType)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCurrentType)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputCurrentType(&self, dwoutputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCurrentType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCurrentType)(::windows_core::Interface::as_raw(self), dwoutputstreamid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputStatus(&self, dwinputstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStatus)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStatus)(::windows_core::Interface::as_raw(self), dwinputstreamid, &mut result__).map(|| result__) } pub unsafe fn GetOutputStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputBounds(&self, hnslowerbound: i64, hnsupperbound: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputBounds)(::windows_core::Interface::as_raw(self), hnslowerbound, hnsupperbound).ok() @@ -17563,7 +17563,7 @@ pub struct IMFTransform_Vtbl { impl IMFTrustedInput { pub unsafe fn GetInputTrustAuthority(&self, dwstreamid: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputTrustAuthority)(::windows_core::Interface::as_raw(self), dwstreamid, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputTrustAuthority)(::windows_core::Interface::as_raw(self), dwstreamid, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17577,15 +17577,15 @@ pub struct IMFTrustedInput_Vtbl { impl IMFTrustedOutput { pub unsafe fn GetOutputTrustAuthorityCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputTrustAuthorityCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputTrustAuthorityCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputTrustAuthorityByIndex(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputTrustAuthorityByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputTrustAuthorityByIndex)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFinal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFinal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFinal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17616,7 +17616,7 @@ impl IMFVideoCaptureSampleAllocator { } pub unsafe fn AllocateSample(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCaptureSampleAllocator(&self, cbsamplesize: u32, cbcapturemetadatasize: u32, cbalignment: u32, cminimumsamples: u32, pattributes: P0, pmediatype: P1) -> ::windows_core::Result<()> where @@ -17637,7 +17637,7 @@ pub struct IMFVideoCaptureSampleAllocator_Vtbl { impl IMFVideoDeviceID { pub unsafe fn GetDeviceID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17666,7 +17666,7 @@ impl IMFVideoDisplayControl { } pub unsafe fn GetAspectRatioMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAspectRatioMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVideoWindow(&self, hwndvideo: P0) -> ::windows_core::Result<()> where @@ -17676,7 +17676,7 @@ impl IMFVideoDisplayControl { } pub unsafe fn GetVideoWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RepaintVideo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RepaintVideo)(::windows_core::Interface::as_raw(self)).ok() @@ -17693,14 +17693,14 @@ impl IMFVideoDisplayControl { } pub unsafe fn GetBorderColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorderColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRenderingPrefs)(::windows_core::Interface::as_raw(self), dwrenderflags).ok() } pub unsafe fn GetRenderingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFullscreen(&self, ffullscreen: P0) -> ::windows_core::Result<()> where @@ -17710,7 +17710,7 @@ impl IMFVideoDisplayControl { } pub unsafe fn GetFullscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17745,38 +17745,38 @@ impl IMFVideoMediaType { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17786,7 +17786,7 @@ impl IMFVideoMediaType { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17799,7 +17799,7 @@ impl IMFVideoMediaType { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -17845,7 +17845,7 @@ impl IMFVideoMediaType { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17858,18 +17858,18 @@ impl IMFVideoMediaType { } pub unsafe fn GetMajorType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMajorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCompressedFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCompressedFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, pimediatype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pimediatype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRepresentation(&self, guidrepresentation: ::windows_core::GUID, ppvrepresentation: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRepresentation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidrepresentation), ppvrepresentation).ok() @@ -17928,14 +17928,14 @@ impl IMFVideoMixerControl { } pub unsafe fn GetStreamZOrder(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetStreamOutputRect(&self, dwstreamid: u32, pnrcoutput: *const MFVideoNormalizedRect) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, pnrcoutput).ok() } pub unsafe fn GetStreamOutputRect(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } } #[repr(C)] @@ -17955,21 +17955,21 @@ impl IMFVideoMixerControl2 { } pub unsafe fn GetStreamZOrder(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamZOrder)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetStreamOutputRect(&self, dwstreamid: u32, pnrcoutput: *const MFVideoNormalizedRect) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, pnrcoutput).ok() } pub unsafe fn GetStreamOutputRect(&self, dwstreamid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamOutputRect)(::windows_core::Interface::as_raw(self), dwstreamid, &mut result__).map(|| result__) } pub unsafe fn SetMixingPrefs(&self, dwmixflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMixingPrefs)(::windows_core::Interface::as_raw(self), dwmixflags).ok() } pub unsafe fn GetMixingPrefs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMixingPrefs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18015,7 +18015,7 @@ impl IMFVideoPresenter { } pub unsafe fn GetCurrentMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentMediaType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18037,36 +18037,36 @@ impl IMFVideoProcessor { } pub unsafe fn GetVideoProcessorMode(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoProcessorMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoProcessorMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVideoProcessorMode(&self, lpmode: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVideoProcessorMode)(::windows_core::Interface::as_raw(self), lpmode).ok() } pub unsafe fn GetProcAmpRange(&self, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcAmpRange)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).map(|| result__) } pub unsafe fn GetProcAmpValues(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcAmpValues)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcAmpValues)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn SetProcAmpValues(&self, dwflags: u32, pvalues: *const DXVA2_ProcAmpValues) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProcAmpValues)(::windows_core::Interface::as_raw(self), dwflags, pvalues).ok() } pub unsafe fn GetFilteringRange(&self, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteringRange)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteringRange)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).map(|| result__) } pub unsafe fn GetFilteringValue(&self, dwproperty: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteringValue)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteringValue)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).map(|| result__) } pub unsafe fn SetFilteringValue(&self, dwproperty: u32, pvalue: *const DXVA2_Fixed32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFilteringValue)(::windows_core::Interface::as_raw(self), dwproperty, pvalue).ok() } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackgroundColor(&self, clrbkg: P0) -> ::windows_core::Result<()> where @@ -18160,7 +18160,7 @@ impl IMFVideoProcessorControl2 { } pub unsafe fn GetSupportedHardwareEffects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedHardwareEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedHardwareEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18203,11 +18203,11 @@ impl IMFVideoProcessorControl3 { } pub unsafe fn GetSupportedHardwareEffects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSupportedHardwareEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSupportedHardwareEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNaturalOutputType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNaturalOutputType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNaturalOutputType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableSphericalVideoProcessing(&self, fenable: P0, eformat: MFVideoSphericalFormat, eprojectionmode: MFVideoSphericalProjectionMode) -> ::windows_core::Result<()> where @@ -18287,7 +18287,7 @@ impl IMFVideoSampleAllocator { } pub unsafe fn AllocateSample(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18310,7 +18310,7 @@ impl IMFVideoSampleAllocatorCallback { } pub unsafe fn GetFreeSampleCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFreeSampleCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFreeSampleCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18340,7 +18340,7 @@ impl IMFVideoSampleAllocatorEx { } pub unsafe fn AllocateSample(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateSample)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeSampleAllocatorEx(&self, cinitialsamples: u32, cmaximumsamples: u32, pattributes: P0, pmediatype: P1) -> ::windows_core::Result<()> where @@ -18396,38 +18396,38 @@ impl IMFVirtualCamera { } pub unsafe fn GetItemType(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn CompareItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, ptheirs: P0, matchtype: MF_ATTRIBUTES_MATCH_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), ptheirs.into_param().abi(), matchtype, &mut result__).map(|| result__) } pub unsafe fn GetUINT32(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT32)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetUINT64(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUINT64)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetDouble(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDouble)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetStringLength(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringLength)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetString(&self, guidkey: *const ::windows_core::GUID, pwszvalue: &mut [u16], pcchlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pwszvalue.as_ptr()), pwszvalue.len().try_into().unwrap(), ::core::mem::transmute(pcchlength.unwrap_or(::std::ptr::null_mut()))).ok() @@ -18437,7 +18437,7 @@ impl IMFVirtualCamera { } pub unsafe fn GetBlobSize(&self, guidkey: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBlobSize)(::windows_core::Interface::as_raw(self), guidkey, &mut result__).map(|| result__) } pub unsafe fn GetBlob(&self, guidkey: *const ::windows_core::GUID, pbuf: &mut [u8], pcbblobsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBlob)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(pbuf.as_ptr()), pbuf.len().try_into().unwrap(), ::core::mem::transmute(pcbblobsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -18450,7 +18450,7 @@ impl IMFVirtualCamera { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnknown)(::windows_core::Interface::as_raw(self), guidkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItem(&self, guidkey: *const ::windows_core::GUID, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItem)(::windows_core::Interface::as_raw(self), guidkey, ::core::mem::transmute(value)).ok() @@ -18496,7 +18496,7 @@ impl IMFVirtualCamera { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByIndex(&self, unindex: u32, pguidkey: *mut ::windows_core::GUID, pvalue: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetItemByIndex)(::windows_core::Interface::as_raw(self), unindex, pguidkey, ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok() @@ -18538,7 +18538,7 @@ impl IMFVirtualCamera { } pub unsafe fn GetMediaSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMediaSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendCameraProperty(&self, propertyset: *const ::windows_core::GUID, propertyid: u32, propertyflags: u32, propertypayload: ::core::option::Option<*mut ::core::ffi::c_void>, propertypayloadlength: u32, data: ::core::option::Option<*mut ::core::ffi::c_void>, datalength: u32, datawritten: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendCameraProperty)(::windows_core::Interface::as_raw(self), propertyset, propertyid, propertyflags, ::core::mem::transmute(propertypayload.unwrap_or(::std::ptr::null_mut())), propertypayloadlength, ::core::mem::transmute(data.unwrap_or(::std::ptr::null_mut())), datalength, datawritten).ok() @@ -18548,14 +18548,14 @@ impl IMFVirtualCamera { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSyncEvent)(::windows_core::Interface::as_raw(self), kseventset, kseventid, kseventflags, eventhandle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSyncEvent)(::windows_core::Interface::as_raw(self), kseventset, kseventid, kseventflags, eventhandle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSyncSemaphore(&self, kseventset: *const ::windows_core::GUID, kseventid: u32, kseventflags: u32, semaphorehandle: P0, semaphoreadjustment: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSyncSemaphore)(::windows_core::Interface::as_raw(self), kseventset, kseventid, kseventflags, semaphorehandle.into_param().abi(), semaphoreadjustment, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSyncSemaphore)(::windows_core::Interface::as_raw(self), kseventset, kseventid, kseventflags, semaphorehandle.into_param().abi(), semaphoreadjustment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Shutdown)(::windows_core::Interface::as_raw(self)).ok() @@ -18614,7 +18614,7 @@ impl IMFWorkQueueServices { } pub unsafe fn GetTopologyWorkQueueMMCSSTaskId(&self, dwtopologyworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTopologyWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTopologyWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).map(|| result__) } pub unsafe fn BeginRegisterPlatformWorkQueueWithMMCSS(&self, dwplatformworkqueue: u32, wszclass: P0, dwtaskid: u32, pcallback: P1, pstate: P2) -> ::windows_core::Result<()> where @@ -18629,7 +18629,7 @@ impl IMFWorkQueueServices { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndRegisterPlatformWorkQueueWithMMCSS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndRegisterPlatformWorkQueueWithMMCSS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn BeginUnregisterPlatformWorkQueueWithMMCSS(&self, dwplatformworkqueue: u32, pcallback: P0, pstate: P1) -> ::windows_core::Result<()> where @@ -18649,7 +18649,7 @@ impl IMFWorkQueueServices { } pub unsafe fn GetPlatformWorkQueueMMCSSTaskId(&self, dwplatformworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlatformWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlatformWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).map(|| result__) } } #[repr(C)] @@ -18703,7 +18703,7 @@ impl IMFWorkQueueServicesEx { } pub unsafe fn GetTopologyWorkQueueMMCSSTaskId(&self, dwtopologyworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTopologyWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTopologyWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).map(|| result__) } pub unsafe fn BeginRegisterPlatformWorkQueueWithMMCSS(&self, dwplatformworkqueue: u32, wszclass: P0, dwtaskid: u32, pcallback: P1, pstate: P2) -> ::windows_core::Result<()> where @@ -18718,7 +18718,7 @@ impl IMFWorkQueueServicesEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndRegisterPlatformWorkQueueWithMMCSS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndRegisterPlatformWorkQueueWithMMCSS)(::windows_core::Interface::as_raw(self), presult.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn BeginUnregisterPlatformWorkQueueWithMMCSS(&self, dwplatformworkqueue: u32, pcallback: P0, pstate: P1) -> ::windows_core::Result<()> where @@ -18738,11 +18738,11 @@ impl IMFWorkQueueServicesEx { } pub unsafe fn GetPlatformWorkQueueMMCSSTaskId(&self, dwplatformworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPlatformWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPlatformWorkQueueMMCSSTaskId)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).map(|| result__) } pub unsafe fn GetTopologyWorkQueueMMCSSPriority(&self, dwtopologyworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTopologyWorkQueueMMCSSPriority)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTopologyWorkQueueMMCSSPriority)(::windows_core::Interface::as_raw(self), dwtopologyworkqueueid, &mut result__).map(|| result__) } pub unsafe fn BeginRegisterPlatformWorkQueueWithMMCSSEx(&self, dwplatformworkqueue: u32, wszclass: P0, dwtaskid: u32, lpriority: i32, pcallback: P1, pstate: P2) -> ::windows_core::Result<()> where @@ -18754,7 +18754,7 @@ impl IMFWorkQueueServicesEx { } pub unsafe fn GetPlatformWorkQueueMMCSSPriority(&self, dwplatformworkqueueid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlatformWorkQueueMMCSSPriority)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlatformWorkQueueMMCSSPriority)(::windows_core::Interface::as_raw(self), dwplatformworkqueueid, &mut result__).map(|| result__) } } #[repr(C)] @@ -18828,7 +18828,7 @@ impl IPlayToControlWithCapabilities { } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18845,7 +18845,7 @@ impl IPlayToSourceClassFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pcontrol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), dwflags, pcontrol.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18883,7 +18883,7 @@ impl IToc { } pub unsafe fn GetEntryListByIndex(&self, wentrylistindex: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntryListByIndex)(::windows_core::Interface::as_raw(self), wentrylistindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntryListByIndex)(::windows_core::Interface::as_raw(self), wentrylistindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddEntryList(&self, pentrylist: P0, pwentrylistindex: *mut u16) -> ::windows_core::Result<()> where @@ -18925,7 +18925,7 @@ impl ITocCollection { } pub unsafe fn GetEntryByIndex(&self, dwentryindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntryByIndex)(::windows_core::Interface::as_raw(self), dwentryindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntryByIndex)(::windows_core::Interface::as_raw(self), dwentryindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddEntry(&self, ptoc: P0, pdwentryindex: *mut u32) -> ::windows_core::Result<()> where @@ -19005,7 +19005,7 @@ impl ITocEntryList { } pub unsafe fn GetEntryByIndex(&self, dwentryindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntryByIndex)(::windows_core::Interface::as_raw(self), dwentryindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntryByIndex)(::windows_core::Interface::as_raw(self), dwentryindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddEntry(&self, pentry: P0, pdwentryindex: *mut u32) -> ::windows_core::Result<()> where @@ -19047,11 +19047,11 @@ impl ITocParser { } pub unsafe fn GetTocByIndex(&self, enumtocpostype: TOC_POS_TYPE, dwtocindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTocByIndex)(::windows_core::Interface::as_raw(self), enumtocpostype, dwtocindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTocByIndex)(::windows_core::Interface::as_raw(self), enumtocpostype, dwtocindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTocByType(&self, enumtocpostype: TOC_POS_TYPE, guidtoctype: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTocByType)(::windows_core::Interface::as_raw(self), enumtocpostype, ::core::mem::transmute(guidtoctype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTocByType)(::windows_core::Interface::as_raw(self), enumtocpostype, ::core::mem::transmute(guidtoctype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddToc(&self, enumtocpostype: TOC_POS_TYPE, ptoc: P0, pdwtocindex: *mut u32) -> ::windows_core::Result<()> where @@ -19430,7 +19430,7 @@ pub struct IWMVideoForceKeyFrame_Vtbl { impl MFASYNCRESULT { pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self)).ok() @@ -19440,7 +19440,7 @@ impl MFASYNCRESULT { } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> { (::windows_core::Interface::vtable(self).base__.GetStateNoAddRef)(::windows_core::Interface::as_raw(self)) diff --git a/crates/libs/windows/src/Windows/Win32/Media/MediaPlayer/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/MediaPlayer/mod.rs index b1e7d8a132..954d69a106 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/MediaPlayer/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/MediaPlayer/mod.rs @@ -6,11 +6,11 @@ impl IFeed { pub unsafe fn Xml(&self, count: i32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), count, sortproperty, sortorder, filterflags, includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), count, sortproperty, sortorder, filterflags, includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Rename(&self, name: P0) -> ::windows_core::Result<()> where @@ -20,7 +20,7 @@ impl IFeed { } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUrl(&self, feedurl: P0) -> ::windows_core::Result<()> where @@ -30,11 +30,11 @@ impl IFeed { } pub unsafe fn LocalId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, newparentpath: P0) -> ::windows_core::Result<()> where @@ -45,11 +45,11 @@ impl IFeed { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -65,82 +65,82 @@ impl IFeed { } pub unsafe fn SyncSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncSetting(&self, syncsetting: FEEDS_SYNC_SETTING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncSetting)(::windows_core::Interface::as_raw(self), syncsetting).ok() } pub unsafe fn Interval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterval)(::windows_core::Interface::as_raw(self), minutes).ok() } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalEnclosurePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetItem(&self, itemid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), itemid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), itemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Image(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastBuildDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Ttl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ttl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ttl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Language(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copyright(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copyright)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copyright)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MaxItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxItemCount(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxItemCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn DownloadEnclosuresAutomatically(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDownloadEnclosuresAutomatically(&self, downloadenclosuresautomatically: P0) -> ::windows_core::Result<()> where @@ -150,11 +150,11 @@ impl IFeed { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Merge(&self, feedxml: P0, feedurl: P1) -> ::windows_core::Result<()> where @@ -165,11 +165,11 @@ impl IFeed { } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MarkAllItemsRead(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MarkAllItemsRead)(::windows_core::Interface::as_raw(self)).ok() @@ -177,15 +177,15 @@ impl IFeed { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -258,11 +258,11 @@ pub struct IFeed_Vtbl { impl IFeed2 { pub unsafe fn Xml(&self, count: i32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), count, sortproperty, sortorder, filterflags, includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), count, sortproperty, sortorder, filterflags, includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Rename(&self, name: P0) -> ::windows_core::Result<()> where @@ -272,7 +272,7 @@ impl IFeed2 { } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUrl(&self, feedurl: P0) -> ::windows_core::Result<()> where @@ -282,11 +282,11 @@ impl IFeed2 { } pub unsafe fn LocalId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, newparentpath: P0) -> ::windows_core::Result<()> where @@ -297,11 +297,11 @@ impl IFeed2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -317,82 +317,82 @@ impl IFeed2 { } pub unsafe fn SyncSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncSetting(&self, syncsetting: FEEDS_SYNC_SETTING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSyncSetting)(::windows_core::Interface::as_raw(self), syncsetting).ok() } pub unsafe fn Interval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Interval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Interval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInterval)(::windows_core::Interface::as_raw(self), minutes).ok() } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalEnclosurePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetItem(&self, itemid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), itemid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), itemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Image(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastBuildDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Ttl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Ttl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Ttl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Language(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Language)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Language)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copyright(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Copyright)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Copyright)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MaxItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxItemCount(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxItemCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn DownloadEnclosuresAutomatically(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDownloadEnclosuresAutomatically(&self, downloadenclosuresautomatically: P0) -> ::windows_core::Result<()> where @@ -402,11 +402,11 @@ impl IFeed2 { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Merge(&self, feedxml: P0, feedurl: P1) -> ::windows_core::Result<()> where @@ -417,11 +417,11 @@ impl IFeed2 { } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MarkAllItemsRead(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.MarkAllItemsRead)(::windows_core::Interface::as_raw(self)).ok() @@ -429,32 +429,32 @@ impl IFeed2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetItemByEffectiveId(&self, itemeffectiveid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemByEffectiveId)(::windows_core::Interface::as_raw(self), itemeffectiveid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemByEffectiveId)(::windows_core::Interface::as_raw(self), itemeffectiveid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastItemDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastItemDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastItemDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Username(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Password(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, username: P0, password: P1) -> ::windows_core::Result<()> where @@ -490,15 +490,15 @@ pub struct IFeed2_Vtbl { impl IFeedEnclosure { pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AsyncDownload(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AsyncDownload)(::windows_core::Interface::as_raw(self)).ok() @@ -508,28 +508,28 @@ impl IFeedEnclosure { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DownloadMimeType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadMimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadMimeType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveFile)(::windows_core::Interface::as_raw(self)).ok() @@ -643,12 +643,12 @@ impl IFeedFolder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Feeds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Feeds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Feeds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subfolders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subfolders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subfolders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFeed(&self, feedname: P0, feedurl: P1) -> ::windows_core::Result @@ -657,7 +657,7 @@ impl IFeedFolder { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), feedurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), feedurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSubfolder(&self, foldername: P0) -> ::windows_core::Result @@ -665,14 +665,14 @@ impl IFeedFolder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExistsFeed(&self, feedname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeed(&self, feedname: P0) -> ::windows_core::Result @@ -680,14 +680,14 @@ impl IFeedFolder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), feedname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExistsSubfolder(&self, foldername: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSubfolder(&self, foldername: P0) -> ::windows_core::Result @@ -695,14 +695,14 @@ impl IFeedFolder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubfolder)(::windows_core::Interface::as_raw(self), foldername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Rename(&self, foldername: P0) -> ::windows_core::Result<()> where @@ -712,7 +712,7 @@ impl IFeedFolder { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, newparentpath: P0) -> ::windows_core::Result<()> where @@ -723,24 +723,24 @@ impl IFeedFolder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRoot)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalUnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalUnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalUnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -927,44 +927,44 @@ pub struct IFeedFolderEvents_Vtbl { impl IFeedItem { pub unsafe fn Xml(&self, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Comments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Comments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Comments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Enclosure(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enclosure)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enclosure)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRead(&self, isread: P0) -> ::windows_core::Result<()> where @@ -974,27 +974,27 @@ impl IFeedItem { } pub unsafe fn LocalId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1034,44 +1034,44 @@ pub struct IFeedItem_Vtbl { impl IFeedItem2 { pub unsafe fn Xml(&self, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Guid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Comments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Comments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Comments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Author)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Enclosure(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Enclosure)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enclosure)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRead(&self, isread: P0) -> ::windows_core::Result<()> where @@ -1081,31 +1081,31 @@ impl IFeedItem2 { } pub unsafe fn LocalId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EffectiveId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EffectiveId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EffectiveId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1123,17 +1123,17 @@ pub struct IFeedItem2_Vtbl { impl IFeedsEnum { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1160,21 +1160,21 @@ impl IFeedsManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RootFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSubscribed(&self, feedurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), feedurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), feedurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ExistsFeed(&self, feedpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), feedpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), feedpath.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeed(&self, feedpath: P0) -> ::windows_core::Result @@ -1182,7 +1182,7 @@ impl IFeedsManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), feedpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), feedpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFeedByUrl(&self, feedurl: P0) -> ::windows_core::Result @@ -1190,14 +1190,14 @@ impl IFeedsManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFeedByUrl)(::windows_core::Interface::as_raw(self), feedurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeedByUrl)(::windows_core::Interface::as_raw(self), feedurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExistsFolder(&self, folderpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsFolder)(::windows_core::Interface::as_raw(self), folderpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsFolder)(::windows_core::Interface::as_raw(self), folderpath.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFolder(&self, folderpath: P0) -> ::windows_core::Result @@ -1205,7 +1205,7 @@ impl IFeedsManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), folderpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), folderpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteFeed(&self, feedpath: P0) -> ::windows_core::Result<()> where @@ -1224,11 +1224,11 @@ impl IFeedsManager { } pub unsafe fn BackgroundSyncStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackgroundSyncStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackgroundSyncStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -1241,11 +1241,11 @@ impl IFeedsManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Normalize)(::windows_core::Interface::as_raw(self), feedxmlin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Normalize)(::windows_core::Interface::as_raw(self), feedxmlin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ItemCountLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCountLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCountLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1314,7 +1314,7 @@ impl IWMPCdrom { #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).playlist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).playlist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn eject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).eject)(::windows_core::Interface::as_raw(self)).ok() @@ -1365,7 +1365,7 @@ impl IWMPCdromBurn { #[cfg(feature = "Win32_System_Com")] pub unsafe fn burnPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).burnPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).burnPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetburnPlaylist(&self, pplaylist: P0) -> ::windows_core::Result<()> @@ -1430,7 +1430,7 @@ impl IWMPCdromCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByDriveSpecifier(&self, bstrdrivespecifier: P0) -> ::windows_core::Result @@ -1438,7 +1438,7 @@ impl IWMPCdromCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByDriveSpecifier)(::windows_core::Interface::as_raw(self), bstrdrivespecifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByDriveSpecifier)(::windows_core::Interface::as_raw(self), bstrdrivespecifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1612,27 +1612,27 @@ pub struct IWMPClosedCaption2_Vtbl { impl IWMPContentContainer { pub unsafe fn GetID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrice(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContentPrice(&self, idxcontent: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentPrice)(::windows_core::Interface::as_raw(self), idxcontent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentPrice)(::windows_core::Interface::as_raw(self), idxcontent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContentID(&self, idxcontent: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentID)(::windows_core::Interface::as_raw(self), idxcontent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentID)(::windows_core::Interface::as_raw(self), idxcontent, &mut result__).map(|| result__) } } #[repr(C)] @@ -1651,15 +1651,15 @@ pub struct IWMPContentContainer_Vtbl { impl IWMPContentContainerList { pub unsafe fn GetTransactionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransactionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransactionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContainerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContainer(&self, idxcontainer: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainer)(::windows_core::Interface::as_raw(self), idxcontainer, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainer)(::windows_core::Interface::as_raw(self), idxcontainer, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1687,14 +1687,14 @@ impl IWMPContentPartner { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemInfo)(::windows_core::Interface::as_raw(self), bstrinfoname.into_param().abi(), ::core::mem::transmute(pcontext), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemInfo)(::windows_core::Interface::as_raw(self), bstrinfoname.into_param().abi(), ::core::mem::transmute(pcontext), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContentPartnerInfo(&self, bstrinfoname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentPartnerInfo)(::windows_core::Interface::as_raw(self), bstrinfoname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentPartnerInfo)(::windows_core::Interface::as_raw(self), bstrinfoname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCommands(&self, location: P0, plocationcontext: *const ::windows_core::VARIANT, itemlocation: P1, prgitemids: &[u32], pcitemids: *mut u32, pprgitems: *mut *mut WMPContextMenuInfo) -> ::windows_core::Result<()> where @@ -1724,7 +1724,7 @@ impl IWMPContentPartner { } pub unsafe fn GetStreamingURL(&self, st: WMPStreamingType, pstreamcontext: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamingURL)(::windows_core::Interface::as_raw(self), st, ::core::mem::transmute(pstreamcontext), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamingURL)(::windows_core::Interface::as_raw(self), st, ::core::mem::transmute(pstreamcontext), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Download(&self, pinfo: P0, cookie: u32) -> ::windows_core::Result<()> where @@ -1807,7 +1807,7 @@ impl IWMPContentPartner { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareContainerListPrices)(::windows_core::Interface::as_raw(self), plistbase.into_param().abi(), plistcompare.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareContainerListPrices)(::windows_core::Interface::as_raw(self), plistbase.into_param().abi(), plistcompare.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn VerifyPermission(&self, bstrpermission: P0, pcontext: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -1979,7 +1979,7 @@ impl IWMPControls { #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).currentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).currentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentItem(&self, piwmpmedia: P0) -> ::windows_core::Result<()> @@ -2078,7 +2078,7 @@ impl IWMPControls2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentItem(&self, piwmpmedia: P0) -> ::windows_core::Result<()> @@ -2156,7 +2156,7 @@ impl IWMPControls3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.currentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.currentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentItem(&self, piwmpmedia: P0) -> ::windows_core::Result<()> @@ -2279,17 +2279,17 @@ impl IWMPCore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -2301,12 +2301,12 @@ impl IWMPCore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -2320,12 +2320,12 @@ impl IWMPCore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -2337,12 +2337,12 @@ impl IWMPCore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -2350,7 +2350,7 @@ impl IWMPCore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -2446,17 +2446,17 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -2468,12 +2468,12 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -2487,12 +2487,12 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -2504,12 +2504,12 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -2517,7 +2517,7 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -2525,7 +2525,7 @@ impl IWMPCore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn dvd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dvd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dvd)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2565,17 +2565,17 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -2587,12 +2587,12 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -2606,12 +2606,12 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -2623,12 +2623,12 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -2636,7 +2636,7 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -2644,7 +2644,7 @@ impl IWMPCore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn dvd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn newPlaylist(&self, bstrname: P0, bstrurl: P1) -> ::windows_core::Result @@ -2653,7 +2653,7 @@ impl IWMPCore3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn newMedia(&self, bstrurl: P0) -> ::windows_core::Result @@ -2661,7 +2661,7 @@ impl IWMPCore3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).newMedia)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).newMedia)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2733,7 +2733,7 @@ impl IWMPDownloadCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn item(&self, litem: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), litem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), litem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn startDownload(&self, bstrsourceurl: P0, bstrtype: P1) -> ::windows_core::Result @@ -2742,7 +2742,7 @@ impl IWMPDownloadCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).startDownload)(::windows_core::Interface::as_raw(self), bstrsourceurl.into_param().abi(), bstrtype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).startDownload)(::windows_core::Interface::as_raw(self), bstrsourceurl.into_param().abi(), bstrtype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn removeItem(&self, litem: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).removeItem)(::windows_core::Interface::as_raw(self), litem).ok() @@ -2867,12 +2867,12 @@ impl IWMPDownloadManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn getDownloadCollection(&self, lcollectionid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDownloadCollection)(::windows_core::Interface::as_raw(self), lcollectionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDownloadCollection)(::windows_core::Interface::as_raw(self), lcollectionid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn createDownloadCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createDownloadCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createDownloadCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3076,7 +3076,7 @@ impl IWMPError { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, dwindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn webHelp(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).webHelp)(::windows_core::Interface::as_raw(self)).ok() @@ -4452,7 +4452,7 @@ impl IWMPLibrary { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isIdentical(&self, piwmplibrary: P0, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> where @@ -4485,7 +4485,7 @@ impl IWMPLibrary2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isIdentical(&self, piwmplibrary: P0, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> where @@ -4514,7 +4514,7 @@ impl IWMPLibraryServices { } pub unsafe fn getLibraryByType(&self, wmplt: WMPLibraryType, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getLibraryByType)(::windows_core::Interface::as_raw(self), wmplt, lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getLibraryByType)(::windows_core::Interface::as_raw(self), wmplt, lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4741,7 +4741,7 @@ impl IWMPMedia2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4838,7 +4838,7 @@ impl IWMPMedia3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAttributeCountByType(&self, bstrtype: P0, bstrlanguage: P1, plcount: *mut i32) -> ::windows_core::Result<()> where @@ -4875,12 +4875,12 @@ impl IWMPMediaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).add)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).add)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getAll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAll)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByName(&self, bstrname: P0) -> ::windows_core::Result @@ -4888,7 +4888,7 @@ impl IWMPMediaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByGenre(&self, bstrgenre: P0) -> ::windows_core::Result @@ -4896,7 +4896,7 @@ impl IWMPMediaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByGenre)(::windows_core::Interface::as_raw(self), bstrgenre.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByGenre)(::windows_core::Interface::as_raw(self), bstrgenre.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAuthor(&self, bstrauthor: P0) -> ::windows_core::Result @@ -4904,7 +4904,7 @@ impl IWMPMediaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByAuthor)(::windows_core::Interface::as_raw(self), bstrauthor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByAuthor)(::windows_core::Interface::as_raw(self), bstrauthor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAlbum(&self, bstralbum: P0) -> ::windows_core::Result @@ -4912,7 +4912,7 @@ impl IWMPMediaCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByAlbum)(::windows_core::Interface::as_raw(self), bstralbum.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByAlbum)(::windows_core::Interface::as_raw(self), bstralbum.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAttribute(&self, bstrattribute: P0, bstrvalue: P1) -> ::windows_core::Result @@ -4921,7 +4921,7 @@ impl IWMPMediaCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByAttribute)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByAttribute)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn remove(&self, pitem: P0, varfdeletefile: P1) -> ::windows_core::Result<()> @@ -4938,7 +4938,7 @@ impl IWMPMediaCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttributeStringCollection)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttributeStringCollection)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getMediaAtom(&self, bstritemname: P0, platom: *mut i32) -> ::windows_core::Result<()> where @@ -5025,12 +5025,12 @@ impl IWMPMediaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.add)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.add)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getAll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getAll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getAll)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByName(&self, bstrname: P0) -> ::windows_core::Result @@ -5038,7 +5038,7 @@ impl IWMPMediaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByGenre(&self, bstrgenre: P0) -> ::windows_core::Result @@ -5046,7 +5046,7 @@ impl IWMPMediaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getByGenre)(::windows_core::Interface::as_raw(self), bstrgenre.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getByGenre)(::windows_core::Interface::as_raw(self), bstrgenre.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAuthor(&self, bstrauthor: P0) -> ::windows_core::Result @@ -5054,7 +5054,7 @@ impl IWMPMediaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getByAuthor)(::windows_core::Interface::as_raw(self), bstrauthor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getByAuthor)(::windows_core::Interface::as_raw(self), bstrauthor.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAlbum(&self, bstralbum: P0) -> ::windows_core::Result @@ -5062,7 +5062,7 @@ impl IWMPMediaCollection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getByAlbum)(::windows_core::Interface::as_raw(self), bstralbum.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getByAlbum)(::windows_core::Interface::as_raw(self), bstralbum.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAttribute(&self, bstrattribute: P0, bstrvalue: P1) -> ::windows_core::Result @@ -5071,7 +5071,7 @@ impl IWMPMediaCollection2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getByAttribute)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getByAttribute)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn remove(&self, pitem: P0, varfdeletefile: P1) -> ::windows_core::Result<()> @@ -5088,7 +5088,7 @@ impl IWMPMediaCollection2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getAttributeStringCollection)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getAttributeStringCollection)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getMediaAtom(&self, bstritemname: P0, platom: *mut i32) -> ::windows_core::Result<()> where @@ -5114,7 +5114,7 @@ impl IWMPMediaCollection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn createQuery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getPlaylistByQuery(&self, pquery: P0, bstrmediatype: P1, bstrsortattribute: P2, fsortascending: P3) -> ::windows_core::Result @@ -5125,7 +5125,7 @@ impl IWMPMediaCollection2 { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getPlaylistByQuery)(::windows_core::Interface::as_raw(self), pquery.into_param().abi(), bstrmediatype.into_param().abi(), bstrsortattribute.into_param().abi(), fsortascending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getPlaylistByQuery)(::windows_core::Interface::as_raw(self), pquery.into_param().abi(), bstrmediatype.into_param().abi(), bstrsortattribute.into_param().abi(), fsortascending.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getStringCollectionByQuery(&self, bstrattribute: P0, pquery: P1, bstrmediatype: P2, bstrsortattribute: P3, fsortascending: P4) -> ::windows_core::Result @@ -5137,7 +5137,7 @@ impl IWMPMediaCollection2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getStringCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), pquery.into_param().abi(), bstrmediatype.into_param().abi(), bstrsortattribute.into_param().abi(), fsortascending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getStringCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), pquery.into_param().abi(), bstrmediatype.into_param().abi(), bstrsortattribute.into_param().abi(), fsortascending.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByAttributeAndMediaType(&self, bstrattribute: P0, bstrvalue: P1, bstrmediatype: P2) -> ::windows_core::Result @@ -5147,7 +5147,7 @@ impl IWMPMediaCollection2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByAttributeAndMediaType)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByAttributeAndMediaType)(::windows_core::Interface::as_raw(self), bstrattribute.into_param().abi(), bstrvalue.into_param().abi(), bstrmediatype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5562,17 +5562,17 @@ impl IWMPPlayer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -5584,12 +5584,12 @@ impl IWMPPlayer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -5603,12 +5603,12 @@ impl IWMPPlayer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -5620,12 +5620,12 @@ impl IWMPPlayer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -5633,7 +5633,7 @@ impl IWMPPlayer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -5716,17 +5716,17 @@ impl IWMPPlayer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -5738,12 +5738,12 @@ impl IWMPPlayer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -5757,12 +5757,12 @@ impl IWMPPlayer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -5774,12 +5774,12 @@ impl IWMPPlayer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -5787,7 +5787,7 @@ impl IWMPPlayer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -5892,17 +5892,17 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -5914,12 +5914,12 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -5933,12 +5933,12 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -5950,12 +5950,12 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -5963,7 +5963,7 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -5971,7 +5971,7 @@ impl IWMPPlayer3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn dvd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).enabled)(::windows_core::Interface::as_raw(self), pbenabled).ok() @@ -6073,17 +6073,17 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn controls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.controls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.currentMedia)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentMedia(&self, pmedia: P0) -> ::windows_core::Result<()> @@ -6095,12 +6095,12 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn mediaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.mediaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn playlistCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.playlistCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn versionInfo(&self, pbstrversioninfo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.versionInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrversioninfo)).ok() @@ -6114,12 +6114,12 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn network(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.network)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn currentPlaylist(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.currentPlaylist)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetcurrentPlaylist(&self, ppl: P0) -> ::windows_core::Result<()> @@ -6131,12 +6131,12 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn cdromCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.cdromCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn closedCaption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.closedCaption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.isOnline)(::windows_core::Interface::as_raw(self), pfonline).ok() @@ -6144,7 +6144,7 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn error(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn status(&self, pbstrstatus: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.status)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrstatus)).ok() @@ -6152,7 +6152,7 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn dvd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.dvd)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn newPlaylist(&self, bstrname: P0, bstrurl: P1) -> ::windows_core::Result @@ -6161,7 +6161,7 @@ impl IWMPPlayer4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn newMedia(&self, bstrurl: P0) -> ::windows_core::Result @@ -6169,7 +6169,7 @@ impl IWMPPlayer4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.newMedia)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.newMedia)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).enabled)(::windows_core::Interface::as_raw(self), pbenabled).ok() @@ -6231,7 +6231,7 @@ impl IWMPPlayer4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn playerApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).playerApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).playerApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn openPlayer(&self, bstrurl: P0) -> ::windows_core::Result<()> where @@ -6388,7 +6388,7 @@ impl IWMPPlaylist { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getItemInfo(&self, bstrname: P0, pbstrval: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> where @@ -6485,7 +6485,7 @@ impl IWMPPlaylistArray { #[cfg(feature = "Win32_System_Com")] pub unsafe fn item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6511,12 +6511,12 @@ impl IWMPPlaylistCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).newPlaylist)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getAll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAll)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn getByName(&self, bstrname: P0) -> ::windows_core::Result @@ -6524,7 +6524,7 @@ impl IWMPPlaylistCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn remove(&self, pitem: P0) -> ::windows_core::Result<()> @@ -6554,7 +6554,7 @@ impl IWMPPlaylistCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).importPlaylist)(::windows_core::Interface::as_raw(self), pitem.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).importPlaylist)(::windows_core::Interface::as_raw(self), pitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7538,7 +7538,7 @@ impl IWMPSyncServices { } pub unsafe fn getDevice(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDevice)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDevice)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7617,11 +7617,11 @@ impl IXFeed { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Xml(&self, uiitemcount: u32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), uiitemcount, sortproperty, sortorder, filterflags, includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), uiitemcount, sortproperty, sortorder, filterflags, includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Rename(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -7631,7 +7631,7 @@ impl IXFeed { } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUrl(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -7641,11 +7641,11 @@ impl IXFeed { } pub unsafe fn LocalId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Move(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -7658,11 +7658,11 @@ impl IXFeed { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -7678,50 +7678,50 @@ impl IXFeed { } pub unsafe fn SyncSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncSetting(&self, fss: FEEDS_SYNC_SETTING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncSetting)(::windows_core::Interface::as_raw(self), fss).ok() } pub unsafe fn Interval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterval(&self, uiinterval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterval)(::windows_core::Interface::as_raw(self), uiinterval).ok() } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalEnclosurePath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItem(&self, uiid: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), uiid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), uiid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarkAllItemsRead(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MarkAllItemsRead)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn MaxItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxItemCount(&self, uimaxitemcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxItemCount)(::windows_core::Interface::as_raw(self), uimaxitemcount).ok() } pub unsafe fn DownloadEnclosuresAutomatically(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDownloadEnclosuresAutomatically(&self, bdownloadenclosuresautomatically: P0) -> ::windows_core::Result<()> where @@ -7731,11 +7731,11 @@ impl IXFeed { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Merge(&self, pstream: P0, pszurl: P1) -> ::windows_core::Result<()> @@ -7747,62 +7747,62 @@ impl IXFeed { } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Image(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastBuildDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Ttl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ttl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ttl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Language(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Language)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Copyright(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copyright)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copyright)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7866,11 +7866,11 @@ impl IXFeed2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Xml(&self, uiitemcount: u32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), uiitemcount, sortproperty, sortorder, filterflags, includeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), uiitemcount, sortproperty, sortorder, filterflags, includeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Rename(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -7880,7 +7880,7 @@ impl IXFeed2 { } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Url)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUrl(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -7890,11 +7890,11 @@ impl IXFeed2 { } pub unsafe fn LocalId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Move(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -7907,11 +7907,11 @@ impl IXFeed2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastWriteTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWriteTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -7927,50 +7927,50 @@ impl IXFeed2 { } pub unsafe fn SyncSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SyncSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncSetting(&self, fss: FEEDS_SYNC_SETTING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSyncSetting)(::windows_core::Interface::as_raw(self), fss).ok() } pub unsafe fn Interval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Interval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Interval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterval(&self, uiinterval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetInterval)(::windows_core::Interface::as_raw(self), uiinterval).ok() } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalEnclosurePath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalEnclosurePath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItem(&self, uiid: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), uiid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), uiid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarkAllItemsRead(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.MarkAllItemsRead)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn MaxItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxItemCount(&self, uimaxitemcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxItemCount)(::windows_core::Interface::as_raw(self), uimaxitemcount).ok() } pub unsafe fn DownloadEnclosuresAutomatically(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadEnclosuresAutomatically)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDownloadEnclosuresAutomatically(&self, bdownloadenclosuresautomatically: P0) -> ::windows_core::Result<()> where @@ -7980,11 +7980,11 @@ impl IXFeed2 { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Merge(&self, pstream: P0, pszurl: P1) -> ::windows_core::Result<()> @@ -7996,81 +7996,81 @@ impl IXFeed2 { } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Image(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastBuildDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastBuildDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Ttl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Ttl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Ttl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Language(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Language)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Language)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Copyright(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Copyright)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Copyright)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemByEffectiveId(&self, uieffectiveid: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItemByEffectiveId)(::windows_core::Interface::as_raw(self), uieffectiveid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemByEffectiveId)(::windows_core::Interface::as_raw(self), uieffectiveid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastItemDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastItemDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastItemDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Username(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Password(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentials(&self, pszusername: P0, pszpassword: P1) -> ::windows_core::Result<()> where @@ -8099,15 +8099,15 @@ pub struct IXFeed2_Vtbl { impl IXFeedEnclosure { pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AsyncDownload(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AsyncDownload)(::windows_core::Interface::as_raw(self)).ok() @@ -8117,30 +8117,30 @@ impl IXFeedEnclosure { } pub unsafe fn DownloadStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Parent(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DownloadMimeType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadMimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadMimeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveFile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveFile)(::windows_core::Interface::as_raw(self)).ok() @@ -8242,11 +8242,11 @@ pub struct IXFeedEvents_Vtbl { impl IXFeedFolder { pub unsafe fn Feeds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Feeds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Feeds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Subfolders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subfolders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subfolders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFeed(&self, pszname: P0, pszurl: P1) -> ::windows_core::Result where @@ -8255,7 +8255,7 @@ impl IXFeedFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFeed)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), pszurl.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFeed)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), pszurl.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSubfolder(&self, pszname: P0) -> ::windows_core::Result where @@ -8263,7 +8263,7 @@ impl IXFeedFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateSubfolder)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSubfolder)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExistsFeed(&self, pszname: P0, pbfeedexists: *const super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -8283,7 +8283,7 @@ impl IXFeedFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSubfolder(&self, pszname: P0) -> ::windows_core::Result where @@ -8291,14 +8291,14 @@ impl IXFeedFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSubfolder)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubfolder)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Rename(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -8308,7 +8308,7 @@ impl IXFeedFolder { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Move(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -8321,26 +8321,26 @@ impl IXFeedFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRoot)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWatcher)(::windows_core::Interface::as_raw(self), scope, mask, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TotalUnreadItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalUnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalUnreadItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8496,46 +8496,46 @@ impl IXFeedItem { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Xml(&self, fxif: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), fxif, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), fxif, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Link)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Comments(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Comments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Comments)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enclosure(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Enclosure)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enclosure)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRead(&self, bisread: P0) -> ::windows_core::Result<()> where @@ -8545,29 +8545,29 @@ impl IXFeedItem { } pub unsafe fn LocalId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Parent(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8601,46 +8601,46 @@ impl IXFeedItem2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Xml(&self, fxif: FEEDS_XML_INCLUDE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), fxif, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), fxif, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Link(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Link)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Guid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PubDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PubDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Comments(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Comments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Comments)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Author)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enclosure(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.Enclosure)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enclosure)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRead(&self, bisread: P0) -> ::windows_core::Result<()> where @@ -8650,33 +8650,33 @@ impl IXFeedItem2 { } pub unsafe fn LocalId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Parent(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EffectiveId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EffectiveId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EffectiveId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -8690,14 +8690,14 @@ pub struct IXFeedItem2_Vtbl { impl IXFeedsEnum { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Item(&self, uiindex: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8715,21 +8715,21 @@ impl IXFeedsManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RootFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSubscribed(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ExistsFeed(&self, pszpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsFeed)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFeed(&self, pszpath: P0) -> ::windows_core::Result where @@ -8737,7 +8737,7 @@ impl IXFeedsManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeed)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFeedByUrl(&self, pszurl: P0) -> ::windows_core::Result where @@ -8745,14 +8745,14 @@ impl IXFeedsManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFeedByUrl)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFeedByUrl)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExistsFolder(&self, pszpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistsFolder)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistsFolder)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFolder(&self, pszpath: P0) -> ::windows_core::Result where @@ -8760,7 +8760,7 @@ impl IXFeedsManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteFeed(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -8779,11 +8779,11 @@ impl IXFeedsManager { } pub unsafe fn BackgroundSyncStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackgroundSyncStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackgroundSyncStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultInterval(&self, uiinterval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultInterval)(::windows_core::Interface::as_raw(self), uiinterval).ok() @@ -8797,11 +8797,11 @@ impl IXFeedsManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Normalize)(::windows_core::Interface::as_raw(self), pstreamin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Normalize)(::windows_core::Interface::as_raw(self), pstreamin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ItemCountLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCountLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCountLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Media/Multimedia/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Multimedia/mod.rs index a7c6458e77..881cb6153a 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Multimedia/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Multimedia/mod.rs @@ -129,7 +129,7 @@ where pub unsafe fn AVIGetFromClipboard() -> ::windows_core::Result { ::windows_targets::link!("avifil32.dll" "system" fn AVIGetFromClipboard(lppf : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AVIGetFromClipboard(&mut result__).from_abi(result__) + AVIGetFromClipboard(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn AVIMakeCompressedStream(ppscompressed: *mut ::core::option::Option, ppssource: P0, lpoptions: *const AVICOMPRESSOPTIONS, pclsidhandler: ::core::option::Option<*const ::windows_core::GUID>) -> ::windows_core::Result<()> @@ -151,7 +151,7 @@ where { ::windows_targets::link!("avifil32.dll" "system" fn AVIMakeStreamFromClipboard(cfformat : u32, hglobal : super::super::Foundation:: HANDLE, ppstream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AVIMakeStreamFromClipboard(cfformat, hglobal.into_param().abi(), &mut result__).from_abi(result__) + AVIMakeStreamFromClipboard(cfformat, hglobal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn AVIPutFileOnClipboard(pf: P0) -> ::windows_core::Result<()> @@ -532,7 +532,7 @@ where { ::windows_targets::link!("avifil32.dll" "system" fn EditStreamClone(pavi : * mut::core::ffi::c_void, ppresult : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - EditStreamClone(pavi.into_param().abi(), &mut result__).from_abi(result__) + EditStreamClone(pavi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn EditStreamCopy(pavi: P0, plstart: *mut i32, pllength: *mut i32, ppresult: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1252,7 +1252,7 @@ impl IAVIEditStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInfo(&self, lpinfo: *const AVISTREAMINFOW, cbinfo: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInfo)(::windows_core::Interface::as_raw(self), lpinfo, cbinfo).ok() @@ -1314,7 +1314,7 @@ impl IAVIPersistFile { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { @@ -1345,7 +1345,7 @@ impl IAVIPersistFile { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCurFile(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurFile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reserved1(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reserved1)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Media/PictureAcquisition/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/PictureAcquisition/mod.rs index c71bc0bf77..a3e79daf35 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/PictureAcquisition/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/PictureAcquisition/mod.rs @@ -6,7 +6,7 @@ impl IPhotoAcquire { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePhotoSource)(::windows_core::Interface::as_raw(self), pszdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePhotoSource)(::windows_core::Interface::as_raw(self), pszdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Acquire(&self, pphotoacquiresource: P0, fshowprogress: P1, hwndparent: P2, pszapplicationname: P3, pphotoacquireprogresscb: P4) -> ::windows_core::Result<()> where @@ -21,7 +21,7 @@ impl IPhotoAcquire { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumResults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumResults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumResults)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -70,17 +70,17 @@ pub struct IPhotoAcquireDeviceSelectionDialog_Vtbl { impl IPhotoAcquireItem { pub unsafe fn GetItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetThumbnail(&self, sizethumbnail: super::super::Foundation::SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sizethumbnail), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnail)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sizethumbnail), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperty(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetProperty(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pv: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { @@ -89,22 +89,22 @@ impl IPhotoAcquireItem { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanDelete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanDelete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanDelete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetSubItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubItemAt(&self, nitemindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubItemAt)(::windows_core::Interface::as_raw(self), nitemindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubItemAt)(::windows_core::Interface::as_raw(self), nitemindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -147,7 +147,7 @@ impl IPhotoAcquireOptionsDialog { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Destroy(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Destroy)(::windows_core::Interface::as_raw(self)).ok() @@ -219,7 +219,7 @@ pub struct IPhotoAcquirePlugin_Vtbl { impl IPhotoAcquireProgressCB { pub unsafe fn Cancelled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cancelled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cancelled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartEnumeration(&self, pphotoacquiresource: P0) -> ::windows_core::Result<()> where @@ -298,14 +298,14 @@ impl IPhotoAcquireProgressCB { } pub unsafe fn GetDeleteAfterAcquire(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeleteAfterAcquire)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeleteAfterAcquire)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ErrorAdvise(&self, hr: ::windows_core::HRESULT, pszerrormessage: P0, nmessagetype: ERROR_ADVISE_MESSAGE_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorAdvise)(::windows_core::Interface::as_raw(self), hr, pszerrormessage.into_param().abi(), nmessagetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorAdvise)(::windows_core::Interface::as_raw(self), hr, pszerrormessage.into_param().abi(), nmessagetype, &mut result__).map(|| result__) } pub unsafe fn GetUserInput(&self, riidtype: *const ::windows_core::GUID, punknown: P0, ppropvarresult: *mut ::windows_core::PROPVARIANT, ppropvardefault: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> where @@ -376,27 +376,27 @@ impl IPhotoAcquireSettings { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputFilenameTemplate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFilenameTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFilenameTemplate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSequencePaddingWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSequencePaddingWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSequencePaddingWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSequenceZeroPadding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSequenceZeroPadding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSequenceZeroPadding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupTag(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupTag)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAcquisitionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAcquisitionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAcquisitionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -422,7 +422,7 @@ pub struct IPhotoAcquireSettings_Vtbl { impl IPhotoAcquireSource { pub unsafe fn GetFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetDeviceIcons(&self, nsize: u32, phlargeicon: ::core::option::Option<*mut super::super::UI::WindowsAndMessaging::HICON>, phsmallicon: ::core::option::Option<*mut super::super::UI::WindowsAndMessaging::HICON>) -> ::windows_core::Result<()> { @@ -437,19 +437,19 @@ impl IPhotoAcquireSource { } pub unsafe fn GetItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemAt(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemAt)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemAt)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPhotoAcquireSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPhotoAcquireSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPhotoAcquireSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BindToObject(&self, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), riid, ppv).ok() @@ -498,7 +498,7 @@ impl IPhotoProgressDialog { } pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Destroy(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Destroy)(::windows_core::Interface::as_raw(self)).ok() @@ -535,7 +535,7 @@ impl IPhotoProgressDialog { } pub unsafe fn IsCheckboxChecked(&self, ncheckboxid: PROGRESS_DIALOG_CHECKBOX_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCheckboxChecked)(::windows_core::Interface::as_raw(self), ncheckboxid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCheckboxChecked)(::windows_core::Interface::as_raw(self), ncheckboxid, &mut result__).map(|| result__) } pub unsafe fn SetCaption(&self, psztitle: P0) -> ::windows_core::Result<()> where @@ -580,7 +580,7 @@ impl IPhotoProgressDialog { } pub unsafe fn IsCancelled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCancelled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCancelled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserInput(&self, riidtype: *const ::windows_core::GUID, punknown: P0, ppropvarresult: *mut ::windows_core::PROPVARIANT, ppropvardefault: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> where @@ -620,39 +620,39 @@ pub struct IPhotoProgressDialog_Vtbl { impl IUserInputString { pub unsafe fn GetSubmitButtonText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubmitButtonText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubmitButtonText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrompt(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrompt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrompt)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStringId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStringType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTooltipText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTooltipText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTooltipText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefault(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefault)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMruCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMruCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMruCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMruEntryAt(&self, nindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMruEntryAt)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMruEntryAt)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_UI_WindowsAndMessaging"))] pub unsafe fn GetImage(&self, nsize: u32, phbitmap: ::core::option::Option<*mut super::super::Graphics::Gdi::HBITMAP>, phicon: ::core::option::Option<*mut super::super::UI::WindowsAndMessaging::HICON>) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Media/Speech/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/Speech/mod.rs index 4fb2080d29..3ce9c7f01c 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/Speech/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/Speech/mod.rs @@ -12,11 +12,11 @@ impl IEnumSpObjectTokens { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Item(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self, pcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), pcount).ok() @@ -85,12 +85,12 @@ impl ISpAudio { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut super::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).map(|| result__) } pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), newstate, ullreserved).ok() @@ -189,7 +189,7 @@ impl ISpCFGInterpreterSite { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceValue)(::windows_core::Interface::as_raw(self), pszresourcename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceValue)(::windows_core::Interface::as_raw(self), pszresourcename.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -270,7 +270,7 @@ impl ISpDataKey { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDWORD(&self, pszvaluename: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -289,14 +289,14 @@ impl ISpDataKey { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateKey(&self, pszsubkey: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, pszsubkey: P0) -> ::windows_core::Result<()> where @@ -312,11 +312,11 @@ impl ISpDataKey { } pub unsafe fn EnumKeys(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumValues(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } } #[repr(C)] @@ -838,12 +838,12 @@ impl ISpMMSysAudio { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut super::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).map(|| result__) } pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetState)(::windows_core::Interface::as_raw(self), newstate, ullreserved).ok() @@ -1070,7 +1070,7 @@ impl ISpObjectToken { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDWORD(&self, pszvaluename: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -1089,14 +1089,14 @@ impl ISpObjectToken { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateKey(&self, pszsubkey: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, pszsubkey: P0) -> ::windows_core::Result<()> where @@ -1112,11 +1112,11 @@ impl ISpObjectToken { } pub unsafe fn EnumKeys(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumValues(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn SetId(&self, pszcategoryid: P0, psztokenid: P1, fcreateifnotexist: P2) -> ::windows_core::Result<()> where @@ -1128,11 +1128,11 @@ impl ISpObjectToken { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstance(&self, punkouter: P0, dwclscontext: u32, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -1146,7 +1146,7 @@ impl ISpObjectToken { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorageFileName)(::windows_core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorageFileName)(::windows_core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).map(|| result__) } pub unsafe fn RemoveStorageFileName(&self, clsidcaller: *const ::windows_core::GUID, pszkeyname: P0, fdeletefile: P1) -> ::windows_core::Result<()> where @@ -1223,7 +1223,7 @@ impl ISpObjectTokenCategory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDWORD(&self, pszvaluename: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -1242,14 +1242,14 @@ impl ISpObjectTokenCategory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateKey(&self, pszsubkey: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, pszsubkey: P0) -> ::windows_core::Result<()> where @@ -1265,11 +1265,11 @@ impl ISpObjectTokenCategory { } pub unsafe fn EnumKeys(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumValues(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn SetId(&self, pszcategoryid: P0, fcreateifnotexist: P1) -> ::windows_core::Result<()> where @@ -1280,11 +1280,11 @@ impl ISpObjectTokenCategory { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataKey(&self, spdkl: SPDATAKEYLOCATION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataKey)(::windows_core::Interface::as_raw(self), spdkl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataKey)(::windows_core::Interface::as_raw(self), spdkl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumTokens(&self, pzsreqattribs: P0, pszoptattribs: P1) -> ::windows_core::Result where @@ -1292,7 +1292,7 @@ impl ISpObjectTokenCategory { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTokens)(::windows_core::Interface::as_raw(self), pzsreqattribs.into_param().abi(), pszoptattribs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTokens)(::windows_core::Interface::as_raw(self), pzsreqattribs.into_param().abi(), pszoptattribs.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultTokenId(&self, psztokenid: P0) -> ::windows_core::Result<()> where @@ -1302,7 +1302,7 @@ impl ISpObjectTokenCategory { } pub unsafe fn GetDefaultTokenId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultTokenId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultTokenId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1330,11 +1330,11 @@ impl ISpObjectTokenEnumBuilder { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Item(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self, pcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), pcount).ok() @@ -1407,7 +1407,7 @@ impl ISpObjectTokenInit { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDWORD(&self, pszvaluename: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -1426,14 +1426,14 @@ impl ISpObjectTokenInit { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateKey(&self, pszsubkey: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, pszsubkey: P0) -> ::windows_core::Result<()> where @@ -1449,11 +1449,11 @@ impl ISpObjectTokenInit { } pub unsafe fn EnumKeys(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumValues(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn SetId(&self, pszcategoryid: P0, psztokenid: P1, fcreateifnotexist: P2) -> ::windows_core::Result<()> where @@ -1465,11 +1465,11 @@ impl ISpObjectTokenInit { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstance(&self, punkouter: P0, dwclscontext: u32, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -1483,7 +1483,7 @@ impl ISpObjectTokenInit { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStorageFileName)(::windows_core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStorageFileName)(::windows_core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).map(|| result__) } pub unsafe fn RemoveStorageFileName(&self, clsidcaller: *const ::windows_core::GUID, pszkeyname: P0, fdeletefile: P1) -> ::windows_core::Result<()> where @@ -1543,7 +1543,7 @@ impl ISpObjectWithToken { } pub unsafe fn GetObjectToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1564,14 +1564,14 @@ impl ISpPhoneConverter { } pub unsafe fn GetObjectToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PhoneToId(&self, pszphone: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhoneToId)(::windows_core::Interface::as_raw(self), pszphone.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhoneToId)(::windows_core::Interface::as_raw(self), pszphone.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IdToPhone(&self, pid: *const u16, pszphone: ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IdToPhone)(::windows_core::Interface::as_raw(self), pid, ::core::mem::transmute(pszphone)).ok() @@ -1589,7 +1589,7 @@ pub struct ISpPhoneConverter_Vtbl { impl ISpPhoneticAlphabetConverter { pub unsafe fn GetLangId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLangId(&self, langid: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLangId)(::windows_core::Interface::as_raw(self), langid).ok() @@ -1605,7 +1605,7 @@ impl ISpPhoneticAlphabetConverter { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxConvertLength)(::windows_core::Interface::as_raw(self), csrclength, bsapi2ups.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxConvertLength)(::windows_core::Interface::as_raw(self), csrclength, bsapi2ups.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1623,7 +1623,7 @@ pub struct ISpPhoneticAlphabetConverter_Vtbl { impl ISpPhoneticAlphabetSelection { pub unsafe fn IsAlphabetUPS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAlphabetUPS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAlphabetUPS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlphabetToUPS(&self, fforceups: P0) -> ::windows_core::Result<()> where @@ -1644,11 +1644,11 @@ pub struct ISpPhoneticAlphabetSelection_Vtbl { impl ISpPhrase { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -1674,11 +1674,11 @@ pub struct ISpPhrase_Vtbl { impl ISpPhrase2 { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -1698,7 +1698,7 @@ impl ISpPhrase2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1717,11 +1717,11 @@ pub struct ISpPhrase2_Vtbl { impl ISpPhraseAlt { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -1751,11 +1751,11 @@ pub struct ISpPhraseAlt_Vtbl { impl ISpPhraseBuilder { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -1780,14 +1780,14 @@ impl ISpPhraseBuilder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddRules)(::windows_core::Interface::as_raw(self), hparent.into_param().abi(), prule, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddRules)(::windows_core::Interface::as_raw(self), hparent.into_param().abi(), prule, &mut result__).map(|| result__) } pub unsafe fn AddProperties(&self, hparent: P0, pproperty: *const SPPHRASEPROPERTY) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddProperties)(::windows_core::Interface::as_raw(self), hparent.into_param().abi(), pproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddProperties)(::windows_core::Interface::as_raw(self), hparent.into_param().abi(), pproperty, &mut result__).map(|| result__) } pub unsafe fn AddReplacements(&self, creplacements: u32, preplacements: *const SPPHRASEREPLACEMENT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddReplacements)(::windows_core::Interface::as_raw(self), creplacements, preplacements).ok() @@ -1848,7 +1848,7 @@ impl ISpProperties { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyString)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyString)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1912,11 +1912,11 @@ impl ISpRecoContext { } pub unsafe fn GetRecognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGrammar(&self, ullgrammarid: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGrammar)(::windows_core::Interface::as_raw(self), ullgrammarid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGrammar)(::windows_core::Interface::as_raw(self), ullgrammarid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), pstatus).ok() @@ -1937,7 +1937,7 @@ impl ISpRecoContext { } pub unsafe fn DeserializeResult(&self, pserializedresult: *const SPSERIALIZEDRESULT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeserializeResult)(::windows_core::Interface::as_raw(self), pserializedresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeserializeResult)(::windows_core::Interface::as_raw(self), pserializedresult, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bookmark(&self, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: P0) -> ::windows_core::Result<()> where @@ -1966,7 +1966,7 @@ impl ISpRecoContext { } pub unsafe fn GetVoice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVoice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVoice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVoicePurgeEvent(&self, ulleventinterest: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVoicePurgeEvent)(::windows_core::Interface::as_raw(self), ulleventinterest).ok() @@ -2093,7 +2093,7 @@ impl ISpRecoGrammar { } pub unsafe fn GetRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadCmdFromFile(&self, pszfilename: P0, options: SPLOADOPTIONS) -> ::windows_core::Result<()> where @@ -2272,11 +2272,11 @@ pub struct ISpRecoGrammar2_Vtbl { impl ISpRecoResult { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -2296,7 +2296,7 @@ impl ISpRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SpeakAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok() @@ -2310,7 +2310,7 @@ impl ISpRecoResult { } pub unsafe fn GetRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2336,11 +2336,11 @@ pub struct ISpRecoResult_Vtbl { impl ISpRecoResult2 { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -2360,7 +2360,7 @@ impl ISpRecoResult2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok() @@ -2374,14 +2374,14 @@ impl ISpRecoResult2 { } pub unsafe fn GetRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommitAlternate(&self, pphrasealt: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitAlternate)(::windows_core::Interface::as_raw(self), pphrasealt.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitAlternate)(::windows_core::Interface::as_raw(self), pphrasealt.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommitText(&self, ulstartelement: u32, celements: u32, pszcorrecteddata: P0, ecommitflags: u32) -> ::windows_core::Result<()> where @@ -2432,7 +2432,7 @@ impl ISpRecognizer { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyString)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyString)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetRecognizer(&self, precognizer: P0) -> ::windows_core::Result<()> where @@ -2442,7 +2442,7 @@ impl ISpRecognizer { } pub unsafe fn GetRecognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInput(&self, punkinput: P0, fallowformatchanges: P1) -> ::windows_core::Result<()> where @@ -2453,20 +2453,20 @@ impl ISpRecognizer { } pub unsafe fn GetInputObjectToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInputStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecoProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecoProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecoProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRecoProfile(&self, ptoken: P0) -> ::windows_core::Result<()> where @@ -2593,7 +2593,7 @@ impl ISpRegDataKey { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDWORD(&self, pszvaluename: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -2612,14 +2612,14 @@ impl ISpRegDataKey { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateKey(&self, pszsubkey: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateKey)(::windows_core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, pszsubkey: P0) -> ::windows_core::Result<()> where @@ -2635,11 +2635,11 @@ impl ISpRegDataKey { } pub unsafe fn EnumKeys(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn EnumValues(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] pub unsafe fn SetKey(&self, hkey: P0, freadonly: P1) -> ::windows_core::Result<()> @@ -2671,7 +2671,7 @@ impl ISpResourceManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetObject(&self, guidserviceid: *const ::windows_core::GUID, punkobject: P0) -> ::windows_core::Result<()> where @@ -2787,7 +2787,7 @@ impl ISpSREngine { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetProprietaryRuleState)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszname.into_param().abi(), preserved, newstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetProprietaryRuleState)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszname.into_param().abi(), preserved, newstate, &mut result__).map(|| result__) } pub unsafe fn SetProprietaryRuleIdState(&self, pvenginegrammar: *const ::core::ffi::c_void, dwruleid: u32, newstate: SPRULESTATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProprietaryRuleIdState)(::windows_core::Interface::as_raw(self), pvenginegrammar, dwruleid, newstate).ok() @@ -2815,7 +2815,7 @@ impl ISpSREngine { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPronounceable)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszword.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPronounceable)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszword.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnCreateRecoContext(&self, hsapirecocontext: P0, ppvenginecontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -2843,7 +2843,7 @@ impl ISpSREngine { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyNum)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyNum)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetPropertyString(&self, esrc: SPPROPSRC, pvsrcobj: *const ::core::ffi::c_void, pname: P0, pvalue: P1) -> ::windows_core::Result<()> where @@ -2857,7 +2857,7 @@ impl ISpSREngine { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyString)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyString)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetGrammarState(&self, pvenginegrammar: *const ::core::ffi::c_void, egrammarstate: SPGRAMMARSTATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGrammarState)(::windows_core::Interface::as_raw(self), pvenginegrammar, egrammarstate).ok() @@ -2969,7 +2969,7 @@ impl ISpSREngine2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetProprietaryRuleState)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszname.into_param().abi(), preserved, newstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetProprietaryRuleState)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszname.into_param().abi(), preserved, newstate, &mut result__).map(|| result__) } pub unsafe fn SetProprietaryRuleIdState(&self, pvenginegrammar: *const ::core::ffi::c_void, dwruleid: u32, newstate: SPRULESTATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProprietaryRuleIdState)(::windows_core::Interface::as_raw(self), pvenginegrammar, dwruleid, newstate).ok() @@ -2997,7 +2997,7 @@ impl ISpSREngine2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsPronounceable)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszword.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsPronounceable)(::windows_core::Interface::as_raw(self), pvenginegrammar, pszword.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnCreateRecoContext(&self, hsapirecocontext: P0, ppvenginecontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -3025,7 +3025,7 @@ impl ISpSREngine2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyNum)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyNum)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetPropertyString(&self, esrc: SPPROPSRC, pvsrcobj: *const ::core::ffi::c_void, pname: P0, pvalue: P1) -> ::windows_core::Result<()> where @@ -3039,7 +3039,7 @@ impl ISpSREngine2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyString)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyString)(::windows_core::Interface::as_raw(self), esrc, pvsrcobj, pname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetGrammarState(&self, pvenginegrammar: *const ::core::ffi::c_void, egrammarstate: SPGRAMMARSTATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGrammarState)(::windows_core::Interface::as_raw(self), pvenginegrammar, egrammarstate).ok() @@ -3131,18 +3131,18 @@ pub struct ISpSREngine2_Vtbl { impl ISpSREngineSite { pub unsafe fn Read(&self, pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).map(|| result__) } pub unsafe fn DataAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferNotifySize)(::windows_core::Interface::as_raw(self), cbsize).ok() } pub unsafe fn ParseFromTransitions(&self, pparseinfo: *const SPPARSEINFO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseFromTransitions)(::windows_core::Interface::as_raw(self), pparseinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseFromTransitions)(::windows_core::Interface::as_raw(self), pparseinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Recognition(&self, presultinfo: *const SPRECORESULTINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Recognition)(::windows_core::Interface::as_raw(self), presultinfo).ok() @@ -3186,14 +3186,14 @@ impl ISpSREngineSite { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), pszresourcename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), pszresourcename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTransitionProperty(&self, id: P0) -> ::windows_core::Result<*mut SPTRANSITIONPROPERTY> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransitionProperty)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransitionProperty)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsAlternate(&self, hrule: P0, haltrule: P1) -> ::windows_core::Result<()> where @@ -3207,14 +3207,14 @@ impl ISpSREngineSite { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxAlternates)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxAlternates)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetContextMaxAlternates(&self, hcontext: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextMaxAlternates)(::windows_core::Interface::as_raw(self), hcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextMaxAlternates)(::windows_core::Interface::as_raw(self), hcontext.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UpdateRecoPos(&self, ullcurrentrecopos: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateRecoPos)(::windows_core::Interface::as_raw(self), ullcurrentrecopos).ok() @@ -3248,18 +3248,18 @@ pub struct ISpSREngineSite_Vtbl { impl ISpSREngineSite2 { pub unsafe fn Read(&self, pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).map(|| result__) } pub unsafe fn DataAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBufferNotifySize)(::windows_core::Interface::as_raw(self), cbsize).ok() } pub unsafe fn ParseFromTransitions(&self, pparseinfo: *const SPPARSEINFO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParseFromTransitions)(::windows_core::Interface::as_raw(self), pparseinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParseFromTransitions)(::windows_core::Interface::as_raw(self), pparseinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Recognition(&self, presultinfo: *const SPRECORESULTINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Recognition)(::windows_core::Interface::as_raw(self), presultinfo).ok() @@ -3303,14 +3303,14 @@ impl ISpSREngineSite2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), pszresourcename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResource)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), pszresourcename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTransitionProperty(&self, id: P0) -> ::windows_core::Result<*mut SPTRANSITIONPROPERTY> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransitionProperty)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransitionProperty)(::windows_core::Interface::as_raw(self), id.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsAlternate(&self, hrule: P0, haltrule: P1) -> ::windows_core::Result<()> where @@ -3324,14 +3324,14 @@ impl ISpSREngineSite2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxAlternates)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxAlternates)(::windows_core::Interface::as_raw(self), hrule.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetContextMaxAlternates(&self, hcontext: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContextMaxAlternates)(::windows_core::Interface::as_raw(self), hcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContextMaxAlternates)(::windows_core::Interface::as_raw(self), hcontext.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UpdateRecoPos(&self, ullcurrentrecopos: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UpdateRecoPos)(::windows_core::Interface::as_raw(self), ullcurrentrecopos).ok() @@ -3400,7 +3400,7 @@ impl ISpShortcut { } pub unsafe fn GetGeneration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeneration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeneration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWordsFromGenerationChange(&self, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetWordsFromGenerationChange)(::windows_core::Interface::as_raw(self), pdwgeneration, pwordlist).ok() @@ -3480,12 +3480,12 @@ impl ISpStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut super::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Media_Audio", feature = "Win32_System_Com"))] pub unsafe fn SetBaseStream(&self, pstream: P0, rguidformat: *const ::windows_core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows_core::Result<()> @@ -3497,7 +3497,7 @@ impl ISpStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBaseStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBaseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBaseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn BindToFile(&self, pszfilename: P0, emode: SPFILEMODE, pformatid: ::core::option::Option<*const ::windows_core::GUID>, pwaveformatex: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, ulleventinterest: u64) -> ::windows_core::Result<()> @@ -3581,12 +3581,12 @@ impl ISpStreamFormat { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut super::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3651,12 +3651,12 @@ impl ISpStreamFormatConverter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut super::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), pguidformatid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBaseStream(&self, pstream: P0, fsetformattobasestreamformat: P1, fwritetobasestream: P2) -> ::windows_core::Result<()> @@ -3670,7 +3670,7 @@ impl ISpStreamFormatConverter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBaseStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBaseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBaseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn SetFormat(&self, rguidformatidofconvertedstream: *const ::windows_core::GUID, pwaveformatexofconvertedstream: *const super::Audio::WAVEFORMATEX) -> ::windows_core::Result<()> { @@ -3681,11 +3681,11 @@ impl ISpStreamFormatConverter { } pub unsafe fn ScaleConvertedToBaseOffset(&self, ulloffsetconvertedstream: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScaleConvertedToBaseOffset)(::windows_core::Interface::as_raw(self), ulloffsetconvertedstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScaleConvertedToBaseOffset)(::windows_core::Interface::as_raw(self), ulloffsetconvertedstream, &mut result__).map(|| result__) } pub unsafe fn ScaleBaseToConvertedOffset(&self, ulloffsetbasestream: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScaleBaseToConvertedOffset)(::windows_core::Interface::as_raw(self), ulloffsetbasestream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScaleBaseToConvertedOffset)(::windows_core::Interface::as_raw(self), ulloffsetbasestream, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3751,15 +3751,15 @@ impl ISpTTSEngineSite { } pub unsafe fn Write(&self, pbuff: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), pbuff, cb, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), pbuff, cb, &mut result__).map(|| result__) } pub unsafe fn GetRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSkipInfo(&self, petype: *mut SPVSKIPTYPE, plnumitems: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSkipInfo)(::windows_core::Interface::as_raw(self), petype, plnumitems).ok() @@ -3798,7 +3798,7 @@ impl ISpTaskManager { } pub unsafe fn GetThreadPoolInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadPoolInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadPoolInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueueTask(&self, ptask: P0, pvtaskdata: *const ::core::ffi::c_void, hcompevent: P1, pdwgroupid: *mut u32, ptaskid: *mut u32) -> ::windows_core::Result<()> where @@ -3813,14 +3813,14 @@ impl ISpTaskManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReoccurringTask)(::windows_core::Interface::as_raw(self), ptask.into_param().abi(), pvtaskdata, hcompevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReoccurringTask)(::windows_core::Interface::as_raw(self), ptask.into_param().abi(), pvtaskdata, hcompevent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateThreadControl(&self, ptask: P0, pvtaskdata: *const ::core::ffi::c_void, npriority: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateThreadControl)(::windows_core::Interface::as_raw(self), ptask.into_param().abi(), pvtaskdata, npriority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateThreadControl)(::windows_core::Interface::as_raw(self), ptask.into_param().abi(), pvtaskdata, npriority, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TerminateTask(&self, dwtaskid: u32, ulwaitperiod: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TerminateTask)(::windows_core::Interface::as_raw(self), dwtaskid, ulwaitperiod).ok() @@ -3849,7 +3849,7 @@ impl ISpThreadControl { } pub unsafe fn StartThread(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartThread)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartThread)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn WaitForThreadDone(&self, fforcestop: P0, phrthreadresult: *mut ::windows_core::HRESULT, mstimeout: u32) -> ::windows_core::Result<()> where @@ -3934,7 +3934,7 @@ impl ISpTokenUI { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayUI(&self, hwndparent: P0, psztitle: P1, psztypeofui: P2, pvextradata: *const ::core::ffi::c_void, cbextradata: u32, ptoken: P3, punkobject: P4) -> ::windows_core::Result<()> where @@ -3959,7 +3959,7 @@ pub struct ISpTokenUI_Vtbl { impl ISpTranscript { pub unsafe fn GetTranscript(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTranscript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTranscript)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AppendTranscript(&self, psztranscript: P0) -> ::windows_core::Result<()> where @@ -4034,12 +4034,12 @@ impl ISpVoice { } pub unsafe fn GetOutputObjectToken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputObjectToken)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetOutputStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -4055,7 +4055,7 @@ impl ISpVoice { } pub unsafe fn GetVoice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVoice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVoice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Speak(&self, pwcs: P0, dwflags: u32, pulstreamnumber: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -4171,11 +4171,11 @@ pub struct ISpVoice_Vtbl { impl ISpXMLRecoResult { pub unsafe fn GetPhrase(&self) -> ::windows_core::Result<*mut SPPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSerializedPhrase(&self) -> ::windows_core::Result<*mut SPSERIALIZEDPHRASE> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows_core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows_core::Result<()> where @@ -4195,7 +4195,7 @@ impl ISpXMLRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok() @@ -4209,7 +4209,7 @@ impl ISpXMLRecoResult { } pub unsafe fn GetRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXMLResult(&self, ppszcomemxmlresult: *mut ::windows_core::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetXMLResult)(::windows_core::Interface::as_raw(self), ppszcomemxmlresult, options).ok() @@ -4234,7 +4234,7 @@ impl ISpeechAudio { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -4251,47 +4251,47 @@ impl ISpeechAudio { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BufferInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, volume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), volume).ok() } pub unsafe fn BufferNotifySize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferNotifySize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferNotifySize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferNotifySize)(::windows_core::Interface::as_raw(self), buffernotifysize).ok() } pub unsafe fn EventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), state).ok() @@ -4329,21 +4329,21 @@ pub struct ISpeechAudio_Vtbl { impl ISpeechAudioBufferInfo { pub unsafe fn MinNotification(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinNotification)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinNotification)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinNotification(&self, minnotification: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinNotification)(::windows_core::Interface::as_raw(self), minnotification).ok() } pub unsafe fn BufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferSize(&self, buffersize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferSize)(::windows_core::Interface::as_raw(self), buffersize).ok() } pub unsafe fn EventBias(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventBias)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventBias)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventBias(&self, eventbias: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventBias)(::windows_core::Interface::as_raw(self), eventbias).ok() @@ -4369,14 +4369,14 @@ pub struct ISpeechAudioBufferInfo_Vtbl { impl ISpeechAudioFormat { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, audioformat: SpeechAudioFormatType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), audioformat).ok() } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGuid(&self, guid: P0) -> ::windows_core::Result<()> where @@ -4387,7 +4387,7 @@ impl ISpeechAudioFormat { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWaveFormatEx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWaveFormatEx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWaveFormatEx)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWaveFormatEx(&self, speechwaveformatex: P0) -> ::windows_core::Result<()> @@ -4423,23 +4423,23 @@ pub struct ISpeechAudioFormat_Vtbl { impl ISpeechAudioStatus { pub unsafe fn FreeBufferSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeBufferSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeBufferSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NonBlockingIO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NonBlockingIO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NonBlockingIO)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSeekPosition(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSeekPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSeekPosition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDevicePosition(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDevicePosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDevicePosition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4462,7 +4462,7 @@ impl ISpeechBaseStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -4479,14 +4479,14 @@ impl ISpeechBaseStream { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4515,7 +4515,7 @@ impl ISpeechCustomStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -4532,18 +4532,18 @@ impl ISpeechCustomStream { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BaseStream(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BaseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BaseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_BaseStream(&self, punkstream: P0) -> ::windows_core::Result<()> where @@ -4578,7 +4578,7 @@ impl ISpeechDataKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBinaryValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBinaryValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStringValue(&self, valuename: P0, value: P1) -> ::windows_core::Result<()> where @@ -4592,7 +4592,7 @@ impl ISpeechDataKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLongValue(&self, valuename: P0, value: i32) -> ::windows_core::Result<()> where @@ -4605,7 +4605,7 @@ impl ISpeechDataKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLongValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLongValue)(::windows_core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenKey(&self, subkeyname: P0) -> ::windows_core::Result @@ -4613,7 +4613,7 @@ impl ISpeechDataKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateKey(&self, subkeyname: P0) -> ::windows_core::Result @@ -4621,7 +4621,7 @@ impl ISpeechDataKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateKey)(::windows_core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateKey)(::windows_core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteKey(&self, subkeyname: P0) -> ::windows_core::Result<()> where @@ -4637,11 +4637,11 @@ impl ISpeechDataKey { } pub unsafe fn EnumKeys(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumKeys)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumValues(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumValues)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4677,7 +4677,7 @@ impl ISpeechFileStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -4694,14 +4694,14 @@ impl ISpeechFileStream { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, filename: P0, filemode: SpeechStreamFileMode, doevents: P1) -> ::windows_core::Result<()> where @@ -4730,20 +4730,20 @@ pub struct ISpeechFileStream_Vtbl { impl ISpeechGrammarRule { pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitialState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -4758,7 +4758,7 @@ impl ISpeechGrammarRule { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4789,12 +4789,12 @@ impl ISpeechGrammarRuleState { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Transitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Transitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Transitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddWordTransition(&self, deststate: P0, words: P1, separators: P2, r#type: SpeechGrammarWordType, propertyname: P3, propertyid: i32, propertyvalue: *const ::windows_core::VARIANT, weight: f32) -> ::windows_core::Result<()> @@ -4858,37 +4858,37 @@ pub struct ISpeechGrammarRuleState_Vtbl { impl ISpeechGrammarRuleStateTransition { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Weight(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Weight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Weight)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PropertyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NextState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4919,16 +4919,16 @@ pub struct ISpeechGrammarRuleStateTransition_Vtbl { impl ISpeechGrammarRuleStateTransitions { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4951,7 +4951,7 @@ pub struct ISpeechGrammarRuleStateTransitions_Vtbl { impl ISpeechGrammarRules { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindRule(&self, rulenameorid: P0) -> ::windows_core::Result @@ -4959,20 +4959,20 @@ impl ISpeechGrammarRules { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindRule)(::windows_core::Interface::as_raw(self), rulenameorid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindRule)(::windows_core::Interface::as_raw(self), rulenameorid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Dynamic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dynamic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dynamic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, rulename: P0, attributes: SpeechRuleAttributes, ruleid: i32) -> ::windows_core::Result @@ -4980,7 +4980,7 @@ impl ISpeechGrammarRules { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), attributes, ruleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), attributes, ruleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -5020,7 +5020,7 @@ pub struct ISpeechGrammarRules_Vtbl { impl ISpeechLexicon { pub unsafe fn GenerationId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerationId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWords(&self, flags: SpeechLexiconType, generationid: *mut i32, words: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -5058,7 +5058,7 @@ impl ISpeechLexicon { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPronunciations)(::windows_core::Interface::as_raw(self), bstrword.into_param().abi(), langid, typeflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPronunciations)(::windows_core::Interface::as_raw(self), bstrword.into_param().abi(), langid, typeflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGenerationChange(&self, generationid: *mut i32, ppwords: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -5096,23 +5096,23 @@ pub struct ISpeechLexicon_Vtbl { impl ISpeechLexiconPronunciation { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LangId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LangId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LangId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PartOfSpeech(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PartOfSpeech)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PartOfSpeech)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhoneIds(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhoneIds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhoneIds)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Symbolic(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Symbolic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Symbolic)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5134,16 +5134,16 @@ pub struct ISpeechLexiconPronunciation_Vtbl { impl ISpeechLexiconPronunciations { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5166,20 +5166,20 @@ pub struct ISpeechLexiconPronunciations_Vtbl { impl ISpeechLexiconWord { pub unsafe fn LangId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LangId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LangId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Word(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Word)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Word)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Pronunciations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pronunciations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pronunciations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5203,16 +5203,16 @@ pub struct ISpeechLexiconWord_Vtbl { impl ISpeechLexiconWords { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5236,7 +5236,7 @@ impl ISpeechMMSysAudio { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -5253,68 +5253,68 @@ impl ISpeechMMSysAudio { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BufferInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BufferInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BufferInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, volume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetVolume)(::windows_core::Interface::as_raw(self), volume).ok() } pub unsafe fn BufferNotifySize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BufferNotifySize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BufferNotifySize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBufferNotifySize)(::windows_core::Interface::as_raw(self), buffernotifysize).ok() } pub unsafe fn EventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn DeviceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeviceId(&self, deviceid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeviceId)(::windows_core::Interface::as_raw(self), deviceid).ok() } pub unsafe fn LineId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLineId(&self, lineid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLineId)(::windows_core::Interface::as_raw(self), lineid).ok() } pub unsafe fn MMHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MMHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MMHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5337,7 +5337,7 @@ impl ISpeechMemoryStream { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Format)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Format(&self, audioformat: P0) -> ::windows_core::Result<()> @@ -5354,14 +5354,14 @@ impl ISpeechMemoryStream { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), buffer.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Seek(&self, position: P0, origin: SpeechStreamSeekPositionType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), position.into_param().abi(), origin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, data: P0) -> ::windows_core::Result<()> where @@ -5371,7 +5371,7 @@ impl ISpeechMemoryStream { } pub unsafe fn GetData(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5390,21 +5390,21 @@ pub struct ISpeechMemoryStream_Vtbl { impl ISpeechObjectToken { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Category(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Category)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self, locale: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), locale, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), locale, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetId(&self, id: P0, categoryid: P1, createifnotexist: P2) -> ::windows_core::Result<()> where @@ -5419,14 +5419,14 @@ impl ISpeechObjectToken { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), attributename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), attributename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstance(&self, punkouter: P0, clscontext: SpeechTokenContext) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), clscontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), clscontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, objectstorageclsid: P0) -> ::windows_core::Result<()> where @@ -5441,7 +5441,7 @@ impl ISpeechObjectToken { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorageFileName)(::windows_core::Interface::as_raw(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), filename.into_param().abi(), folder, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorageFileName)(::windows_core::Interface::as_raw(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), filename.into_param().abi(), folder, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStorageFileName(&self, objectstorageclsid: P0, keyname: P1, deletefile: P2) -> ::windows_core::Result<()> where @@ -5457,7 +5457,7 @@ impl ISpeechObjectToken { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), object.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), object.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayUI(&self, hwnd: i32, title: P0, typeofui: P1, extradata: *const ::windows_core::VARIANT, object: P2) -> ::windows_core::Result<()> where @@ -5472,7 +5472,7 @@ impl ISpeechObjectToken { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesAttributes)(::windows_core::Interface::as_raw(self), attributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesAttributes)(::windows_core::Interface::as_raw(self), attributes.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5508,7 +5508,7 @@ pub struct ISpeechObjectToken_Vtbl { impl ISpeechObjectTokenCategory { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefault(&self, tokenid: P0) -> ::windows_core::Result<()> where @@ -5518,7 +5518,7 @@ impl ISpeechObjectTokenCategory { } pub unsafe fn Default(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Default)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Default)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetId(&self, id: P0, createifnotexist: P1) -> ::windows_core::Result<()> where @@ -5530,7 +5530,7 @@ impl ISpeechObjectTokenCategory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDataKey(&self, location: SpeechDataKeyLocation) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataKey)(::windows_core::Interface::as_raw(self), location, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataKey)(::windows_core::Interface::as_raw(self), location, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateTokens(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows_core::Result @@ -5539,7 +5539,7 @@ impl ISpeechObjectTokenCategory { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTokens)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTokens)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5568,16 +5568,16 @@ pub struct ISpeechObjectTokenCategory_Vtbl { impl ISpeechObjectTokens { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5600,7 +5600,7 @@ pub struct ISpeechObjectTokens_Vtbl { impl ISpeechPhoneConverter { pub unsafe fn LanguageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguageId(&self, languageid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLanguageId)(::windows_core::Interface::as_raw(self), languageid).ok() @@ -5610,14 +5610,14 @@ impl ISpeechPhoneConverter { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhoneToId)(::windows_core::Interface::as_raw(self), phonemes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhoneToId)(::windows_core::Interface::as_raw(self), phonemes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IdToPhone(&self, idarray: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IdToPhone)(::windows_core::Interface::as_raw(self), idarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IdToPhone)(::windows_core::Interface::as_raw(self), idarray.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5639,20 +5639,20 @@ impl ISpeechPhraseAlternate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecoResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecoResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartElementInResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartElementInResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartElementInResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfElementsInResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfElementsInResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfElementsInResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PhraseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -5683,16 +5683,16 @@ pub struct ISpeechPhraseAlternate_Vtbl { impl ISpeechPhraseAlternates { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5715,55 +5715,55 @@ pub struct ISpeechPhraseAlternates_Vtbl { impl ISpeechPhraseElement { pub unsafe fn AudioTimeOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioTimeOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioTimeOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioSizeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioSizeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioSizeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioStreamOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioSizeBytes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RetainedStreamOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetainedStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetainedStreamOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RetainedSizeBytes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetainedSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetainedSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DisplayText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LexicalForm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LexicalForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LexicalForm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pronunciation(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pronunciation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pronunciation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequiredConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequiredConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequiredConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActualConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActualConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActualConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EngineConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5793,16 +5793,16 @@ pub struct ISpeechPhraseElement_Vtbl { impl ISpeechPhraseElements { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5825,77 +5825,77 @@ pub struct ISpeechPhraseElements_Vtbl { impl ISpeechPhraseInfo { pub unsafe fn LanguageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GrammarId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GrammarId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GrammarId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AudioStreamPosition(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioStreamPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioStreamPosition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AudioSizeBytes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RetainedSizeBytes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetainedSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetainedSizeBytes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AudioSizeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioSizeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioSizeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Elements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Elements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Elements)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Replacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Replacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Replacements)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EngineId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EngineId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EngineId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnginePrivateData(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnginePrivateData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnginePrivateData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveToMemory(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, startelement: i32, elements: i32, usereplacements: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayAttributes(&self, startelement: i32, elements: i32, usereplacements: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayAttributes)(::windows_core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayAttributes)(::windows_core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5941,7 +5941,7 @@ impl ISpeechPhraseInfoBuilder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestorePhraseFromMemory(&self, phraseinmemory: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RestorePhraseFromMemory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(phraseinmemory), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RestorePhraseFromMemory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(phraseinmemory), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5962,16 +5962,16 @@ pub struct ISpeechPhraseInfoBuilder_Vtbl { impl ISpeechPhraseProperties { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5994,41 +5994,41 @@ pub struct ISpeechPhraseProperties_Vtbl { impl ISpeechPhraseProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FirstElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EngineConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Confidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6060,19 +6060,19 @@ pub struct ISpeechPhraseProperty_Vtbl { impl ISpeechPhraseReplacement { pub unsafe fn DisplayAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FirstElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6093,16 +6093,16 @@ pub struct ISpeechPhraseReplacement_Vtbl { impl ISpeechPhraseReplacements { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6125,37 +6125,37 @@ pub struct ISpeechPhraseReplacements_Vtbl { impl ISpeechPhraseRule { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirstElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfElements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Confidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EngineConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EngineConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6186,16 +6186,16 @@ pub struct ISpeechPhraseRule_Vtbl { impl ISpeechPhraseRules { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6219,15 +6219,15 @@ impl ISpeechRecoContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AudioInputInterferenceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioInputInterferenceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioInputInterferenceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestedUIType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedUIType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedUIType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Voice(&self, voice: P0) -> ::windows_core::Result<()> @@ -6239,7 +6239,7 @@ impl ISpeechRecoContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Voice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Voice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Voice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAllowVoiceFormatMatchingOnNextSet(&self, allow: P0) -> ::windows_core::Result<()> where @@ -6249,42 +6249,42 @@ impl ISpeechRecoContext { } pub unsafe fn AllowVoiceFormatMatchingOnNextSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowVoiceFormatMatchingOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowVoiceFormatMatchingOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVoicePurgeEvent(&self, eventinterest: SpeechRecoEvents) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVoicePurgeEvent)(::windows_core::Interface::as_raw(self), eventinterest).ok() } pub unsafe fn VoicePurgeEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VoicePurgeEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VoicePurgeEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventInterests(&self, eventinterest: SpeechRecoEvents) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventInterests)(::windows_core::Interface::as_raw(self), eventinterest).ok() } pub unsafe fn EventInterests(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventInterests)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventInterests)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCmdMaxAlternates(&self, maxalternates: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCmdMaxAlternates)(::windows_core::Interface::as_raw(self), maxalternates).ok() } pub unsafe fn CmdMaxAlternates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CmdMaxAlternates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CmdMaxAlternates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, state: SpeechRecoContextState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRetainedAudio(&self, option: SpeechRetainedAudioOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRetainedAudio)(::windows_core::Interface::as_raw(self), option).ok() } pub unsafe fn RetainedAudio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetainedAudio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetainedAudio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_RetainedAudioFormat(&self, format: P0) -> ::windows_core::Result<()> @@ -6296,7 +6296,7 @@ impl ISpeechRecoContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetainedAudioFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetainedAudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetainedAudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -6310,12 +6310,12 @@ impl ISpeechRecoContext { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGrammar)(::windows_core::Interface::as_raw(self), grammarid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGrammar)(::windows_core::Interface::as_raw(self), grammarid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResultFromMemory(&self, resultblock: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateResultFromMemory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resultblock), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResultFromMemory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(resultblock), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bookmark(&self, options: SpeechBookmarkOptions, streampos: P0, bookmarkid: P1) -> ::windows_core::Result<()> where @@ -6391,24 +6391,24 @@ pub struct ISpeechRecoContext_Vtbl { impl ISpeechRecoGrammar { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetState(&self, state: SpeechGrammarState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, newlanguage: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), newlanguage).ok() @@ -6488,7 +6488,7 @@ impl ISpeechRecoGrammar { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPronounceable)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPronounceable)(::windows_core::Interface::as_raw(self), word.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6537,12 +6537,12 @@ impl ISpeechRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Times(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Times)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Times)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioFormat(&self, format: P0) -> ::windows_core::Result<()> @@ -6554,30 +6554,30 @@ impl ISpeechRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PhraseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).map(|| result__) } pub unsafe fn SaveToMemory(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DiscardResultInfo)(::windows_core::Interface::as_raw(self), valuetypes).ok() @@ -6629,12 +6629,12 @@ impl ISpeechRecoResult2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Times(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Times)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Times)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioFormat(&self, format: P0) -> ::windows_core::Result<()> @@ -6646,30 +6646,30 @@ impl ISpeechRecoResult2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PhraseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).map(|| result__) } pub unsafe fn SaveToMemory(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DiscardResultInfo)(::windows_core::Interface::as_raw(self), valuetypes).ok() @@ -6698,12 +6698,12 @@ impl ISpeechRecoResultDispatch { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Times(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Times)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Times)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioFormat(&self, format: P0) -> ::windows_core::Result<()> @@ -6715,37 +6715,37 @@ impl ISpeechRecoResultDispatch { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PhraseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).map(|| result__) } pub unsafe fn SaveToMemory(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DiscardResultInfo)(::windows_core::Interface::as_raw(self), valuetypes).ok() } pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXMLResult)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXMLResult)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut ::windows_core::BSTR, source: *mut ::windows_core::BSTR, description: *mut ::windows_core::BSTR, resultcode: *mut ::windows_core::HRESULT, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetXMLErrorInfo)(::windows_core::Interface::as_raw(self), linenumber, ::core::mem::transmute(scriptline), ::core::mem::transmute(source), ::core::mem::transmute(description), resultcode, iserror).ok() @@ -6806,19 +6806,19 @@ pub struct ISpeechRecoResultDispatch_Vtbl { impl ISpeechRecoResultTimes { pub unsafe fn StreamTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StreamTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StreamTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Length(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TickCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TickCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OffsetFromStart(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OffsetFromStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OffsetFromStart)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6847,7 +6847,7 @@ impl ISpeechRecognizer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAllowAudioInputFormatChangesOnNextSet(&self, allow: P0) -> ::windows_core::Result<()> where @@ -6857,7 +6857,7 @@ impl ISpeechRecognizer { } pub unsafe fn AllowAudioInputFormatChangesOnNextSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowAudioInputFormatChangesOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowAudioInputFormatChangesOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioInput(&self, audioinput: P0) -> ::windows_core::Result<()> @@ -6869,7 +6869,7 @@ impl ISpeechRecognizer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioInput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioInputStream(&self, audioinputstream: P0) -> ::windows_core::Result<()> @@ -6881,23 +6881,23 @@ impl ISpeechRecognizer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioInputStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioInputStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioInputStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsShared(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsShared)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsShared)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, state: SpeechRecognizerState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Profile(&self, profile: P0) -> ::windows_core::Result<()> @@ -6909,7 +6909,7 @@ impl ISpeechRecognizer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EmulateRecognition(&self, textelements: P0, elementdisplayattributes: *const ::windows_core::VARIANT, languageid: i32) -> ::windows_core::Result<()> where @@ -6920,19 +6920,19 @@ impl ISpeechRecognizer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormat(&self, r#type: SpeechFormatType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPropertyNumber(&self, name: P0, value: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetPropertyNumber)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetPropertyNumber)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value, &mut result__).map(|| result__) } pub unsafe fn GetPropertyNumber(&self, name: P0, value: *mut i32, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> where @@ -6946,7 +6946,7 @@ impl ISpeechRecognizer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetPropertyString)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetPropertyString)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPropertyString(&self, name: P0, value: *mut ::windows_core::BSTR, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> where @@ -6959,7 +6959,7 @@ impl ISpeechRecognizer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), &mut result__).map(|| result__) } pub unsafe fn DisplayUI(&self, hwndparent: i32, title: P0, typeofui: P1, extradata: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -6975,7 +6975,7 @@ impl ISpeechRecognizer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecognizers)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecognizers)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudioInputs(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows_core::Result @@ -6984,7 +6984,7 @@ impl ISpeechRecognizer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioInputs)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioInputs)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProfiles(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows_core::Result @@ -6993,7 +6993,7 @@ impl ISpeechRecognizer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfiles)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfiles)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7079,27 +7079,27 @@ impl ISpeechRecognizerStatus { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentStreamPosition(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentStreamPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentStreamPosition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentStreamNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfActiveRules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfActiveRules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfActiveRules)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClsidEngine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClsidEngine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClsidEngine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedLanguages(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedLanguages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7163,28 +7163,28 @@ impl ISpeechTextSelectionInformation { } pub unsafe fn ActiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActiveLength(&self, activelength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActiveLength)(::windows_core::Interface::as_raw(self), activelength).ok() } pub unsafe fn ActiveLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelectionOffset(&self, selectionoffset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelectionOffset)(::windows_core::Interface::as_raw(self), selectionoffset).ok() } pub unsafe fn SelectionOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectionOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectionOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelectionLength(&self, selectionlength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelectionLength)(::windows_core::Interface::as_raw(self), selectionlength).ok() } pub unsafe fn SelectionLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectionLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectionLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7210,12 +7210,12 @@ impl ISpeechVoice { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Voice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Voice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Voice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Voice(&self, voice: P0) -> ::windows_core::Result<()> @@ -7227,7 +7227,7 @@ impl ISpeechVoice { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioOutput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioOutput(&self, audiooutput: P0) -> ::windows_core::Result<()> @@ -7239,7 +7239,7 @@ impl ISpeechVoice { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioOutputStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioOutputStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioOutputStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioOutputStream(&self, audiooutputstream: P0) -> ::windows_core::Result<()> @@ -7250,14 +7250,14 @@ impl ISpeechVoice { } pub unsafe fn Rate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRate(&self, rate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRate)(::windows_core::Interface::as_raw(self), rate).ok() } pub unsafe fn Volume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Volume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVolume(&self, volume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVolume)(::windows_core::Interface::as_raw(self), volume).ok() @@ -7270,11 +7270,11 @@ impl ISpeechVoice { } pub unsafe fn AllowAudioOutputFormatChangesOnNextSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowAudioOutputFormatChangesOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowAudioOutputFormatChangesOnNextSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EventInterests(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventInterests)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventInterests)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventInterests(&self, eventinterestflags: SpeechVoiceEvents) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventInterests)(::windows_core::Interface::as_raw(self), eventinterestflags).ok() @@ -7284,28 +7284,28 @@ impl ISpeechVoice { } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlertBoundary(&self, boundary: SpeechVoiceEvents) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAlertBoundary)(::windows_core::Interface::as_raw(self), boundary).ok() } pub unsafe fn AlertBoundary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlertBoundary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlertBoundary)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSynchronousSpeakTimeout(&self, mstimeout: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSynchronousSpeakTimeout)(::windows_core::Interface::as_raw(self), mstimeout).ok() } pub unsafe fn SynchronousSpeakTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SynchronousSpeakTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SynchronousSpeakTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Speak(&self, text: P0, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Speak)(::windows_core::Interface::as_raw(self), text.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Speak)(::windows_core::Interface::as_raw(self), text.into_param().abi(), flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpeakStream(&self, stream: P0, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result @@ -7313,7 +7313,7 @@ impl ISpeechVoice { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpeakStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpeakStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -7326,7 +7326,7 @@ impl ISpeechVoice { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), numitems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), r#type.into_param().abi(), numitems, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVoices(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows_core::Result @@ -7335,7 +7335,7 @@ impl ISpeechVoice { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVoices)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVoices)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAudioOutputs(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows_core::Result @@ -7344,22 +7344,22 @@ impl ISpeechVoice { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioOutputs)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioOutputs)(::windows_core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WaitUntilDone(&self, mstimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitUntilDone)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitUntilDone)(::windows_core::Interface::as_raw(self), mstimeout, &mut result__).map(|| result__) } pub unsafe fn SpeakCompleteEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpeakCompleteEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpeakCompleteEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUISupported(&self, typeofui: P0, extradata: *const ::windows_core::VARIANT) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUISupported)(::windows_core::Interface::as_raw(self), typeofui.into_param().abi(), ::core::mem::transmute(extradata), &mut result__).map(|| result__) } pub unsafe fn DisplayUI(&self, hwndparent: i32, title: P0, typeofui: P1, extradata: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -7445,51 +7445,51 @@ pub struct ISpeechVoice_Vtbl { impl ISpeechVoiceStatus { pub unsafe fn CurrentStreamNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastStreamNumberQueued(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastStreamNumberQueued)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastStreamNumberQueued)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastHResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastHResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastHResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunningState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunningState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunningState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InputWordPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputWordPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputWordPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InputWordLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputWordLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputWordLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InputSentencePosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputSentencePosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputSentencePosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InputSentenceLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InputSentenceLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InputSentenceLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastBookmark(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastBookmark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastBookmark)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastBookmarkId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastBookmarkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastBookmarkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhonemeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhonemeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhonemeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VisemeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VisemeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VisemeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7518,49 +7518,49 @@ pub struct ISpeechVoiceStatus_Vtbl { impl ISpeechWaveFormatEx { pub unsafe fn FormatTag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatTag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatTag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFormatTag(&self, formattag: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFormatTag)(::windows_core::Interface::as_raw(self), formattag).ok() } pub unsafe fn Channels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Channels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Channels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChannels(&self, channels: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChannels)(::windows_core::Interface::as_raw(self), channels).ok() } pub unsafe fn SamplesPerSec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SamplesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SamplesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSamplesPerSec(&self, samplespersec: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSamplesPerSec)(::windows_core::Interface::as_raw(self), samplespersec).ok() } pub unsafe fn AvgBytesPerSec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvgBytesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvgBytesPerSec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAvgBytesPerSec(&self, avgbytespersec: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAvgBytesPerSec)(::windows_core::Interface::as_raw(self), avgbytespersec).ok() } pub unsafe fn BlockAlign(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockAlign)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockAlign)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBlockAlign(&self, blockalign: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBlockAlign)(::windows_core::Interface::as_raw(self), blockalign).ok() } pub unsafe fn BitsPerSample(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitsPerSample)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitsPerSample)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBitsPerSample(&self, bitspersample: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBitsPerSample)(::windows_core::Interface::as_raw(self), bitspersample).ok() } pub unsafe fn ExtraData(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtraData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtraData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtraData(&self, extradata: P0) -> ::windows_core::Result<()> where @@ -7598,12 +7598,12 @@ impl ISpeechXMLRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecoContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecoContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Times(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Times)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Times)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AudioFormat(&self, format: P0) -> ::windows_core::Result<()> @@ -7615,37 +7615,37 @@ impl ISpeechXMLRecoResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AudioFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AudioFormat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PhraseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PhraseInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Alternates)(::windows_core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Audio)(::windows_core::Interface::as_raw(self), startelement, elements, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpeakAudio)(::windows_core::Interface::as_raw(self), startelement, elements, flags, &mut result__).map(|| result__) } pub unsafe fn SaveToMemory(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SaveToMemory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DiscardResultInfo)(::windows_core::Interface::as_raw(self), valuetypes).ok() } pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXMLResult)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXMLResult)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut ::windows_core::BSTR, source: *mut ::windows_core::BSTR, description: *mut ::windows_core::BSTR, resultcode: *mut i32, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetXMLErrorInfo)(::windows_core::Interface::as_raw(self), linenumber, ::core::mem::transmute(scriptline), ::core::mem::transmute(source), ::core::mem::transmute(description), resultcode, iserror).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Media/WindowsMediaFormat/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/WindowsMediaFormat/mod.rs index 65fc78183a..57df0caf2f 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/WindowsMediaFormat/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/WindowsMediaFormat/mod.rs @@ -5,25 +5,25 @@ where { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateBackupRestorer(pcallback : * mut::core::ffi::c_void, ppbackup : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateBackupRestorer(pcallback.into_param().abi(), &mut result__).from_abi(result__) + WMCreateBackupRestorer(pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateEditor() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateEditor(ppeditor : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateEditor(&mut result__).from_abi(result__) + WMCreateEditor(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateIndexer() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateIndexer(ppindexer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateIndexer(&mut result__).from_abi(result__) + WMCreateIndexer(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateProfileManager() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateProfileManager(ppprofilemanager : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateProfileManager(&mut result__).from_abi(result__) + WMCreateProfileManager(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateReader(punkcert: P0, dwrights: u32) -> ::windows_core::Result @@ -32,7 +32,7 @@ where { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateReader(punkcert : * mut::core::ffi::c_void, dwrights : u32, ppreader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateReader(punkcert.into_param().abi(), dwrights, &mut result__).from_abi(result__) + WMCreateReader(punkcert.into_param().abi(), dwrights, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateSyncReader(punkcert: P0, dwrights: u32) -> ::windows_core::Result @@ -41,7 +41,7 @@ where { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateSyncReader(punkcert : * mut::core::ffi::c_void, dwrights : u32, ppsyncreader : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateSyncReader(punkcert.into_param().abi(), dwrights, &mut result__).from_abi(result__) + WMCreateSyncReader(punkcert.into_param().abi(), dwrights, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateWriter(punkcert: P0) -> ::windows_core::Result @@ -50,25 +50,25 @@ where { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateWriter(punkcert : * mut::core::ffi::c_void, ppwriter : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateWriter(punkcert.into_param().abi(), &mut result__).from_abi(result__) + WMCreateWriter(punkcert.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateWriterFileSink() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateWriterFileSink(ppsink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateWriterFileSink(&mut result__).from_abi(result__) + WMCreateWriterFileSink(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateWriterNetworkSink() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateWriterNetworkSink(ppsink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateWriterNetworkSink(&mut result__).from_abi(result__) + WMCreateWriterNetworkSink(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMCreateWriterPushSink() -> ::windows_core::Result { ::windows_targets::link!("wmvcore.dll" "system" fn WMCreateWriterPushSink(ppsink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WMCreateWriterPushSink(&mut result__).from_abi(result__) + WMCreateWriterPushSink(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WMIsContentProtected(pwszfilename: P0, pfisprotected: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> @@ -98,22 +98,22 @@ impl INSNetSourceCreator { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetSourceProperties)(::windows_core::Interface::as_raw(self), pszstreamname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetSourceProperties)(::windows_core::Interface::as_raw(self), pszstreamname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetSourceSharedNamespace(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetSourceSharedNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetSourceSharedNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetSourceAdminInterface(&self, pszstreamname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetSourceAdminInterface)(::windows_core::Interface::as_raw(self), pszstreamname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetSourceAdminInterface)(::windows_core::Interface::as_raw(self), pszstreamname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumProtocolsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProtocolName(&self, dwprotocolnum: u32, pwszprotocolname: ::windows_core::PWSTR, pcchprotocolname: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProtocolName)(::windows_core::Interface::as_raw(self), dwprotocolnum, ::core::mem::transmute(pwszprotocolname), pcchprotocolname).ok() @@ -140,18 +140,18 @@ pub struct INSNetSourceCreator_Vtbl { impl INSSBuffer { pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBuffer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferAndLength(&self, ppdwbuffer: *mut *mut u8, pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBufferAndLength)(::windows_core::Interface::as_raw(self), ppdwbuffer, pdwlength).ok() @@ -172,25 +172,25 @@ pub struct INSSBuffer_Vtbl { impl INSSBuffer2 { pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBuffer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferAndLength(&self, ppdwbuffer: *mut *mut u8, pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBufferAndLength)(::windows_core::Interface::as_raw(self), ppdwbuffer, pdwlength).ok() } pub unsafe fn GetSampleProperties(&self, cbproperties: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).map(|| result__) } pub unsafe fn SetSampleProperties(&self, cbproperties: u32, pbproperties: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, pbproperties).ok() @@ -208,25 +208,25 @@ pub struct INSSBuffer2_Vtbl { impl INSSBuffer3 { pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBuffer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferAndLength(&self, ppdwbuffer: *mut *mut u8, pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetBufferAndLength)(::windows_core::Interface::as_raw(self), ppdwbuffer, pdwlength).ok() } pub unsafe fn GetSampleProperties(&self, cbproperties: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).map(|| result__) } pub unsafe fn SetSampleProperties(&self, cbproperties: u32, pbproperties: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, pbproperties).ok() @@ -250,25 +250,25 @@ pub struct INSSBuffer3_Vtbl { impl INSSBuffer4 { pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, dwlength: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetLength)(::windows_core::Interface::as_raw(self), dwlength).ok() } pub unsafe fn GetMaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBuffer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferAndLength(&self, ppdwbuffer: *mut *mut u8, pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetBufferAndLength)(::windows_core::Interface::as_raw(self), ppdwbuffer, pdwlength).ok() } pub unsafe fn GetSampleProperties(&self, cbproperties: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, &mut result__).map(|| result__) } pub unsafe fn SetSampleProperties(&self, cbproperties: u32, pbproperties: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSampleProperties)(::windows_core::Interface::as_raw(self), cbproperties, pbproperties).ok() @@ -281,7 +281,7 @@ impl INSSBuffer4 { } pub unsafe fn GetPropertyCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyByIndex(&self, dwbufferpropertyindex: u32, pguidbufferproperty: *mut ::windows_core::GUID, pvbufferproperty: *mut ::core::ffi::c_void, pdwbufferpropertysize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPropertyByIndex)(::windows_core::Interface::as_raw(self), dwbufferpropertyindex, pguidbufferproperty, pvbufferproperty, pdwbufferpropertysize).ok() @@ -299,11 +299,11 @@ pub struct INSSBuffer4_Vtbl { impl IWMAddressAccess { pub unsafe fn GetAccessEntryCount(&self, aetype: WM_AETYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessEntryCount)(::windows_core::Interface::as_raw(self), aetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessEntryCount)(::windows_core::Interface::as_raw(self), aetype, &mut result__).map(|| result__) } pub unsafe fn GetAccessEntry(&self, aetype: WM_AETYPE, dwentrynum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessEntry)(::windows_core::Interface::as_raw(self), aetype, dwentrynum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessEntry)(::windows_core::Interface::as_raw(self), aetype, dwentrynum, &mut result__).map(|| result__) } pub unsafe fn AddAccessEntry(&self, aetype: WM_AETYPE, paddraccessentry: *const WM_ADDRESS_ACCESSENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAccessEntry)(::windows_core::Interface::as_raw(self), aetype, paddraccessentry).ok() @@ -326,11 +326,11 @@ pub struct IWMAddressAccess_Vtbl { impl IWMAddressAccess2 { pub unsafe fn GetAccessEntryCount(&self, aetype: WM_AETYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAccessEntryCount)(::windows_core::Interface::as_raw(self), aetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAccessEntryCount)(::windows_core::Interface::as_raw(self), aetype, &mut result__).map(|| result__) } pub unsafe fn GetAccessEntry(&self, aetype: WM_AETYPE, dwentrynum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAccessEntry)(::windows_core::Interface::as_raw(self), aetype, dwentrynum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAccessEntry)(::windows_core::Interface::as_raw(self), aetype, dwentrynum, &mut result__).map(|| result__) } pub unsafe fn AddAccessEntry(&self, aetype: WM_AETYPE, paddraccessentry: *const WM_ADDRESS_ACCESSENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AddAccessEntry)(::windows_core::Interface::as_raw(self), aetype, paddraccessentry).ok() @@ -361,15 +361,15 @@ pub struct IWMAddressAccess2_Vtbl { impl IWMAuthorizer { pub unsafe fn GetCertCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCert(&self, dwindex: u32) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCert)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCert)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn GetSharedData(&self, dwcertindex: u32, pbshareddata: *const u8, pbcert: *const u8) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharedData)(::windows_core::Interface::as_raw(self), dwcertindex, pbshareddata, pbcert, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharedData)(::windows_core::Interface::as_raw(self), dwcertindex, pbshareddata, pbcert, &mut result__).map(|| result__) } } #[repr(C)] @@ -385,7 +385,7 @@ pub struct IWMAuthorizer_Vtbl { impl IWMBackupRestoreProps { pub unsafe fn GetPropCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropByIndex(&self, windex: u16, pwszname: ::windows_core::PWSTR, pcchnamelen: *mut u16, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPropByIndex)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwszname), pcchnamelen, ptype, pvalue, pcblength).ok() @@ -437,7 +437,7 @@ impl IWMBandwidthSharing { } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), guidtype).ok() @@ -463,11 +463,11 @@ pub struct IWMBandwidthSharing_Vtbl { impl IWMClientConnections { pub unsafe fn GetClientCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClientProperties(&self, dwclientnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientProperties)(::windows_core::Interface::as_raw(self), dwclientnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientProperties)(::windows_core::Interface::as_raw(self), dwclientnum, &mut result__).map(|| result__) } } #[repr(C)] @@ -482,11 +482,11 @@ pub struct IWMClientConnections_Vtbl { impl IWMClientConnections2 { pub unsafe fn GetClientCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClientCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClientCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClientProperties(&self, dwclientnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClientProperties)(::windows_core::Interface::as_raw(self), dwclientnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClientProperties)(::windows_core::Interface::as_raw(self), dwclientnum, &mut result__).map(|| result__) } pub unsafe fn GetClientInfo(&self, dwclientnum: u32, pwsznetworkaddress: ::windows_core::PWSTR, pcchnetworkaddress: *mut u32, pwszport: ::windows_core::PWSTR, pcchport: *mut u32, pwszdnsname: ::windows_core::PWSTR, pcchdnsname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClientInfo)(::windows_core::Interface::as_raw(self), dwclientnum, ::core::mem::transmute(pwsznetworkaddress), pcchnetworkaddress, ::core::mem::transmute(pwszport), pcchport, ::core::mem::transmute(pwszdnsname), pcchdnsname).ok() @@ -503,15 +503,15 @@ pub struct IWMClientConnections2_Vtbl { impl IWMCodecInfo { pub unsafe fn GetCodecInfoCount(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormatCount(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormat(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32, dwformatindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -527,15 +527,15 @@ pub struct IWMCodecInfo_Vtbl { impl IWMCodecInfo2 { pub unsafe fn GetCodecInfoCount(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormatCount(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormat(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32, dwformatindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCodecName(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32, wszname: ::windows_core::PWSTR, pcchname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCodecName)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, ::core::mem::transmute(wszname), pcchname).ok() @@ -556,15 +556,15 @@ pub struct IWMCodecInfo2_Vtbl { impl IWMCodecInfo3 { pub unsafe fn GetCodecInfoCount(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), guidtype, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormatCount(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCodecFormatCount)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, &mut result__).map(|| result__) } pub unsafe fn GetCodecFormat(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32, dwformatindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCodecFormat)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, dwformatindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCodecName(&self, guidtype: *const ::windows_core::GUID, dwcodecindex: u32, wszname: ::windows_core::PWSTR, pcchname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCodecName)(::windows_core::Interface::as_raw(self), guidtype, dwcodecindex, ::core::mem::transmute(wszname), pcchname).ok() @@ -824,7 +824,7 @@ pub struct IWMDRMReader3_Vtbl { impl IWMDRMTranscryptionManager { pub unsafe fn CreateTranscryptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTranscryptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTranscryptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -895,11 +895,11 @@ impl IWMDRMTranscryptor2 { } pub unsafe fn GetSeekStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSeekStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSeekStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1009,26 +1009,26 @@ pub struct IWMDRMWriter3_Vtbl { impl IWMDeviceRegistration { pub unsafe fn RegisterDevice(&self, dwregistertype: u32, pbcertificate: &[u8], serialnumber: DRM_VAL16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterDevice)(::windows_core::Interface::as_raw(self), dwregistertype, ::core::mem::transmute(pbcertificate.as_ptr()), pbcertificate.len().try_into().unwrap(), ::core::mem::transmute(serialnumber), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterDevice)(::windows_core::Interface::as_raw(self), dwregistertype, ::core::mem::transmute(pbcertificate.as_ptr()), pbcertificate.len().try_into().unwrap(), ::core::mem::transmute(serialnumber), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterDevice(&self, dwregistertype: u32, pbcertificate: &[u8], serialnumber: DRM_VAL16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterDevice)(::windows_core::Interface::as_raw(self), dwregistertype, ::core::mem::transmute(pbcertificate.as_ptr()), pbcertificate.len().try_into().unwrap(), ::core::mem::transmute(serialnumber)).ok() } pub unsafe fn GetRegistrationStats(&self, dwregistertype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegistrationStats)(::windows_core::Interface::as_raw(self), dwregistertype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegistrationStats)(::windows_core::Interface::as_raw(self), dwregistertype, &mut result__).map(|| result__) } pub unsafe fn GetFirstRegisteredDevice(&self, dwregistertype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstRegisteredDevice)(::windows_core::Interface::as_raw(self), dwregistertype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstRegisteredDevice)(::windows_core::Interface::as_raw(self), dwregistertype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextRegisteredDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextRegisteredDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextRegisteredDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRegisteredDeviceByID(&self, dwregistertype: u32, pbcertificate: &[u8], serialnumber: DRM_VAL16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisteredDeviceByID)(::windows_core::Interface::as_raw(self), dwregistertype, ::core::mem::transmute(pbcertificate.as_ptr()), pbcertificate.len().try_into().unwrap(), ::core::mem::transmute(serialnumber), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisteredDeviceByID)(::windows_core::Interface::as_raw(self), dwregistertype, ::core::mem::transmute(pbcertificate.as_ptr()), pbcertificate.len().try_into().unwrap(), ::core::mem::transmute(serialnumber), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1047,7 +1047,7 @@ pub struct IWMDeviceRegistration_Vtbl { impl IWMGetSecureChannel { pub unsafe fn GetPeerSecureChannelInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPeerSecureChannelInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPeerSecureChannelInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1061,7 +1061,7 @@ pub struct IWMGetSecureChannel_Vtbl { impl IWMHeaderInfo { pub unsafe fn GetAttributeCount(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetAttributeByIndex(&self, windex: u16, pwstreamnum: *mut u16, pwszname: ::windows_core::PWSTR, pcchnamelen: *mut u16, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttributeByIndex)(::windows_core::Interface::as_raw(self), windex, pwstreamnum, ::core::mem::transmute(pwszname), pcchnamelen, ptype, pvalue, pcblength).ok() @@ -1080,7 +1080,7 @@ impl IWMHeaderInfo { } pub unsafe fn GetMarkerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMarker(&self, windex: u16, pwszmarkername: ::windows_core::PWSTR, pcchmarkernamelen: *mut u16, pcnsmarkertime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMarker)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwszmarkername), pcchmarkernamelen, pcnsmarkertime).ok() @@ -1096,7 +1096,7 @@ impl IWMHeaderInfo { } pub unsafe fn GetScriptCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScript(&self, windex: u16, pwsztype: ::windows_core::PWSTR, pcchtypelen: *mut u16, pwszcommand: ::windows_core::PWSTR, pcchcommandlen: *mut u16, pcnsscripttime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetScript)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwsztype), pcchtypelen, ::core::mem::transmute(pwszcommand), pcchcommandlen, pcnsscripttime).ok() @@ -1134,7 +1134,7 @@ pub struct IWMHeaderInfo_Vtbl { impl IWMHeaderInfo2 { pub unsafe fn GetAttributeCount(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetAttributeByIndex(&self, windex: u16, pwstreamnum: *mut u16, pwszname: ::windows_core::PWSTR, pcchnamelen: *mut u16, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAttributeByIndex)(::windows_core::Interface::as_raw(self), windex, pwstreamnum, ::core::mem::transmute(pwszname), pcchnamelen, ptype, pvalue, pcblength).ok() @@ -1153,7 +1153,7 @@ impl IWMHeaderInfo2 { } pub unsafe fn GetMarkerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMarker(&self, windex: u16, pwszmarkername: ::windows_core::PWSTR, pcchmarkernamelen: *mut u16, pcnsmarkertime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetMarker)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwszmarkername), pcchmarkernamelen, pcnsmarkertime).ok() @@ -1169,7 +1169,7 @@ impl IWMHeaderInfo2 { } pub unsafe fn GetScriptCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScript(&self, windex: u16, pwsztype: ::windows_core::PWSTR, pcchtypelen: *mut u16, pwszcommand: ::windows_core::PWSTR, pcchcommandlen: *mut u16, pcnsscripttime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetScript)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwsztype), pcchtypelen, ::core::mem::transmute(pwszcommand), pcchcommandlen, pcnsscripttime).ok() @@ -1186,7 +1186,7 @@ impl IWMHeaderInfo2 { } pub unsafe fn GetCodecInfoCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodecInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodecInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodecInfo(&self, windex: u32, pcchname: *mut u16, pwszname: ::windows_core::PWSTR, pcchdescription: *mut u16, pwszdescription: ::windows_core::PWSTR, pcodectype: *mut WMT_CODEC_INFO_TYPE, pcbcodecinfo: *mut u16, pbcodecinfo: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCodecInfo)(::windows_core::Interface::as_raw(self), windex, pcchname, ::core::mem::transmute(pwszname), pcchdescription, ::core::mem::transmute(pwszdescription), pcodectype, pcbcodecinfo, pbcodecinfo).ok() @@ -1204,7 +1204,7 @@ pub struct IWMHeaderInfo2_Vtbl { impl IWMHeaderInfo3 { pub unsafe fn GetAttributeCount(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAttributeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetAttributeByIndex(&self, windex: u16, pwstreamnum: *mut u16, pwszname: ::windows_core::PWSTR, pcchnamelen: *mut u16, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetAttributeByIndex)(::windows_core::Interface::as_raw(self), windex, pwstreamnum, ::core::mem::transmute(pwszname), pcchnamelen, ptype, pvalue, pcblength).ok() @@ -1223,7 +1223,7 @@ impl IWMHeaderInfo3 { } pub unsafe fn GetMarkerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMarkerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMarker(&self, windex: u16, pwszmarkername: ::windows_core::PWSTR, pcchmarkernamelen: *mut u16, pcnsmarkertime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetMarker)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwszmarkername), pcchmarkernamelen, pcnsmarkertime).ok() @@ -1239,7 +1239,7 @@ impl IWMHeaderInfo3 { } pub unsafe fn GetScriptCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetScriptCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScript(&self, windex: u16, pwsztype: ::windows_core::PWSTR, pcchtypelen: *mut u16, pwszcommand: ::windows_core::PWSTR, pcchcommandlen: *mut u16, pcnsscripttime: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetScript)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwsztype), pcchtypelen, ::core::mem::transmute(pwszcommand), pcchcommandlen, pcnsscripttime).ok() @@ -1256,14 +1256,14 @@ impl IWMHeaderInfo3 { } pub unsafe fn GetCodecInfoCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodecInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCodecInfo(&self, windex: u32, pcchname: *mut u16, pwszname: ::windows_core::PWSTR, pcchdescription: *mut u16, pwszdescription: ::windows_core::PWSTR, pcodectype: *mut WMT_CODEC_INFO_TYPE, pcbcodecinfo: *mut u16, pbcodecinfo: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCodecInfo)(::windows_core::Interface::as_raw(self), windex, pcchname, ::core::mem::transmute(pwszname), pcchdescription, ::core::mem::transmute(pwszdescription), pcodectype, pcbcodecinfo, pbcodecinfo).ok() } pub unsafe fn GetAttributeCountEx(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeCountEx)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeCountEx)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetAttributeIndices(&self, wstreamnum: u16, pwszname: P0, pwlangindex: *const u16, pwindices: *mut u16, pwcount: *mut u16) -> ::windows_core::Result<()> where @@ -1327,7 +1327,7 @@ pub struct IWMIStreamProps_Vtbl { impl IWMImageInfo { pub unsafe fn GetImageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetImage(&self, windex: u32, pcchmimetype: *mut u16, pwszmimetype: ::windows_core::PWSTR, pcchdescription: *mut u16, pwszdescription: ::windows_core::PWSTR, pimagetype: *mut u16, pcbimagedata: *mut u32, pbimagedata: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetImage)(::windows_core::Interface::as_raw(self), windex, pcchmimetype, ::core::mem::transmute(pwszmimetype), pcchdescription, ::core::mem::transmute(pwszdescription), pimagetype, pcbimagedata, pbimagedata).ok() @@ -1389,7 +1389,7 @@ pub struct IWMIndexer2_Vtbl { impl IWMInputMediaProps { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, ptype: *mut WM_MEDIA_TYPE, pcbtype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetMediaType)(::windows_core::Interface::as_raw(self), ptype, pcbtype).ok() @@ -1416,7 +1416,7 @@ pub struct IWMInputMediaProps_Vtbl { impl IWMLanguageList { pub unsafe fn GetLanguageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLanguageDetails(&self, windex: u16, pwszlanguagestring: ::windows_core::PWSTR, pcchlanguagestringlength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageDetails)(::windows_core::Interface::as_raw(self), windex, ::core::mem::transmute(pwszlanguagestring), pcchlanguagestringlength).ok() @@ -1426,7 +1426,7 @@ impl IWMLanguageList { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddLanguageByRFC1766String)(::windows_core::Interface::as_raw(self), pwszlanguagestring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddLanguageByRFC1766String)(::windows_core::Interface::as_raw(self), pwszlanguagestring.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1499,7 +1499,7 @@ pub struct IWMLicenseRevocationAgent_Vtbl { impl IWMMediaProps { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, ptype: *mut WM_MEDIA_TYPE, pcbtype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMediaType)(::windows_core::Interface::as_raw(self), ptype, pcbtype).ok() @@ -1582,7 +1582,7 @@ impl IWMMutualExclusion { } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), guidtype).ok() @@ -1609,7 +1609,7 @@ impl IWMMutualExclusion2 { } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, guidtype: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetType)(::windows_core::Interface::as_raw(self), guidtype).ok() @@ -1625,7 +1625,7 @@ impl IWMMutualExclusion2 { } pub unsafe fn GetRecordCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddRecord(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddRecord)(::windows_core::Interface::as_raw(self)).ok() @@ -1672,7 +1672,7 @@ pub struct IWMMutualExclusion2_Vtbl { impl IWMOutputMediaProps { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, ptype: *mut WM_MEDIA_TYPE, pcbtype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetMediaType)(::windows_core::Interface::as_raw(self), ptype, pcbtype).ok() @@ -1699,7 +1699,7 @@ pub struct IWMOutputMediaProps_Vtbl { impl IWMPacketSize { pub unsafe fn GetMaxPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxPacketSize(&self, dwmaxpacketsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxPacketSize)(::windows_core::Interface::as_raw(self), dwmaxpacketsize).ok() @@ -1717,14 +1717,14 @@ pub struct IWMPacketSize_Vtbl { impl IWMPacketSize2 { pub unsafe fn GetMaxPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxPacketSize(&self, dwmaxpacketsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxPacketSize)(::windows_core::Interface::as_raw(self), dwmaxpacketsize).ok() } pub unsafe fn GetMinPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinPacketSize(&self, dwminpacketsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinPacketSize)(::windows_core::Interface::as_raw(self), dwminpacketsize).ok() @@ -1755,7 +1755,7 @@ pub struct IWMPlayerHook_Vtbl { impl IWMPlayerTimestampHook { pub unsafe fn MapTimestamp(&self, rtin: i64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapTimestamp)(::windows_core::Interface::as_raw(self), rtin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapTimestamp)(::windows_core::Interface::as_raw(self), rtin, &mut result__).map(|| result__) } } #[repr(C)] @@ -1769,7 +1769,7 @@ pub struct IWMPlayerTimestampHook_Vtbl { impl IWMProfile { pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self, pwszname: ::windows_core::PWSTR, pcchname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwszname), pcchname).ok() @@ -1791,15 +1791,15 @@ impl IWMProfile { } pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStream(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamByNumber(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStream(&self, pconfig: P0) -> ::windows_core::Result<()> where @@ -1824,15 +1824,15 @@ impl IWMProfile { } pub unsafe fn CreateNewStream(&self, guidstreamtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMutualExclusionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMutualExclusion(&self, dwmeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveMutualExclusion(&self, pme: P0) -> ::windows_core::Result<()> where @@ -1848,7 +1848,7 @@ impl IWMProfile { } pub unsafe fn CreateNewMutualExclusion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1879,7 +1879,7 @@ pub struct IWMProfile_Vtbl { impl IWMProfile2 { pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self, pwszname: ::windows_core::PWSTR, pcchname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwszname), pcchname).ok() @@ -1901,15 +1901,15 @@ impl IWMProfile2 { } pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStream(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamByNumber(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStream(&self, pconfig: P0) -> ::windows_core::Result<()> where @@ -1934,15 +1934,15 @@ impl IWMProfile2 { } pub unsafe fn CreateNewStream(&self, guidstreamtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMutualExclusionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMutualExclusion(&self, dwmeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveMutualExclusion(&self, pme: P0) -> ::windows_core::Result<()> where @@ -1958,11 +1958,11 @@ impl IWMProfile2 { } pub unsafe fn CreateNewMutualExclusion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProfileID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfileID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfileID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1976,7 +1976,7 @@ pub struct IWMProfile2_Vtbl { impl IWMProfile3 { pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self, pwszname: ::windows_core::PWSTR, pcchname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwszname), pcchname).ok() @@ -1998,15 +1998,15 @@ impl IWMProfile3 { } pub unsafe fn GetStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStream(&self, dwstreamindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), dwstreamindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamByNumber(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamByNumber)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveStream(&self, pconfig: P0) -> ::windows_core::Result<()> where @@ -2031,15 +2031,15 @@ impl IWMProfile3 { } pub unsafe fn CreateNewStream(&self, guidstreamtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateNewStream)(::windows_core::Interface::as_raw(self), guidstreamtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMutualExclusionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMutualExclusionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMutualExclusion(&self, dwmeindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMutualExclusion)(::windows_core::Interface::as_raw(self), dwmeindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveMutualExclusion(&self, pme: P0) -> ::windows_core::Result<()> where @@ -2055,26 +2055,26 @@ impl IWMProfile3 { } pub unsafe fn CreateNewMutualExclusion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateNewMutualExclusion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProfileID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProfileID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProfileID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStorageFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStorageFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStorageFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStorageFormat(&self, nstorageformat: WMT_STORAGE_FORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStorageFormat)(::windows_core::Interface::as_raw(self), nstorageformat).ok() } pub unsafe fn GetBandwidthSharingCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBandwidthSharingCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandwidthSharingCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBandwidthSharing(&self, dwbsindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBandwidthSharing)(::windows_core::Interface::as_raw(self), dwbsindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandwidthSharing)(::windows_core::Interface::as_raw(self), dwbsindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBandwidthSharing(&self, pbs: P0) -> ::windows_core::Result<()> where @@ -2090,11 +2090,11 @@ impl IWMProfile3 { } pub unsafe fn CreateNewBandwidthSharing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNewBandwidthSharing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNewBandwidthSharing)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStreamPrioritization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStreamPrioritization(&self, psp: P0) -> ::windows_core::Result<()> where @@ -2107,11 +2107,11 @@ impl IWMProfile3 { } pub unsafe fn CreateNewStreamPrioritization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNewStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNewStreamPrioritization)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExpectedPacketCount(&self, msduration: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpectedPacketCount)(::windows_core::Interface::as_raw(self), msduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpectedPacketCount)(::windows_core::Interface::as_raw(self), msduration, &mut result__).map(|| result__) } } #[repr(C)] @@ -2136,18 +2136,18 @@ pub struct IWMProfile3_Vtbl { impl IWMProfileManager { pub unsafe fn CreateEmptyProfile(&self, dwversion: WMT_VERSION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEmptyProfile)(::windows_core::Interface::as_raw(self), dwversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEmptyProfile)(::windows_core::Interface::as_raw(self), dwversion, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadProfileByID(&self, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadProfileByID)(::windows_core::Interface::as_raw(self), guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadProfileByID)(::windows_core::Interface::as_raw(self), guidprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadProfileByData(&self, pwszprofile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadProfileByData)(::windows_core::Interface::as_raw(self), pwszprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadProfileByData)(::windows_core::Interface::as_raw(self), pwszprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveProfile(&self, piwmprofile: P0, pwszprofile: P1, pdwlength: *mut u32) -> ::windows_core::Result<()> where @@ -2158,11 +2158,11 @@ impl IWMProfileManager { } pub unsafe fn GetSystemProfileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemProfileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemProfileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LoadSystemProfile(&self, dwprofileindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadSystemProfile)(::windows_core::Interface::as_raw(self), dwprofileindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadSystemProfile)(::windows_core::Interface::as_raw(self), dwprofileindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2181,18 +2181,18 @@ pub struct IWMProfileManager_Vtbl { impl IWMProfileManager2 { pub unsafe fn CreateEmptyProfile(&self, dwversion: WMT_VERSION) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateEmptyProfile)(::windows_core::Interface::as_raw(self), dwversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateEmptyProfile)(::windows_core::Interface::as_raw(self), dwversion, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadProfileByID(&self, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoadProfileByID)(::windows_core::Interface::as_raw(self), guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadProfileByID)(::windows_core::Interface::as_raw(self), guidprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadProfileByData(&self, pwszprofile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoadProfileByData)(::windows_core::Interface::as_raw(self), pwszprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadProfileByData)(::windows_core::Interface::as_raw(self), pwszprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveProfile(&self, piwmprofile: P0, pwszprofile: P1, pdwlength: *mut u32) -> ::windows_core::Result<()> where @@ -2203,11 +2203,11 @@ impl IWMProfileManager2 { } pub unsafe fn GetSystemProfileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemProfileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemProfileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LoadSystemProfile(&self, dwprofileindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoadSystemProfile)(::windows_core::Interface::as_raw(self), dwprofileindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadSystemProfile)(::windows_core::Interface::as_raw(self), dwprofileindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSystemProfileVersion(&self, pdwversion: *mut WMT_VERSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemProfileVersion)(::windows_core::Interface::as_raw(self), pdwversion).ok() @@ -2313,11 +2313,11 @@ impl IWMReader { } pub unsafe fn GetOutputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputProps(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputProps(&self, dwoutputnum: u32, poutput: P0) -> ::windows_core::Result<()> where @@ -2327,11 +2327,11 @@ impl IWMReader { } pub unsafe fn GetOutputFormatCount(&self, dwoutputnumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnumber, &mut result__).map(|| result__) } pub unsafe fn GetOutputFormat(&self, dwoutputnumber: u32, dwformatnumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnumber, dwformatnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnumber, dwformatnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self, cnsstart: u64, cnsduration: u64, frate: f32, pvcontext: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self), cnsstart, cnsduration, frate, pvcontext).ok() @@ -2390,7 +2390,7 @@ impl IWMReaderAdvanced { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -2403,14 +2403,14 @@ impl IWMReaderAdvanced { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -2420,7 +2420,7 @@ impl IWMReaderAdvanced { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -2430,7 +2430,7 @@ impl IWMReaderAdvanced { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -2440,7 +2440,7 @@ impl IWMReaderAdvanced { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -2450,7 +2450,7 @@ impl IWMReaderAdvanced { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -2460,11 +2460,11 @@ impl IWMReaderAdvanced { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -2506,7 +2506,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -2519,14 +2519,14 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -2536,7 +2536,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -2546,7 +2546,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -2556,7 +2556,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -2566,7 +2566,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -2576,11 +2576,11 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -2590,7 +2590,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetPlayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferProgress(&self, pdwpercent: *mut u32, pcnsbuffering: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBufferProgress)(::windows_core::Interface::as_raw(self), pdwpercent, pcnsbuffering).ok() @@ -2600,7 +2600,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetSaveAsProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SaveFileAs(&self, pwszfilename: P0) -> ::windows_core::Result<()> where @@ -2637,7 +2637,7 @@ impl IWMReaderAdvanced2 { } pub unsafe fn GetLogClientID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopBuffering(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StopBuffering)(::windows_core::Interface::as_raw(self)).ok() @@ -2685,7 +2685,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -2698,14 +2698,14 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -2715,7 +2715,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -2725,7 +2725,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -2735,7 +2735,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -2745,7 +2745,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -2755,11 +2755,11 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -2769,7 +2769,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetPlayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferProgress(&self, pdwpercent: *mut u32, pcnsbuffering: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetBufferProgress)(::windows_core::Interface::as_raw(self), pdwpercent, pcnsbuffering).ok() @@ -2779,7 +2779,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetSaveAsProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SaveFileAs(&self, pwszfilename: P0) -> ::windows_core::Result<()> where @@ -2816,7 +2816,7 @@ impl IWMReaderAdvanced3 { } pub unsafe fn GetLogClientID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopBuffering(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.StopBuffering)(::windows_core::Interface::as_raw(self)).ok() @@ -2854,7 +2854,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -2867,14 +2867,14 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -2884,7 +2884,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -2894,7 +2894,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -2904,7 +2904,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -2914,7 +2914,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -2924,11 +2924,11 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -2938,7 +2938,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetPlayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferProgress(&self, pdwpercent: *mut u32, pcnsbuffering: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetBufferProgress)(::windows_core::Interface::as_raw(self), pdwpercent, pcnsbuffering).ok() @@ -2948,7 +2948,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetSaveAsProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SaveFileAs(&self, pwszfilename: P0) -> ::windows_core::Result<()> where @@ -2985,7 +2985,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetLogClientID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopBuffering(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.StopBuffering)(::windows_core::Interface::as_raw(self)).ok() @@ -3006,18 +3006,18 @@ impl IWMReaderAdvanced4 { } pub unsafe fn GetLanguageCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetLanguage(&self, dwoutputnum: u32, wlanguage: u16, pwszlanguagestring: ::windows_core::PWSTR, pcchlanguagestringlength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), dwoutputnum, wlanguage, ::core::mem::transmute(pwszlanguagestring), pcchlanguagestringlength).ok() } pub unsafe fn GetMaxSpeedFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingFastCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddLogParam(&self, wsznamespace: P0, wszname: P1, wszvalue: P2) -> ::windows_core::Result<()> where @@ -3032,7 +3032,7 @@ impl IWMReaderAdvanced4 { } pub unsafe fn CanSaveFileAs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CancelSaveFileAs(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelSaveFileAs)(::windows_core::Interface::as_raw(self)).ok() @@ -3066,7 +3066,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -3079,14 +3079,14 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -3096,7 +3096,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -3106,7 +3106,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -3116,7 +3116,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -3126,7 +3126,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -3136,11 +3136,11 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -3150,7 +3150,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetPlayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferProgress(&self, pdwpercent: *mut u32, pcnsbuffering: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetBufferProgress)(::windows_core::Interface::as_raw(self), pdwpercent, pcnsbuffering).ok() @@ -3160,7 +3160,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetSaveAsProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SaveFileAs(&self, pwszfilename: P0) -> ::windows_core::Result<()> where @@ -3197,7 +3197,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetLogClientID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopBuffering(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.StopBuffering)(::windows_core::Interface::as_raw(self)).ok() @@ -3218,18 +3218,18 @@ impl IWMReaderAdvanced5 { } pub unsafe fn GetLanguageCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetLanguage(&self, dwoutputnum: u32, wlanguage: u16, pwszlanguagestring: ::windows_core::PWSTR, pcchlanguagestringlength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), dwoutputnum, wlanguage, ::core::mem::transmute(pwszlanguagestring), pcchlanguagestringlength).ok() } pub unsafe fn GetMaxSpeedFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingFastCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddLogParam(&self, wsznamespace: P0, wszname: P1, wszvalue: P2) -> ::windows_core::Result<()> where @@ -3244,7 +3244,7 @@ impl IWMReaderAdvanced5 { } pub unsafe fn CanSaveFileAs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CancelSaveFileAs(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CancelSaveFileAs)(::windows_core::Interface::as_raw(self)).ok() @@ -3276,7 +3276,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetUserProvidedClock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetUserProvidedClock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeliverTime(&self, cnstime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeliverTime)(::windows_core::Interface::as_raw(self), cnstime).ok() @@ -3289,14 +3289,14 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetManualStreamSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetManualStreamSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamsSelected(&self, cstreamcount: u16, pwstreamnumbers: *const u16, pselections: *const WMT_STREAM_SELECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetStreamsSelected)(::windows_core::Interface::as_raw(self), cstreamcount, pwstreamnumbers, pselections).ok() } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReceiveSelectionCallbacks(&self, fgetcallbacks: P0) -> ::windows_core::Result<()> where @@ -3306,7 +3306,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetReceiveSelectionCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReceiveSelectionCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReceiveStreamSamples(&self, wstreamnum: u16, freceivestreamsamples: P0) -> ::windows_core::Result<()> where @@ -3316,7 +3316,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetReceiveStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetReceiveStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, fallocate: P0) -> ::windows_core::Result<()> where @@ -3326,7 +3326,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -3336,7 +3336,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, pstatistics: *mut WM_READER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStatistics)(::windows_core::Interface::as_raw(self), pstatistics).ok() @@ -3346,11 +3346,11 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } pub unsafe fn NotifyLateDelivery(&self, cnslateness: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.NotifyLateDelivery)(::windows_core::Interface::as_raw(self), cnslateness).ok() @@ -3360,7 +3360,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetPlayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPlayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBufferProgress(&self, pdwpercent: *mut u32, pcnsbuffering: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBufferProgress)(::windows_core::Interface::as_raw(self), pdwpercent, pcnsbuffering).ok() @@ -3370,7 +3370,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetSaveAsProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSaveAsProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SaveFileAs(&self, pwszfilename: P0) -> ::windows_core::Result<()> where @@ -3407,7 +3407,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetLogClientID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLogClientID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StopBuffering(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.StopBuffering)(::windows_core::Interface::as_raw(self)).ok() @@ -3428,18 +3428,18 @@ impl IWMReaderAdvanced6 { } pub unsafe fn GetLanguageCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLanguageCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetLanguage(&self, dwoutputnum: u32, wlanguage: u16, pwszlanguagestring: ::windows_core::PWSTR, pcchlanguagestringlength: *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetLanguage)(::windows_core::Interface::as_raw(self), dwoutputnum, wlanguage, ::core::mem::transmute(pwszlanguagestring), pcchlanguagestringlength).ok() } pub unsafe fn GetMaxSpeedFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMaxSpeedFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUsingFastCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsUsingFastCache)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddLogParam(&self, wsznamespace: P0, wszname: P1, wszvalue: P2) -> ::windows_core::Result<()> where @@ -3454,7 +3454,7 @@ impl IWMReaderAdvanced6 { } pub unsafe fn CanSaveFileAs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanSaveFileAs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CancelSaveFileAs(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CancelSaveFileAs)(::windows_core::Interface::as_raw(self)).ok() @@ -3555,7 +3555,7 @@ pub struct IWMReaderCallbackAdvanced_Vtbl { impl IWMReaderNetworkConfig { pub unsafe fn GetBufferingTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferingTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferingTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferingTime(&self, cnsbufferingtime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferingTime)(::windows_core::Interface::as_raw(self), cnsbufferingtime).ok() @@ -3571,7 +3571,7 @@ impl IWMReaderNetworkConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProxySettings)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProxySettings)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, pwszprotocol: P0, proxysetting: WMT_PROXY_SETTINGS) -> ::windows_core::Result<()> where @@ -3597,7 +3597,7 @@ impl IWMReaderNetworkConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProxyPort)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProxyPort)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxyPort(&self, pwszprotocol: P0, dwport: u32) -> ::windows_core::Result<()> where @@ -3623,7 +3623,7 @@ impl IWMReaderNetworkConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProxyBypassForLocal)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProxyBypassForLocal)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxyBypassForLocal(&self, pwszprotocol: P0, fbypassforlocal: P1) -> ::windows_core::Result<()> where @@ -3634,7 +3634,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetForceRerunAutoProxyDetection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetForceRerunAutoProxyDetection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForceRerunAutoProxyDetection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceRerunAutoProxyDetection(&self, fforcererundetection: P0) -> ::windows_core::Result<()> where @@ -3644,7 +3644,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetEnableMulticast(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableMulticast)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableMulticast)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableMulticast(&self, fenablemulticast: P0) -> ::windows_core::Result<()> where @@ -3654,7 +3654,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetEnableHTTP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableHTTP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableHTTP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableHTTP(&self, fenablehttp: P0) -> ::windows_core::Result<()> where @@ -3664,7 +3664,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetEnableUDP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableUDP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableUDP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableUDP(&self, fenableudp: P0) -> ::windows_core::Result<()> where @@ -3674,7 +3674,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetEnableTCP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableTCP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableTCP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableTCP(&self, fenabletcp: P0) -> ::windows_core::Result<()> where @@ -3687,14 +3687,14 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetConnectionBandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionBandwidth(&self, dwconnectionbandwidth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectionBandwidth)(::windows_core::Interface::as_raw(self), dwconnectionbandwidth).ok() } pub unsafe fn GetNumProtocolsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProtocolName(&self, dwprotocolnum: u32, pwszprotocolname: ::windows_core::PWSTR, pcchprotocolname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProtocolName)(::windows_core::Interface::as_raw(self), dwprotocolnum, ::core::mem::transmute(pwszprotocolname), pcchprotocolname).ok() @@ -3710,7 +3710,7 @@ impl IWMReaderNetworkConfig { } pub unsafe fn GetLoggingUrlCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLoggingUrlCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLoggingUrlCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetLoggingUrlList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetLoggingUrlList)(::windows_core::Interface::as_raw(self)).ok() @@ -3759,7 +3759,7 @@ pub struct IWMReaderNetworkConfig_Vtbl { impl IWMReaderNetworkConfig2 { pub unsafe fn GetBufferingTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBufferingTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBufferingTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferingTime(&self, cnsbufferingtime: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBufferingTime)(::windows_core::Interface::as_raw(self), cnsbufferingtime).ok() @@ -3775,7 +3775,7 @@ impl IWMReaderNetworkConfig2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProxySettings)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProxySettings)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, pwszprotocol: P0, proxysetting: WMT_PROXY_SETTINGS) -> ::windows_core::Result<()> where @@ -3801,7 +3801,7 @@ impl IWMReaderNetworkConfig2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProxyPort)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProxyPort)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxyPort(&self, pwszprotocol: P0, dwport: u32) -> ::windows_core::Result<()> where @@ -3827,7 +3827,7 @@ impl IWMReaderNetworkConfig2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProxyBypassForLocal)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProxyBypassForLocal)(::windows_core::Interface::as_raw(self), pwszprotocol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetProxyBypassForLocal(&self, pwszprotocol: P0, fbypassforlocal: P1) -> ::windows_core::Result<()> where @@ -3838,7 +3838,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetForceRerunAutoProxyDetection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetForceRerunAutoProxyDetection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetForceRerunAutoProxyDetection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceRerunAutoProxyDetection(&self, fforcererundetection: P0) -> ::windows_core::Result<()> where @@ -3848,7 +3848,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableMulticast(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnableMulticast)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnableMulticast)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableMulticast(&self, fenablemulticast: P0) -> ::windows_core::Result<()> where @@ -3858,7 +3858,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableHTTP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnableHTTP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnableHTTP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableHTTP(&self, fenablehttp: P0) -> ::windows_core::Result<()> where @@ -3868,7 +3868,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableUDP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnableUDP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnableUDP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableUDP(&self, fenableudp: P0) -> ::windows_core::Result<()> where @@ -3878,7 +3878,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableTCP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnableTCP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnableTCP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableTCP(&self, fenabletcp: P0) -> ::windows_core::Result<()> where @@ -3891,14 +3891,14 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetConnectionBandwidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectionBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectionBandwidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionBandwidth(&self, dwconnectionbandwidth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetConnectionBandwidth)(::windows_core::Interface::as_raw(self), dwconnectionbandwidth).ok() } pub unsafe fn GetNumProtocolsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumProtocolsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProtocolName(&self, dwprotocolnum: u32, pwszprotocolname: ::windows_core::PWSTR, pcchprotocolname: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSupportedProtocolName)(::windows_core::Interface::as_raw(self), dwprotocolnum, ::core::mem::transmute(pwszprotocolname), pcchprotocolname).ok() @@ -3914,14 +3914,14 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetLoggingUrlCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLoggingUrlCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLoggingUrlCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetLoggingUrlList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ResetLoggingUrlList)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetEnableContentCaching(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableContentCaching)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableContentCaching)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableContentCaching(&self, fenablecontentcaching: P0) -> ::windows_core::Result<()> where @@ -3931,7 +3931,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableFastCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableFastCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableFastCache)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableFastCache(&self, fenablefastcache: P0) -> ::windows_core::Result<()> where @@ -3941,21 +3941,21 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetAcceleratedStreamingDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAcceleratedStreamingDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAcceleratedStreamingDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAcceleratedStreamingDuration(&self, cnsaccelduration: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAcceleratedStreamingDuration)(::windows_core::Interface::as_raw(self), cnsaccelduration).ok() } pub unsafe fn GetAutoReconnectLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoReconnectLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoReconnectLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoReconnectLimit(&self, dwautoreconnectlimit: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoReconnectLimit)(::windows_core::Interface::as_raw(self), dwautoreconnectlimit).ok() } pub unsafe fn GetEnableResends(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableResends)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableResends)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableResends(&self, fenableresends: P0) -> ::windows_core::Result<()> where @@ -3965,7 +3965,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetEnableThinning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnableThinning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnableThinning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableThinning(&self, fenablethinning: P0) -> ::windows_core::Result<()> where @@ -3975,7 +3975,7 @@ impl IWMReaderNetworkConfig2 { } pub unsafe fn GetMaxNetPacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxNetPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxNetPacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4007,7 +4007,7 @@ impl IWMReaderPlaylistBurn { } pub unsafe fn GetInitResults(&self, cfiles: u32) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInitResults)(::windows_core::Interface::as_raw(self), cfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInitResults)(::windows_core::Interface::as_raw(self), cfiles, &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -4033,7 +4033,7 @@ impl IWMReaderStreamClock { } pub unsafe fn SetTimer(&self, cnswhen: u64, pvparam: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetTimer)(::windows_core::Interface::as_raw(self), cnswhen, pvparam, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetTimer)(::windows_core::Interface::as_raw(self), cnswhen, pvparam, &mut result__).map(|| result__) } pub unsafe fn KillTimer(&self, dwtimerid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KillTimer)(::windows_core::Interface::as_raw(self), dwtimerid).ok() @@ -4052,7 +4052,7 @@ pub struct IWMReaderStreamClock_Vtbl { impl IWMReaderTimecode { pub unsafe fn GetTimecodeRangeCount(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimecodeRangeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimecodeRangeCount)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetTimecodeRangeBounds(&self, wstreamnum: u16, wrangenum: u16, pstarttimecode: *mut u32, pendtimecode: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimecodeRangeBounds)(::windows_core::Interface::as_raw(self), wstreamnum, wrangenum, pstarttimecode, pendtimecode).ok() @@ -4109,19 +4109,19 @@ pub struct IWMRegisterCallback_Vtbl { impl IWMRegisteredDevice { pub unsafe fn GetDeviceSerialNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceSerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceSerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributeByIndex(&self, dwindex: u32, pbstrname: *mut ::windows_core::BSTR, pbstrvalue: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttributeByIndex)(::windows_core::Interface::as_raw(self), dwindex, ::core::mem::transmute(pbstrname), ::core::mem::transmute(pbstrvalue)).ok() @@ -4131,7 +4131,7 @@ impl IWMRegisteredDevice { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAttributeByName(&self, bstrname: P0, bstrvalue: P1) -> ::windows_core::Result<()> where @@ -4148,19 +4148,19 @@ impl IWMRegisteredDevice { } pub unsafe fn IsValid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsValid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsValid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsApproved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsApproved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsApproved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsWmdrmCompliant(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWmdrmCompliant)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWmdrmCompliant)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOpened(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpened)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpened)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Open(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self)).ok() @@ -4193,11 +4193,11 @@ pub struct IWMRegisteredDevice_Vtbl { impl IWMSBufferAllocator { pub unsafe fn AllocateBuffer(&self, dwmaxbuffersize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateBuffer)(::windows_core::Interface::as_raw(self), dwmaxbuffersize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateBuffer)(::windows_core::Interface::as_raw(self), dwmaxbuffersize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllocatePageSizeBuffer(&self, dwmaxbuffersize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocatePageSizeBuffer)(::windows_core::Interface::as_raw(self), dwmaxbuffersize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocatePageSizeBuffer)(::windows_core::Interface::as_raw(self), dwmaxbuffersize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4221,7 +4221,7 @@ impl IWMSInternalAdminNetSource { } pub unsafe fn GetNetSourceCreator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetSourceCreator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetSourceCreator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, bstrrealm: P0, bstrname: P1, bstrpassword: P2, fpersist: P3, fconfirmedgood: P4) -> ::windows_core::Result<()> where @@ -4247,7 +4247,7 @@ impl IWMSInternalAdminNetSource { } pub unsafe fn GetCredentialFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCredentialFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCredentialFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentialFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCredentialFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -4267,7 +4267,7 @@ impl IWMSInternalAdminNetSource { } pub unsafe fn IsUsingIE(&self, dwproxycontext: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUsingIE)(::windows_core::Interface::as_raw(self), dwproxycontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUsingIE)(::windows_core::Interface::as_raw(self), dwproxycontext, &mut result__).map(|| result__) } } #[repr(C)] @@ -4376,7 +4376,7 @@ impl IWMSInternalAdminNetSource3 { } pub unsafe fn GetNetSourceCreator2(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetSourceCreator2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetSourceCreator2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindProxyForURLEx2(&self, bstrprotocol: P0, bstrhost: P1, bstrurl: P2, pfproxyenabled: *mut super::super::Foundation::BOOL, pbstrproxyserver: *mut ::windows_core::BSTR, pdwproxyport: *mut u32, pqwproxycontext: *mut u64) -> ::windows_core::Result<()> where @@ -4394,7 +4394,7 @@ impl IWMSInternalAdminNetSource3 { } pub unsafe fn IsUsingIE2(&self, qwproxycontext: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUsingIE2)(::windows_core::Interface::as_raw(self), qwproxycontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUsingIE2)(::windows_core::Interface::as_raw(self), qwproxycontext, &mut result__).map(|| result__) } pub unsafe fn SetCredentialsEx2(&self, bstrrealm: P0, bstrurl: P1, fproxy: P2, bstrname: P3, bstrpassword: P4, fpersist: P5, fconfirmedgood: P6, fcleartextauthentication: P7) -> ::windows_core::Result<()> where @@ -4436,15 +4436,15 @@ pub struct IWMSInternalAdminNetSource3_Vtbl { impl IWMSecureChannel { pub unsafe fn GetCertCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCertCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCertCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCert(&self, dwindex: u32) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCert)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCert)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn GetSharedData(&self, dwcertindex: u32, pbshareddata: *const u8, pbcert: *const u8) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSharedData)(::windows_core::Interface::as_raw(self), dwcertindex, pbshareddata, pbcert, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSharedData)(::windows_core::Interface::as_raw(self), dwcertindex, pbshareddata, pbcert, &mut result__).map(|| result__) } pub unsafe fn WMSC_AddCertificate(&self, pcert: P0) -> ::windows_core::Result<()> where @@ -4463,7 +4463,7 @@ impl IWMSecureChannel { } pub unsafe fn WMSC_IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WMSC_IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WMSC_IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WMSC_Disconnect(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WMSC_Disconnect)(::windows_core::Interface::as_raw(self)).ok() @@ -4521,11 +4521,11 @@ pub struct IWMStatusCallback_Vtbl { impl IWMStreamConfig { pub unsafe fn GetStreamType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamNumber(&self, wstreamnum: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamNumber)(::windows_core::Interface::as_raw(self), wstreamnum).ok() @@ -4550,14 +4550,14 @@ impl IWMStreamConfig { } pub unsafe fn GetBitrate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBitrate(&self, pdwbitrate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBitrate)(::windows_core::Interface::as_raw(self), pdwbitrate).ok() } pub unsafe fn GetBufferWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferWindow(&self, msbufferwindow: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferWindow)(::windows_core::Interface::as_raw(self), msbufferwindow).ok() @@ -4584,11 +4584,11 @@ pub struct IWMStreamConfig_Vtbl { impl IWMStreamConfig2 { pub unsafe fn GetStreamType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamNumber(&self, wstreamnum: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStreamNumber)(::windows_core::Interface::as_raw(self), wstreamnum).ok() @@ -4613,21 +4613,21 @@ impl IWMStreamConfig2 { } pub unsafe fn GetBitrate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBitrate(&self, pdwbitrate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBitrate)(::windows_core::Interface::as_raw(self), pdwbitrate).ok() } pub unsafe fn GetBufferWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferWindow(&self, msbufferwindow: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBufferWindow)(::windows_core::Interface::as_raw(self), msbufferwindow).ok() } pub unsafe fn GetTransportType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransportType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransportType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransportType(&self, ntransporttype: WMT_TRANSPORT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransportType)(::windows_core::Interface::as_raw(self), ntransporttype).ok() @@ -4637,7 +4637,7 @@ impl IWMStreamConfig2 { } pub unsafe fn GetDataUnitExtensionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataUnitExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataUnitExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataUnitExtension(&self, wdataunitextensionnumber: u16, pguidextensionsystemid: *mut ::windows_core::GUID, pcbextensiondatasize: *mut u16, pbextensionsysteminfo: *mut u8, pcbextensionsysteminfo: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDataUnitExtension)(::windows_core::Interface::as_raw(self), wdataunitextensionnumber, pguidextensionsystemid, pcbextensiondatasize, pbextensionsysteminfo, pcbextensionsysteminfo).ok() @@ -4662,11 +4662,11 @@ pub struct IWMStreamConfig2_Vtbl { impl IWMStreamConfig3 { pub unsafe fn GetStreamType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStreamNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStreamNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamNumber(&self, wstreamnum: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetStreamNumber)(::windows_core::Interface::as_raw(self), wstreamnum).ok() @@ -4691,21 +4691,21 @@ impl IWMStreamConfig3 { } pub unsafe fn GetBitrate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBitrate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBitrate(&self, pdwbitrate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetBitrate)(::windows_core::Interface::as_raw(self), pdwbitrate).ok() } pub unsafe fn GetBufferWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBufferWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferWindow(&self, msbufferwindow: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetBufferWindow)(::windows_core::Interface::as_raw(self), msbufferwindow).ok() } pub unsafe fn GetTransportType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransportType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransportType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransportType(&self, ntransporttype: WMT_TRANSPORT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTransportType)(::windows_core::Interface::as_raw(self), ntransporttype).ok() @@ -4715,7 +4715,7 @@ impl IWMStreamConfig3 { } pub unsafe fn GetDataUnitExtensionCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDataUnitExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDataUnitExtensionCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataUnitExtension(&self, wdataunitextensionnumber: u16, pguidextensionsystemid: *mut ::windows_core::GUID, pcbextensiondatasize: *mut u16, pbextensionsysteminfo: *mut u8, pcbextensionsysteminfo: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDataUnitExtension)(::windows_core::Interface::as_raw(self), wdataunitextensionnumber, pguidextensionsystemid, pcbextensiondatasize, pbextensionsysteminfo, pcbextensionsysteminfo).ok() @@ -4804,7 +4804,7 @@ impl IWMSyncReader { } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReadStreamSamples(&self, wstreamnum: u16, fcompressed: P0) -> ::windows_core::Result<()> where @@ -4814,7 +4814,7 @@ impl IWMSyncReader { } pub unsafe fn GetReadStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReadStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReadStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputSetting(&self, dwoutputnum: u32, pszname: P0, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> where @@ -4830,11 +4830,11 @@ impl IWMSyncReader { } pub unsafe fn GetOutputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputProps(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputProps(&self, dwoutputnum: u32, poutput: P0) -> ::windows_core::Result<()> where @@ -4844,27 +4844,27 @@ impl IWMSyncReader { } pub unsafe fn GetOutputFormatCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputFormat(&self, dwoutputnum: u32, dwformatnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnum, dwformatnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnum, dwformatnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputNumberForStream(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputNumberForStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputNumberForStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStreamNumberForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreamNumberForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreamNumberForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenStream(&self, pstream: P0) -> ::windows_core::Result<()> @@ -4929,7 +4929,7 @@ impl IWMSyncReader2 { } pub unsafe fn GetStreamSelected(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamSelected)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn SetReadStreamSamples(&self, wstreamnum: u16, fcompressed: P0) -> ::windows_core::Result<()> where @@ -4939,7 +4939,7 @@ impl IWMSyncReader2 { } pub unsafe fn GetReadStreamSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReadStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReadStreamSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputSetting(&self, dwoutputnum: u32, pszname: P0, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> where @@ -4955,11 +4955,11 @@ impl IWMSyncReader2 { } pub unsafe fn GetOutputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOutputProps(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutputProps)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputProps(&self, dwoutputnum: u32, poutput: P0) -> ::windows_core::Result<()> where @@ -4969,27 +4969,27 @@ impl IWMSyncReader2 { } pub unsafe fn GetOutputFormatCount(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutputFormatCount)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetOutputFormat(&self, dwoutputnum: u32, dwformatnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnum, dwformatnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutputFormat)(::windows_core::Interface::as_raw(self), dwoutputnum, dwformatnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputNumberForStream(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutputNumberForStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutputNumberForStream)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetStreamNumberForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStreamNumberForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStreamNumberForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).map(|| result__) } pub unsafe fn GetMaxOutputSampleSize(&self, dwoutput: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxOutputSampleSize)(::windows_core::Interface::as_raw(self), dwoutput, &mut result__).map(|| result__) } pub unsafe fn GetMaxStreamSampleSize(&self, wstream: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxStreamSampleSize)(::windows_core::Interface::as_raw(self), wstream, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenStream(&self, pstream: P0) -> ::windows_core::Result<()> @@ -5003,7 +5003,7 @@ impl IWMSyncReader2 { } pub unsafe fn SetRangeByFrameEx(&self, wstreamnum: u16, qwframenumber: u64, cframestoread: i64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetRangeByFrameEx)(::windows_core::Interface::as_raw(self), wstreamnum, qwframenumber, cframestoread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetRangeByFrameEx)(::windows_core::Interface::as_raw(self), wstreamnum, qwframenumber, cframestoread, &mut result__).map(|| result__) } pub unsafe fn SetAllocateForOutput(&self, dwoutputnum: u32, pallocator: P0) -> ::windows_core::Result<()> where @@ -5013,7 +5013,7 @@ impl IWMSyncReader2 { } pub unsafe fn GetAllocateForOutput(&self, dwoutputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateForOutput)(::windows_core::Interface::as_raw(self), dwoutputnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAllocateForStream(&self, wstreamnum: u16, pallocator: P0) -> ::windows_core::Result<()> where @@ -5023,7 +5023,7 @@ impl IWMSyncReader2 { } pub unsafe fn GetAllocateForStream(&self, dwsreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateForStream)(::windows_core::Interface::as_raw(self), dwsreamnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5042,7 +5042,7 @@ pub struct IWMSyncReader2_Vtbl { impl IWMVideoMediaProps { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMediaType(&self, ptype: *mut WM_MEDIA_TYPE, pcbtype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetMediaType)(::windows_core::Interface::as_raw(self), ptype, pcbtype).ok() @@ -5052,14 +5052,14 @@ impl IWMVideoMediaProps { } pub unsafe fn GetMaxKeyFrameSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxKeyFrameSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxKeyFrameSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxKeyFrameSpacing(&self, lltime: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxKeyFrameSpacing)(::windows_core::Interface::as_raw(self), lltime).ok() } pub unsafe fn GetQuality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQuality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQuality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuality(&self, dwquality: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuality)(::windows_core::Interface::as_raw(self), dwquality).ok() @@ -5079,7 +5079,7 @@ pub struct IWMVideoMediaProps_Vtbl { impl IWMWatermarkInfo { pub unsafe fn GetWatermarkEntryCount(&self, wmettype: WMT_WATERMARK_ENTRY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWatermarkEntryCount)(::windows_core::Interface::as_raw(self), wmettype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWatermarkEntryCount)(::windows_core::Interface::as_raw(self), wmettype, &mut result__).map(|| result__) } pub unsafe fn GetWatermarkEntry(&self, wmettype: WMT_WATERMARK_ENTRY_TYPE, dwentrynum: u32, pentry: *mut WMT_WATERMARK_ENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetWatermarkEntry)(::windows_core::Interface::as_raw(self), wmettype, dwentrynum, pentry).ok() @@ -5112,11 +5112,11 @@ impl IWMWriter { } pub unsafe fn GetInputCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputProps(&self, dwinputnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputProps)(::windows_core::Interface::as_raw(self), dwinputnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputProps)(::windows_core::Interface::as_raw(self), dwinputnum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputProps(&self, dwinputnum: u32, pinput: P0) -> ::windows_core::Result<()> where @@ -5126,11 +5126,11 @@ impl IWMWriter { } pub unsafe fn GetInputFormatCount(&self, dwinputnumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputFormatCount)(::windows_core::Interface::as_raw(self), dwinputnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputFormatCount)(::windows_core::Interface::as_raw(self), dwinputnumber, &mut result__).map(|| result__) } pub unsafe fn GetInputFormat(&self, dwinputnumber: u32, dwformatnumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputFormat)(::windows_core::Interface::as_raw(self), dwinputnumber, dwformatnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputFormat)(::windows_core::Interface::as_raw(self), dwinputnumber, dwformatnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginWriting(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginWriting)(::windows_core::Interface::as_raw(self)).ok() @@ -5140,7 +5140,7 @@ impl IWMWriter { } pub unsafe fn AllocateSample(&self, dwsamplesize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), dwsamplesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateSample)(::windows_core::Interface::as_raw(self), dwsamplesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WriteSample(&self, dwinputnum: u32, cnssampletime: u64, dwflags: u32, psample: P0) -> ::windows_core::Result<()> where @@ -5175,11 +5175,11 @@ pub struct IWMWriter_Vtbl { impl IWMWriterAdvanced { pub unsafe fn GetSinkCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSink(&self, dwsinknum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSink(&self, psink: P0) -> ::windows_core::Result<()> where @@ -5207,11 +5207,11 @@ impl IWMWriterAdvanced { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWriterTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, wstreamnum: u16, pstats: *mut WM_WRITER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatistics)(::windows_core::Interface::as_raw(self), wstreamnum, pstats).ok() @@ -5221,7 +5221,7 @@ impl IWMWriterAdvanced { } pub unsafe fn GetSyncTolerance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5245,11 +5245,11 @@ pub struct IWMWriterAdvanced_Vtbl { impl IWMWriterAdvanced2 { pub unsafe fn GetSinkCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSink(&self, dwsinknum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSink(&self, psink: P0) -> ::windows_core::Result<()> where @@ -5277,11 +5277,11 @@ impl IWMWriterAdvanced2 { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWriterTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, wstreamnum: u16, pstats: *mut WM_WRITER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStatistics)(::windows_core::Interface::as_raw(self), wstreamnum, pstats).ok() @@ -5291,7 +5291,7 @@ impl IWMWriterAdvanced2 { } pub unsafe fn GetSyncTolerance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputSetting(&self, dwinputnum: u32, pszname: P0, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> where @@ -5318,11 +5318,11 @@ pub struct IWMWriterAdvanced2_Vtbl { impl IWMWriterAdvanced3 { pub unsafe fn GetSinkCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSinkCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSink(&self, dwsinknum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSink)(::windows_core::Interface::as_raw(self), dwsinknum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSink(&self, psink: P0) -> ::windows_core::Result<()> where @@ -5350,11 +5350,11 @@ impl IWMWriterAdvanced3 { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWriterTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWriterTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatistics(&self, wstreamnum: u16, pstats: *mut WM_WRITER_STATISTICS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetStatistics)(::windows_core::Interface::as_raw(self), wstreamnum, pstats).ok() @@ -5364,7 +5364,7 @@ impl IWMWriterAdvanced3 { } pub unsafe fn GetSyncTolerance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSyncTolerance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputSetting(&self, dwinputnum: u32, pszname: P0, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()> where @@ -5403,11 +5403,11 @@ impl IWMWriterFileSink { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where @@ -5442,11 +5442,11 @@ impl IWMWriterFileSink2 { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where @@ -5471,22 +5471,22 @@ impl IWMWriterFileSink2 { } pub unsafe fn IsStopped(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsStopped)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsStopped)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5512,11 +5512,11 @@ impl IWMWriterFileSink3 { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where @@ -5541,22 +5541,22 @@ impl IWMWriterFileSink3 { } pub unsafe fn IsStopped(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsStopped)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsStopped)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Close)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoIndexing(&self, fdoautoindexing: P0) -> ::windows_core::Result<()> where @@ -5566,7 +5566,7 @@ impl IWMWriterFileSink3 { } pub unsafe fn GetAutoIndexing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoIndexing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoIndexing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetControlStream(&self, wstreamnumber: u16, fshouldcontrolstartandstop: P0) -> ::windows_core::Result<()> where @@ -5576,7 +5576,7 @@ impl IWMWriterFileSink3 { } pub unsafe fn GetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnDataUnitEx(&self, pfilesinkdataunit: *const WMT_FILESINK_DATA_UNIT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnDataUnitEx)(::windows_core::Interface::as_raw(self), pfilesinkdataunit).ok() @@ -5590,7 +5590,7 @@ impl IWMWriterFileSink3 { } pub unsafe fn GetUnbufferedIO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnbufferedIO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnbufferedIO)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CompleteOperations(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CompleteOperations)(::windows_core::Interface::as_raw(self)).ok() @@ -5620,11 +5620,11 @@ impl IWMWriterNetworkSink { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where @@ -5640,14 +5640,14 @@ impl IWMWriterNetworkSink { } pub unsafe fn GetMaximumClients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumClients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumClients)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkProtocol(&self, protocol: WMT_NET_PROTOCOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNetworkProtocol)(::windows_core::Interface::as_raw(self), protocol).ok() } pub unsafe fn GetNetworkProtocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkProtocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkProtocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHostURL(&self, pwszurl: ::windows_core::PWSTR, pcchurl: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetHostURL)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwszurl), pcchurl).ok() @@ -5692,11 +5692,11 @@ impl IWMWriterPostView { } pub unsafe fn GetReceivePostViewSamples(&self, wstreamnum: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReceivePostViewSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReceivePostViewSamples)(::windows_core::Interface::as_raw(self), wstreamnum, &mut result__).map(|| result__) } pub unsafe fn GetPostViewProps(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPostViewProps)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPostViewProps)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostViewProps(&self, wstreamnumber: u16, poutput: P0) -> ::windows_core::Result<()> where @@ -5706,11 +5706,11 @@ impl IWMWriterPostView { } pub unsafe fn GetPostViewFormatCount(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPostViewFormatCount)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPostViewFormatCount)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).map(|| result__) } pub unsafe fn GetPostViewFormat(&self, wstreamnumber: u16, dwformatnumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPostViewFormat)(::windows_core::Interface::as_raw(self), wstreamnumber, dwformatnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPostViewFormat)(::windows_core::Interface::as_raw(self), wstreamnumber, dwformatnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAllocateForPostView(&self, wstreamnumber: u16, fallocate: P0) -> ::windows_core::Result<()> where @@ -5720,7 +5720,7 @@ impl IWMWriterPostView { } pub unsafe fn GetAllocateForPostView(&self, wstreamnumber: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllocateForPostView)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllocateForPostView)(::windows_core::Interface::as_raw(self), wstreamnumber, &mut result__).map(|| result__) } } #[repr(C)] @@ -5765,7 +5765,7 @@ pub struct IWMWriterPostViewCallback_Vtbl { impl IWMWriterPreprocess { pub unsafe fn GetMaxPreprocessingPasses(&self, dwinputnum: u32, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxPreprocessingPasses)(::windows_core::Interface::as_raw(self), dwinputnum, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxPreprocessingPasses)(::windows_core::Interface::as_raw(self), dwinputnum, dwflags, &mut result__).map(|| result__) } pub unsafe fn SetNumPreprocessingPasses(&self, dwinputnum: u32, dwflags: u32, dwnumpasses: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNumPreprocessingPasses)(::windows_core::Interface::as_raw(self), dwinputnum, dwflags, dwnumpasses).ok() @@ -5804,11 +5804,11 @@ impl IWMWriterPushSink { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where @@ -5853,11 +5853,11 @@ impl IWMWriterSink { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllocateDataUnit(&self, cbdataunit: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateDataUnit)(::windows_core::Interface::as_raw(self), cbdataunit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDataUnit(&self, pdataunit: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Media/mod.rs b/crates/libs/windows/src/Windows/Win32/Media/mod.rs index 156a5a63f1..08dc7732af 100644 --- a/crates/libs/windows/src/Windows/Win32/Media/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Media/mod.rs @@ -64,21 +64,21 @@ pub unsafe fn timeSetEvent(udelay: u32, uresolution: u32, fptc: LPTIMECALLBACK, impl IReferenceClock { pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AdviseTime(&self, basetime: i64, streamtime: i64, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdviseTime)(::windows_core::Interface::as_raw(self), basetime, streamtime, hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdviseTime)(::windows_core::Interface::as_raw(self), basetime, streamtime, hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AdvisePeriodic(&self, starttime: i64, periodtime: i64, hsemaphore: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdvisePeriodic)(::windows_core::Interface::as_raw(self), starttime, periodtime, hsemaphore.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdvisePeriodic)(::windows_core::Interface::as_raw(self), starttime, periodtime, hsemaphore.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwadvisecookie: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwadvisecookie).ok() @@ -98,21 +98,21 @@ pub struct IReferenceClock_Vtbl { impl IReferenceClock2 { pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AdviseTime(&self, basetime: i64, streamtime: i64, hevent: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AdviseTime)(::windows_core::Interface::as_raw(self), basetime, streamtime, hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AdviseTime)(::windows_core::Interface::as_raw(self), basetime, streamtime, hevent.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AdvisePeriodic(&self, starttime: i64, periodtime: i64, hsemaphore: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AdvisePeriodic)(::windows_core::Interface::as_raw(self), starttime, periodtime, hsemaphore.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AdvisePeriodic)(::windows_core::Interface::as_raw(self), starttime, periodtime, hsemaphore.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwadvisecookie: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwadvisecookie).ok() @@ -131,7 +131,7 @@ impl IReferenceClockTimerControl { } pub unsafe fn GetDefaultTimerResolution(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultTimerResolution)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultTimerResolution)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/MobileBroadband/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/MobileBroadband/mod.rs index f7300f59fb..a096f4ece1 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/MobileBroadband/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/MobileBroadband/mod.rs @@ -15,33 +15,33 @@ pub struct IDummyMBNUCMExt_Vtbl { impl IMbnConnection { pub unsafe fn ConnectionID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Connect(&self, connectionmode: MBN_CONNECTION_MODE, strprofile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), connectionmode, strprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), connectionmode, strprofile.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disconnect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectionState(&self, connectionstate: *mut MBN_ACTIVATION_STATE, profilename: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetConnectionState)(::windows_core::Interface::as_raw(self), connectionstate, ::core::mem::transmute(profilename)).ok() } pub unsafe fn GetVoiceCallState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVoiceCallState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVoiceCallState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActivationNetworkError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivationNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivationNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -62,14 +62,14 @@ impl IMbnConnectionContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProvisionedContexts(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProvisionedContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProvisionedContexts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProvisionedContext(&self, provisionedcontexts: MBN_CONTEXT, providerid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetProvisionedContext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(provisionedcontexts), providerid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetProvisionedContext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(provisionedcontexts), providerid.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -150,12 +150,12 @@ impl IMbnConnectionManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), connectionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), connectionid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConnections(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -196,7 +196,7 @@ pub struct IMbnConnectionManagerEvents_Vtbl { impl IMbnConnectionProfile { pub unsafe fn GetProfileXmlData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfileXmlData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfileXmlData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UpdateProfile(&self, strprofile: P0) -> ::windows_core::Result<()> where @@ -241,7 +241,7 @@ impl IMbnConnectionProfileManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionProfiles)(::windows_core::Interface::as_raw(self), mbninterface.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionProfiles)(::windows_core::Interface::as_raw(self), mbninterface.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetConnectionProfile(&self, mbninterface: P0, profilename: P1) -> ::windows_core::Result where @@ -249,7 +249,7 @@ impl IMbnConnectionProfileManager { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionProfile)(::windows_core::Interface::as_raw(self), mbninterface.into_param().abi(), profilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionProfile)(::windows_core::Interface::as_raw(self), mbninterface.into_param().abi(), profilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConnectionProfile(&self, xmlprofile: P0) -> ::windows_core::Result<()> where @@ -297,54 +297,54 @@ pub struct IMbnConnectionProfileManagerEvents_Vtbl { impl IMbnDeviceService { pub unsafe fn QuerySupportedCommands(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySupportedCommands)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OpenCommandSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenCommandSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenCommandSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CloseCommandSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CloseCommandSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloseCommandSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCommand(&self, commandid: u32, deviceservicedata: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetCommand)(::windows_core::Interface::as_raw(self), commandid, deviceservicedata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetCommand)(::windows_core::Interface::as_raw(self), commandid, deviceservicedata, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryCommand(&self, commandid: u32, deviceservicedata: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCommand)(::windows_core::Interface::as_raw(self), commandid, deviceservicedata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCommand)(::windows_core::Interface::as_raw(self), commandid, deviceservicedata, &mut result__).map(|| result__) } pub unsafe fn OpenDataSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenDataSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenDataSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CloseDataSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CloseDataSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloseDataSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WriteData(&self, deviceservicedata: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteData)(::windows_core::Interface::as_raw(self), deviceservicedata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteData)(::windows_core::Interface::as_raw(self), deviceservicedata, &mut result__).map(|| result__) } pub unsafe fn InterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCommandSessionOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCommandSessionOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCommandSessionOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDataSessionOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDataSessionOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDataSessionOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -395,22 +395,22 @@ impl IMbnDeviceServicesContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateDeviceServices(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateDeviceServices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateDeviceServices)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceService(&self, deviceserviceid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceService)(::windows_core::Interface::as_raw(self), deviceserviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceService)(::windows_core::Interface::as_raw(self), deviceserviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MaxCommandSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxCommandSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxCommandSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDataSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxDataSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxDataSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -539,7 +539,7 @@ impl IMbnDeviceServicesManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceServicesContext)(::windows_core::Interface::as_raw(self), networkinterfaceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceServicesContext)(::windows_core::Interface::as_raw(self), networkinterfaceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -553,49 +553,49 @@ pub struct IMbnDeviceServicesManager_Vtbl { impl IMbnInterface { pub unsafe fn InterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInterfaceCapability(&self, interfacecaps: *mut MBN_INTERFACE_CAPS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInterfaceCapability)(::windows_core::Interface::as_raw(self), interfacecaps).ok() } pub unsafe fn GetSubscriberInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscriberInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscriberInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReadyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReadyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReadyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InEmergencyMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InEmergencyMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InEmergencyMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHomeProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHomeProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHomeProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreferredProviders(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredProviders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPreferredProviders(&self, preferredproviders: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetPreferredProviders)(::windows_core::Interface::as_raw(self), preferredproviders, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetPreferredProviders)(::windows_core::Interface::as_raw(self), preferredproviders, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVisibleProviders(&self, age: *mut u32) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibleProviders)(::windows_core::Interface::as_raw(self), age, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibleProviders)(::windows_core::Interface::as_raw(self), age, &mut result__).map(|| result__) } pub unsafe fn ScanNetwork(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScanNetwork)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScanNetwork)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -696,12 +696,12 @@ impl IMbnInterfaceManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), interfaceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), interfaceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInterfaces(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -742,30 +742,30 @@ pub struct IMbnInterfaceManagerEvents_Vtbl { impl IMbnMultiCarrier { pub unsafe fn SetHomeProvider(&self, homeprovider: *const MBN_PROVIDER2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetHomeProvider)(::windows_core::Interface::as_raw(self), homeprovider, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetHomeProvider)(::windows_core::Interface::as_raw(self), homeprovider, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPreferredProviders(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredProviders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVisibleProviders(&self, age: *mut u32) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibleProviders)(::windows_core::Interface::as_raw(self), age, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibleProviders)(::windows_core::Interface::as_raw(self), age, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSupportedCellularClasses(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedCellularClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedCellularClasses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentCellularClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentCellularClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentCellularClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScanNetwork(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScanNetwork)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScanNetwork)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -837,44 +837,44 @@ pub struct IMbnMultiCarrierEvents_Vtbl { impl IMbnPin { pub unsafe fn PinType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PinFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PinLengthMin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinLengthMin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinLengthMin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PinLengthMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinLengthMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinLengthMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PinMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PinMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PinMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enable(&self, pin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disable(&self, pin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Disable)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Disable)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Enter(&self, pin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enter)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enter)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Change(&self, pin: P0, newpin: P1) -> ::windows_core::Result where @@ -882,7 +882,7 @@ impl IMbnPin { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Change)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), newpin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Change)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), newpin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unblock(&self, puk: P0, newpin: P1) -> ::windows_core::Result where @@ -890,11 +890,11 @@ impl IMbnPin { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Unblock)(::windows_core::Interface::as_raw(self), puk.into_param().abi(), newpin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Unblock)(::windows_core::Interface::as_raw(self), puk.into_param().abi(), newpin.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPinManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPinManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPinManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -963,15 +963,15 @@ impl IMbnPinManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPinList(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPinList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPinList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPin(&self, pintype: MBN_PIN_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPin)(::windows_core::Interface::as_raw(self), pintype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPin)(::windows_core::Interface::as_raw(self), pintype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPinState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPinState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPinState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1013,15 +1013,15 @@ pub struct IMbnPinManagerEvents_Vtbl { impl IMbnRadio { pub unsafe fn SoftwareRadioState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SoftwareRadioState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SoftwareRadioState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HardwareRadioState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HardwareRadioState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HardwareRadioState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSoftwareRadioState(&self, radiostate: MBN_RADIO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetSoftwareRadioState)(::windows_core::Interface::as_raw(self), radiostate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetSoftwareRadioState)(::windows_core::Interface::as_raw(self), radiostate, &mut result__).map(|| result__) } } #[repr(C)] @@ -1060,46 +1060,46 @@ pub struct IMbnRadioEvents_Vtbl { impl IMbnRegistration { pub unsafe fn GetRegisterState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisterState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisterState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRegisterMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisterMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisterMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProviderID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRoamingText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRoamingText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRoamingText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAvailableDataClasses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableDataClasses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableDataClasses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentDataClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentDataClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentDataClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRegistrationNetworkError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegistrationNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegistrationNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPacketAttachNetworkError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPacketAttachNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPacketAttachNetworkError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRegisterMode(&self, registermode: MBN_REGISTER_MODE, providerid: P0, dataclass: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetRegisterMode)(::windows_core::Interface::as_raw(self), registermode, providerid.into_param().abi(), dataclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetRegisterMode)(::windows_core::Interface::as_raw(self), registermode, providerid.into_param().abi(), dataclass, &mut result__).map(|| result__) } } #[repr(C)] @@ -1160,7 +1160,7 @@ impl IMbnServiceActivation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Activate(&self, vendorspecificdata: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), vendorspecificdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), vendorspecificdata, &mut result__).map(|| result__) } } #[repr(C)] @@ -1197,11 +1197,11 @@ pub struct IMbnServiceActivationEvents_Vtbl { impl IMbnSignal { pub unsafe fn GetSignalStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignalStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignalError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignalError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignalError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1232,21 +1232,21 @@ pub struct IMbnSignalEvents_Vtbl { impl IMbnSms { pub unsafe fn GetSmsConfiguration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSmsConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSmsConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSmsConfiguration(&self, smsconfiguration: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetSmsConfiguration)(::windows_core::Interface::as_raw(self), smsconfiguration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetSmsConfiguration)(::windows_core::Interface::as_raw(self), smsconfiguration.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SmsSendPdu(&self, pdudata: P0, size: u8) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsSendPdu)(::windows_core::Interface::as_raw(self), pdudata.into_param().abi(), size, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsSendPdu)(::windows_core::Interface::as_raw(self), pdudata.into_param().abi(), size, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SmsSendCdma(&self, address: P0, encoding: MBN_SMS_CDMA_ENCODING, language: MBN_SMS_CDMA_LANG, sizeincharacters: u32, message: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result @@ -1254,24 +1254,24 @@ impl IMbnSms { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsSendCdma)(::windows_core::Interface::as_raw(self), address.into_param().abi(), encoding, language, sizeincharacters, message, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsSendCdma)(::windows_core::Interface::as_raw(self), address.into_param().abi(), encoding, language, sizeincharacters, message, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SmsSendCdmaPdu(&self, message: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsSendCdmaPdu)(::windows_core::Interface::as_raw(self), message, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsSendCdmaPdu)(::windows_core::Interface::as_raw(self), message, &mut result__).map(|| result__) } pub unsafe fn SmsRead(&self, smsfilter: *const MBN_SMS_FILTER, smsformat: MBN_SMS_FORMAT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsRead)(::windows_core::Interface::as_raw(self), smsfilter, smsformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsRead)(::windows_core::Interface::as_raw(self), smsfilter, smsformat, &mut result__).map(|| result__) } pub unsafe fn SmsDelete(&self, smsfilter: *const MBN_SMS_FILTER) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsDelete)(::windows_core::Interface::as_raw(self), smsfilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsDelete)(::windows_core::Interface::as_raw(self), smsfilter, &mut result__).map(|| result__) } pub unsafe fn GetSmsStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSmsStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSmsStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1298,7 +1298,7 @@ pub struct IMbnSms_Vtbl { impl IMbnSmsConfiguration { pub unsafe fn ServiceCenterAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceCenterAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceCenterAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceCenterAddress(&self, scaddress: P0) -> ::windows_core::Result<()> where @@ -1308,15 +1308,15 @@ impl IMbnSmsConfiguration { } pub unsafe fn MaxMessageIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxMessageIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxMessageIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CdmaShortMsgSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CdmaShortMsgSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CdmaShortMsgSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SmsFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmsFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmsFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmsFormat(&self, smsformat: MBN_SMS_FORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSmsFormat)(::windows_core::Interface::as_raw(self), smsformat).ok() @@ -1405,20 +1405,20 @@ pub struct IMbnSmsEvents_Vtbl { impl IMbnSmsReadMsgPdu { pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PduData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PduData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PduData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Message(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1438,36 +1438,36 @@ pub struct IMbnSmsReadMsgPdu_Vtbl { impl IMbnSmsReadMsgTextCdma { pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Address(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Timestamp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EncodingID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodingID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodingID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LanguageID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SizeInCharacters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeInCharacters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeInCharacters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Message(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1491,16 +1491,16 @@ pub struct IMbnSmsReadMsgTextCdma_Vtbl { impl IMbnSubscriberInformation { pub unsafe fn SubscriberID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriberID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriberID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SimIccID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SimIccID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SimIccID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TelephoneNumbers(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneNumbers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneNumbers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1551,7 +1551,7 @@ impl IMbnVendorSpecificOperation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetVendorSpecific(&self, vendorspecificdata: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetVendorSpecific)(::windows_core::Interface::as_raw(self), vendorspecificdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetVendorSpecific)(::windows_core::Interface::as_raw(self), vendorspecificdata, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetManagement/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetManagement/mod.rs index 83c4961695..9db50650b8 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetManagement/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetManagement/mod.rs @@ -273,7 +273,7 @@ where { ::windows_targets::link!("netapi32.dll" "system" fn NetGetAadJoinInformation(pcsztenantid : ::windows_core::PCWSTR, ppjoininfo : *mut *mut DSREG_JOIN_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NetGetAadJoinInformation(pcsztenantid.into_param().abi(), &mut result__).from_abi(result__) + NetGetAadJoinInformation(pcsztenantid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn NetGetAnyDCName(servername: P0, domainname: P1, buffer: *mut *mut u8) -> u32 @@ -1612,7 +1612,7 @@ impl INetCfgBindingPath { } pub unsafe fn GetDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumBindingInterfaces(&self, ppenuminterface: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumBindingInterfaces)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppenuminterface.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1739,7 +1739,7 @@ impl INetCfgComponent { } pub unsafe fn GetCharacteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharacteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInstanceGuid(&self, pguid: ::core::option::Option<*mut ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInstanceGuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguid.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1755,7 +1755,7 @@ impl INetCfgComponent { } pub unsafe fn GetDeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] pub unsafe fn OpenParamKey(&self, phkey: ::core::option::Option<*mut super::super::System::Registry::HKEY>) -> ::windows_core::Result<()> { @@ -1914,7 +1914,7 @@ pub struct INetCfgComponentNotifyBinding_Vtbl { impl INetCfgComponentNotifyGlobal { pub unsafe fn GetSupportedNotifications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedNotifications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedNotifications)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SysQueryBindingPath(&self, dwchangeflag: u32, pipath: P0) -> ::windows_core::Result<()> where @@ -2163,7 +2163,7 @@ pub struct INetCfgSysPrep_Vtbl { impl INetLanConnectionUiInfo { pub unsafe fn GetDeviceGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2202,7 +2202,7 @@ impl IProvisioningDomain { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pszwdomain.into_param().abi(), pszwlanguage.into_param().abi(), pszwxpathquery.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pszwdomain.into_param().abi(), pszwlanguage.into_param().abi(), pszwxpathquery.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2224,7 +2224,7 @@ impl IProvisioningProfileWireless { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProfile)(::windows_core::Interface::as_raw(self), bstrxmlwirelessconfigprofile.into_param().abi(), bstrxmlconnectionconfigprofile.into_param().abi(), padapterinstanceguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProfile)(::windows_core::Interface::as_raw(self), bstrxmlwirelessconfigprofile.into_param().abi(), bstrxmlconnectionconfigprofile.into_param().abi(), padapterinstanceguid, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs index 3ca76b3330..4a95a10b70 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs @@ -112,7 +112,7 @@ where pub unsafe fn NdfGetTraceFile(handle: *const ::core::ffi::c_void) -> ::windows_core::Result<::windows_core::PCWSTR> { ::windows_targets::link!("ndfapi.dll" "system" fn NdfGetTraceFile(handle : *const ::core::ffi::c_void, tracefilelocation : *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NdfGetTraceFile(handle, &mut result__).from_abi(result__) + NdfGetTraceFile(handle, &mut result__).map(|| result__) } #[inline] pub unsafe fn NdfRepairIncident(handle: *const ::core::ffi::c_void, repairex: *const RepairInfoEx, dwwait: u32) -> ::windows_core::Result<()> { @@ -140,7 +140,7 @@ impl INetDiagHelper { } pub unsafe fn GetDiagnosticsInfo(&self) -> ::windows_core::Result<*mut DiagnosticsInfo> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiagnosticsInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiagnosticsInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyAttributes(&self, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetKeyAttributes)(::windows_core::Interface::as_raw(self), pcelt, pprgattributes).ok() @@ -180,14 +180,14 @@ impl INetDiagHelper { } pub unsafe fn GetLifeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLifeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLifeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLifeTime(&self, lifetime: LIFE_TIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLifeTime)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lifetime)).ok() } pub unsafe fn GetCacheTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCacheTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCacheTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttributes(&self, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), pcelt, pprgattributes).ok() @@ -267,7 +267,7 @@ impl INetDiagHelperUtilFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateUtilityInstance)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUtilityInstance)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkPolicyServer/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkPolicyServer/mod.rs index 943d830699..59ca4423a4 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkPolicyServer/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/NetworkPolicyServer/mod.rs @@ -6,11 +6,11 @@ impl ISdo { pub unsafe fn GetPropertyInfo(&self, id: i32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyInfo)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyInfo)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperty(&self, id: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutProperty(&self, id: i32, pvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PutProperty)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pvalue)).ok() @@ -26,7 +26,7 @@ impl ISdo { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -50,7 +50,7 @@ pub struct ISdo_Vtbl { impl ISdoCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, bstrname: P0, ppitem: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -77,16 +77,16 @@ impl ISdoCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsNameUnique)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsNameUnique)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, name: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(name), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -120,27 +120,27 @@ pub struct ISdoCollection_Vtbl { impl ISdoDictionaryOld { pub unsafe fn EnumAttributes(&self, id: *mut ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAttributes)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAttributes)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeInfo(&self, id: ATTRIBUTEID, pinfoids: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeInfo)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pinfoids), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeInfo)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pinfoids), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumAttributeValues(&self, id: ATTRIBUTEID, pvalueids: *mut ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAttributeValues)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pvalueids), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAttributeValues)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pvalueids), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAttribute(&self, id: ATTRIBUTEID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAttribute)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAttribute)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeID(&self, bstrattributename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeID)(::windows_core::Interface::as_raw(self), bstrattributename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeID)(::windows_core::Interface::as_raw(self), bstrattributename.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -171,41 +171,41 @@ impl ISdoMachine { } pub unsafe fn GetDictionarySDO(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionarySDO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionarySDO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceSDO(&self, edatastore: IASDATASTORE, bstrservicename: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrservicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrservicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserSDO(&self, edatastore: IASDATASTORE, bstrusername: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrusername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrusername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOSType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOSType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOSType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirectoryAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDirectoryAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDirectoryAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttachedComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttachedComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttachedComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDOSchema(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSDOSchema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSDOSchema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -237,48 +237,48 @@ impl ISdoMachine2 { } pub unsafe fn GetDictionarySDO(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDictionarySDO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDictionarySDO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServiceSDO(&self, edatastore: IASDATASTORE, bstrservicename: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetServiceSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrservicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetServiceSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrservicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserSDO(&self, edatastore: IASDATASTORE, bstrusername: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUserSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrusername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUserSDO)(::windows_core::Interface::as_raw(self), edatastore, bstrusername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOSType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOSType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOSType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirectoryAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDirectoryAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDirectoryAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttachedComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttachedComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttachedComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSDOSchema(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSDOSchema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSDOSchema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTemplatesSDO(&self, bstrservicename: P0) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemplatesSDO)(::windows_core::Interface::as_raw(self), bstrservicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemplatesSDO)(::windows_core::Interface::as_raw(self), bstrservicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableTemplates(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnableTemplates)(::windows_core::Interface::as_raw(self)).ok() @@ -326,7 +326,7 @@ impl ISdoServiceControl { } pub unsafe fn GetServiceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetService(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetService)(::windows_core::Interface::as_raw(self)).ok() @@ -350,11 +350,11 @@ pub struct ISdoServiceControl_Vtbl { impl ITemplateSdo { pub unsafe fn GetPropertyInfo(&self, id: i32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyInfo)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyInfo)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperty(&self, id: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutProperty(&self, id: i32, pvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.PutProperty)(::windows_core::Interface::as_raw(self), id, ::core::mem::transmute(pvalue)).ok() @@ -370,7 +370,7 @@ impl ITemplateSdo { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddToCollection(&self, bstrname: P0, pcollection: P1, ppitem: *mut ::core::option::Option) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/P2P/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/P2P/mod.rs index b7f11dbb4f..f3d67ab1d4 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/P2P/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/P2P/mod.rs @@ -13,14 +13,14 @@ pub unsafe fn DrtContinueSearch(hsearchcontext: *const ::core::ffi::c_void) -> : pub unsafe fn DrtCreateDerivedKey(plocalcert: *const super::super::Security::Cryptography::CERT_CONTEXT) -> ::windows_core::Result { ::windows_targets::link!("drtprov.dll" "system" fn DrtCreateDerivedKey(plocalcert : *const super::super::Security::Cryptography:: CERT_CONTEXT, pkey : *mut DRT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtCreateDerivedKey(plocalcert, &mut result__).from_abi(result__) + DrtCreateDerivedKey(plocalcert, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Cryptography")] #[inline] pub unsafe fn DrtCreateDerivedKeySecurityProvider(prootcert: *const super::super::Security::Cryptography::CERT_CONTEXT, plocalcert: ::core::option::Option<*const super::super::Security::Cryptography::CERT_CONTEXT>) -> ::windows_core::Result<*mut DRT_SECURITY_PROVIDER> { ::windows_targets::link!("drtprov.dll" "system" fn DrtCreateDerivedKeySecurityProvider(prootcert : *const super::super::Security::Cryptography:: CERT_CONTEXT, plocalcert : *const super::super::Security::Cryptography:: CERT_CONTEXT, ppsecurityprovider : *mut *mut DRT_SECURITY_PROVIDER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtCreateDerivedKeySecurityProvider(prootcert, ::core::mem::transmute(plocalcert.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + DrtCreateDerivedKeySecurityProvider(prootcert, ::core::mem::transmute(plocalcert.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtCreateDnsBootstrapResolver(port: u16, pwszaddress: P0) -> ::windows_core::Result<*mut DRT_BOOTSTRAP_PROVIDER> @@ -29,7 +29,7 @@ where { ::windows_targets::link!("drtprov.dll" "system" fn DrtCreateDnsBootstrapResolver(port : u16, pwszaddress : ::windows_core::PCWSTR, ppmodule : *mut *mut DRT_BOOTSTRAP_PROVIDER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtCreateDnsBootstrapResolver(port, pwszaddress.into_param().abi(), &mut result__).from_abi(result__) + DrtCreateDnsBootstrapResolver(port, pwszaddress.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtCreateIpv6UdpTransport(scope: DRT_SCOPE, dwscopeid: u32, dwlocalitythreshold: u32, pwport: *mut u16, phtransport: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -40,7 +40,7 @@ pub unsafe fn DrtCreateIpv6UdpTransport(scope: DRT_SCOPE, dwscopeid: u32, dwloca pub unsafe fn DrtCreateNullSecurityProvider() -> ::windows_core::Result<*mut DRT_SECURITY_PROVIDER> { ::windows_targets::link!("drtprov.dll" "system" fn DrtCreateNullSecurityProvider(ppsecurityprovider : *mut *mut DRT_SECURITY_PROVIDER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtCreateNullSecurityProvider(&mut result__).from_abi(result__) + DrtCreateNullSecurityProvider(&mut result__).map(|| result__) } #[inline] pub unsafe fn DrtCreatePnrpBootstrapResolver(fpublish: P0, pwzpeername: P1, pwzcloudname: P2, pwzpublishingidentity: P3) -> ::windows_core::Result<*mut DRT_BOOTSTRAP_PROVIDER> @@ -52,7 +52,7 @@ where { ::windows_targets::link!("drtprov.dll" "system" fn DrtCreatePnrpBootstrapResolver(fpublish : super::super::Foundation:: BOOL, pwzpeername : ::windows_core::PCWSTR, pwzcloudname : ::windows_core::PCWSTR, pwzpublishingidentity : ::windows_core::PCWSTR, ppresolver : *mut *mut DRT_BOOTSTRAP_PROVIDER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtCreatePnrpBootstrapResolver(fpublish.into_param().abi(), pwzpeername.into_param().abi(), pwzcloudname.into_param().abi(), pwzpublishingidentity.into_param().abi(), &mut result__).from_abi(result__) + DrtCreatePnrpBootstrapResolver(fpublish.into_param().abi(), pwzpeername.into_param().abi(), pwzcloudname.into_param().abi(), pwzpublishingidentity.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtDeleteDerivedKeySecurityProvider(psecurityprovider: *const DRT_SECURITY_PROVIDER) { @@ -94,7 +94,7 @@ pub unsafe fn DrtGetEventData(hdrt: *const ::core::ffi::c_void, uleventdatalen: pub unsafe fn DrtGetEventDataSize(hdrt: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("drt.dll" "system" fn DrtGetEventDataSize(hdrt : *const ::core::ffi::c_void, puleventdatalen : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtGetEventDataSize(hdrt, &mut result__).from_abi(result__) + DrtGetEventDataSize(hdrt, &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtGetInstanceName(hdrt: *const ::core::ffi::c_void, ulcbinstancenamesize: u32, pwzdrtinstancename: ::windows_core::PWSTR) -> ::windows_core::Result<()> { @@ -105,7 +105,7 @@ pub unsafe fn DrtGetInstanceName(hdrt: *const ::core::ffi::c_void, ulcbinstancen pub unsafe fn DrtGetInstanceNameSize(hdrt: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("drt.dll" "system" fn DrtGetInstanceNameSize(hdrt : *const ::core::ffi::c_void, pulcbinstancenamesize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtGetInstanceNameSize(hdrt, &mut result__).from_abi(result__) + DrtGetInstanceNameSize(hdrt, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] @@ -117,7 +117,7 @@ pub unsafe fn DrtGetSearchPath(hsearchcontext: *const ::core::ffi::c_void, ulsea pub unsafe fn DrtGetSearchPathSize(hsearchcontext: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("drt.dll" "system" fn DrtGetSearchPathSize(hsearchcontext : *const ::core::ffi::c_void, pulsearchpathsize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtGetSearchPathSize(hsearchcontext, &mut result__).from_abi(result__) + DrtGetSearchPathSize(hsearchcontext, &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtGetSearchResult(hsearchcontext: *const ::core::ffi::c_void, ulsearchresultsize: u32, psearchresult: *mut DRT_SEARCH_RESULT) -> ::windows_core::Result<()> { @@ -128,7 +128,7 @@ pub unsafe fn DrtGetSearchResult(hsearchcontext: *const ::core::ffi::c_void, uls pub unsafe fn DrtGetSearchResultSize(hsearchcontext: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("drt.dll" "system" fn DrtGetSearchResultSize(hsearchcontext : *const ::core::ffi::c_void, pulsearchresultsize : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DrtGetSearchResultSize(hsearchcontext, &mut result__).from_abi(result__) + DrtGetSearchResultSize(hsearchcontext, &mut result__).map(|| result__) } #[inline] pub unsafe fn DrtOpen(psettings: *const DRT_SETTINGS, hevent: P0, pvcontext: ::core::option::Option<*const ::core::ffi::c_void>, phdrt: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -261,20 +261,20 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabExportContact(pwzpeername : ::windows_core::PCWSTR, ppwzcontactdata : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabExportContact(pwzpeername.into_param().abi(), &mut result__).from_abi(result__) + PeerCollabExportContact(pwzpeername.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabGetAppLaunchInfo() -> ::windows_core::Result<*mut PEER_APP_LAUNCH_INFO> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetAppLaunchInfo(pplaunchinfo : *mut *mut PEER_APP_LAUNCH_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetAppLaunchInfo(&mut result__).from_abi(result__) + PeerCollabGetAppLaunchInfo(&mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabGetApplicationRegistrationInfo(papplicationid: *const ::windows_core::GUID, registrationtype: PEER_APPLICATION_REGISTRATION_TYPE) -> ::windows_core::Result<*mut PEER_APPLICATION_REGISTRATION_INFO> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetApplicationRegistrationInfo(papplicationid : *const ::windows_core::GUID, registrationtype : PEER_APPLICATION_REGISTRATION_TYPE, ppapplication : *mut *mut PEER_APPLICATION_REGISTRATION_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetApplicationRegistrationInfo(papplicationid, registrationtype, &mut result__).from_abi(result__) + PeerCollabGetApplicationRegistrationInfo(papplicationid, registrationtype, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabGetContact(pwzpeername: P0) -> ::windows_core::Result<*mut PEER_CONTACT> @@ -283,20 +283,20 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetContact(pwzpeername : ::windows_core::PCWSTR, ppcontact : *mut *mut PEER_CONTACT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetContact(pwzpeername.into_param().abi(), &mut result__).from_abi(result__) + PeerCollabGetContact(pwzpeername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabGetEndpointName() -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetEndpointName(ppwzendpointname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetEndpointName(&mut result__).from_abi(result__) + PeerCollabGetEndpointName(&mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabGetEventData(hpeerevent: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_COLLAB_EVENT_DATA> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetEventData(hpeerevent : *const ::core::ffi::c_void, ppeventdata : *mut *mut PEER_COLLAB_EVENT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetEventData(hpeerevent, &mut result__).from_abi(result__) + PeerCollabGetEventData(hpeerevent, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabGetInvitationResponse(hinvitation: P0) -> ::windows_core::Result<*mut PEER_INVITATION_RESPONSE> @@ -305,34 +305,34 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetInvitationResponse(hinvitation : super::super::Foundation:: HANDLE, ppinvitationresponse : *mut *mut PEER_INVITATION_RESPONSE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetInvitationResponse(hinvitation.into_param().abi(), &mut result__).from_abi(result__) + PeerCollabGetInvitationResponse(hinvitation.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabGetPresenceInfo(pcendpoint: ::core::option::Option<*const PEER_ENDPOINT>) -> ::windows_core::Result<*mut PEER_PRESENCE_INFO> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetPresenceInfo(pcendpoint : *const PEER_ENDPOINT, pppresenceinfo : *mut *mut PEER_PRESENCE_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetPresenceInfo(::core::mem::transmute(pcendpoint.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + PeerCollabGetPresenceInfo(::core::mem::transmute(pcendpoint.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabGetSigninOptions() -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabGetSigninOptions(pdwsigninoptions : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabGetSigninOptions(&mut result__).from_abi(result__) + PeerCollabGetSigninOptions(&mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabInviteContact(pccontact: ::core::option::Option<*const PEER_CONTACT>, pcendpoint: *const PEER_ENDPOINT, pcinvitation: *const PEER_INVITATION) -> ::windows_core::Result<*mut PEER_INVITATION_RESPONSE> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabInviteContact(pccontact : *const PEER_CONTACT, pcendpoint : *const PEER_ENDPOINT, pcinvitation : *const PEER_INVITATION, ppresponse : *mut *mut PEER_INVITATION_RESPONSE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabInviteContact(::core::mem::transmute(pccontact.unwrap_or(::std::ptr::null())), pcendpoint, pcinvitation, &mut result__).from_abi(result__) + PeerCollabInviteContact(::core::mem::transmute(pccontact.unwrap_or(::std::ptr::null())), pcendpoint, pcinvitation, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabInviteEndpoint(pcendpoint: *const PEER_ENDPOINT, pcinvitation: *const PEER_INVITATION) -> ::windows_core::Result<*mut PEER_INVITATION_RESPONSE> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabInviteEndpoint(pcendpoint : *const PEER_ENDPOINT, pcinvitation : *const PEER_INVITATION, ppresponse : *mut *mut PEER_INVITATION_RESPONSE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabInviteEndpoint(pcendpoint, pcinvitation, &mut result__).from_abi(result__) + PeerCollabInviteEndpoint(pcendpoint, pcinvitation, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerCollabParseContact(pwzcontactdata: P0) -> ::windows_core::Result<*mut PEER_CONTACT> @@ -341,14 +341,14 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabParseContact(pwzcontactdata : ::windows_core::PCWSTR, ppcontact : *mut *mut PEER_CONTACT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabParseContact(pwzcontactdata.into_param().abi(), &mut result__).from_abi(result__) + PeerCollabParseContact(pwzcontactdata.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] pub unsafe fn PeerCollabQueryContactData(pcendpoint: ::core::option::Option<*const PEER_ENDPOINT>) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("p2p.dll" "system" fn PeerCollabQueryContactData(pcendpoint : *const PEER_ENDPOINT, ppwzcontactdata : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCollabQueryContactData(::core::mem::transmute(pcendpoint.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + PeerCollabQueryContactData(::core::mem::transmute(pcendpoint.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] @@ -445,7 +445,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerCreatePeerName(pwzidentity : ::windows_core::PCWSTR, pwzclassifier : ::windows_core::PCWSTR, ppwzpeername : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerCreatePeerName(pwzidentity.into_param().abi(), pwzclassifier.into_param().abi(), &mut result__).from_abi(result__) + PeerCreatePeerName(pwzidentity.into_param().abi(), pwzclassifier.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_IO")] #[inline] @@ -652,7 +652,7 @@ pub unsafe fn PeerFreeData(pvdata: ::core::option::Option<*const ::core::ffi::c_ pub unsafe fn PeerGetItemCount(hpeerenum: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerGetItemCount(hpeerenum : *const ::core::ffi::c_void, pcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGetItemCount(hpeerenum, &mut result__).from_abi(result__) + PeerGetItemCount(hpeerenum, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGetNextItem(hpeerenum: *const ::core::ffi::c_void, pcount: *mut u32, pppvitems: *mut *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -663,7 +663,7 @@ pub unsafe fn PeerGetNextItem(hpeerenum: *const ::core::ffi::c_void, pcount: *mu pub unsafe fn PeerGraphAddRecord(hgraph: *const ::core::ffi::c_void, precord: *const PEER_RECORD) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphAddRecord(hgraph : *const ::core::ffi::c_void, precord : *const PEER_RECORD, precordid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphAddRecord(hgraph, precord, &mut result__).from_abi(result__) + PeerGraphAddRecord(hgraph, precord, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphClose(hgraph: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -683,7 +683,7 @@ where { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphConnect(hgraph : *const ::core::ffi::c_void, pwzpeerid : ::windows_core::PCWSTR, paddress : *const PEER_ADDRESS, pullconnectionid : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphConnect(hgraph, pwzpeerid.into_param().abi(), paddress, &mut result__).from_abi(result__) + PeerGraphConnect(hgraph, pwzpeerid.into_param().abi(), paddress, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphCreate(pgraphproperties: *const PEER_GRAPH_PROPERTIES, pwzdatabasename: P0, psecurityinterface: ::core::option::Option<*const PEER_SECURITY_INTERFACE>, phgraph: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -754,13 +754,13 @@ pub unsafe fn PeerGraphFreeData(pvdata: *const ::core::ffi::c_void) { pub unsafe fn PeerGraphGetEventData(hpeerevent: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_GRAPH_EVENT_DATA> { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetEventData(hpeerevent : *const ::core::ffi::c_void, ppeventdata : *mut *mut PEER_GRAPH_EVENT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetEventData(hpeerevent, &mut result__).from_abi(result__) + PeerGraphGetEventData(hpeerevent, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphGetItemCount(hpeerenum: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetItemCount(hpeerenum : *const ::core::ffi::c_void, pcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetItemCount(hpeerenum, &mut result__).from_abi(result__) + PeerGraphGetItemCount(hpeerenum, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphGetNextItem(hpeerenum: *const ::core::ffi::c_void, pcount: *mut u32, pppvitems: *mut *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -772,25 +772,25 @@ pub unsafe fn PeerGraphGetNextItem(hpeerenum: *const ::core::ffi::c_void, pcount pub unsafe fn PeerGraphGetNodeInfo(hgraph: *const ::core::ffi::c_void, ullnodeid: u64) -> ::windows_core::Result<*mut PEER_NODE_INFO> { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetNodeInfo(hgraph : *const ::core::ffi::c_void, ullnodeid : u64, ppnodeinfo : *mut *mut PEER_NODE_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetNodeInfo(hgraph, ullnodeid, &mut result__).from_abi(result__) + PeerGraphGetNodeInfo(hgraph, ullnodeid, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphGetProperties(hgraph: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_GRAPH_PROPERTIES> { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetProperties(hgraph : *const ::core::ffi::c_void, ppgraphproperties : *mut *mut PEER_GRAPH_PROPERTIES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetProperties(hgraph, &mut result__).from_abi(result__) + PeerGraphGetProperties(hgraph, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphGetRecord(hgraph: *const ::core::ffi::c_void, precordid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut PEER_RECORD> { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetRecord(hgraph : *const ::core::ffi::c_void, precordid : *const ::windows_core::GUID, pprecord : *mut *mut PEER_RECORD) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetRecord(hgraph, precordid, &mut result__).from_abi(result__) + PeerGraphGetRecord(hgraph, precordid, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphGetStatus(hgraph: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphGetStatus(hgraph : *const ::core::ffi::c_void, pdwstatus : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphGetStatus(hgraph, &mut result__).from_abi(result__) + PeerGraphGetStatus(hgraph, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphImportDatabase(hgraph: *const ::core::ffi::c_void, pwzfilepath: P0) -> ::windows_core::Result<()> @@ -823,13 +823,13 @@ where { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphOpenDirectConnection(hgraph : *const ::core::ffi::c_void, pwzpeerid : ::windows_core::PCWSTR, paddress : *const PEER_ADDRESS, pullconnectionid : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphOpenDirectConnection(hgraph, pwzpeerid.into_param().abi(), paddress, &mut result__).from_abi(result__) + PeerGraphOpenDirectConnection(hgraph, pwzpeerid.into_param().abi(), paddress, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphPeerTimeToUniversalTime(hgraph: *const ::core::ffi::c_void, pftpeertime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphPeerTimeToUniversalTime(hgraph : *const ::core::ffi::c_void, pftpeertime : *const super::super::Foundation:: FILETIME, pftuniversaltime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphPeerTimeToUniversalTime(hgraph, pftpeertime, &mut result__).from_abi(result__) + PeerGraphPeerTimeToUniversalTime(hgraph, pftpeertime, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphRegisterEvent(hgraph: *const ::core::ffi::c_void, hevent: P0, peventregistrations: &[PEER_GRAPH_EVENT_REGISTRATION], phpeerevent: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -882,13 +882,13 @@ pub unsafe fn PeerGraphShutdown() -> ::windows_core::Result<()> { pub unsafe fn PeerGraphStartup(wversionrequested: u16) -> ::windows_core::Result { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphStartup(wversionrequested : u16, pversiondata : *mut PEER_VERSION_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphStartup(wversionrequested, &mut result__).from_abi(result__) + PeerGraphStartup(wversionrequested, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphUniversalTimeToPeerTime(hgraph: *const ::core::ffi::c_void, pftuniversaltime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result { ::windows_targets::link!("p2pgraph.dll" "system" fn PeerGraphUniversalTimeToPeerTime(hgraph : *const ::core::ffi::c_void, pftuniversaltime : *const super::super::Foundation:: FILETIME, pftpeertime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGraphUniversalTimeToPeerTime(hgraph, pftuniversaltime, &mut result__).from_abi(result__) + PeerGraphUniversalTimeToPeerTime(hgraph, pftuniversaltime, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGraphUnregisterEvent(hpeerevent: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -909,7 +909,7 @@ pub unsafe fn PeerGraphValidateDeferredRecords(hgraph: *const ::core::ffi::c_voi pub unsafe fn PeerGroupAddRecord(hgroup: *const ::core::ffi::c_void, precord: *const PEER_RECORD) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupAddRecord(hgroup : *const ::core::ffi::c_void, precord : *const PEER_RECORD, precordid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupAddRecord(hgroup, precord, &mut result__).from_abi(result__) + PeerGroupAddRecord(hgroup, precord, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupClose(hgroup: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -944,13 +944,13 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupCreateInvitation(hgroup : *const ::core::ffi::c_void, pwzidentityinfo : ::windows_core::PCWSTR, pftexpiration : *const super::super::Foundation:: FILETIME, croles : u32, proles : *const ::windows_core::GUID, ppwzinvitation : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupCreateInvitation(hgroup, pwzidentityinfo.into_param().abi(), ::core::mem::transmute(pftexpiration.unwrap_or(::std::ptr::null())), proles.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(proles.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + PeerGroupCreateInvitation(hgroup, pwzidentityinfo.into_param().abi(), ::core::mem::transmute(pftexpiration.unwrap_or(::std::ptr::null())), proles.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(proles.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupCreatePasswordInvitation(hgroup: *const ::core::ffi::c_void) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupCreatePasswordInvitation(hgroup : *const ::core::ffi::c_void, ppwzinvitation : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupCreatePasswordInvitation(hgroup, &mut result__).from_abi(result__) + PeerGroupCreatePasswordInvitation(hgroup, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupDelete(pwzidentity: P0, pwzgrouppeername: P1) -> ::windows_core::Result<()> @@ -991,7 +991,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupExportConfig(hgroup : *const ::core::ffi::c_void, pwzpassword : ::windows_core::PCWSTR, ppwzxml : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupExportConfig(hgroup, pwzpassword.into_param().abi(), &mut result__).from_abi(result__) + PeerGroupExportConfig(hgroup, pwzpassword.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupExportDatabase(hgroup: *const ::core::ffi::c_void, pwzfilepath: P0) -> ::windows_core::Result<()> @@ -1005,25 +1005,25 @@ where pub unsafe fn PeerGroupGetEventData(hpeerevent: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_GROUP_EVENT_DATA> { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupGetEventData(hpeerevent : *const ::core::ffi::c_void, ppeventdata : *mut *mut PEER_GROUP_EVENT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupGetEventData(hpeerevent, &mut result__).from_abi(result__) + PeerGroupGetEventData(hpeerevent, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupGetProperties(hgroup: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_GROUP_PROPERTIES> { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupGetProperties(hgroup : *const ::core::ffi::c_void, ppproperties : *mut *mut PEER_GROUP_PROPERTIES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupGetProperties(hgroup, &mut result__).from_abi(result__) + PeerGroupGetProperties(hgroup, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupGetRecord(hgroup: *const ::core::ffi::c_void, precordid: *const ::windows_core::GUID) -> ::windows_core::Result<*mut PEER_RECORD> { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupGetRecord(hgroup : *const ::core::ffi::c_void, precordid : *const ::windows_core::GUID, pprecord : *mut *mut PEER_RECORD) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupGetRecord(hgroup, precordid, &mut result__).from_abi(result__) + PeerGroupGetRecord(hgroup, precordid, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupGetStatus(hgroup: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupGetStatus(hgroup : *const ::core::ffi::c_void, pdwstatus : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupGetStatus(hgroup, &mut result__).from_abi(result__) + PeerGroupGetStatus(hgroup, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupImportConfig(pwzxml: P0, pwzpassword: P1, foverwrite: P2, ppwzidentity: *mut ::windows_core::PWSTR, ppwzgroup: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> @@ -1080,7 +1080,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupOpenDirectConnection(hgroup : *const ::core::ffi::c_void, pwzidentity : ::windows_core::PCWSTR, paddress : *const PEER_ADDRESS, pullconnectionid : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupOpenDirectConnection(hgroup, pwzidentity.into_param().abi(), paddress, &mut result__).from_abi(result__) + PeerGroupOpenDirectConnection(hgroup, pwzidentity.into_param().abi(), paddress, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Cryptography")] #[inline] @@ -1090,7 +1090,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupParseInvitation(pwzinvitation : ::windows_core::PCWSTR, ppinvitationinfo : *mut *mut PEER_INVITATION_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupParseInvitation(pwzinvitation.into_param().abi(), &mut result__).from_abi(result__) + PeerGroupParseInvitation(pwzinvitation.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupPasswordJoin(pwzidentity: P0, pwzinvitation: P1, pwzpassword: P2, pwzcloud: P3, phgroup: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -1107,7 +1107,7 @@ where pub unsafe fn PeerGroupPeerTimeToUniversalTime(hgroup: *const ::core::ffi::c_void, pftpeertime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupPeerTimeToUniversalTime(hgroup : *const ::core::ffi::c_void, pftpeertime : *const super::super::Foundation:: FILETIME, pftuniversaltime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupPeerTimeToUniversalTime(hgroup, pftpeertime, &mut result__).from_abi(result__) + PeerGroupPeerTimeToUniversalTime(hgroup, pftpeertime, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupRegisterEvent(hgroup: *const ::core::ffi::c_void, hevent: P0, peventregistrations: &[PEER_GROUP_EVENT_REGISTRATION], phpeerevent: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -1149,13 +1149,13 @@ pub unsafe fn PeerGroupShutdown() -> ::windows_core::Result<()> { pub unsafe fn PeerGroupStartup(wversionrequested: u16) -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupStartup(wversionrequested : u16, pversiondata : *mut PEER_VERSION_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupStartup(wversionrequested, &mut result__).from_abi(result__) + PeerGroupStartup(wversionrequested, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupUniversalTimeToPeerTime(hgroup: *const ::core::ffi::c_void, pftuniversaltime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result { ::windows_targets::link!("p2p.dll" "system" fn PeerGroupUniversalTimeToPeerTime(hgroup : *const ::core::ffi::c_void, pftuniversaltime : *const super::super::Foundation:: FILETIME, pftpeertime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerGroupUniversalTimeToPeerTime(hgroup, pftuniversaltime, &mut result__).from_abi(result__) + PeerGroupUniversalTimeToPeerTime(hgroup, pftuniversaltime, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerGroupUnregisterEvent(hpeerevent: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -1174,7 +1174,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerHostNameToPeerName(pwzhostname : ::windows_core::PCWSTR, ppwzpeername : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerHostNameToPeerName(pwzhostname.into_param().abi(), &mut result__).from_abi(result__) + PeerHostNameToPeerName(pwzhostname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityCreate(pwzclassifier: P0, pwzfriendlyname: P1, hcryptprov: usize) -> ::windows_core::Result<::windows_core::PWSTR> @@ -1184,7 +1184,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityCreate(pwzclassifier : ::windows_core::PCWSTR, pwzfriendlyname : ::windows_core::PCWSTR, hcryptprov : usize, ppwzidentity : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityCreate(pwzclassifier.into_param().abi(), pwzfriendlyname.into_param().abi(), hcryptprov, &mut result__).from_abi(result__) + PeerIdentityCreate(pwzclassifier.into_param().abi(), pwzfriendlyname.into_param().abi(), hcryptprov, &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityDelete(pwzidentity: P0) -> ::windows_core::Result<()> @@ -1202,7 +1202,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityExport(pwzidentity : ::windows_core::PCWSTR, pwzpassword : ::windows_core::PCWSTR, ppwzexportxml : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityExport(pwzidentity.into_param().abi(), pwzpassword.into_param().abi(), &mut result__).from_abi(result__) + PeerIdentityExport(pwzidentity.into_param().abi(), pwzpassword.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityGetCryptKey(pwzidentity: P0) -> ::windows_core::Result @@ -1211,13 +1211,13 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityGetCryptKey(pwzidentity : ::windows_core::PCWSTR, phcryptprov : *mut usize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityGetCryptKey(pwzidentity.into_param().abi(), &mut result__).from_abi(result__) + PeerIdentityGetCryptKey(pwzidentity.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityGetDefault() -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityGetDefault(ppwzpeername : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityGetDefault(&mut result__).from_abi(result__) + PeerIdentityGetDefault(&mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityGetFriendlyName(pwzidentity: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -1226,7 +1226,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityGetFriendlyName(pwzidentity : ::windows_core::PCWSTR, ppwzfriendlyname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityGetFriendlyName(pwzidentity.into_param().abi(), &mut result__).from_abi(result__) + PeerIdentityGetFriendlyName(pwzidentity.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityGetXML(pwzidentity: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -1235,7 +1235,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityGetXML(pwzidentity : ::windows_core::PCWSTR, ppwzidentityxml : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityGetXML(pwzidentity.into_param().abi(), &mut result__).from_abi(result__) + PeerIdentityGetXML(pwzidentity.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentityImport(pwzimportxml: P0, pwzpassword: P1) -> ::windows_core::Result<::windows_core::PWSTR> @@ -1245,7 +1245,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerIdentityImport(pwzimportxml : ::windows_core::PCWSTR, pwzpassword : ::windows_core::PCWSTR, ppwzidentity : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerIdentityImport(pwzimportxml.into_param().abi(), pwzpassword.into_param().abi(), &mut result__).from_abi(result__) + PeerIdentityImport(pwzimportxml.into_param().abi(), pwzpassword.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerIdentitySetFriendlyName(pwzidentity: P0, pwzfriendlyname: P1) -> ::windows_core::Result<()> @@ -1263,7 +1263,7 @@ where { ::windows_targets::link!("p2p.dll" "system" fn PeerNameToPeerHostName(pwzpeername : ::windows_core::PCWSTR, ppwzhostname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerNameToPeerHostName(pwzpeername.into_param().abi(), &mut result__).from_abi(result__) + PeerNameToPeerHostName(pwzpeername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PeerPnrpEndResolve(hresolve: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -1280,7 +1280,7 @@ pub unsafe fn PeerPnrpGetCloudInfo(pcnumclouds: *mut u32, ppcloudinfo: *mut *mut pub unsafe fn PeerPnrpGetEndpoint(hresolve: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut PEER_PNRP_ENDPOINT_INFO> { ::windows_targets::link!("p2p.dll" "system" fn PeerPnrpGetEndpoint(hresolve : *const ::core::ffi::c_void, ppendpoint : *mut *mut PEER_PNRP_ENDPOINT_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PeerPnrpGetEndpoint(hresolve, &mut result__).from_abi(result__) + PeerPnrpGetEndpoint(hresolve, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Networking_WinSock")] #[inline] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WiFi/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WiFi/mod.rs index d54f8b0b3a..a8692d4220 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WiFi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WiFi/mod.rs @@ -504,7 +504,7 @@ impl IDot11AdHocInterface { } pub unsafe fn GetFriendlyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDot11d(&self, pf11d: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsDot11d)(::windows_core::Interface::as_raw(self), pf11d).ok() @@ -517,15 +517,15 @@ impl IDot11AdHocInterface { } pub unsafe fn GetActiveNetwork(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveNetwork)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveNetwork)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIEnumSecuritySettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIEnumSecuritySettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIEnumSecuritySettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIEnumDot11AdHocNetworks(&self, pfilterguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocNetworks)(::windows_core::Interface::as_raw(self), pfilterguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocNetworks)(::windows_core::Interface::as_raw(self), pfilterguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self, pstate: *mut DOT11_ADHOC_NETWORK_CONNECTION_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), pstate).ok() @@ -569,7 +569,7 @@ impl IDot11AdHocManager { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNetwork)(::windows_core::Interface::as_raw(self), name.into_param().abi(), password.into_param().abi(), geographicalid, pinterface.into_param().abi(), psecurity.into_param().abi(), pcontextguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNetwork)(::windows_core::Interface::as_raw(self), name.into_param().abi(), password.into_param().abi(), geographicalid, pinterface.into_param().abi(), psecurity.into_param().abi(), pcontextguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommitCreatedNetwork(&self, piadhoc: P0, fsaveprofile: P1, fmakesavedprofileuserspecific: P2) -> ::windows_core::Result<()> where @@ -581,15 +581,15 @@ impl IDot11AdHocManager { } pub unsafe fn GetIEnumDot11AdHocNetworks(&self, pcontextguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocNetworks)(::windows_core::Interface::as_raw(self), pcontextguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocNetworks)(::windows_core::Interface::as_raw(self), pcontextguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIEnumDot11AdHocInterfaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIEnumDot11AdHocInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNetwork(&self, networksignature: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), networksignature, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), networksignature, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -641,14 +641,14 @@ impl IDot11AdHocNetwork { } pub unsafe fn GetSSID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HasProfile(&self, pf11d: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).HasProfile)(::windows_core::Interface::as_raw(self), pf11d).ok() } pub unsafe fn GetProfileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeleteProfile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteProfile)(::windows_core::Interface::as_raw(self)).ok() @@ -658,7 +658,7 @@ impl IDot11AdHocNetwork { } pub unsafe fn GetSecuritySetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecuritySetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecuritySetting)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextGuid(&self, pcontextguid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetContextGuid)(::windows_core::Interface::as_raw(self), pcontextguid).ok() @@ -668,7 +668,7 @@ impl IDot11AdHocNetwork { } pub unsafe fn GetInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Connect(&self, passphrase: P0, geographicalid: i32, fsaveprofile: P1, fmakesavedprofileuserspecific: P2) -> ::windows_core::Result<()> where @@ -747,7 +747,7 @@ impl IEnumDot11AdHocInterfaces { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -773,7 +773,7 @@ impl IEnumDot11AdHocNetworks { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -799,7 +799,7 @@ impl IEnumDot11AdHocSecuritySettings { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectNow/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectNow/mod.rs index fcc947190a..ec466ce9de 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectNow/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectNow/mod.rs @@ -32,7 +32,7 @@ impl IWCNDevice { } pub unsafe fn GetIntegerAttribute(&self, attributetype: WCN_ATTRIBUTE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntegerAttribute)(::windows_core::Interface::as_raw(self), attributetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntegerAttribute)(::windows_core::Interface::as_raw(self), attributetype, &mut result__).map(|| result__) } pub unsafe fn GetStringAttribute(&self, attributetype: WCN_ATTRIBUTE_TYPE, wszstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStringAttribute)(::windows_core::Interface::as_raw(self), attributetype, wszstring.len().try_into().unwrap(), ::core::mem::transmute(wszstring.as_ptr())).ok() diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs index 48cd79d747..944999e7b6 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs @@ -11,7 +11,7 @@ where { ::windows_targets::link!("ondemandconnroutehelper.dll" "system" fn GetInterfaceContextTableForHostName(hostname : ::windows_core::PCWSTR, proxyname : ::windows_core::PCWSTR, flags : u32, connectionprofilefilterrawdata : *const u8, connectionprofilefilterrawdatasize : u32, interfacecontexttable : *mut *mut NET_INTERFACE_CONTEXT_TABLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetInterfaceContextTableForHostName(hostname.into_param().abi(), proxyname.into_param().abi(), flags, ::core::mem::transmute(connectionprofilefilterrawdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), connectionprofilefilterrawdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + GetInterfaceContextTableForHostName(hostname.into_param().abi(), proxyname.into_param().abi(), flags, ::core::mem::transmute(connectionprofilefilterrawdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), connectionprofilefilterrawdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).map(|| result__) } #[inline] pub unsafe fn OnDemandGetRoutingHint(destinationhostname: P0) -> ::windows_core::Result @@ -20,13 +20,13 @@ where { ::windows_targets::link!("ondemandconnroutehelper.dll" "system" fn OnDemandGetRoutingHint(destinationhostname : ::windows_core::PCWSTR, interfaceindex : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OnDemandGetRoutingHint(destinationhostname.into_param().abi(), &mut result__).from_abi(result__) + OnDemandGetRoutingHint(destinationhostname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn OnDemandRegisterNotification(callback: ONDEMAND_NOTIFICATION_CALLBACK, callbackcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { ::windows_targets::link!("ondemandconnroutehelper.dll" "system" fn OnDemandRegisterNotification(callback : ONDEMAND_NOTIFICATION_CALLBACK, callbackcontext : *const ::core::ffi::c_void, registrationhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OnDemandRegisterNotification(callback, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + OnDemandRegisterNotification(callback, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn OnDemandUnRegisterNotification(registrationhandle: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsFirewall/mod.rs b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsFirewall/mod.rs index 5f1ffb193f..d4b0218b0b 100644 --- a/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsFirewall/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/NetworkManagement/WindowsFirewall/mod.rs @@ -30,7 +30,7 @@ pub unsafe fn NetworkIsolationEnumAppContainers(flags: u32, pdwnumpublicappcs: * pub unsafe fn NetworkIsolationEnumerateAppContainerRules() -> ::windows_core::Result { ::windows_targets::link!("firewallapi.dll" "system" fn NetworkIsolationEnumerateAppContainerRules(newenum : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NetworkIsolationEnumerateAppContainerRules(&mut result__).from_abi(result__) + NetworkIsolationEnumerateAppContainerRules(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] #[inline] @@ -101,43 +101,43 @@ where impl IDynamicPortMapping { pub unsafe fn ExternalIPAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoteHost(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteHost)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Protocol(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InternalClient(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternalClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternalClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LeaseDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LeaseDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LeaseDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RenewLease(&self, lleasedurationdesired: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RenewLease)(::windows_core::Interface::as_raw(self), lleasedurationdesired, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RenewLease)(::windows_core::Interface::as_raw(self), lleasedurationdesired, &mut result__).map(|| result__) } pub unsafe fn EditInternalClient(&self, bstrinternalclient: P0) -> ::windows_core::Result<()> where @@ -189,7 +189,7 @@ pub struct IDynamicPortMapping_Vtbl { impl IDynamicPortMappingCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, bstrremotehost: P0, lexternalport: i32, bstrprotocol: P1) -> ::windows_core::Result @@ -198,11 +198,11 @@ impl IDynamicPortMappingCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrremotehost.into_param().abi(), lexternalport, bstrprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), bstrremotehost.into_param().abi(), lexternalport, bstrprotocol.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Remove(&self, bstrremotehost: P0, lexternalport: i32, bstrprotocol: P1) -> ::windows_core::Result<()> where @@ -221,7 +221,7 @@ impl IDynamicPortMappingCollection { P4: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrremotehost.into_param().abi(), lexternalport, bstrprotocol.into_param().abi(), linternalport, bstrinternalclient.into_param().abi(), benabled.into_param().abi(), bstrdescription.into_param().abi(), lleaseduration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), bstrremotehost.into_param().abi(), lexternalport, bstrprotocol.into_param().abi(), linternalport, bstrinternalclient.into_param().abi(), benabled.into_param().abi(), bstrdescription.into_param().abi(), lleaseduration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -255,7 +255,7 @@ impl IEnumNetConnection { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -281,7 +281,7 @@ impl IEnumNetSharingEveryConnection { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -307,7 +307,7 @@ impl IEnumNetSharingPortMapping { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -333,7 +333,7 @@ impl IEnumNetSharingPrivateConnection { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -359,7 +359,7 @@ impl IEnumNetSharingPublicConnection { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -444,15 +444,15 @@ impl INetConnection { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Duplicate)(::windows_core::Interface::as_raw(self), pszwduplicatename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Duplicate)(::windows_core::Interface::as_raw(self), pszwduplicatename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result<*mut NETCON_PROPERTIES> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUiObjectClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUiObjectClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUiObjectClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Rename(&self, pszwnewname: P0) -> ::windows_core::Result<()> where @@ -508,7 +508,7 @@ pub struct INetConnectionConnectUi_Vtbl { impl INetConnectionManager { pub unsafe fn EnumConnections(&self, flags: NETCONMGR_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -525,27 +525,27 @@ pub struct INetConnectionManager_Vtbl { impl INetConnectionProps { pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Characteristics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Characteristics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Characteristics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -568,7 +568,7 @@ pub struct INetConnectionProps_Vtbl { impl INetFwAuthorizedApplication { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -578,7 +578,7 @@ impl INetFwAuthorizedApplication { } pub unsafe fn ProcessImageFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessImageFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessImageFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProcessImageFileName(&self, imagefilename: P0) -> ::windows_core::Result<()> where @@ -588,21 +588,21 @@ impl INetFwAuthorizedApplication { } pub unsafe fn IpVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIpVersion(&self, ipversion: NET_FW_IP_VERSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpVersion)(::windows_core::Interface::as_raw(self), ipversion).ok() } pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScope(&self, scope: NET_FW_SCOPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScope)(::windows_core::Interface::as_raw(self), scope).ok() } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -612,7 +612,7 @@ impl INetFwAuthorizedApplication { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -647,7 +647,7 @@ pub struct INetFwAuthorizedApplication_Vtbl { impl INetFwAuthorizedApplications { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, app: P0) -> ::windows_core::Result<()> @@ -668,11 +668,11 @@ impl INetFwAuthorizedApplications { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), imagefilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), imagefilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -700,7 +700,7 @@ pub struct INetFwAuthorizedApplications_Vtbl { impl INetFwIcmpSettings { pub unsafe fn AllowOutboundDestinationUnreachable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowOutboundDestinationUnreachable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowOutboundDestinationUnreachable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowOutboundDestinationUnreachable(&self, allow: P0) -> ::windows_core::Result<()> where @@ -710,7 +710,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowRedirect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowRedirect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowRedirect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowRedirect(&self, allow: P0) -> ::windows_core::Result<()> where @@ -720,7 +720,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowInboundEchoRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInboundEchoRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInboundEchoRequest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInboundEchoRequest(&self, allow: P0) -> ::windows_core::Result<()> where @@ -730,7 +730,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowOutboundTimeExceeded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowOutboundTimeExceeded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowOutboundTimeExceeded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowOutboundTimeExceeded(&self, allow: P0) -> ::windows_core::Result<()> where @@ -740,7 +740,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowOutboundParameterProblem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowOutboundParameterProblem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowOutboundParameterProblem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowOutboundParameterProblem(&self, allow: P0) -> ::windows_core::Result<()> where @@ -750,7 +750,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowOutboundSourceQuench(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowOutboundSourceQuench)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowOutboundSourceQuench)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowOutboundSourceQuench(&self, allow: P0) -> ::windows_core::Result<()> where @@ -760,7 +760,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowInboundRouterRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInboundRouterRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInboundRouterRequest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInboundRouterRequest(&self, allow: P0) -> ::windows_core::Result<()> where @@ -770,7 +770,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowInboundTimestampRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInboundTimestampRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInboundTimestampRequest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInboundTimestampRequest(&self, allow: P0) -> ::windows_core::Result<()> where @@ -780,7 +780,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowInboundMaskRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInboundMaskRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInboundMaskRequest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInboundMaskRequest(&self, allow: P0) -> ::windows_core::Result<()> where @@ -790,7 +790,7 @@ impl INetFwIcmpSettings { } pub unsafe fn AllowOutboundPacketTooBig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowOutboundPacketTooBig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowOutboundPacketTooBig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowOutboundPacketTooBig(&self, allow: P0) -> ::windows_core::Result<()> where @@ -834,11 +834,11 @@ impl INetFwMgr { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LocalPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProfileType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProfileType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProfileType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RestoreDefaults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RestoreDefaults)(::windows_core::Interface::as_raw(self)).ok() @@ -879,7 +879,7 @@ pub struct INetFwMgr_Vtbl { impl INetFwOpenPort { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -889,35 +889,35 @@ impl INetFwOpenPort { } pub unsafe fn IpVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIpVersion(&self, ipversion: NET_FW_IP_VERSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpVersion)(::windows_core::Interface::as_raw(self), ipversion).ok() } pub unsafe fn Protocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtocol(&self, ipprotocol: NET_FW_IP_PROTOCOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProtocol)(::windows_core::Interface::as_raw(self), ipprotocol).ok() } pub unsafe fn Port(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Port)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Port)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPort(&self, portnumber: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPort)(::windows_core::Interface::as_raw(self), portnumber).ok() } pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScope(&self, scope: NET_FW_SCOPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScope)(::windows_core::Interface::as_raw(self), scope).ok() } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -927,7 +927,7 @@ impl INetFwOpenPort { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -937,7 +937,7 @@ impl INetFwOpenPort { } pub unsafe fn BuiltIn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuiltIn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuiltIn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -969,7 +969,7 @@ pub struct INetFwOpenPort_Vtbl { impl INetFwOpenPorts { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, port: P0) -> ::windows_core::Result<()> @@ -984,11 +984,11 @@ impl INetFwOpenPorts { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, portnumber: i32, ipprotocol: NET_FW_IP_PROTOCOL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), portnumber, ipprotocol, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), portnumber, ipprotocol, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1017,12 +1017,12 @@ impl INetFwPolicy { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProfile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProfileByType(&self, profiletype: NET_FW_PROFILE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProfileByType)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProfileByType)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1047,11 +1047,11 @@ pub struct INetFwPolicy_Vtbl { impl INetFwPolicy2 { pub unsafe fn CurrentProfileTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProfileTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProfileTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_FirewallEnabled(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_FirewallEnabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_FirewallEnabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_FirewallEnabled(&self, profiletype: NET_FW_PROFILE_TYPE2, enabled: P0) -> ::windows_core::Result<()> where @@ -1061,7 +1061,7 @@ impl INetFwPolicy2 { } pub unsafe fn get_ExcludedInterfaces(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ExcludedInterfaces)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ExcludedInterfaces)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_ExcludedInterfaces(&self, profiletype: NET_FW_PROFILE_TYPE2, interfaces: P0) -> ::windows_core::Result<()> where @@ -1071,7 +1071,7 @@ impl INetFwPolicy2 { } pub unsafe fn get_BlockAllInboundTraffic(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_BlockAllInboundTraffic)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_BlockAllInboundTraffic)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_BlockAllInboundTraffic(&self, profiletype: NET_FW_PROFILE_TYPE2, block: P0) -> ::windows_core::Result<()> where @@ -1081,7 +1081,7 @@ impl INetFwPolicy2 { } pub unsafe fn get_NotificationsDisabled(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_NotificationsDisabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_NotificationsDisabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_NotificationsDisabled(&self, profiletype: NET_FW_PROFILE_TYPE2, disabled: P0) -> ::windows_core::Result<()> where @@ -1091,7 +1091,7 @@ impl INetFwPolicy2 { } pub unsafe fn get_UnicastResponsesToMulticastBroadcastDisabled(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_UnicastResponsesToMulticastBroadcastDisabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_UnicastResponsesToMulticastBroadcastDisabled)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_UnicastResponsesToMulticastBroadcastDisabled(&self, profiletype: NET_FW_PROFILE_TYPE2, disabled: P0) -> ::windows_core::Result<()> where @@ -1102,12 +1102,12 @@ impl INetFwPolicy2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ServiceRestriction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceRestriction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceRestriction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableRuleGroup(&self, profiletypesbitmask: i32, group: P0, enable: P1) -> ::windows_core::Result<()> where @@ -1121,21 +1121,21 @@ impl INetFwPolicy2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRuleGroupEnabled)(::windows_core::Interface::as_raw(self), profiletypesbitmask, group.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRuleGroupEnabled)(::windows_core::Interface::as_raw(self), profiletypesbitmask, group.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RestoreLocalFirewallDefaults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RestoreLocalFirewallDefaults)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn get_DefaultInboundAction(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DefaultInboundAction)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DefaultInboundAction)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_DefaultInboundAction(&self, profiletype: NET_FW_PROFILE_TYPE2, action: NET_FW_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_DefaultInboundAction)(::windows_core::Interface::as_raw(self), profiletype, action).ok() } pub unsafe fn get_DefaultOutboundAction(&self, profiletype: NET_FW_PROFILE_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_DefaultOutboundAction)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_DefaultOutboundAction)(::windows_core::Interface::as_raw(self), profiletype, &mut result__).map(|| result__) } pub unsafe fn put_DefaultOutboundAction(&self, profiletype: NET_FW_PROFILE_TYPE2, action: NET_FW_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_DefaultOutboundAction)(::windows_core::Interface::as_raw(self), profiletype, action).ok() @@ -1145,11 +1145,11 @@ impl INetFwPolicy2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IsRuleGroupCurrentlyEnabled)(::windows_core::Interface::as_raw(self), group.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IsRuleGroupCurrentlyEnabled)(::windows_core::Interface::as_raw(self), group.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn LocalPolicyModifyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPolicyModifyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPolicyModifyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1194,7 +1194,7 @@ pub struct INetFwPolicy2_Vtbl { impl INetFwProduct { pub unsafe fn RuleCategories(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RuleCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RuleCategories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRuleCategories(&self, rulecategories: P0) -> ::windows_core::Result<()> where @@ -1204,7 +1204,7 @@ impl INetFwProduct { } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, displayname: P0) -> ::windows_core::Result<()> where @@ -1214,7 +1214,7 @@ impl INetFwProduct { } pub unsafe fn PathToSignedProductExe(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathToSignedProductExe)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathToSignedProductExe)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1236,7 +1236,7 @@ pub struct INetFwProduct_Vtbl { impl INetFwProducts { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Register(&self, product: P0) -> ::windows_core::Result<::windows_core::IUnknown> @@ -1244,16 +1244,16 @@ impl INetFwProducts { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), product.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), product.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1280,11 +1280,11 @@ pub struct INetFwProducts_Vtbl { impl INetFwProfile { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirewallEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirewallEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFirewallEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1294,7 +1294,7 @@ impl INetFwProfile { } pub unsafe fn ExceptionsNotAllowed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExceptionsNotAllowed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExceptionsNotAllowed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExceptionsNotAllowed(&self, notallowed: P0) -> ::windows_core::Result<()> where @@ -1304,7 +1304,7 @@ impl INetFwProfile { } pub unsafe fn NotificationsDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotificationsDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotificationsDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationsDisabled(&self, disabled: P0) -> ::windows_core::Result<()> where @@ -1314,7 +1314,7 @@ impl INetFwProfile { } pub unsafe fn UnicastResponsesToMulticastBroadcastDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnicastResponsesToMulticastBroadcastDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnicastResponsesToMulticastBroadcastDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnicastResponsesToMulticastBroadcastDisabled(&self, disabled: P0) -> ::windows_core::Result<()> where @@ -1325,27 +1325,27 @@ impl INetFwProfile { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoteAdminSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAdminSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAdminSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IcmpSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IcmpSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IcmpSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GloballyOpenPorts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GloballyOpenPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GloballyOpenPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Services(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AuthorizedApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthorizedApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthorizedApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1391,21 +1391,21 @@ pub struct INetFwProfile_Vtbl { impl INetFwRemoteAdminSettings { pub unsafe fn IpVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIpVersion(&self, ipversion: NET_FW_IP_VERSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpVersion)(::windows_core::Interface::as_raw(self), ipversion).ok() } pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScope(&self, scope: NET_FW_SCOPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScope)(::windows_core::Interface::as_raw(self), scope).ok() } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -1415,7 +1415,7 @@ impl INetFwRemoteAdminSettings { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1446,7 +1446,7 @@ pub struct INetFwRemoteAdminSettings_Vtbl { impl INetFwRule { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1456,7 +1456,7 @@ impl INetFwRule { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, desc: P0) -> ::windows_core::Result<()> where @@ -1466,7 +1466,7 @@ impl INetFwRule { } pub unsafe fn ApplicationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationName(&self, imagefilename: P0) -> ::windows_core::Result<()> where @@ -1476,7 +1476,7 @@ impl INetFwRule { } pub unsafe fn ServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceName(&self, servicename: P0) -> ::windows_core::Result<()> where @@ -1486,14 +1486,14 @@ impl INetFwRule { } pub unsafe fn Protocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtocol(&self, protocol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProtocol)(::windows_core::Interface::as_raw(self), protocol).ok() } pub unsafe fn LocalPorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalPorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1503,7 +1503,7 @@ impl INetFwRule { } pub unsafe fn RemotePorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemotePorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1513,7 +1513,7 @@ impl INetFwRule { } pub unsafe fn LocalAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddresses(&self, localaddrs: P0) -> ::windows_core::Result<()> where @@ -1523,7 +1523,7 @@ impl INetFwRule { } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -1533,7 +1533,7 @@ impl INetFwRule { } pub unsafe fn IcmpTypesAndCodes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIcmpTypesAndCodes(&self, icmptypesandcodes: P0) -> ::windows_core::Result<()> where @@ -1543,14 +1543,14 @@ impl INetFwRule { } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDirection(&self, dir: NET_FW_RULE_DIRECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDirection)(::windows_core::Interface::as_raw(self), dir).ok() } pub unsafe fn Interfaces(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaces(&self, interfaces: P0) -> ::windows_core::Result<()> where @@ -1560,7 +1560,7 @@ impl INetFwRule { } pub unsafe fn InterfaceTypes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaceTypes(&self, interfacetypes: P0) -> ::windows_core::Result<()> where @@ -1570,7 +1570,7 @@ impl INetFwRule { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1580,7 +1580,7 @@ impl INetFwRule { } pub unsafe fn Grouping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Grouping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Grouping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGrouping(&self, context: P0) -> ::windows_core::Result<()> where @@ -1590,14 +1590,14 @@ impl INetFwRule { } pub unsafe fn Profiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProfiles(&self, profiletypesbitmask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProfiles)(::windows_core::Interface::as_raw(self), profiletypesbitmask).ok() } pub unsafe fn EdgeTraversal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEdgeTraversal(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1607,7 +1607,7 @@ impl INetFwRule { } pub unsafe fn Action(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Action)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Action)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAction(&self, action: NET_FW_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAction)(::windows_core::Interface::as_raw(self), action).ok() @@ -1663,7 +1663,7 @@ pub struct INetFwRule_Vtbl { impl INetFwRule2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1673,7 +1673,7 @@ impl INetFwRule2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, desc: P0) -> ::windows_core::Result<()> where @@ -1683,7 +1683,7 @@ impl INetFwRule2 { } pub unsafe fn ApplicationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationName(&self, imagefilename: P0) -> ::windows_core::Result<()> where @@ -1693,7 +1693,7 @@ impl INetFwRule2 { } pub unsafe fn ServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceName(&self, servicename: P0) -> ::windows_core::Result<()> where @@ -1703,14 +1703,14 @@ impl INetFwRule2 { } pub unsafe fn Protocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Protocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtocol(&self, protocol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProtocol)(::windows_core::Interface::as_raw(self), protocol).ok() } pub unsafe fn LocalPorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalPorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1720,7 +1720,7 @@ impl INetFwRule2 { } pub unsafe fn RemotePorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemotePorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1730,7 +1730,7 @@ impl INetFwRule2 { } pub unsafe fn LocalAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddresses(&self, localaddrs: P0) -> ::windows_core::Result<()> where @@ -1740,7 +1740,7 @@ impl INetFwRule2 { } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -1750,7 +1750,7 @@ impl INetFwRule2 { } pub unsafe fn IcmpTypesAndCodes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIcmpTypesAndCodes(&self, icmptypesandcodes: P0) -> ::windows_core::Result<()> where @@ -1760,14 +1760,14 @@ impl INetFwRule2 { } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDirection(&self, dir: NET_FW_RULE_DIRECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDirection)(::windows_core::Interface::as_raw(self), dir).ok() } pub unsafe fn Interfaces(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaces(&self, interfaces: P0) -> ::windows_core::Result<()> where @@ -1777,7 +1777,7 @@ impl INetFwRule2 { } pub unsafe fn InterfaceTypes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaceTypes(&self, interfacetypes: P0) -> ::windows_core::Result<()> where @@ -1787,7 +1787,7 @@ impl INetFwRule2 { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1797,7 +1797,7 @@ impl INetFwRule2 { } pub unsafe fn Grouping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Grouping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Grouping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGrouping(&self, context: P0) -> ::windows_core::Result<()> where @@ -1807,14 +1807,14 @@ impl INetFwRule2 { } pub unsafe fn Profiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProfiles(&self, profiletypesbitmask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProfiles)(::windows_core::Interface::as_raw(self), profiletypesbitmask).ok() } pub unsafe fn EdgeTraversal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEdgeTraversal(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1824,14 +1824,14 @@ impl INetFwRule2 { } pub unsafe fn Action(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Action)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Action)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAction(&self, action: NET_FW_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAction)(::windows_core::Interface::as_raw(self), action).ok() } pub unsafe fn EdgeTraversalOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EdgeTraversalOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EdgeTraversalOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEdgeTraversalOptions(&self, loptions: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEdgeTraversalOptions)(::windows_core::Interface::as_raw(self), loptions).ok() @@ -1853,7 +1853,7 @@ pub struct INetFwRule2_Vtbl { impl INetFwRule3 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1863,7 +1863,7 @@ impl INetFwRule3 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, desc: P0) -> ::windows_core::Result<()> where @@ -1873,7 +1873,7 @@ impl INetFwRule3 { } pub unsafe fn ApplicationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationName(&self, imagefilename: P0) -> ::windows_core::Result<()> where @@ -1883,7 +1883,7 @@ impl INetFwRule3 { } pub unsafe fn ServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ServiceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceName(&self, servicename: P0) -> ::windows_core::Result<()> where @@ -1893,14 +1893,14 @@ impl INetFwRule3 { } pub unsafe fn Protocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Protocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtocol(&self, protocol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetProtocol)(::windows_core::Interface::as_raw(self), protocol).ok() } pub unsafe fn LocalPorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LocalPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalPorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1910,7 +1910,7 @@ impl INetFwRule3 { } pub unsafe fn RemotePorts(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RemotePorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemotePorts(&self, portnumbers: P0) -> ::windows_core::Result<()> where @@ -1920,7 +1920,7 @@ impl INetFwRule3 { } pub unsafe fn LocalAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LocalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAddresses(&self, localaddrs: P0) -> ::windows_core::Result<()> where @@ -1930,7 +1930,7 @@ impl INetFwRule3 { } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -1940,7 +1940,7 @@ impl INetFwRule3 { } pub unsafe fn IcmpTypesAndCodes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IcmpTypesAndCodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIcmpTypesAndCodes(&self, icmptypesandcodes: P0) -> ::windows_core::Result<()> where @@ -1950,14 +1950,14 @@ impl INetFwRule3 { } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDirection(&self, dir: NET_FW_RULE_DIRECTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetDirection)(::windows_core::Interface::as_raw(self), dir).ok() } pub unsafe fn Interfaces(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Interfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaces(&self, interfaces: P0) -> ::windows_core::Result<()> where @@ -1967,7 +1967,7 @@ impl INetFwRule3 { } pub unsafe fn InterfaceTypes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InterfaceTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaceTypes(&self, interfacetypes: P0) -> ::windows_core::Result<()> where @@ -1977,7 +1977,7 @@ impl INetFwRule3 { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1987,7 +1987,7 @@ impl INetFwRule3 { } pub unsafe fn Grouping(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Grouping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Grouping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGrouping(&self, context: P0) -> ::windows_core::Result<()> where @@ -1997,14 +1997,14 @@ impl INetFwRule3 { } pub unsafe fn Profiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProfiles(&self, profiletypesbitmask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetProfiles)(::windows_core::Interface::as_raw(self), profiletypesbitmask).ok() } pub unsafe fn EdgeTraversal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EdgeTraversal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEdgeTraversal(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -2014,21 +2014,21 @@ impl INetFwRule3 { } pub unsafe fn Action(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Action)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Action)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAction(&self, action: NET_FW_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetAction)(::windows_core::Interface::as_raw(self), action).ok() } pub unsafe fn EdgeTraversalOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EdgeTraversalOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EdgeTraversalOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEdgeTraversalOptions(&self, loptions: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEdgeTraversalOptions)(::windows_core::Interface::as_raw(self), loptions).ok() } pub unsafe fn LocalAppPackageId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalAppPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalAppPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalAppPackageId(&self, wszpackageid: P0) -> ::windows_core::Result<()> where @@ -2038,7 +2038,7 @@ impl INetFwRule3 { } pub unsafe fn LocalUserOwner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalUserOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalUserOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserOwner(&self, wszuserowner: P0) -> ::windows_core::Result<()> where @@ -2048,7 +2048,7 @@ impl INetFwRule3 { } pub unsafe fn LocalUserAuthorizedList(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalUserAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalUserAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserAuthorizedList(&self, wszuserauthlist: P0) -> ::windows_core::Result<()> where @@ -2058,7 +2058,7 @@ impl INetFwRule3 { } pub unsafe fn RemoteUserAuthorizedList(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteUserAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteUserAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteUserAuthorizedList(&self, wszuserauthlist: P0) -> ::windows_core::Result<()> where @@ -2068,7 +2068,7 @@ impl INetFwRule3 { } pub unsafe fn RemoteMachineAuthorizedList(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteMachineAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteMachineAuthorizedList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteMachineAuthorizedList(&self, wszuserauthlist: P0) -> ::windows_core::Result<()> where @@ -2078,7 +2078,7 @@ impl INetFwRule3 { } pub unsafe fn SecureFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecureFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecureFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecureFlags(&self, loptions: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSecureFlags)(::windows_core::Interface::as_raw(self), loptions).ok() @@ -2110,7 +2110,7 @@ pub struct INetFwRule3_Vtbl { impl INetFwRules { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, rule: P0) -> ::windows_core::Result<()> @@ -2131,11 +2131,11 @@ impl INetFwRules { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2163,33 +2163,33 @@ pub struct INetFwRules_Vtbl { impl INetFwService { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Customized(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Customized)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Customized)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IpVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIpVersion(&self, ipversion: NET_FW_IP_VERSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpVersion)(::windows_core::Interface::as_raw(self), ipversion).ok() } pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScope(&self, scope: NET_FW_SCOPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScope)(::windows_core::Interface::as_raw(self), scope).ok() } pub unsafe fn RemoteAddresses(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRemoteAddresses(&self, remoteaddrs: P0) -> ::windows_core::Result<()> where @@ -2199,7 +2199,7 @@ impl INetFwService { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -2210,7 +2210,7 @@ impl INetFwService { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GloballyOpenPorts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GloballyOpenPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GloballyOpenPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2255,12 +2255,12 @@ impl INetFwServiceRestriction { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceRestricted)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), appname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceRestricted)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), appname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Rules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2283,16 +2283,16 @@ pub struct INetFwServiceRestriction_Vtbl { impl INetFwServices { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, svctype: NET_FW_SERVICE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), svctype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), svctype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2315,11 +2315,11 @@ pub struct INetFwServices_Vtbl { impl INetSharingConfiguration { pub unsafe fn SharingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SharingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SharingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SharingConnectionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SharingConnectionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SharingConnectionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DisableSharing(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisableSharing)(::windows_core::Interface::as_raw(self)).ok() @@ -2329,7 +2329,7 @@ impl INetSharingConfiguration { } pub unsafe fn InternetFirewallEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternetFirewallEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternetFirewallEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DisableInternetFirewall(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisableInternetFirewall)(::windows_core::Interface::as_raw(self)).ok() @@ -2340,7 +2340,7 @@ impl INetSharingConfiguration { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_EnumPortMappings(&self, flags: SHARINGCONNECTION_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EnumPortMappings)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EnumPortMappings)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddPortMapping(&self, bstrname: P0, ucipprotocol: u8, usexternalport: u16, usinternalport: u16, dwoptions: u32, bstrtargetnameoripaddress: P1, etargettype: ICS_TARGETTYPE) -> ::windows_core::Result @@ -2349,7 +2349,7 @@ impl INetSharingConfiguration { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddPortMapping)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ucipprotocol, usexternalport, usinternalport, dwoptions, bstrtargetnameoripaddress.into_param().abi(), etargettype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddPortMapping)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ucipprotocol, usexternalport, usinternalport, dwoptions, bstrtargetnameoripaddress.into_param().abi(), etargettype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemovePortMapping(&self, pmapping: P0) -> ::windows_core::Result<()> @@ -2392,11 +2392,11 @@ pub struct INetSharingConfiguration_Vtbl { impl INetSharingEveryConnectionCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2415,17 +2415,17 @@ pub struct INetSharingEveryConnectionCollection_Vtbl { impl INetSharingManager { pub unsafe fn SharingInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SharingInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SharingInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_EnumPublicConnections(&self, flags: SHARINGCONNECTION_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EnumPublicConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EnumPublicConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_EnumPrivateConnections(&self, flags: SHARINGCONNECTION_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EnumPrivateConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EnumPrivateConnections)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_INetSharingConfigurationForINetConnection(&self, pnetconnection: P0) -> ::windows_core::Result @@ -2433,12 +2433,12 @@ impl INetSharingManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_INetSharingConfigurationForINetConnection)(::windows_core::Interface::as_raw(self), pnetconnection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_INetSharingConfigurationForINetConnection)(::windows_core::Interface::as_raw(self), pnetconnection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumEveryConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumEveryConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumEveryConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_NetConnectionProps(&self, pnetconnection: P0) -> ::windows_core::Result @@ -2446,7 +2446,7 @@ impl INetSharingManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_NetConnectionProps)(::windows_core::Interface::as_raw(self), pnetconnection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_NetConnectionProps)(::windows_core::Interface::as_raw(self), pnetconnection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2491,7 +2491,7 @@ impl INetSharingPortMapping { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -2518,11 +2518,11 @@ pub struct INetSharingPortMapping_Vtbl { impl INetSharingPortMappingCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2541,35 +2541,35 @@ pub struct INetSharingPortMappingCollection_Vtbl { impl INetSharingPortMappingProps { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IPProtocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IPProtocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IPProtocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Options(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Options)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TargetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TargetIPAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2594,11 +2594,11 @@ pub struct INetSharingPortMappingProps_Vtbl { impl INetSharingPrivateConnectionCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2617,11 +2617,11 @@ pub struct INetSharingPrivateConnectionCollection_Vtbl { impl INetSharingPublicConnectionCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2640,31 +2640,31 @@ pub struct INetSharingPublicConnectionCollection_Vtbl { impl IStaticPortMapping { pub unsafe fn ExternalIPAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalIPAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InternalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Protocol(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InternalClient(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InternalClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InternalClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EditInternalClient(&self, bstrinternalclient: P0) -> ::windows_core::Result<()> where @@ -2713,7 +2713,7 @@ pub struct IStaticPortMapping_Vtbl { impl IStaticPortMappingCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, lexternalport: i32, bstrprotocol: P0) -> ::windows_core::Result @@ -2721,11 +2721,11 @@ impl IStaticPortMappingCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lexternalport, bstrprotocol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lexternalport, bstrprotocol.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Remove(&self, lexternalport: i32, bstrprotocol: P0) -> ::windows_core::Result<()> where @@ -2742,7 +2742,7 @@ impl IStaticPortMappingCollection { P3: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), lexternalport, bstrprotocol.into_param().abi(), linternalport, bstrinternalclient.into_param().abi(), benabled.into_param().abi(), bstrdescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), lexternalport, bstrprotocol.into_param().abi(), linternalport, bstrinternalclient.into_param().abi(), benabled.into_param().abi(), bstrdescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2771,17 +2771,17 @@ impl IUPnPNAT { #[cfg(feature = "Win32_System_Com")] pub unsafe fn StaticPortMappingCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StaticPortMappingCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StaticPortMappingCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DynamicPortMappingCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DynamicPortMappingCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DynamicPortMappingCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NATEventManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NATEventManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NATEventManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/ActiveDirectory/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/ActiveDirectory/mod.rs index 2961474e61..507293638f 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/ActiveDirectory/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/ActiveDirectory/mod.rs @@ -6,7 +6,7 @@ where { ::windows_targets::link!("activeds.dll" "system" fn ADsBuildEnumerator(padscontainer : * mut::core::ffi::c_void, ppenumvariant : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ADsBuildEnumerator(padscontainer.into_param().abi(), &mut result__).from_abi(result__) + ADsBuildEnumerator(padscontainer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn ADsBuildVarArrayInt(lpdwobjecttypes: *mut u32, dwobjecttypes: u32, pvar: *mut ::windows_core::VARIANT) -> ::windows_core::Result<()> { @@ -1307,27 +1307,27 @@ where impl IADs { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -1340,7 +1340,7 @@ impl IADs { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -1354,7 +1354,7 @@ impl IADs { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -1397,57 +1397,57 @@ pub struct IADs_Vtbl { impl IADsADSystemInfo { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComputerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SiteName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SiteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SiteName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainShortName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainShortName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainShortName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainDNSName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainDNSName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainDNSName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ForestDNSName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForestDNSName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForestDNSName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PDCRoleOwner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PDCRoleOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PDCRoleOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SchemaRoleOwner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SchemaRoleOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SchemaRoleOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsNativeMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsNativeMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsNativeMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAnyDCName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnyDCName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnyDCName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDCSiteName(&self, szserver: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDCSiteName)(::windows_core::Interface::as_raw(self), szserver.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDCSiteName)(::windows_core::Interface::as_raw(self), szserver.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RefreshSchemaCache(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RefreshSchemaCache)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetTrees(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrees)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrees)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1477,35 +1477,35 @@ pub struct IADsADSystemInfo_Vtbl { impl IADsAccessControlEntry { pub unsafe fn AccessMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccessMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccessMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccessMask(&self, lnaccessmask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAccessMask)(::windows_core::Interface::as_raw(self), lnaccessmask).ok() } pub unsafe fn AceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAceType(&self, lnacetype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAceType)(::windows_core::Interface::as_raw(self), lnacetype).ok() } pub unsafe fn AceFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AceFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AceFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAceFlags(&self, lnaceflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAceFlags)(::windows_core::Interface::as_raw(self), lnaceflags).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, lnflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), lnflags).ok() } pub unsafe fn ObjectType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetObjectType(&self, bstrobjecttype: P0) -> ::windows_core::Result<()> where @@ -1515,7 +1515,7 @@ impl IADsAccessControlEntry { } pub unsafe fn InheritedObjectType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InheritedObjectType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InheritedObjectType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInheritedObjectType(&self, bstrinheritedobjecttype: P0) -> ::windows_core::Result<()> where @@ -1525,7 +1525,7 @@ impl IADsAccessControlEntry { } pub unsafe fn Trustee(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trustee)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trustee)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTrustee(&self, bstrtrustee: P0) -> ::windows_core::Result<()> where @@ -1562,14 +1562,14 @@ pub struct IADsAccessControlEntry_Vtbl { impl IADsAccessControlList { pub unsafe fn AclRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AclRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AclRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAclRevision(&self, lnaclrevision: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAclRevision)(::windows_core::Interface::as_raw(self), lnaclrevision).ok() } pub unsafe fn AceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAceCount(&self, lnacecount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAceCount)(::windows_core::Interface::as_raw(self), lnacecount).ok() @@ -1591,11 +1591,11 @@ impl IADsAccessControlList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyAccessList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyAccessList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyAccessList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1629,7 +1629,7 @@ pub struct IADsAccessControlList_Vtbl { impl IADsAcl { pub unsafe fn ProtectedAttrName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProtectedAttrName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProtectedAttrName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProtectedAttrName(&self, bstrprotectedattrname: P0) -> ::windows_core::Result<()> where @@ -1639,7 +1639,7 @@ impl IADsAcl { } pub unsafe fn SubjectName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubjectName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubjectName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubjectName(&self, bstrsubjectname: P0) -> ::windows_core::Result<()> where @@ -1649,7 +1649,7 @@ impl IADsAcl { } pub unsafe fn Privileges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Privileges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Privileges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivileges(&self, lnprivileges: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivileges)(::windows_core::Interface::as_raw(self), lnprivileges).ok() @@ -1657,7 +1657,7 @@ impl IADsAcl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyAcl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyAcl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyAcl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1732,14 +1732,14 @@ pub struct IADsAggregator_Vtbl { impl IADsBackLink { pub unsafe fn RemoteID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRemoteID(&self, lnremoteid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRemoteID)(::windows_core::Interface::as_raw(self), lnremoteid).ok() } pub unsafe fn ObjectName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetObjectName(&self, bstrobjectname: P0) -> ::windows_core::Result<()> where @@ -1766,7 +1766,7 @@ pub struct IADsBackLink_Vtbl { impl IADsCaseIgnoreList { pub unsafe fn CaseIgnoreList(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CaseIgnoreList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CaseIgnoreList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCaseIgnoreList(&self, vcaseignorelist: P0) -> ::windows_core::Result<()> where @@ -1791,27 +1791,27 @@ pub struct IADsCaseIgnoreList_Vtbl { impl IADsClass { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -1824,7 +1824,7 @@ impl IADsClass { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -1838,7 +1838,7 @@ impl IADsClass { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -1855,11 +1855,11 @@ impl IADsClass { } pub unsafe fn PrimaryInterface(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrimaryInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrimaryInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCLSID(&self, bstrclsid: P0) -> ::windows_core::Result<()> where @@ -1869,7 +1869,7 @@ impl IADsClass { } pub unsafe fn OID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOID(&self, bstroid: P0) -> ::windows_core::Result<()> where @@ -1879,7 +1879,7 @@ impl IADsClass { } pub unsafe fn Abstract(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Abstract)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Abstract)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAbstract(&self, fabstract: P0) -> ::windows_core::Result<()> where @@ -1889,7 +1889,7 @@ impl IADsClass { } pub unsafe fn Auxiliary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Auxiliary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Auxiliary)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuxiliary(&self, fauxiliary: P0) -> ::windows_core::Result<()> where @@ -1899,7 +1899,7 @@ impl IADsClass { } pub unsafe fn MandatoryProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MandatoryProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MandatoryProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMandatoryProperties(&self, vmandatoryproperties: P0) -> ::windows_core::Result<()> where @@ -1909,7 +1909,7 @@ impl IADsClass { } pub unsafe fn OptionalProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OptionalProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OptionalProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOptionalProperties(&self, voptionalproperties: P0) -> ::windows_core::Result<()> where @@ -1919,7 +1919,7 @@ impl IADsClass { } pub unsafe fn NamingProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamingProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamingProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNamingProperties(&self, vnamingproperties: P0) -> ::windows_core::Result<()> where @@ -1929,7 +1929,7 @@ impl IADsClass { } pub unsafe fn DerivedFrom(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DerivedFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DerivedFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDerivedFrom(&self, vderivedfrom: P0) -> ::windows_core::Result<()> where @@ -1939,7 +1939,7 @@ impl IADsClass { } pub unsafe fn AuxDerivedFrom(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuxDerivedFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuxDerivedFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuxDerivedFrom(&self, vauxderivedfrom: P0) -> ::windows_core::Result<()> where @@ -1949,7 +1949,7 @@ impl IADsClass { } pub unsafe fn PossibleSuperiors(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PossibleSuperiors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PossibleSuperiors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPossibleSuperiors(&self, vpossiblesuperiors: P0) -> ::windows_core::Result<()> where @@ -1959,7 +1959,7 @@ impl IADsClass { } pub unsafe fn Containment(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Containment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Containment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainment(&self, vcontainment: P0) -> ::windows_core::Result<()> where @@ -1969,7 +1969,7 @@ impl IADsClass { } pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContainer(&self, fcontainer: P0) -> ::windows_core::Result<()> where @@ -1979,7 +1979,7 @@ impl IADsClass { } pub unsafe fn HelpFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HelpFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HelpFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHelpFileName(&self, bstrhelpfilename: P0) -> ::windows_core::Result<()> where @@ -1989,7 +1989,7 @@ impl IADsClass { } pub unsafe fn HelpFileContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HelpFileContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HelpFileContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHelpFileContext(&self, lnhelpfilecontext: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHelpFileContext)(::windows_core::Interface::as_raw(self), lnhelpfilecontext).ok() @@ -1997,7 +1997,7 @@ impl IADsClass { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifiers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifiers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2047,7 +2047,7 @@ pub struct IADsClass_Vtbl { impl IADsCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, bstrname: P0, vitem: P1) -> ::windows_core::Result<()> where @@ -2067,7 +2067,7 @@ impl IADsCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2088,27 +2088,27 @@ pub struct IADsCollection_Vtbl { impl IADsComputer { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -2121,7 +2121,7 @@ impl IADsComputer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2135,7 +2135,7 @@ impl IADsComputer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2152,15 +2152,15 @@ impl IADsComputer { } pub unsafe fn ComputerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Site(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Site)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Site)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -2170,7 +2170,7 @@ impl IADsComputer { } pub unsafe fn Location(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocation(&self, bstrlocation: P0) -> ::windows_core::Result<()> where @@ -2180,7 +2180,7 @@ impl IADsComputer { } pub unsafe fn PrimaryUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrimaryUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrimaryUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrimaryUser(&self, bstrprimaryuser: P0) -> ::windows_core::Result<()> where @@ -2190,7 +2190,7 @@ impl IADsComputer { } pub unsafe fn Owner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwner(&self, bstrowner: P0) -> ::windows_core::Result<()> where @@ -2200,7 +2200,7 @@ impl IADsComputer { } pub unsafe fn Division(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Division)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Division)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDivision(&self, bstrdivision: P0) -> ::windows_core::Result<()> where @@ -2210,7 +2210,7 @@ impl IADsComputer { } pub unsafe fn Department(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepartment(&self, bstrdepartment: P0) -> ::windows_core::Result<()> where @@ -2220,7 +2220,7 @@ impl IADsComputer { } pub unsafe fn Role(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Role)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Role)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRole(&self, bstrrole: P0) -> ::windows_core::Result<()> where @@ -2230,7 +2230,7 @@ impl IADsComputer { } pub unsafe fn OperatingSystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OperatingSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OperatingSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOperatingSystem(&self, bstroperatingsystem: P0) -> ::windows_core::Result<()> where @@ -2240,7 +2240,7 @@ impl IADsComputer { } pub unsafe fn OperatingSystemVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OperatingSystemVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OperatingSystemVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOperatingSystemVersion(&self, bstroperatingsystemversion: P0) -> ::windows_core::Result<()> where @@ -2250,7 +2250,7 @@ impl IADsComputer { } pub unsafe fn Model(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Model)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Model)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModel(&self, bstrmodel: P0) -> ::windows_core::Result<()> where @@ -2260,7 +2260,7 @@ impl IADsComputer { } pub unsafe fn Processor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Processor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Processor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProcessor(&self, bstrprocessor: P0) -> ::windows_core::Result<()> where @@ -2270,7 +2270,7 @@ impl IADsComputer { } pub unsafe fn ProcessorCount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessorCount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProcessorCount(&self, bstrprocessorcount: P0) -> ::windows_core::Result<()> where @@ -2280,7 +2280,7 @@ impl IADsComputer { } pub unsafe fn MemorySize(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MemorySize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MemorySize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMemorySize(&self, bstrmemorysize: P0) -> ::windows_core::Result<()> where @@ -2290,7 +2290,7 @@ impl IADsComputer { } pub unsafe fn StorageCapacity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StorageCapacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StorageCapacity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStorageCapacity(&self, bstrstoragecapacity: P0) -> ::windows_core::Result<()> where @@ -2300,7 +2300,7 @@ impl IADsComputer { } pub unsafe fn NetAddresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetAddresses(&self, vnetaddresses: P0) -> ::windows_core::Result<()> where @@ -2355,27 +2355,27 @@ pub struct IADsComputer_Vtbl { impl IADsComputerOperations { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -2388,7 +2388,7 @@ impl IADsComputerOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2402,7 +2402,7 @@ impl IADsComputerOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2420,7 +2420,7 @@ impl IADsComputerOperations { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shutdown(&self, breboot: P0) -> ::windows_core::Result<()> where @@ -2448,15 +2448,15 @@ pub struct IADsComputerOperations_Vtbl { impl IADsContainer { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Filter(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilter(&self, var: P0) -> ::windows_core::Result<()> where @@ -2466,7 +2466,7 @@ impl IADsContainer { } pub unsafe fn Hints(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHints(&self, vhints: P0) -> ::windows_core::Result<()> where @@ -2481,7 +2481,7 @@ impl IADsContainer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), classname.into_param().abi(), relativename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), classname.into_param().abi(), relativename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Create(&self, classname: P0, relativename: P1) -> ::windows_core::Result @@ -2490,7 +2490,7 @@ impl IADsContainer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), classname.into_param().abi(), relativename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), classname.into_param().abi(), relativename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, bstrclassname: P0, bstrrelativename: P1) -> ::windows_core::Result<()> where @@ -2506,7 +2506,7 @@ impl IADsContainer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyHere)(::windows_core::Interface::as_raw(self), sourcename.into_param().abi(), newname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyHere)(::windows_core::Interface::as_raw(self), sourcename.into_param().abi(), newname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoveHere(&self, sourcename: P0, newname: P1) -> ::windows_core::Result @@ -2515,7 +2515,7 @@ impl IADsContainer { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveHere)(::windows_core::Interface::as_raw(self), sourcename.into_param().abi(), newname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveHere)(::windows_core::Interface::as_raw(self), sourcename.into_param().abi(), newname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2555,7 +2555,7 @@ pub struct IADsContainer_Vtbl { impl IADsDNWithBinary { pub unsafe fn BinaryValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BinaryValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BinaryValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBinaryValue(&self, vbinaryvalue: P0) -> ::windows_core::Result<()> where @@ -2565,7 +2565,7 @@ impl IADsDNWithBinary { } pub unsafe fn DNString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDNString(&self, bstrdnstring: P0) -> ::windows_core::Result<()> where @@ -2592,7 +2592,7 @@ pub struct IADsDNWithBinary_Vtbl { impl IADsDNWithString { pub unsafe fn StringValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StringValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StringValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStringValue(&self, bstrstringvalue: P0) -> ::windows_core::Result<()> where @@ -2602,7 +2602,7 @@ impl IADsDNWithString { } pub unsafe fn DNString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDNString(&self, bstrdnstring: P0) -> ::windows_core::Result<()> where @@ -2646,27 +2646,27 @@ pub struct IADsDeleteOps_Vtbl { impl IADsDomain { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -2679,7 +2679,7 @@ impl IADsDomain { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2693,7 +2693,7 @@ impl IADsDomain { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2710,60 +2710,60 @@ impl IADsDomain { } pub unsafe fn IsWorkgroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorkgroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorkgroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinPasswordLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinPasswordLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinPasswordLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinPasswordLength(&self, lnminpasswordlength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinPasswordLength)(::windows_core::Interface::as_raw(self), lnminpasswordlength).ok() } pub unsafe fn MinPasswordAge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinPasswordAge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinPasswordAge)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinPasswordAge(&self, lnminpasswordage: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinPasswordAge)(::windows_core::Interface::as_raw(self), lnminpasswordage).ok() } pub unsafe fn MaxPasswordAge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxPasswordAge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxPasswordAge)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxPasswordAge(&self, lnmaxpasswordage: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxPasswordAge)(::windows_core::Interface::as_raw(self), lnmaxpasswordage).ok() } pub unsafe fn MaxBadPasswordsAllowed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxBadPasswordsAllowed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxBadPasswordsAllowed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxBadPasswordsAllowed(&self, lnmaxbadpasswordsallowed: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxBadPasswordsAllowed)(::windows_core::Interface::as_raw(self), lnmaxbadpasswordsallowed).ok() } pub unsafe fn PasswordHistoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordHistoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordHistoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPasswordHistoryLength(&self, lnpasswordhistorylength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPasswordHistoryLength)(::windows_core::Interface::as_raw(self), lnpasswordhistorylength).ok() } pub unsafe fn PasswordAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPasswordAttributes(&self, lnpasswordattributes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPasswordAttributes)(::windows_core::Interface::as_raw(self), lnpasswordattributes).ok() } pub unsafe fn AutoUnlockInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoUnlockInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoUnlockInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoUnlockInterval(&self, lnautounlockinterval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoUnlockInterval)(::windows_core::Interface::as_raw(self), lnautounlockinterval).ok() } pub unsafe fn LockoutObservationInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LockoutObservationInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LockoutObservationInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLockoutObservationInterval(&self, lnlockoutobservationinterval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLockoutObservationInterval)(::windows_core::Interface::as_raw(self), lnlockoutobservationinterval).ok() @@ -2800,14 +2800,14 @@ pub struct IADsDomain_Vtbl { impl IADsEmail { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, lntype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), lntype).ok() } pub unsafe fn Address(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAddress(&self, bstraddress: P0) -> ::windows_core::Result<()> where @@ -2839,7 +2839,7 @@ impl IADsExtension { } pub unsafe fn PrivateGetIDsOfNames(&self, riid: *const ::windows_core::GUID, rgsznames: *const *const u16, cnames: u32, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateGetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateGetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateInvoke(&self, dispidmember: i32, riid: *const ::windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut ::windows_core::VARIANT, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> ::windows_core::Result<()> { @@ -2865,7 +2865,7 @@ pub struct IADsExtension_Vtbl { impl IADsFaxNumber { pub unsafe fn TelephoneNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneNumber(&self, bstrtelephonenumber: P0) -> ::windows_core::Result<()> where @@ -2875,7 +2875,7 @@ impl IADsFaxNumber { } pub unsafe fn Parameters(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetParameters(&self, vparameters: P0) -> ::windows_core::Result<()> where @@ -2902,27 +2902,27 @@ pub struct IADsFaxNumber_Vtbl { impl IADsFileService { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -2935,7 +2935,7 @@ impl IADsFileService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2949,7 +2949,7 @@ impl IADsFileService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -2966,7 +2966,7 @@ impl IADsFileService { } pub unsafe fn HostComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHostComputer(&self, bstrhostcomputer: P0) -> ::windows_core::Result<()> where @@ -2976,7 +2976,7 @@ impl IADsFileService { } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, bstrdisplayname: P0) -> ::windows_core::Result<()> where @@ -2986,7 +2986,7 @@ impl IADsFileService { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, bstrversion: P0) -> ::windows_core::Result<()> where @@ -2996,21 +2996,21 @@ impl IADsFileService { } pub unsafe fn ServiceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServiceType(&self, lnservicetype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetServiceType)(::windows_core::Interface::as_raw(self), lnservicetype).ok() } pub unsafe fn StartType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartType(&self, lnstarttype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStartType)(::windows_core::Interface::as_raw(self), lnstarttype).ok() } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bstrpath: P0) -> ::windows_core::Result<()> where @@ -3020,7 +3020,7 @@ impl IADsFileService { } pub unsafe fn StartupParameters(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartupParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartupParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStartupParameters(&self, bstrstartupparameters: P0) -> ::windows_core::Result<()> where @@ -3030,14 +3030,14 @@ impl IADsFileService { } pub unsafe fn ErrorControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ErrorControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ErrorControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorControl(&self, lnerrorcontrol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetErrorControl)(::windows_core::Interface::as_raw(self), lnerrorcontrol).ok() } pub unsafe fn LoadOrderGroup(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoadOrderGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadOrderGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoadOrderGroup(&self, bstrloadordergroup: P0) -> ::windows_core::Result<()> where @@ -3047,7 +3047,7 @@ impl IADsFileService { } pub unsafe fn ServiceAccountName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceAccountName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceAccountName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceAccountName(&self, bstrserviceaccountname: P0) -> ::windows_core::Result<()> where @@ -3057,7 +3057,7 @@ impl IADsFileService { } pub unsafe fn ServiceAccountPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceAccountPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceAccountPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceAccountPath(&self, bstrserviceaccountpath: P0) -> ::windows_core::Result<()> where @@ -3067,7 +3067,7 @@ impl IADsFileService { } pub unsafe fn Dependencies(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDependencies(&self, vdependencies: P0) -> ::windows_core::Result<()> where @@ -3077,7 +3077,7 @@ impl IADsFileService { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3087,7 +3087,7 @@ impl IADsFileService { } pub unsafe fn MaxUserCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxUserCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxUserCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxUserCount(&self, lnmaxusercount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxUserCount)(::windows_core::Interface::as_raw(self), lnmaxusercount).ok() @@ -3111,27 +3111,27 @@ pub struct IADsFileService_Vtbl { impl IADsFileServiceOperations { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3144,7 +3144,7 @@ impl IADsFileServiceOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3158,7 +3158,7 @@ impl IADsFileServiceOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3175,7 +3175,7 @@ impl IADsFileServiceOperations { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Start)(::windows_core::Interface::as_raw(self)).ok() @@ -3198,12 +3198,12 @@ impl IADsFileServiceOperations { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sessions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3228,27 +3228,27 @@ pub struct IADsFileServiceOperations_Vtbl { impl IADsFileShare { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3261,7 +3261,7 @@ impl IADsFileShare { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3275,7 +3275,7 @@ impl IADsFileShare { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3292,11 +3292,11 @@ impl IADsFileShare { } pub unsafe fn CurrentUserCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUserCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUserCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3306,7 +3306,7 @@ impl IADsFileShare { } pub unsafe fn HostComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHostComputer(&self, bstrhostcomputer: P0) -> ::windows_core::Result<()> where @@ -3316,7 +3316,7 @@ impl IADsFileShare { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bstrpath: P0) -> ::windows_core::Result<()> where @@ -3326,7 +3326,7 @@ impl IADsFileShare { } pub unsafe fn MaxUserCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxUserCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxUserCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxUserCount(&self, lnmaxusercount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxUserCount)(::windows_core::Interface::as_raw(self), lnmaxusercount).ok() @@ -3355,27 +3355,27 @@ pub struct IADsFileShare_Vtbl { impl IADsGroup { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3388,7 +3388,7 @@ impl IADsGroup { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3402,7 +3402,7 @@ impl IADsGroup { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3419,7 +3419,7 @@ impl IADsGroup { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3430,14 +3430,14 @@ impl IADsGroup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Members(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsMember(&self, bstrmember: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), bstrmember.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), bstrmember.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Add(&self, bstrnewitem: P0) -> ::windows_core::Result<()> where @@ -3475,7 +3475,7 @@ pub struct IADsGroup_Vtbl { impl IADsHold { pub unsafe fn ObjectName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetObjectName(&self, bstrobjectname: P0) -> ::windows_core::Result<()> where @@ -3485,7 +3485,7 @@ impl IADsHold { } pub unsafe fn Amount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Amount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Amount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAmount(&self, lnamount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAmount)(::windows_core::Interface::as_raw(self), lnamount).ok() @@ -3509,14 +3509,14 @@ pub struct IADsHold_Vtbl { impl IADsLargeInteger { pub unsafe fn HighPart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighPart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighPart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighPart(&self, lnhighpart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHighPart)(::windows_core::Interface::as_raw(self), lnhighpart).ok() } pub unsafe fn LowPart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LowPart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LowPart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLowPart(&self, lnlowpart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowPart)(::windows_core::Interface::as_raw(self), lnlowpart).ok() @@ -3540,27 +3540,27 @@ pub struct IADsLargeInteger_Vtbl { impl IADsLocality { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3573,7 +3573,7 @@ impl IADsLocality { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3587,7 +3587,7 @@ impl IADsLocality { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3604,7 +3604,7 @@ impl IADsLocality { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3614,7 +3614,7 @@ impl IADsLocality { } pub unsafe fn LocalityName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalityName(&self, bstrlocalityname: P0) -> ::windows_core::Result<()> where @@ -3624,7 +3624,7 @@ impl IADsLocality { } pub unsafe fn PostalAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalAddress(&self, bstrpostaladdress: P0) -> ::windows_core::Result<()> where @@ -3634,7 +3634,7 @@ impl IADsLocality { } pub unsafe fn SeeAlso(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSeeAlso(&self, vseealso: P0) -> ::windows_core::Result<()> where @@ -3665,15 +3665,15 @@ pub struct IADsLocality_Vtbl { impl IADsMembers { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Filter(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Filter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilter(&self, pvfilter: P0) -> ::windows_core::Result<()> where @@ -3724,7 +3724,7 @@ impl IADsNameTranslate { } pub unsafe fn Get(&self, lnformattype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEx(&self, lnformattype: i32, pvar: P0) -> ::windows_core::Result<()> where @@ -3734,7 +3734,7 @@ impl IADsNameTranslate { } pub unsafe fn GetEx(&self, lnformattype: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEx)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEx)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3758,27 +3758,27 @@ pub struct IADsNameTranslate_Vtbl { impl IADsNamespaces { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3791,7 +3791,7 @@ impl IADsNamespaces { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3805,7 +3805,7 @@ impl IADsNamespaces { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3822,7 +3822,7 @@ impl IADsNamespaces { } pub unsafe fn DefaultContainer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultContainer(&self, bstrdefaultcontainer: P0) -> ::windows_core::Result<()> where @@ -3847,14 +3847,14 @@ pub struct IADsNamespaces_Vtbl { impl IADsNetAddress { pub unsafe fn AddressType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAddressType(&self, lnaddresstype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAddressType)(::windows_core::Interface::as_raw(self), lnaddresstype).ok() } pub unsafe fn Address(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAddress(&self, vaddress: P0) -> ::windows_core::Result<()> where @@ -3881,27 +3881,27 @@ pub struct IADsNetAddress_Vtbl { impl IADsO { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -3914,7 +3914,7 @@ impl IADsO { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3928,7 +3928,7 @@ impl IADsO { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -3945,7 +3945,7 @@ impl IADsO { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3955,7 +3955,7 @@ impl IADsO { } pub unsafe fn LocalityName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalityName(&self, bstrlocalityname: P0) -> ::windows_core::Result<()> where @@ -3965,7 +3965,7 @@ impl IADsO { } pub unsafe fn PostalAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalAddress(&self, bstrpostaladdress: P0) -> ::windows_core::Result<()> where @@ -3975,7 +3975,7 @@ impl IADsO { } pub unsafe fn TelephoneNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneNumber(&self, bstrtelephonenumber: P0) -> ::windows_core::Result<()> where @@ -3985,7 +3985,7 @@ impl IADsO { } pub unsafe fn FaxNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFaxNumber(&self, bstrfaxnumber: P0) -> ::windows_core::Result<()> where @@ -3995,7 +3995,7 @@ impl IADsO { } pub unsafe fn SeeAlso(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSeeAlso(&self, vseealso: P0) -> ::windows_core::Result<()> where @@ -4030,27 +4030,27 @@ pub struct IADsO_Vtbl { impl IADsOU { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -4063,7 +4063,7 @@ impl IADsOU { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4077,7 +4077,7 @@ impl IADsOU { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4094,7 +4094,7 @@ impl IADsOU { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4104,7 +4104,7 @@ impl IADsOU { } pub unsafe fn LocalityName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalityName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalityName(&self, bstrlocalityname: P0) -> ::windows_core::Result<()> where @@ -4114,7 +4114,7 @@ impl IADsOU { } pub unsafe fn PostalAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalAddress(&self, bstrpostaladdress: P0) -> ::windows_core::Result<()> where @@ -4124,7 +4124,7 @@ impl IADsOU { } pub unsafe fn TelephoneNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneNumber(&self, bstrtelephonenumber: P0) -> ::windows_core::Result<()> where @@ -4134,7 +4134,7 @@ impl IADsOU { } pub unsafe fn FaxNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFaxNumber(&self, bstrfaxnumber: P0) -> ::windows_core::Result<()> where @@ -4144,7 +4144,7 @@ impl IADsOU { } pub unsafe fn SeeAlso(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSeeAlso(&self, vseealso: P0) -> ::windows_core::Result<()> where @@ -4154,7 +4154,7 @@ impl IADsOU { } pub unsafe fn BusinessCategory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BusinessCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BusinessCategory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBusinessCategory(&self, bstrbusinesscategory: P0) -> ::windows_core::Result<()> where @@ -4191,7 +4191,7 @@ pub struct IADsOU_Vtbl { impl IADsObjectOptions { pub unsafe fn GetOption(&self, lnoption: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), lnoption, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), lnoption, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOption(&self, lnoption: i32, vvalue: P0) -> ::windows_core::Result<()> where @@ -4216,7 +4216,7 @@ pub struct IADsObjectOptions_Vtbl { impl IADsOctetList { pub unsafe fn OctetList(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OctetList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OctetList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOctetList(&self, voctetlist: P0) -> ::windows_core::Result<()> where @@ -4247,7 +4247,7 @@ impl IADsOpenDSObject { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenDSObject)(::windows_core::Interface::as_raw(self), lpszdnname.into_param().abi(), lpszusername.into_param().abi(), lpszpassword.into_param().abi(), lnreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenDSObject)(::windows_core::Interface::as_raw(self), lpszdnname.into_param().abi(), lpszusername.into_param().abi(), lpszpassword.into_param().abi(), lnreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4268,14 +4268,14 @@ pub struct IADsOpenDSObject_Vtbl { impl IADsPath { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, lntype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), lntype).ok() } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVolumeName(&self, bstrvolumename: P0) -> ::windows_core::Result<()> where @@ -4285,7 +4285,7 @@ impl IADsPath { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bstrpath: P0) -> ::windows_core::Result<()> where @@ -4323,15 +4323,15 @@ impl IADsPathname { } pub unsafe fn Retrieve(&self, lnformattype: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Retrieve)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Retrieve)(::windows_core::Interface::as_raw(self), lnformattype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumElements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElement(&self, lnelementindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), lnelementindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), lnelementindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddLeafElement(&self, bstrleafelement: P0) -> ::windows_core::Result<()> where @@ -4345,18 +4345,18 @@ impl IADsPathname { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyPath(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEscapedElement(&self, lnreserved: i32, bstrinstr: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEscapedElement)(::windows_core::Interface::as_raw(self), lnreserved, bstrinstr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEscapedElement)(::windows_core::Interface::as_raw(self), lnreserved, bstrinstr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EscapedMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EscapedMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EscapedMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEscapedMode(&self, lnescapedmode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEscapedMode)(::windows_core::Interface::as_raw(self), lnescapedmode).ok() @@ -4390,7 +4390,7 @@ pub struct IADsPathname_Vtbl { impl IADsPostalAddress { pub unsafe fn PostalAddress(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalAddress(&self, vpostaladdress: P0) -> ::windows_core::Result<()> where @@ -4415,27 +4415,27 @@ pub struct IADsPostalAddress_Vtbl { impl IADsPrintJob { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -4448,7 +4448,7 @@ impl IADsPrintJob { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4462,7 +4462,7 @@ impl IADsPrintJob { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4479,31 +4479,31 @@ impl IADsPrintJob { } pub unsafe fn HostPrintQueue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostPrintQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostPrintQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn User(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TimeSubmitted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TimeSubmitted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TimeSubmitted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4513,28 +4513,28 @@ impl IADsPrintJob { } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lnpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lnpriority).ok() } pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartTime(&self, dastarttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartTime)(::windows_core::Interface::as_raw(self), dastarttime).ok() } pub unsafe fn UntilTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UntilTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UntilTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUntilTime(&self, dauntiltime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUntilTime)(::windows_core::Interface::as_raw(self), dauntiltime).ok() } pub unsafe fn Notify(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNotify(&self, bstrnotify: P0) -> ::windows_core::Result<()> where @@ -4544,7 +4544,7 @@ impl IADsPrintJob { } pub unsafe fn NotifyPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotifyPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotifyPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNotifyPath(&self, bstrnotifypath: P0) -> ::windows_core::Result<()> where @@ -4585,27 +4585,27 @@ pub struct IADsPrintJob_Vtbl { impl IADsPrintJobOperations { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -4618,7 +4618,7 @@ impl IADsPrintJobOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4632,7 +4632,7 @@ impl IADsPrintJobOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4649,19 +4649,19 @@ impl IADsPrintJobOperations { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TimeElapsed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TimeElapsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TimeElapsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PagesPrinted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PagesPrinted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PagesPrinted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Position(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Position)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Position)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, lnposition: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPosition)(::windows_core::Interface::as_raw(self), lnposition).ok() @@ -4694,27 +4694,27 @@ pub struct IADsPrintJobOperations_Vtbl { impl IADsPrintQueue { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -4727,7 +4727,7 @@ impl IADsPrintQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4741,7 +4741,7 @@ impl IADsPrintQueue { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4758,7 +4758,7 @@ impl IADsPrintQueue { } pub unsafe fn PrinterPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrinterPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrinterPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrinterPath(&self, bstrprinterpath: P0) -> ::windows_core::Result<()> where @@ -4768,7 +4768,7 @@ impl IADsPrintQueue { } pub unsafe fn Model(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Model)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Model)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModel(&self, bstrmodel: P0) -> ::windows_core::Result<()> where @@ -4778,7 +4778,7 @@ impl IADsPrintQueue { } pub unsafe fn Datatype(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Datatype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Datatype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDatatype(&self, bstrdatatype: P0) -> ::windows_core::Result<()> where @@ -4788,7 +4788,7 @@ impl IADsPrintQueue { } pub unsafe fn PrintProcessor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintProcessor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintProcessor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintProcessor(&self, bstrprintprocessor: P0) -> ::windows_core::Result<()> where @@ -4798,7 +4798,7 @@ impl IADsPrintQueue { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4808,7 +4808,7 @@ impl IADsPrintQueue { } pub unsafe fn Location(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocation(&self, bstrlocation: P0) -> ::windows_core::Result<()> where @@ -4818,35 +4818,35 @@ impl IADsPrintQueue { } pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartTime(&self, dastarttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartTime)(::windows_core::Interface::as_raw(self), dastarttime).ok() } pub unsafe fn UntilTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UntilTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UntilTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUntilTime(&self, dauntiltime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUntilTime)(::windows_core::Interface::as_raw(self), dauntiltime).ok() } pub unsafe fn DefaultJobPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultJobPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultJobPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultJobPriority(&self, lndefaultjobpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultJobPriority)(::windows_core::Interface::as_raw(self), lndefaultjobpriority).ok() } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lnpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lnpriority).ok() } pub unsafe fn BannerPage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BannerPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BannerPage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBannerPage(&self, bstrbannerpage: P0) -> ::windows_core::Result<()> where @@ -4856,7 +4856,7 @@ impl IADsPrintQueue { } pub unsafe fn PrintDevices(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintDevices(&self, vprintdevices: P0) -> ::windows_core::Result<()> where @@ -4866,7 +4866,7 @@ impl IADsPrintQueue { } pub unsafe fn NetAddresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNetAddresses(&self, vnetaddresses: P0) -> ::windows_core::Result<()> where @@ -4915,27 +4915,27 @@ pub struct IADsPrintQueue_Vtbl { impl IADsPrintQueueOperations { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -4948,7 +4948,7 @@ impl IADsPrintQueueOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4962,7 +4962,7 @@ impl IADsPrintQueueOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -4979,12 +4979,12 @@ impl IADsPrintQueueOperations { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrintJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -5018,27 +5018,27 @@ pub struct IADsPrintQueueOperations_Vtbl { impl IADsProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -5051,7 +5051,7 @@ impl IADsProperty { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5065,7 +5065,7 @@ impl IADsProperty { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5082,7 +5082,7 @@ impl IADsProperty { } pub unsafe fn OID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOID(&self, bstroid: P0) -> ::windows_core::Result<()> where @@ -5092,7 +5092,7 @@ impl IADsProperty { } pub unsafe fn Syntax(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Syntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Syntax)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSyntax(&self, bstrsyntax: P0) -> ::windows_core::Result<()> where @@ -5102,21 +5102,21 @@ impl IADsProperty { } pub unsafe fn MaxRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxRange(&self, lnmaxrange: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxRange)(::windows_core::Interface::as_raw(self), lnmaxrange).ok() } pub unsafe fn MinRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinRange(&self, lnminrange: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinRange)(::windows_core::Interface::as_raw(self), lnminrange).ok() } pub unsafe fn MultiValued(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultiValued)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultiValued)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultiValued(&self, fmultivalued: P0) -> ::windows_core::Result<()> where @@ -5127,7 +5127,7 @@ impl IADsProperty { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifiers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifiers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5161,7 +5161,7 @@ impl IADsPropertyEntry { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -5171,21 +5171,21 @@ impl IADsPropertyEntry { } pub unsafe fn ADsType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetADsType(&self, lnadstype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetADsType)(::windows_core::Interface::as_raw(self), lnadstype).ok() } pub unsafe fn ControlCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControlCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControlCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetControlCode(&self, lncontrolcode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControlCode)(::windows_core::Interface::as_raw(self), lncontrolcode).ok() } pub unsafe fn Values(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValues(&self, vvalues: P0) -> ::windows_core::Result<()> where @@ -5217,7 +5217,7 @@ pub struct IADsPropertyEntry_Vtbl { impl IADsPropertyList { pub unsafe fn PropertyCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, pvariant: *mut ::windows_core::VARIANT) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvariant)) @@ -5233,14 +5233,14 @@ impl IADsPropertyList { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyItem(&self, bstrname: P0, lnadstype: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), lnadstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), lnadstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutPropertyItem(&self, vardata: P0) -> ::windows_core::Result<()> where @@ -5284,14 +5284,14 @@ impl IADsPropertyValue { } pub unsafe fn ADsType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetADsType(&self, lnadstype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetADsType)(::windows_core::Interface::as_raw(self), lnadstype).ok() } pub unsafe fn DNString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DNString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDNString(&self, bstrdnstring: P0) -> ::windows_core::Result<()> where @@ -5301,7 +5301,7 @@ impl IADsPropertyValue { } pub unsafe fn CaseExactString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CaseExactString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CaseExactString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCaseExactString(&self, bstrcaseexactstring: P0) -> ::windows_core::Result<()> where @@ -5311,7 +5311,7 @@ impl IADsPropertyValue { } pub unsafe fn CaseIgnoreString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CaseIgnoreString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CaseIgnoreString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCaseIgnoreString(&self, bstrcaseignorestring: P0) -> ::windows_core::Result<()> where @@ -5321,7 +5321,7 @@ impl IADsPropertyValue { } pub unsafe fn PrintableString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrintableString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrintableString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintableString(&self, bstrprintablestring: P0) -> ::windows_core::Result<()> where @@ -5331,7 +5331,7 @@ impl IADsPropertyValue { } pub unsafe fn NumericString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumericString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumericString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNumericString(&self, bstrnumericstring: P0) -> ::windows_core::Result<()> where @@ -5341,21 +5341,21 @@ impl IADsPropertyValue { } pub unsafe fn Boolean(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Boolean)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Boolean)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoolean(&self, lnboolean: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoolean)(::windows_core::Interface::as_raw(self), lnboolean).ok() } pub unsafe fn Integer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Integer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Integer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInteger(&self, lninteger: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInteger)(::windows_core::Interface::as_raw(self), lninteger).ok() } pub unsafe fn OctetString(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OctetString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OctetString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOctetString(&self, voctetstring: P0) -> ::windows_core::Result<()> where @@ -5366,7 +5366,7 @@ impl IADsPropertyValue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityDescriptor(&self, psecuritydescriptor: P0) -> ::windows_core::Result<()> @@ -5378,7 +5378,7 @@ impl IADsPropertyValue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LargeInteger(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LargeInteger)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LargeInteger)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetLargeInteger(&self, plargeinteger: P0) -> ::windows_core::Result<()> @@ -5389,7 +5389,7 @@ impl IADsPropertyValue { } pub unsafe fn UTCTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UTCTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UTCTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUTCTime(&self, dautctime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUTCTime)(::windows_core::Interface::as_raw(self), dautctime).ok() @@ -5470,7 +5470,7 @@ pub struct IADsPropertyValue2_Vtbl { impl IADsReplicaPointer { pub unsafe fn ServerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServerName(&self, bstrservername: P0) -> ::windows_core::Result<()> where @@ -5480,28 +5480,28 @@ impl IADsReplicaPointer { } pub unsafe fn ReplicaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplicaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplicaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReplicaType(&self, lnreplicatype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReplicaType)(::windows_core::Interface::as_raw(self), lnreplicatype).ok() } pub unsafe fn ReplicaNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplicaNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplicaNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReplicaNumber(&self, lnreplicanumber: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReplicaNumber)(::windows_core::Interface::as_raw(self), lnreplicanumber).ok() } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCount(&self, lncount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCount)(::windows_core::Interface::as_raw(self), lncount).ok() } pub unsafe fn ReplicaAddressHints(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplicaAddressHints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplicaAddressHints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReplicaAddressHints(&self, vreplicaaddresshints: P0) -> ::windows_core::Result<()> where @@ -5534,27 +5534,27 @@ pub struct IADsReplicaPointer_Vtbl { impl IADsResource { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -5567,7 +5567,7 @@ impl IADsResource { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5581,7 +5581,7 @@ impl IADsResource { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5598,19 +5598,19 @@ impl IADsResource { } pub unsafe fn User(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LockCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LockCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5631,21 +5631,21 @@ pub struct IADsResource_Vtbl { impl IADsSecurityDescriptor { pub unsafe fn Revision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Revision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Revision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRevision(&self, lnrevision: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRevision)(::windows_core::Interface::as_raw(self), lnrevision).ok() } pub unsafe fn Control(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Control)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Control)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetControl(&self, lncontrol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControl)(::windows_core::Interface::as_raw(self), lncontrol).ok() } pub unsafe fn Owner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Owner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwner(&self, bstrowner: P0) -> ::windows_core::Result<()> where @@ -5655,7 +5655,7 @@ impl IADsSecurityDescriptor { } pub unsafe fn OwnerDefaulted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOwnerDefaulted(&self, fownerdefaulted: P0) -> ::windows_core::Result<()> where @@ -5665,7 +5665,7 @@ impl IADsSecurityDescriptor { } pub unsafe fn Group(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGroup(&self, bstrgroup: P0) -> ::windows_core::Result<()> where @@ -5675,7 +5675,7 @@ impl IADsSecurityDescriptor { } pub unsafe fn GroupDefaulted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupDefaulted(&self, fgroupdefaulted: P0) -> ::windows_core::Result<()> where @@ -5686,7 +5686,7 @@ impl IADsSecurityDescriptor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DiscretionaryAcl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscretionaryAcl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscretionaryAcl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDiscretionaryAcl(&self, pdiscretionaryacl: P0) -> ::windows_core::Result<()> @@ -5697,7 +5697,7 @@ impl IADsSecurityDescriptor { } pub unsafe fn DaclDefaulted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DaclDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DaclDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDaclDefaulted(&self, fdacldefaulted: P0) -> ::windows_core::Result<()> where @@ -5708,7 +5708,7 @@ impl IADsSecurityDescriptor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SystemAcl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemAcl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemAcl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSystemAcl(&self, psystemacl: P0) -> ::windows_core::Result<()> @@ -5719,7 +5719,7 @@ impl IADsSecurityDescriptor { } pub unsafe fn SaclDefaulted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaclDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaclDefaulted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSaclDefaulted(&self, fsacldefaulted: P0) -> ::windows_core::Result<()> where @@ -5730,7 +5730,7 @@ impl IADsSecurityDescriptor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopySecurityDescriptor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopySecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopySecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5786,7 +5786,7 @@ impl IADsSecurityUtility { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), varpath.into_param().abi(), lpathformat, lformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), varpath.into_param().abi(), lpathformat, lformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityDescriptor(&self, varpath: P0, lpathformat: i32, vardata: P1, ldataformat: i32) -> ::windows_core::Result<()> where @@ -5800,11 +5800,11 @@ impl IADsSecurityUtility { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertSecurityDescriptor)(::windows_core::Interface::as_raw(self), varsd.into_param().abi(), ldataformat, loutformat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertSecurityDescriptor)(::windows_core::Interface::as_raw(self), varsd.into_param().abi(), ldataformat, loutformat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SecurityMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecurityMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecurityMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecurityMask(&self, lnsecuritymask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSecurityMask)(::windows_core::Interface::as_raw(self), lnsecuritymask).ok() @@ -5829,27 +5829,27 @@ pub struct IADsSecurityUtility_Vtbl { impl IADsService { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -5862,7 +5862,7 @@ impl IADsService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5876,7 +5876,7 @@ impl IADsService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -5893,7 +5893,7 @@ impl IADsService { } pub unsafe fn HostComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHostComputer(&self, bstrhostcomputer: P0) -> ::windows_core::Result<()> where @@ -5903,7 +5903,7 @@ impl IADsService { } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, bstrdisplayname: P0) -> ::windows_core::Result<()> where @@ -5913,7 +5913,7 @@ impl IADsService { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, bstrversion: P0) -> ::windows_core::Result<()> where @@ -5923,21 +5923,21 @@ impl IADsService { } pub unsafe fn ServiceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServiceType(&self, lnservicetype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetServiceType)(::windows_core::Interface::as_raw(self), lnservicetype).ok() } pub unsafe fn StartType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartType(&self, lnstarttype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartType)(::windows_core::Interface::as_raw(self), lnstarttype).ok() } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bstrpath: P0) -> ::windows_core::Result<()> where @@ -5947,7 +5947,7 @@ impl IADsService { } pub unsafe fn StartupParameters(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartupParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartupParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStartupParameters(&self, bstrstartupparameters: P0) -> ::windows_core::Result<()> where @@ -5957,14 +5957,14 @@ impl IADsService { } pub unsafe fn ErrorControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorControl(&self, lnerrorcontrol: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetErrorControl)(::windows_core::Interface::as_raw(self), lnerrorcontrol).ok() } pub unsafe fn LoadOrderGroup(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadOrderGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadOrderGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoadOrderGroup(&self, bstrloadordergroup: P0) -> ::windows_core::Result<()> where @@ -5974,7 +5974,7 @@ impl IADsService { } pub unsafe fn ServiceAccountName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceAccountName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceAccountName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceAccountName(&self, bstrserviceaccountname: P0) -> ::windows_core::Result<()> where @@ -5984,7 +5984,7 @@ impl IADsService { } pub unsafe fn ServiceAccountPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceAccountPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceAccountPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceAccountPath(&self, bstrserviceaccountpath: P0) -> ::windows_core::Result<()> where @@ -5994,7 +5994,7 @@ impl IADsService { } pub unsafe fn Dependencies(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDependencies(&self, vdependencies: P0) -> ::windows_core::Result<()> where @@ -6041,27 +6041,27 @@ pub struct IADsService_Vtbl { impl IADsServiceOperations { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -6074,7 +6074,7 @@ impl IADsServiceOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6088,7 +6088,7 @@ impl IADsServiceOperations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6105,7 +6105,7 @@ impl IADsServiceOperations { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self)).ok() @@ -6146,27 +6146,27 @@ pub struct IADsServiceOperations_Vtbl { impl IADsSession { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -6179,7 +6179,7 @@ impl IADsSession { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6193,7 +6193,7 @@ impl IADsSession { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6210,27 +6210,27 @@ impl IADsSession { } pub unsafe fn User(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Computer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Computer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Computer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComputerPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConnectTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IdleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IdleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IdleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6253,27 +6253,27 @@ pub struct IADsSession_Vtbl { impl IADsSyntax { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -6286,7 +6286,7 @@ impl IADsSyntax { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6300,7 +6300,7 @@ impl IADsSyntax { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6317,7 +6317,7 @@ impl IADsSyntax { } pub unsafe fn OleAutoDataType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OleAutoDataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OleAutoDataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOleAutoDataType(&self, lnoleautodatatype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOleAutoDataType)(::windows_core::Interface::as_raw(self), lnoleautodatatype).ok() @@ -6339,14 +6339,14 @@ pub struct IADsSyntax_Vtbl { impl IADsTimestamp { pub unsafe fn WholeSeconds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WholeSeconds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WholeSeconds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWholeSeconds(&self, lnwholeseconds: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWholeSeconds)(::windows_core::Interface::as_raw(self), lnwholeseconds).ok() } pub unsafe fn EventID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventID(&self, lneventid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventID)(::windows_core::Interface::as_raw(self), lneventid).ok() @@ -6370,7 +6370,7 @@ pub struct IADsTimestamp_Vtbl { impl IADsTypedName { pub unsafe fn ObjectName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetObjectName(&self, bstrobjectname: P0) -> ::windows_core::Result<()> where @@ -6380,14 +6380,14 @@ impl IADsTypedName { } pub unsafe fn Level(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLevel(&self, lnlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLevel)(::windows_core::Interface::as_raw(self), lnlevel).ok() } pub unsafe fn Interval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Interval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterval(&self, lninterval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterval)(::windows_core::Interface::as_raw(self), lninterval).ok() @@ -6413,27 +6413,27 @@ pub struct IADsTypedName_Vtbl { impl IADsUser { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GUID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GUID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Schema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Schema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfo(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInfo)(::windows_core::Interface::as_raw(self)).ok() @@ -6446,7 +6446,7 @@ impl IADsUser { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6460,7 +6460,7 @@ impl IADsUser { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEx)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutEx(&self, lncontrolcode: i32, bstrname: P0, vprop: P1) -> ::windows_core::Result<()> where @@ -6477,31 +6477,31 @@ impl IADsUser { } pub unsafe fn BadLoginAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BadLoginAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BadLoginAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BadLoginCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BadLoginCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BadLoginCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastLogin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastLogin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastLogin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastLogoff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastLogoff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastLogoff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastFailedLogin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastFailedLogin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastFailedLogin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PasswordLastChanged(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordLastChanged)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordLastChanged)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -6511,7 +6511,7 @@ impl IADsUser { } pub unsafe fn Division(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Division)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Division)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDivision(&self, bstrdivision: P0) -> ::windows_core::Result<()> where @@ -6521,7 +6521,7 @@ impl IADsUser { } pub unsafe fn Department(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Department)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDepartment(&self, bstrdepartment: P0) -> ::windows_core::Result<()> where @@ -6531,7 +6531,7 @@ impl IADsUser { } pub unsafe fn EmployeeID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EmployeeID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EmployeeID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEmployeeID(&self, bstremployeeid: P0) -> ::windows_core::Result<()> where @@ -6541,7 +6541,7 @@ impl IADsUser { } pub unsafe fn FullName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullName(&self, bstrfullname: P0) -> ::windows_core::Result<()> where @@ -6551,7 +6551,7 @@ impl IADsUser { } pub unsafe fn FirstName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFirstName(&self, bstrfirstname: P0) -> ::windows_core::Result<()> where @@ -6561,7 +6561,7 @@ impl IADsUser { } pub unsafe fn LastName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastName(&self, bstrlastname: P0) -> ::windows_core::Result<()> where @@ -6571,7 +6571,7 @@ impl IADsUser { } pub unsafe fn OtherName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OtherName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OtherName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOtherName(&self, bstrothername: P0) -> ::windows_core::Result<()> where @@ -6581,7 +6581,7 @@ impl IADsUser { } pub unsafe fn NamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNamePrefix(&self, bstrnameprefix: P0) -> ::windows_core::Result<()> where @@ -6591,7 +6591,7 @@ impl IADsUser { } pub unsafe fn NameSuffix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameSuffix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameSuffix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNameSuffix(&self, bstrnamesuffix: P0) -> ::windows_core::Result<()> where @@ -6601,7 +6601,7 @@ impl IADsUser { } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTitle(&self, bstrtitle: P0) -> ::windows_core::Result<()> where @@ -6611,7 +6611,7 @@ impl IADsUser { } pub unsafe fn Manager(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Manager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Manager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetManager(&self, bstrmanager: P0) -> ::windows_core::Result<()> where @@ -6621,7 +6621,7 @@ impl IADsUser { } pub unsafe fn TelephoneHome(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneHome)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneHome)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneHome(&self, vtelephonehome: P0) -> ::windows_core::Result<()> where @@ -6631,7 +6631,7 @@ impl IADsUser { } pub unsafe fn TelephoneMobile(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneMobile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneMobile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneMobile(&self, vtelephonemobile: P0) -> ::windows_core::Result<()> where @@ -6641,7 +6641,7 @@ impl IADsUser { } pub unsafe fn TelephoneNumber(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephoneNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephoneNumber(&self, vtelephonenumber: P0) -> ::windows_core::Result<()> where @@ -6651,7 +6651,7 @@ impl IADsUser { } pub unsafe fn TelephonePager(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TelephonePager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TelephonePager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTelephonePager(&self, vtelephonepager: P0) -> ::windows_core::Result<()> where @@ -6661,7 +6661,7 @@ impl IADsUser { } pub unsafe fn FaxNumber(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FaxNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFaxNumber(&self, vfaxnumber: P0) -> ::windows_core::Result<()> where @@ -6671,7 +6671,7 @@ impl IADsUser { } pub unsafe fn OfficeLocations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfficeLocations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfficeLocations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOfficeLocations(&self, vofficelocations: P0) -> ::windows_core::Result<()> where @@ -6681,7 +6681,7 @@ impl IADsUser { } pub unsafe fn PostalAddresses(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalAddresses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalAddresses(&self, vpostaladdresses: P0) -> ::windows_core::Result<()> where @@ -6691,7 +6691,7 @@ impl IADsUser { } pub unsafe fn PostalCodes(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostalCodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostalCodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPostalCodes(&self, vpostalcodes: P0) -> ::windows_core::Result<()> where @@ -6701,7 +6701,7 @@ impl IADsUser { } pub unsafe fn SeeAlso(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SeeAlso)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSeeAlso(&self, vseealso: P0) -> ::windows_core::Result<()> where @@ -6711,7 +6711,7 @@ impl IADsUser { } pub unsafe fn AccountDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccountDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccountDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountDisabled(&self, faccountdisabled: P0) -> ::windows_core::Result<()> where @@ -6721,28 +6721,28 @@ impl IADsUser { } pub unsafe fn AccountExpirationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccountExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccountExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountExpirationDate(&self, daaccountexpirationdate: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAccountExpirationDate)(::windows_core::Interface::as_raw(self), daaccountexpirationdate).ok() } pub unsafe fn GraceLoginsAllowed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GraceLoginsAllowed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GraceLoginsAllowed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGraceLoginsAllowed(&self, lngraceloginsallowed: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGraceLoginsAllowed)(::windows_core::Interface::as_raw(self), lngraceloginsallowed).ok() } pub unsafe fn GraceLoginsRemaining(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GraceLoginsRemaining)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GraceLoginsRemaining)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGraceLoginsRemaining(&self, lngraceloginsremaining: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGraceLoginsRemaining)(::windows_core::Interface::as_raw(self), lngraceloginsremaining).ok() } pub unsafe fn IsAccountLocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAccountLocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAccountLocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsAccountLocked(&self, fisaccountlocked: P0) -> ::windows_core::Result<()> where @@ -6752,7 +6752,7 @@ impl IADsUser { } pub unsafe fn LoginHours(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoginHours)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoginHours)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoginHours(&self, vloginhours: P0) -> ::windows_core::Result<()> where @@ -6762,7 +6762,7 @@ impl IADsUser { } pub unsafe fn LoginWorkstations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoginWorkstations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoginWorkstations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoginWorkstations(&self, vloginworkstations: P0) -> ::windows_core::Result<()> where @@ -6772,35 +6772,35 @@ impl IADsUser { } pub unsafe fn MaxLogins(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxLogins)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxLogins)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxLogins(&self, lnmaxlogins: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxLogins)(::windows_core::Interface::as_raw(self), lnmaxlogins).ok() } pub unsafe fn MaxStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxStorage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxStorage(&self, lnmaxstorage: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxStorage)(::windows_core::Interface::as_raw(self), lnmaxstorage).ok() } pub unsafe fn PasswordExpirationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPasswordExpirationDate(&self, dapasswordexpirationdate: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPasswordExpirationDate)(::windows_core::Interface::as_raw(self), dapasswordexpirationdate).ok() } pub unsafe fn PasswordMinimumLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordMinimumLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordMinimumLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPasswordMinimumLength(&self, lnpasswordminimumlength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPasswordMinimumLength)(::windows_core::Interface::as_raw(self), lnpasswordminimumlength).ok() } pub unsafe fn PasswordRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PasswordRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PasswordRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPasswordRequired(&self, fpasswordrequired: P0) -> ::windows_core::Result<()> where @@ -6810,7 +6810,7 @@ impl IADsUser { } pub unsafe fn RequireUniquePassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequireUniquePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequireUniquePassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequireUniquePassword(&self, frequireuniquepassword: P0) -> ::windows_core::Result<()> where @@ -6820,7 +6820,7 @@ impl IADsUser { } pub unsafe fn EmailAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EmailAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EmailAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEmailAddress(&self, bstremailaddress: P0) -> ::windows_core::Result<()> where @@ -6830,7 +6830,7 @@ impl IADsUser { } pub unsafe fn HomeDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HomeDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HomeDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHomeDirectory(&self, bstrhomedirectory: P0) -> ::windows_core::Result<()> where @@ -6840,7 +6840,7 @@ impl IADsUser { } pub unsafe fn Languages(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLanguages(&self, vlanguages: P0) -> ::windows_core::Result<()> where @@ -6850,7 +6850,7 @@ impl IADsUser { } pub unsafe fn Profile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProfile(&self, bstrprofile: P0) -> ::windows_core::Result<()> where @@ -6860,7 +6860,7 @@ impl IADsUser { } pub unsafe fn LoginScript(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoginScript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoginScript)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoginScript(&self, bstrloginscript: P0) -> ::windows_core::Result<()> where @@ -6870,7 +6870,7 @@ impl IADsUser { } pub unsafe fn Picture(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Picture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Picture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPicture(&self, vpicture: P0) -> ::windows_core::Result<()> where @@ -6880,7 +6880,7 @@ impl IADsUser { } pub unsafe fn HomePage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HomePage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HomePage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHomePage(&self, bstrhomepage: P0) -> ::windows_core::Result<()> where @@ -6891,7 +6891,7 @@ impl IADsUser { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Groups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPassword(&self, newpassword: P0) -> ::windows_core::Result<()> where @@ -7015,19 +7015,19 @@ pub struct IADsUser_Vtbl { impl IADsWinNTSystemInfo { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComputerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PDC(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PDC)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7065,14 +7065,14 @@ pub struct ICommonQuery_Vtbl { impl IDirectoryObject { pub unsafe fn GetObjectInformation(&self) -> ::windows_core::Result<*mut ADS_OBJECT_INFO> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectInformation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetObjectAttributes(&self, pattributenames: *const ::windows_core::PCWSTR, dwnumberattributes: u32, ppattributeentries: *mut *mut ADS_ATTR_INFO, pdwnumattributesreturned: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetObjectAttributes)(::windows_core::Interface::as_raw(self), pattributenames, dwnumberattributes, ppattributeentries, pdwnumattributesreturned).ok() } pub unsafe fn SetObjectAttributes(&self, pattributeentries: *const ADS_ATTR_INFO, dwnumattributes: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetObjectAttributes)(::windows_core::Interface::as_raw(self), pattributeentries, dwnumattributes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetObjectAttributes)(::windows_core::Interface::as_raw(self), pattributeentries, dwnumattributes, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDSObject(&self, pszrdnname: P0, pattributeentries: *const ADS_ATTR_INFO, dwnumattributes: u32) -> ::windows_core::Result @@ -7080,7 +7080,7 @@ impl IDirectoryObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDSObject)(::windows_core::Interface::as_raw(self), pszrdnname.into_param().abi(), pattributeentries, dwnumattributes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDSObject)(::windows_core::Interface::as_raw(self), pszrdnname.into_param().abi(), pattributeentries, dwnumattributes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteDSObject(&self, pszrdnname: P0) -> ::windows_core::Result<()> where @@ -7172,7 +7172,7 @@ impl IDirectorySearch { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecuteSearch)(::windows_core::Interface::as_raw(self), pszsearchfilter.into_param().abi(), pattributenames, dwnumberattributes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecuteSearch)(::windows_core::Interface::as_raw(self), pszsearchfilter.into_param().abi(), pattributenames, dwnumberattributes, &mut result__).map(|| result__) } pub unsafe fn AbandonSearch(&self, phsearchresult: P0) -> ::windows_core::Result<()> where @@ -7254,7 +7254,7 @@ impl IDsAdminCreateObj { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateModal)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateModal)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7554,7 +7554,7 @@ impl IDsObjectPicker { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InvokeDialog)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InvokeDialog)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7579,7 +7579,7 @@ impl IDsObjectPickerCredentials { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InvokeDialog)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InvokeDialog)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, szusername: P0, szpassword: P1) -> ::windows_core::Result<()> where @@ -7604,7 +7604,7 @@ impl IPersistQuery { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteString(&self, psection: P0, pvaluename: P1, pvalue: P2) -> ::windows_core::Result<()> where @@ -7674,16 +7674,16 @@ impl IPrivateDispatch { } pub unsafe fn ADSIGetTypeInfoCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADSIGetTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADSIGetTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ADSIGetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADSIGetTypeInfo)(::windows_core::Interface::as_raw(self), itinfo, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADSIGetTypeInfo)(::windows_core::Interface::as_raw(self), itinfo, lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ADSIGetIDsOfNames(&self, riid: *const ::windows_core::GUID, rgsznames: *const *const u16, cnames: u32, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADSIGetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADSIGetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ADSIInvoke(&self, dispidmember: i32, riid: *const ::windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut ::windows_core::VARIANT, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Networking/BackgroundIntelligentTransferService/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/BackgroundIntelligentTransferService/mod.rs index 5ca7c45fe7..6d260c00f1 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/BackgroundIntelligentTransferService/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/BackgroundIntelligentTransferService/mod.rs @@ -55,11 +55,11 @@ impl IBITSExtensionSetup { } pub unsafe fn GetCleanupTaskName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCleanupTaskName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCleanupTaskName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCleanupTask(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCleanupTask)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCleanupTask)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -84,7 +84,7 @@ impl IBITSExtensionSetupFactory { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -248,19 +248,19 @@ impl IBackgroundCopyError { } pub unsafe fn GetFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorDescription(&self, languageid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), languageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), languageid, &mut result__).map(|| result__) } pub unsafe fn GetErrorContextDescription(&self, languageid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorContextDescription)(::windows_core::Interface::as_raw(self), languageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorContextDescription)(::windows_core::Interface::as_raw(self), languageid, &mut result__).map(|| result__) } pub unsafe fn GetProtocol(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -278,11 +278,11 @@ pub struct IBackgroundCopyError_Vtbl { impl IBackgroundCopyFile { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -301,11 +301,11 @@ pub struct IBackgroundCopyFile_Vtbl { impl IBackgroundCopyFile2 { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -332,11 +332,11 @@ pub struct IBackgroundCopyFile2_Vtbl { impl IBackgroundCopyFile3 { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -352,7 +352,7 @@ impl IBackgroundCopyFile3 { } pub unsafe fn GetTemporaryName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValidationState(&self, state: P0) -> ::windows_core::Result<()> where @@ -362,11 +362,11 @@ impl IBackgroundCopyFile3 { } pub unsafe fn GetValidationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -383,11 +383,11 @@ pub struct IBackgroundCopyFile3_Vtbl { impl IBackgroundCopyFile4 { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -403,7 +403,7 @@ impl IBackgroundCopyFile4 { } pub unsafe fn GetTemporaryName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValidationState(&self, state: P0) -> ::windows_core::Result<()> where @@ -413,11 +413,11 @@ impl IBackgroundCopyFile4 { } pub unsafe fn GetValidationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPeerDownloadStats)(::windows_core::Interface::as_raw(self), pfromorigin, pfrompeers).ok() @@ -434,11 +434,11 @@ pub struct IBackgroundCopyFile4_Vtbl { impl IBackgroundCopyFile5 { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -454,7 +454,7 @@ impl IBackgroundCopyFile5 { } pub unsafe fn GetTemporaryName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValidationState(&self, state: P0) -> ::windows_core::Result<()> where @@ -464,11 +464,11 @@ impl IBackgroundCopyFile5 { } pub unsafe fn GetValidationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPeerDownloadStats)(::windows_core::Interface::as_raw(self), pfromorigin, pfrompeers).ok() @@ -478,7 +478,7 @@ impl IBackgroundCopyFile5 { } pub unsafe fn GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).map(|| result__) } } #[repr(C)] @@ -493,11 +493,11 @@ pub struct IBackgroundCopyFile5_Vtbl { impl IBackgroundCopyFile6 { pub unsafe fn GetRemoteName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRemoteName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetLocalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_FILE_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -513,7 +513,7 @@ impl IBackgroundCopyFile6 { } pub unsafe fn GetTemporaryName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetTemporaryName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValidationState(&self, state: P0) -> ::windows_core::Result<()> where @@ -523,11 +523,11 @@ impl IBackgroundCopyFile6 { } pub unsafe fn GetValidationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetValidationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloadedFromPeer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetPeerDownloadStats)(::windows_core::Interface::as_raw(self), pfromorigin, pfrompeers).ok() @@ -537,7 +537,7 @@ impl IBackgroundCopyFile6 { } pub unsafe fn GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).map(|| result__) } pub unsafe fn UpdateDownloadPosition(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateDownloadPosition)(::windows_core::Interface::as_raw(self), offset).ok() @@ -562,21 +562,21 @@ pub struct IBackgroundCopyFile6_Vtbl { impl IBackgroundCopyGroup { pub unsafe fn GetProp(&self, propid: GROUPPROP) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProp)(::windows_core::Interface::as_raw(self), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProp)(::windows_core::Interface::as_raw(self), propid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProp(&self, propid: GROUPPROP, pvarval: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProp)(::windows_core::Interface::as_raw(self), propid, ::core::mem::transmute(pvarval)).ok() } pub unsafe fn GetProgress(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self, pdwstatus: *mut u32, pdwjobindex: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), pdwstatus, pdwjobindex).ok() } pub unsafe fn GetJob(&self, jobid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(jobid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(jobid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SuspendGroup(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SuspendGroup)(::windows_core::Interface::as_raw(self)).ok() @@ -589,26 +589,26 @@ impl IBackgroundCopyGroup { } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GroupID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateJob(&self, guidjobid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidjobid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidjobid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumJobs(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumJobs)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumJobs)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SwitchToForeground(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SwitchToForeground)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn QueryNewJobInterface(&self, iid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryNewJobInterface)(::windows_core::Interface::as_raw(self), iid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryNewJobInterface)(::windows_core::Interface::as_raw(self), iid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNotificationPointer(&self, iid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result<()> where @@ -652,7 +652,7 @@ impl IBackgroundCopyJob { } pub unsafe fn EnumFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self)).ok() @@ -668,11 +668,11 @@ impl IBackgroundCopyJob { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_JOB_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -682,15 +682,15 @@ impl IBackgroundCopyJob { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, val: P0) -> ::windows_core::Result<()> where @@ -700,7 +700,7 @@ impl IBackgroundCopyJob { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, val: P0) -> ::windows_core::Result<()> where @@ -710,21 +710,21 @@ impl IBackgroundCopyJob { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyFlags)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyInterface(&self, val: P0) -> ::windows_core::Result<()> where @@ -734,25 +734,25 @@ impl IBackgroundCopyJob { } pub unsafe fn GetNotifyInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNoProgressTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetNoProgressTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: P0, proxybypasslist: P1) -> ::windows_core::Result<()> where @@ -813,7 +813,7 @@ impl IBackgroundCopyJob1 { } pub unsafe fn GetProgress(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self, pdwstatus: *mut u32, pdwwin32result: *mut u32, pdwtransportresult: *mut u32, pdwnumofretries: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), pdwstatus, pdwwin32result, pdwtransportresult, pdwnumofretries).ok() @@ -823,18 +823,18 @@ impl IBackgroundCopyJob1 { } pub unsafe fn GetFile(&self, cfileindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), cfileindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), cfileindex, &mut result__).map(|| result__) } pub unsafe fn GetFileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SwitchToForeground(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SwitchToForeground)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn JobID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JobID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JobID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -865,7 +865,7 @@ impl IBackgroundCopyJob2 { } pub unsafe fn EnumFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Suspend)(::windows_core::Interface::as_raw(self)).ok() @@ -881,11 +881,11 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_JOB_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -895,15 +895,15 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, val: P0) -> ::windows_core::Result<()> where @@ -913,7 +913,7 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, val: P0) -> ::windows_core::Result<()> where @@ -923,21 +923,21 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPriority)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNotifyFlags)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyInterface(&self, val: P0) -> ::windows_core::Result<()> where @@ -947,25 +947,25 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetNotifyInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNoProgressTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetNoProgressTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: P0, proxybypasslist: P1) -> ::windows_core::Result<()> where @@ -1004,7 +1004,7 @@ impl IBackgroundCopyJob2 { } pub unsafe fn GetReplyFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCredentials)(::windows_core::Interface::as_raw(self), credentials).ok() @@ -1041,7 +1041,7 @@ impl IBackgroundCopyJob3 { } pub unsafe fn EnumFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Suspend)(::windows_core::Interface::as_raw(self)).ok() @@ -1057,11 +1057,11 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_JOB_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -1071,15 +1071,15 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, val: P0) -> ::windows_core::Result<()> where @@ -1089,7 +1089,7 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, val: P0) -> ::windows_core::Result<()> where @@ -1099,21 +1099,21 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetPriority)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetNotifyFlags)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyInterface(&self, val: P0) -> ::windows_core::Result<()> where @@ -1123,25 +1123,25 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetNotifyInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetNoProgressTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetNoProgressTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: P0, proxybypasslist: P1) -> ::windows_core::Result<()> where @@ -1180,7 +1180,7 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetReplyFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCredentials)(::windows_core::Interface::as_raw(self), credentials).ok() @@ -1207,7 +1207,7 @@ impl IBackgroundCopyJob3 { } pub unsafe fn GetFileACLFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1234,7 +1234,7 @@ impl IBackgroundCopyJob4 { } pub unsafe fn EnumFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Suspend)(::windows_core::Interface::as_raw(self)).ok() @@ -1250,11 +1250,11 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_JOB_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -1264,15 +1264,15 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, val: P0) -> ::windows_core::Result<()> where @@ -1282,7 +1282,7 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, val: P0) -> ::windows_core::Result<()> where @@ -1292,21 +1292,21 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetPriority)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetNotifyFlags)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyInterface(&self, val: P0) -> ::windows_core::Result<()> where @@ -1316,25 +1316,25 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetNotifyInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetNoProgressTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetNoProgressTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: P0, proxybypasslist: P1) -> ::windows_core::Result<()> where @@ -1373,7 +1373,7 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetReplyFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCredentials)(::windows_core::Interface::as_raw(self), credentials).ok() @@ -1400,29 +1400,29 @@ impl IBackgroundCopyJob4 { } pub unsafe fn GetFileACLFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPeerCachingFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPeerCachingFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetPeerCachingFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPeerCachingFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPeerCachingFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOwnerIntegrityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwnerIntegrityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwnerIntegrityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOwnerElevationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwnerElevationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwnerElevationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumDownloadTime(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn GetMaximumDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1451,7 +1451,7 @@ impl IBackgroundCopyJob5 { } pub unsafe fn EnumFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Suspend)(::windows_core::Interface::as_raw(self)).ok() @@ -1467,11 +1467,11 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProgress(&self, pval: *mut BG_JOB_PROGRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetProgress)(::windows_core::Interface::as_raw(self), pval).ok() @@ -1481,15 +1481,15 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayName(&self, val: P0) -> ::windows_core::Result<()> where @@ -1499,7 +1499,7 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, val: P0) -> ::windows_core::Result<()> where @@ -1509,21 +1509,21 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPriority)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetNotifyFlags)(::windows_core::Interface::as_raw(self), val).ok() } pub unsafe fn GetNotifyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyInterface(&self, val: P0) -> ::windows_core::Result<()> where @@ -1533,25 +1533,25 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetNotifyInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifyInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetMinimumRetryDelay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetNoProgressTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn GetNoProgressTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNoProgressTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetErrorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxySettings(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: P0, proxybypasslist: P1) -> ::windows_core::Result<()> where @@ -1590,7 +1590,7 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetReplyFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetReplyFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCredentials)(::windows_core::Interface::as_raw(self), credentials).ok() @@ -1617,36 +1617,36 @@ impl IBackgroundCopyJob5 { } pub unsafe fn GetFileACLFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFileACLFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPeerCachingFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPeerCachingFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetPeerCachingFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPeerCachingFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPeerCachingFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOwnerIntegrityLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwnerIntegrityLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwnerIntegrityLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOwnerElevationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwnerElevationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwnerElevationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumDownloadTime(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn GetMaximumDownloadTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaximumDownloadTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProperty(&self, propertyid: BITS_JOB_PROPERTY_ID, propertyvalue: BITS_JOB_PROPERTY_VALUE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), propertyid, ::core::mem::transmute(propertyvalue)).ok() } pub unsafe fn GetProperty(&self, propertyid: BITS_JOB_PROPERTY_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).map(|| result__) } } #[repr(C)] @@ -1686,14 +1686,14 @@ impl IBackgroundCopyJobHttpOptions { } pub unsafe fn GetCustomHeaders(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSecurityFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetSecurityFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1739,14 +1739,14 @@ impl IBackgroundCopyJobHttpOptions2 { } pub unsafe fn GetCustomHeaders(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSecurityFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetSecurityFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHttpMethod(&self, method: P0) -> ::windows_core::Result<()> where @@ -1756,7 +1756,7 @@ impl IBackgroundCopyJobHttpOptions2 { } pub unsafe fn GetHttpMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHttpMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHttpMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1796,14 +1796,14 @@ impl IBackgroundCopyJobHttpOptions3 { } pub unsafe fn GetCustomHeaders(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCustomHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSecurityFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetSecurityFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSecurityFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHttpMethod(&self, method: P0) -> ::windows_core::Result<()> where @@ -1813,7 +1813,7 @@ impl IBackgroundCopyJobHttpOptions3 { } pub unsafe fn GetHttpMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHttpMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHttpMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerCertificateValidationInterface(&self, certvalidationcallback: P0) -> ::windows_core::Result<()> where @@ -1843,15 +1843,15 @@ impl IBackgroundCopyManager { } pub unsafe fn GetJob(&self, jobid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), jobid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJob)(::windows_core::Interface::as_raw(self), jobid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumJobs(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumJobs)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumJobs)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorDescription(&self, hresult: ::windows_core::HRESULT, languageid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), hresult, languageid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), hresult, languageid, &mut result__).map(|| result__) } } #[repr(C)] @@ -1868,15 +1868,15 @@ pub struct IBackgroundCopyManager_Vtbl { impl IBackgroundCopyQMgr { pub unsafe fn CreateGroup(&self, guidgroupid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidgroupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidgroupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGroup(&self, groupid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(groupid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroup)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(groupid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumGroups(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumGroups)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumGroups)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1909,15 +1909,15 @@ pub struct IBackgroundCopyServerCertificateValidationCallback_Vtbl { impl IBitsPeer { pub unsafe fn GetPeerName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPeerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPeerName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsAuthenticated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1933,32 +1933,32 @@ pub struct IBitsPeer_Vtbl { impl IBitsPeerCacheAdministration { pub unsafe fn GetMaximumCacheSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumCacheSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumCacheSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumCacheSize(&self, bytes: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumCacheSize)(::windows_core::Interface::as_raw(self), bytes).ok() } pub unsafe fn GetMaximumContentAge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumContentAge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumContentAge)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumContentAge(&self, seconds: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).SetMaximumContentAge)(::windows_core::Interface::as_raw(self), seconds) } pub unsafe fn GetConfigurationFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfigurationFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfigurationFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConfigurationFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConfigurationFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn EnumRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRecords)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecord(&self, id: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecord)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecord)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClearRecords(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ClearRecords)(::windows_core::Interface::as_raw(self)).ok() @@ -1974,7 +1974,7 @@ impl IBitsPeerCacheAdministration { } pub unsafe fn EnumPeers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPeers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPeers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClearPeers(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ClearPeers)(::windows_core::Interface::as_raw(self)).ok() @@ -2007,23 +2007,23 @@ pub struct IBitsPeerCacheAdministration_Vtbl { impl IBitsPeerCacheRecord { pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOriginUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileModificationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastAccessTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFileValidated(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsFileValidated)(::windows_core::Interface::as_raw(self)).ok() @@ -2052,7 +2052,7 @@ impl IBitsTokenOptions { } pub unsafe fn GetHelperTokenFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelperTokenFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelperTokenFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHelperToken(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHelperToken)(::windows_core::Interface::as_raw(self)).ok() @@ -2062,7 +2062,7 @@ impl IBitsTokenOptions { } pub unsafe fn GetHelperTokenSid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelperTokenSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelperTokenSid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2089,11 +2089,11 @@ impl IEnumBackgroundCopyFiles { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2120,11 +2120,11 @@ impl IEnumBackgroundCopyGroups { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2151,11 +2151,11 @@ impl IEnumBackgroundCopyJobs { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2182,11 +2182,11 @@ impl IEnumBackgroundCopyJobs1 { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2213,11 +2213,11 @@ impl IEnumBitsPeerCacheRecords { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2244,11 +2244,11 @@ impl IEnumBitsPeers { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/Clustering/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/Clustering/mod.rs index 54419365ef..3bb57991f3 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/Clustering/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/Clustering/mod.rs @@ -3652,7 +3652,7 @@ impl ISClusApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DomainNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ClusterNames(&self, bstrdomainname: P0) -> ::windows_core::Result @@ -3660,7 +3660,7 @@ impl ISClusApplication { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ClusterNames)(::windows_core::Interface::as_raw(self), bstrdomainname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ClusterNames)(::windows_core::Interface::as_raw(self), bstrdomainname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenCluster(&self, bstrclustername: P0) -> ::windows_core::Result @@ -3668,7 +3668,7 @@ impl ISClusApplication { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenCluster)(::windows_core::Interface::as_raw(self), bstrclustername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenCluster)(::windows_core::Interface::as_raw(self), bstrclustername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3697,11 +3697,11 @@ pub struct ISClusApplication_Vtbl { impl ISClusCryptoKeys { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -3711,7 +3711,7 @@ impl ISClusCryptoKeys { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddItem(&self, bstrcryptokey: P0) -> ::windows_core::Result<()> where @@ -3746,21 +3746,21 @@ pub struct ISClusCryptoKeys_Vtbl { impl ISClusDisk { pub unsafe fn Signature(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ScsiAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScsiAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScsiAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DiskNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiskNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiskNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Partitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Partitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Partitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3787,11 +3787,11 @@ pub struct ISClusDisk_Vtbl { impl ISClusDisks { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result @@ -3799,7 +3799,7 @@ impl ISClusDisks { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3823,39 +3823,39 @@ impl ISClusNetInterface { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3895,11 +3895,11 @@ pub struct ISClusNetInterface_Vtbl { impl ISClusNetInterfaces { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -3910,7 +3910,7 @@ impl ISClusNetInterfaces { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3935,30 +3935,30 @@ impl ISClusNetwork { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrnetworkname: P0) -> ::windows_core::Result<()> where @@ -3968,21 +3968,21 @@ impl ISClusNetwork { } pub unsafe fn NetworkID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NetInterfaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4028,11 +4028,11 @@ pub struct ISClusNetwork_Vtbl { impl ISClusNetworkNetInterfaces { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4043,7 +4043,7 @@ impl ISClusNetworkNetInterfaces { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4067,11 +4067,11 @@ pub struct ISClusNetworkNetInterfaces_Vtbl { impl ISClusNetworks { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4082,7 +4082,7 @@ impl ISClusNetworks { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4107,38 +4107,38 @@ impl ISClusNode { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NodeID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NodeID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NodeID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -4152,17 +4152,17 @@ impl ISClusNode { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResourceGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResourceGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResourceGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NetInterfaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4214,11 +4214,11 @@ pub struct ISClusNode_Vtbl { impl ISClusNodeNetInterfaces { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4229,7 +4229,7 @@ impl ISClusNodeNetInterfaces { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4253,11 +4253,11 @@ pub struct ISClusNodeNetInterfaces_Vtbl { impl ISClusNodes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4268,7 +4268,7 @@ impl ISClusNodes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4292,31 +4292,31 @@ pub struct ISClusNodes_Vtbl { impl ISClusPartition { pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeLabel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeLabel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SerialNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaximumComponentLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumComponentLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumComponentLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileSystemFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystemFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystemFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileSystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4340,51 +4340,51 @@ pub struct ISClusPartition_Vtbl { impl ISClusPartitionEx { pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeLabel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeLabel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SerialNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaximumComponentLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaximumComponentLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaximumComponentLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileSystemFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileSystem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TotalSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PartitionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PartitionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PartitionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4406,11 +4406,11 @@ pub struct ISClusPartitionEx_Vtbl { impl ISClusPartitions { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result @@ -4418,7 +4418,7 @@ impl ISClusPartitions { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4441,11 +4441,11 @@ pub struct ISClusPartitions_Vtbl { impl ISClusProperties { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4456,7 +4456,7 @@ impl ISClusProperties { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrname: P0, varvalue: P1) -> ::windows_core::Result @@ -4465,7 +4465,7 @@ impl ISClusProperties { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), varvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), varvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UseDefaultValue(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -4475,23 +4475,23 @@ impl ISClusProperties { } pub unsafe fn SaveChanges(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveChanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveChanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Private(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Private)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Private)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Common(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Common)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Common)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Modified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4525,24 +4525,24 @@ pub struct ISClusProperties_Vtbl { impl ISClusProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ValueCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Values(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, varvalue: P0) -> ::windows_core::Result<()> where @@ -4552,33 +4552,33 @@ impl ISClusProperty { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, r#type: CLUSTER_PROPERTY_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFormat(&self, format: CLUSTER_PROPERTY_FORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Private(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Private)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Private)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Common(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Common)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Common)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Modified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UseDefaultValue(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UseDefaultValue)(::windows_core::Interface::as_raw(self)).ok() @@ -4616,7 +4616,7 @@ pub struct ISClusProperty_Vtbl { impl ISClusPropertyValue { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, varvalue: P0) -> ::windows_core::Result<()> where @@ -4626,30 +4626,30 @@ impl ISClusPropertyValue { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, r#type: CLUSTER_PROPERTY_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn Format(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFormat(&self, format: CLUSTER_PROPERTY_FORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Data(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4678,25 +4678,25 @@ pub struct ISClusPropertyValue_Vtbl { impl ISClusPropertyValueData { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateItem(&self, varvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), varvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -4724,11 +4724,11 @@ pub struct ISClusPropertyValueData_Vtbl { impl ISClusPropertyValues { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, varindex: P0) -> ::windows_core::Result @@ -4736,7 +4736,7 @@ impl ISClusPropertyValues { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrname: P0, varvalue: P1) -> ::windows_core::Result @@ -4745,7 +4745,7 @@ impl ISClusPropertyValues { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), varvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), varvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -4779,7 +4779,7 @@ pub struct ISClusPropertyValues_Vtbl { impl ISClusRefObject { pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4797,11 +4797,11 @@ pub struct ISClusRefObject_Vtbl { impl ISClusRegistryKeys { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4811,7 +4811,7 @@ impl ISClusRegistryKeys { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddItem(&self, bstrregistrykey: P0) -> ::windows_core::Result<()> where @@ -4846,11 +4846,11 @@ pub struct ISClusRegistryKeys_Vtbl { impl ISClusResDependencies { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4861,7 +4861,7 @@ impl ISClusResDependencies { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcename: P0, bstrresourcetype: P1, dwflags: CLUSTER_RESOURCE_CREATE_FLAGS) -> ::windows_core::Result @@ -4870,7 +4870,7 @@ impl ISClusResDependencies { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -4923,11 +4923,11 @@ pub struct ISClusResDependencies_Vtbl { impl ISClusResDependents { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4938,7 +4938,7 @@ impl ISClusResDependents { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcename: P0, bstrresourcetype: P1, dwflags: CLUSTER_RESOURCE_CREATE_FLAGS) -> ::windows_core::Result @@ -4947,7 +4947,7 @@ impl ISClusResDependents { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5001,30 +5001,30 @@ impl ISClusResGroup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrgroupname: P0) -> ::windows_core::Result<()> where @@ -5034,22 +5034,22 @@ impl ISClusResGroup { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OwnerNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PreferredOwnerNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -5060,7 +5060,7 @@ impl ISClusResGroup { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), varnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), varnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, vartimeout: P0, varnode: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -5068,19 +5068,19 @@ impl ISClusResGroup { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), varnode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), varnode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Offline(&self, vartimeout: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), vartimeout.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5137,11 +5137,11 @@ pub struct ISClusResGroup_Vtbl { impl ISClusResGroupPreferredOwnerNodes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5152,7 +5152,7 @@ impl ISClusResGroupPreferredOwnerNodes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertItem(&self, pnode: P0, nposition: i32) -> ::windows_core::Result<()> @@ -5169,7 +5169,7 @@ impl ISClusResGroupPreferredOwnerNodes { } pub unsafe fn Modified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveChanges(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SaveChanges)(::windows_core::Interface::as_raw(self)).ok() @@ -5214,11 +5214,11 @@ pub struct ISClusResGroupPreferredOwnerNodes_Vtbl { impl ISClusResGroupResources { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5229,7 +5229,7 @@ impl ISClusResGroupResources { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcename: P0, bstrresourcetype: P1, dwflags: CLUSTER_RESOURCE_CREATE_FLAGS) -> ::windows_core::Result @@ -5238,7 +5238,7 @@ impl ISClusResGroupResources { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5273,11 +5273,11 @@ pub struct ISClusResGroupResources_Vtbl { impl ISClusResGroups { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5288,7 +5288,7 @@ impl ISClusResGroups { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcegroupname: P0) -> ::windows_core::Result @@ -5296,7 +5296,7 @@ impl ISClusResGroups { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcegroupname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcegroupname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5331,11 +5331,11 @@ pub struct ISClusResGroups_Vtbl { impl ISClusResPossibleOwnerNodes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5346,7 +5346,7 @@ impl ISClusResPossibleOwnerNodes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddItem(&self, pnode: P0) -> ::windows_core::Result<()> @@ -5363,7 +5363,7 @@ impl ISClusResPossibleOwnerNodes { } pub unsafe fn Modified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5394,26 +5394,26 @@ impl ISClusResType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -5421,22 +5421,22 @@ impl ISClusResType { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PossibleOwnerNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PossibleOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PossibleOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AvailableDisks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AvailableDisks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AvailableDisks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5487,11 +5487,11 @@ pub struct ISClusResType_Vtbl { impl ISClusResTypePossibleOwnerNodes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5502,7 +5502,7 @@ impl ISClusResTypePossibleOwnerNodes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5526,11 +5526,11 @@ pub struct ISClusResTypePossibleOwnerNodes_Vtbl { impl ISClusResTypeResources { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5541,7 +5541,7 @@ impl ISClusResTypeResources { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcename: P0, bstrgroupname: P1, dwflags: CLUSTER_RESOURCE_CREATE_FLAGS) -> ::windows_core::Result @@ -5550,7 +5550,7 @@ impl ISClusResTypeResources { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrgroupname.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrgroupname.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5585,11 +5585,11 @@ pub struct ISClusResTypeResources_Vtbl { impl ISClusResTypes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5600,7 +5600,7 @@ impl ISClusResTypes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcetypename: P0, bstrdisplayname: P1, bstrresourcetypedll: P2, dwlooksalivepollinterval: i32, dwisalivepollinterval: i32) -> ::windows_core::Result @@ -5610,7 +5610,7 @@ impl ISClusResTypes { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcetypename.into_param().abi(), bstrdisplayname.into_param().abi(), bstrresourcetypedll.into_param().abi(), dwlooksalivepollinterval, dwisalivepollinterval, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcetypename.into_param().abi(), bstrdisplayname.into_param().abi(), bstrresourcetypedll.into_param().abi(), dwlooksalivepollinterval, dwisalivepollinterval, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5646,30 +5646,30 @@ impl ISClusResource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrresourcename: P0) -> ::windows_core::Result<()> where @@ -5679,11 +5679,11 @@ impl ISClusResource { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CoreFlag(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CoreFlag)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CoreFlag)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BecomeQuorumResource(&self, bstrdevicepath: P0, lmaxlogsize: i32) -> ::windows_core::Result<()> where @@ -5699,11 +5699,11 @@ impl ISClusResource { } pub unsafe fn Online(&self, ntimeout: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), ntimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), ntimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Offline(&self, ntimeout: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), ntimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), ntimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ChangeResourceGroup(&self, presourcegroup: P0) -> ::windows_core::Result<()> @@ -5732,69 +5732,69 @@ impl ISClusResource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanResourceBeDependent)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanResourceBeDependent)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PossibleOwnerNodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PossibleOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PossibleOwnerNodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Dependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Dependents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dependents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dependents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Group(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OwnerNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cluster(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cluster)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Disk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Disk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Disk)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegistryKeys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistryKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistryKeys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptoKeys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CryptoKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CryptoKeys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TypeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TypeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TypeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MaintenanceMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaintenanceMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaintenanceMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaintenanceMode(&self, bmaintenancemode: P0) -> ::windows_core::Result<()> where @@ -5903,11 +5903,11 @@ pub struct ISClusResource_Vtbl { impl ISClusResources { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -5918,7 +5918,7 @@ impl ISClusResources { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateItem(&self, bstrresourcename: P0, bstrresourcetype: P1, bstrgroupname: P2, dwflags: CLUSTER_RESOURCE_CREATE_FLAGS) -> ::windows_core::Result @@ -5928,7 +5928,7 @@ impl ISClusResources { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), bstrgroupname.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateItem)(::windows_core::Interface::as_raw(self), bstrresourcename.into_param().abi(), bstrresourcetype.into_param().abi(), bstrgroupname.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteItem(&self, varindex: P0) -> ::windows_core::Result<()> where @@ -5963,19 +5963,19 @@ pub struct ISClusResources_Vtbl { impl ISClusScsiAddress { pub unsafe fn PortNumber(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PathId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TargetId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Lun(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Lun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Lun)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5996,43 +5996,43 @@ pub struct ISClusScsiAddress_Vtbl { impl ISClusVersion { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BuildNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuildNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuildNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VendorId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VendorId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VendorId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CSDVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSDVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSDVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClusterHighestVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClusterHighestVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClusterHighestVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClusterLowestVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClusterLowestVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClusterLowestVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MixedVersion(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MixedVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MixedVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6060,26 +6060,26 @@ impl ISCluster { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommonROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateROProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateROProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Open(&self, bstrclustername: P0) -> ::windows_core::Result<()> where @@ -6089,7 +6089,7 @@ impl ISCluster { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrclustername: P0) -> ::windows_core::Result<()> where @@ -6100,7 +6100,7 @@ impl ISCluster { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Version(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetQuorumResource(&self, pclusterresource: P0) -> ::windows_core::Result<()> @@ -6112,18 +6112,18 @@ impl ISCluster { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QuorumResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuorumResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuorumResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuorumLogSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuorumLogSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuorumLogSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuorumLogSize(&self, nlogsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuorumLogSize)(::windows_core::Interface::as_raw(self), nlogsize).ok() } pub unsafe fn QuorumPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuorumPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuorumPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuorumPath(&self, ppath: P0) -> ::windows_core::Result<()> where @@ -6134,32 +6134,32 @@ impl ISCluster { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Nodes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Nodes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Nodes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResourceGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResourceGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResourceGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResourceTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResourceTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResourceTypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Networks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Networks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Networks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NetInterfaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6236,11 +6236,11 @@ pub struct ISCluster_Vtbl { impl ISClusterNames { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -6250,11 +6250,11 @@ impl ISClusterNames { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6276,11 +6276,11 @@ pub struct ISClusterNames_Vtbl { impl ISDomainNames { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -6290,7 +6290,7 @@ impl ISDomainNames { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), varindex.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/NetworkListManager/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/NetworkListManager/mod.rs index af407b5f87..0f97a2e805 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/NetworkListManager/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/NetworkListManager/mod.rs @@ -7,7 +7,7 @@ impl IEnumNetworkConnections { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self, rgelt: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -22,7 +22,7 @@ impl IEnumNetworkConnections { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -54,7 +54,7 @@ impl IEnumNetworks { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self, rgelt: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -69,7 +69,7 @@ impl IEnumNetworks { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -100,7 +100,7 @@ pub struct IEnumNetworks_Vtbl { impl INetwork { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, sznetworknewname: P0) -> ::windows_core::Result<()> where @@ -110,7 +110,7 @@ impl INetwork { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, szdescription: P0) -> ::windows_core::Result<()> where @@ -120,35 +120,35 @@ impl INetwork { } pub unsafe fn GetNetworkId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetworkConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTimeCreatedAndConnected(&self, pdwlowdatetimecreated: *mut u32, pdwhighdatetimecreated: *mut u32, pdwlowdatetimeconnected: *mut u32, pdwhighdatetimeconnected: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimeCreatedAndConnected)(::windows_core::Interface::as_raw(self), pdwlowdatetimecreated, pdwhighdatetimecreated, pdwlowdatetimeconnected, pdwhighdatetimeconnected).ok() } pub unsafe fn IsConnectedToInternet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, newcategory: NLM_NETWORK_CATEGORY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCategory)(::windows_core::Interface::as_raw(self), newcategory).ok() @@ -184,7 +184,7 @@ pub struct INetwork_Vtbl { impl INetwork2 { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, sznetworknewname: P0) -> ::windows_core::Result<()> where @@ -194,7 +194,7 @@ impl INetwork2 { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, szdescription: P0) -> ::windows_core::Result<()> where @@ -204,42 +204,42 @@ impl INetwork2 { } pub unsafe fn GetNetworkId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetworkConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTimeCreatedAndConnected(&self, pdwlowdatetimecreated: *mut u32, pdwhighdatetimecreated: *mut u32, pdwlowdatetimeconnected: *mut u32, pdwhighdatetimeconnected: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetTimeCreatedAndConnected)(::windows_core::Interface::as_raw(self), pdwlowdatetimecreated, pdwhighdatetimecreated, pdwlowdatetimeconnected, pdwhighdatetimeconnected).ok() } pub unsafe fn IsConnectedToInternet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, newcategory: NLM_NETWORK_CATEGORY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCategory)(::windows_core::Interface::as_raw(self), newcategory).ok() } pub unsafe fn IsDomainAuthenticatedBy(&self, domainauthenticationkind: NLM_DOMAIN_AUTHENTICATION_KIND) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(self), domainauthenticationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(self), domainauthenticationkind, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -258,31 +258,31 @@ impl INetworkConnection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetwork(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsConnectedToInternet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAdapterId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdapterId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdapterId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -310,35 +310,35 @@ impl INetworkConnection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetwork(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetwork)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetwork)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsConnectedToInternet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectionId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAdapterId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAdapterId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAdapterId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDomainType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDomainType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDomainAuthenticatedBy(&self, domainauthenticationkind: NLM_DOMAIN_AUTHENTICATION_KIND) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(self), domainauthenticationkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDomainAuthenticatedBy)(::windows_core::Interface::as_raw(self), domainauthenticationkind, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -353,7 +353,7 @@ pub struct INetworkConnection2_Vtbl { impl INetworkConnectionCost { pub unsafe fn GetCost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataPlanStatus(&self, pdataplanstatus: *mut NLM_DATAPLAN_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDataPlanStatus)(::windows_core::Interface::as_raw(self), pdataplanstatus).ok() @@ -475,34 +475,34 @@ impl INetworkListManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetworks(&self, flags: NLM_ENUM_NETWORK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworks)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworks)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetwork(&self, gdnetworkid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gdnetworkid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetwork)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gdnetworkid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetworkConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkConnections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNetworkConnection(&self, gdnetworkconnectionid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkConnection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gdnetworkconnectionid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkConnection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(gdnetworkconnectionid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsConnectedToInternet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnectedToInternet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSimulatedProfileInfo(&self, psimulatedinfo: *const NLM_SIMULATED_PROFILE_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSimulatedProfileInfo)(::windows_core::Interface::as_raw(self), psimulatedinfo).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Networking/RemoteDifferentialCompression/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/RemoteDifferentialCompression/mod.rs index c32da74fb5..4071f29983 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/RemoteDifferentialCompression/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/RemoteDifferentialCompression/mod.rs @@ -3,7 +3,7 @@ impl IFindSimilarResults { pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNextFileId(&self, numtraitsmatched: *mut u32, similarityfileid: *mut SimilarityFileId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextFileId)(::windows_core::Interface::as_raw(self), numtraitsmatched, similarityfileid).ok() @@ -37,14 +37,14 @@ pub struct IRdcComparator_Vtbl { impl IRdcFileReader { pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Read(&self, offsetfilestart: u64, bytestoread: u32, bytesactuallyread: *mut u32, buffer: *mut u8, eof: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), offsetfilestart, bytestoread, bytesactuallyread, buffer, eof).ok() } pub unsafe fn GetFilePosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilePosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilePosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -60,18 +60,18 @@ pub struct IRdcFileReader_Vtbl { impl IRdcFileWriter { pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Read(&self, offsetfilestart: u64, bytestoread: u32, bytesactuallyread: *mut u32, buffer: *mut u8, eof: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), offsetfilestart, bytestoread, bytesactuallyread, buffer, eof).ok() } pub unsafe fn GetFilePosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFilePosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFilePosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Write(&self, offsetfilestart: u64, bytestowrite: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), offsetfilestart, bytestowrite, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), offsetfilestart, bytestowrite, &mut result__).map(|| result__) } pub unsafe fn Truncate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Truncate)(::windows_core::Interface::as_raw(self)).ok() @@ -93,7 +93,7 @@ pub struct IRdcFileWriter_Vtbl { impl IRdcGenerator { pub unsafe fn GetGeneratorParameters(&self, level: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeneratorParameters)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeneratorParameters)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Process(&self, endofinput: P0, endofoutput: *mut super::super::Foundation::BOOL, inputbuffer: *mut RdcBufferPointer, outputbuffers: &mut [*mut RdcBufferPointer], rdc_errorcode: *mut RDC_ErrorCode) -> ::windows_core::Result<()> where @@ -114,14 +114,14 @@ pub struct IRdcGenerator_Vtbl { impl IRdcGeneratorFilterMaxParameters { pub unsafe fn GetHorizonSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHorizonSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHorizonSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHorizonSize(&self, horizonsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHorizonSize)(::windows_core::Interface::as_raw(self), horizonsize).ok() } pub unsafe fn GetHashWindowSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashWindowSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashWindowSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashWindowSize(&self, hashwindowsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashWindowSize)(::windows_core::Interface::as_raw(self), hashwindowsize).ok() @@ -141,14 +141,14 @@ pub struct IRdcGeneratorFilterMaxParameters_Vtbl { impl IRdcGeneratorParameters { pub unsafe fn GetGeneratorParametersType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeneratorParametersType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeneratorParametersType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParametersVersion(&self, currentversion: *mut u32, minimumcompatibleappversion: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetParametersVersion)(::windows_core::Interface::as_raw(self), currentversion, minimumcompatibleappversion).ok() } pub unsafe fn GetSerializeSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSerializeSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSerializeSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Serialize(&self, size: u32, parametersblob: *mut u8, byteswritten: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), size, parametersblob, byteswritten).ok() @@ -168,33 +168,33 @@ pub struct IRdcGeneratorParameters_Vtbl { impl IRdcLibrary { pub unsafe fn ComputeDefaultRecursionDepth(&self, filesize: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeDefaultRecursionDepth)(::windows_core::Interface::as_raw(self), filesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeDefaultRecursionDepth)(::windows_core::Interface::as_raw(self), filesize, &mut result__).map(|| result__) } pub unsafe fn CreateGeneratorParameters(&self, parameterstype: GeneratorParametersType, level: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGeneratorParameters)(::windows_core::Interface::as_raw(self), parameterstype, level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGeneratorParameters)(::windows_core::Interface::as_raw(self), parameterstype, level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenGeneratorParameters(&self, size: u32, parametersblob: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenGeneratorParameters)(::windows_core::Interface::as_raw(self), size, parametersblob, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenGeneratorParameters)(::windows_core::Interface::as_raw(self), size, parametersblob, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGenerator(&self, igeneratorparametersarray: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGenerator)(::windows_core::Interface::as_raw(self), igeneratorparametersarray.len().try_into().unwrap(), ::core::mem::transmute(igeneratorparametersarray.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGenerator)(::windows_core::Interface::as_raw(self), igeneratorparametersarray.len().try_into().unwrap(), ::core::mem::transmute(igeneratorparametersarray.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateComparator(&self, iseedsignaturesfile: P0, comparatorbuffersize: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateComparator)(::windows_core::Interface::as_raw(self), iseedsignaturesfile.into_param().abi(), comparatorbuffersize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComparator)(::windows_core::Interface::as_raw(self), iseedsignaturesfile.into_param().abi(), comparatorbuffersize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSignatureReader(&self, ifilereader: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSignatureReader)(::windows_core::Interface::as_raw(self), ifilereader.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSignatureReader)(::windows_core::Interface::as_raw(self), ifilereader.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRDCVersion(&self, currentversion: *mut u32, minimumcompatibleappversion: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRDCVersion)(::windows_core::Interface::as_raw(self), currentversion, minimumcompatibleappversion).ok() @@ -217,7 +217,7 @@ pub struct IRdcLibrary_Vtbl { impl IRdcSignatureReader { pub unsafe fn ReadHeader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadHeader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadHeader)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReadSignatures(&self, rdcsignaturepointer: *mut RdcSignaturePointer, endofoutput: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadSignatures)(::windows_core::Interface::as_raw(self), rdcsignaturepointer, endofoutput).ok() @@ -238,7 +238,7 @@ impl IRdcSimilarityGenerator { } pub unsafe fn Results(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -257,7 +257,7 @@ impl ISimilarity { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, recordsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, recordsize, &mut result__).map(|| result__) } pub unsafe fn CreateTableIndirect(&self, mapping: P0, fileidfile: P1, truncate: P2, recordsize: u32) -> ::windows_core::Result where @@ -266,7 +266,7 @@ impl ISimilarity { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), mapping.into_param().abi(), fileidfile.into_param().abi(), truncate.into_param().abi(), recordsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), mapping.into_param().abi(), fileidfile.into_param().abi(), truncate.into_param().abi(), recordsize, &mut result__).map(|| result__) } pub unsafe fn CloseTable(&self, isvalid: P0) -> ::windows_core::Result<()> where @@ -279,7 +279,7 @@ impl ISimilarity { } pub unsafe fn FindSimilarFileId(&self, similaritydata: *const SimilarityData, numberofmatchesrequired: u16, resultssize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindSimilarFileId)(::windows_core::Interface::as_raw(self), similaritydata, numberofmatchesrequired, resultssize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindSimilarFileId)(::windows_core::Interface::as_raw(self), similaritydata, numberofmatchesrequired, resultssize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyAndSwap(&self, newsimilaritytables: P0, reportprogress: P1) -> ::windows_core::Result<()> where @@ -290,7 +290,7 @@ impl ISimilarity { } pub unsafe fn GetRecordCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -314,7 +314,7 @@ impl ISimilarityFileIdTable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, recordsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, recordsize, &mut result__).map(|| result__) } pub unsafe fn CreateTableIndirect(&self, fileidfile: P0, truncate: P1, recordsize: u32) -> ::windows_core::Result where @@ -322,7 +322,7 @@ impl ISimilarityFileIdTable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), fileidfile.into_param().abi(), truncate.into_param().abi(), recordsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), fileidfile.into_param().abi(), truncate.into_param().abi(), recordsize, &mut result__).map(|| result__) } pub unsafe fn CloseTable(&self, isvalid: P0) -> ::windows_core::Result<()> where @@ -332,7 +332,7 @@ impl ISimilarityFileIdTable { } pub unsafe fn Append(&self, similarityfileid: *const SimilarityFileId) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Append)(::windows_core::Interface::as_raw(self), similarityfileid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Append)(::windows_core::Interface::as_raw(self), similarityfileid, &mut result__).map(|| result__) } pub unsafe fn Lookup(&self, similarityfileindex: u32, similarityfileid: *mut SimilarityFileId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Lookup)(::windows_core::Interface::as_raw(self), similarityfileindex, similarityfileid).ok() @@ -342,7 +342,7 @@ impl ISimilarityFileIdTable { } pub unsafe fn GetRecordCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -397,7 +397,7 @@ impl ISimilarityTraitsMappedView { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), index, dirty.into_param().abi(), numelements, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), index, dirty.into_param().abi(), numelements, &mut result__).map(|| result__) } pub unsafe fn GetView(&self, mappedpagebegin: *mut *mut u8, mappedpageend: *mut *mut u8) { (::windows_core::Interface::vtable(self).GetView)(::windows_core::Interface::as_raw(self), mappedpagebegin, mappedpageend) @@ -423,24 +423,24 @@ impl ISimilarityTraitsMapping { } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OpenMapping(&self, accessmode: RdcMappingAccessMode, begin: u64, end: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenMapping)(::windows_core::Interface::as_raw(self), accessmode, begin, end, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenMapping)(::windows_core::Interface::as_raw(self), accessmode, begin, end, &mut result__).map(|| result__) } pub unsafe fn ResizeMapping(&self, accessmode: RdcMappingAccessMode, begin: u64, end: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResizeMapping)(::windows_core::Interface::as_raw(self), accessmode, begin, end, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResizeMapping)(::windows_core::Interface::as_raw(self), accessmode, begin, end, &mut result__).map(|| result__) } pub unsafe fn GetPageSize(&self) -> u32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn CreateView(&self, minimummappedpages: u32, accessmode: RdcMappingAccessMode) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), minimummappedpages, accessmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), minimummappedpages, accessmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -464,7 +464,7 @@ impl ISimilarityTraitsTable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTable)(::windows_core::Interface::as_raw(self), path.into_param().abi(), truncate.into_param().abi(), securitydescriptor, &mut result__).map(|| result__) } pub unsafe fn CreateTableIndirect(&self, mapping: P0, truncate: P1) -> ::windows_core::Result where @@ -472,7 +472,7 @@ impl ISimilarityTraitsTable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), mapping.into_param().abi(), truncate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTableIndirect)(::windows_core::Interface::as_raw(self), mapping.into_param().abi(), truncate.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CloseTable(&self, isvalid: P0) -> ::windows_core::Result<()> where @@ -488,11 +488,11 @@ impl ISimilarityTraitsTable { } pub unsafe fn BeginDump(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginDump)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginDump)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLastIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/WebSocket/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/WebSocket/mod.rs index a14305e0fd..a6c76aa87d 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/WebSocket/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/WebSocket/mod.rs @@ -46,13 +46,13 @@ where pub unsafe fn WebSocketCreateClientHandle(pproperties: &[WEB_SOCKET_PROPERTY]) -> ::windows_core::Result { ::windows_targets::link!("websocket.dll" "system" fn WebSocketCreateClientHandle(pproperties : *const WEB_SOCKET_PROPERTY, ulpropertycount : u32, phwebsocket : *mut WEB_SOCKET_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebSocketCreateClientHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len().try_into().unwrap(), &mut result__).from_abi(result__) + WebSocketCreateClientHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len().try_into().unwrap(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WebSocketCreateServerHandle(pproperties: &[WEB_SOCKET_PROPERTY]) -> ::windows_core::Result { ::windows_targets::link!("websocket.dll" "system" fn WebSocketCreateServerHandle(pproperties : *const WEB_SOCKET_PROPERTY, ulpropertycount : u32, phwebsocket : *mut WEB_SOCKET_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebSocketCreateServerHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len().try_into().unwrap(), &mut result__).from_abi(result__) + WebSocketCreateServerHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len().try_into().unwrap(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WebSocketDeleteHandle(hwebsocket: P0) diff --git a/crates/libs/windows/src/Windows/Win32/Networking/WinHttp/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/WinHttp/mod.rs index 45b371bada..9ee7fab58a 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/WinHttp/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/WinHttp/mod.rs @@ -362,11 +362,11 @@ impl IWinHttpRequest { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResponseHeader)(::windows_core::Interface::as_raw(self), header.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResponseHeader)(::windows_core::Interface::as_raw(self), header.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAllResponseHeaders(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllResponseHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Send(&self, body: P0) -> ::windows_core::Result<()> where @@ -376,27 +376,27 @@ impl IWinHttpRequest { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResponseText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResponseBody(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResponseStream(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Option(&self, option: WinHttpRequestOption) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Option)(::windows_core::Interface::as_raw(self), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Option)(::windows_core::Interface::as_raw(self), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Option(&self, option: WinHttpRequestOption, value: P0) -> ::windows_core::Result<()> where @@ -409,7 +409,7 @@ impl IWinHttpRequest { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForResponse)(::windows_core::Interface::as_raw(self), timeout.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForResponse)(::windows_core::Interface::as_raw(self), timeout.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Abort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Abort)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Networking/WinInet/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/WinInet/mod.rs index cee51ff14e..b2298b4ad3 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/WinInet/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/WinInet/mod.rs @@ -2146,7 +2146,7 @@ impl IDialBranding { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmap(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -2191,11 +2191,11 @@ impl IDialEngine { } pub unsafe fn GetConnectedState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectedState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectedState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/WindowsWebServices/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/WindowsWebServices/mod.rs index 812786bfbb..7e99fad7c8 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/WindowsWebServices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/WindowsWebServices/mod.rs @@ -6,7 +6,7 @@ where { ::windows_targets::link!("webauthn.dll" "system" fn WebAuthNAuthenticatorGetAssertion(hwnd : super::super::Foundation:: HWND, pwszrpid : ::windows_core::PCWSTR, pwebauthnclientdata : *const WEBAUTHN_CLIENT_DATA, pwebauthngetassertionoptions : *const WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS, ppwebauthnassertion : *mut *mut WEBAUTHN_ASSERTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebAuthNAuthenticatorGetAssertion(hwnd.into_param().abi(), pwszrpid.into_param().abi(), pwebauthnclientdata, ::core::mem::transmute(pwebauthngetassertionoptions.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WebAuthNAuthenticatorGetAssertion(hwnd.into_param().abi(), pwszrpid.into_param().abi(), pwebauthnclientdata, ::core::mem::transmute(pwebauthngetassertionoptions.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WebAuthNAuthenticatorMakeCredential(hwnd: P0, prpinformation: *const WEBAUTHN_RP_ENTITY_INFORMATION, puserinformation: *const WEBAUTHN_USER_ENTITY_INFORMATION, ppubkeycredparams: *const WEBAUTHN_COSE_CREDENTIAL_PARAMETERS, pwebauthnclientdata: *const WEBAUTHN_CLIENT_DATA, pwebauthnmakecredentialoptions: ::core::option::Option<*const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS>) -> ::windows_core::Result<*mut WEBAUTHN_CREDENTIAL_ATTESTATION> @@ -15,7 +15,7 @@ where { ::windows_targets::link!("webauthn.dll" "system" fn WebAuthNAuthenticatorMakeCredential(hwnd : super::super::Foundation:: HWND, prpinformation : *const WEBAUTHN_RP_ENTITY_INFORMATION, puserinformation : *const WEBAUTHN_USER_ENTITY_INFORMATION, ppubkeycredparams : *const WEBAUTHN_COSE_CREDENTIAL_PARAMETERS, pwebauthnclientdata : *const WEBAUTHN_CLIENT_DATA, pwebauthnmakecredentialoptions : *const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS, ppwebauthncredentialattestation : *mut *mut WEBAUTHN_CREDENTIAL_ATTESTATION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebAuthNAuthenticatorMakeCredential(hwnd.into_param().abi(), prpinformation, puserinformation, ppubkeycredparams, pwebauthnclientdata, ::core::mem::transmute(pwebauthnmakecredentialoptions.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WebAuthNAuthenticatorMakeCredential(hwnd.into_param().abi(), prpinformation, puserinformation, ppubkeycredparams, pwebauthnclientdata, ::core::mem::transmute(pwebauthnmakecredentialoptions.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WebAuthNCancelCurrentOperation(pcancellationid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -51,7 +51,7 @@ pub unsafe fn WebAuthNGetApiVersionNumber() -> u32 { pub unsafe fn WebAuthNGetCancellationId() -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("webauthn.dll" "system" fn WebAuthNGetCancellationId(pcancellationid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebAuthNGetCancellationId(&mut result__).from_abi(result__) + WebAuthNGetCancellationId(&mut result__).map(|| result__) } #[inline] pub unsafe fn WebAuthNGetErrorName(hr: ::windows_core::HRESULT) -> ::windows_core::PCWSTR { @@ -62,7 +62,7 @@ pub unsafe fn WebAuthNGetErrorName(hr: ::windows_core::HRESULT) -> ::windows_cor pub unsafe fn WebAuthNGetPlatformCredentialList(pgetcredentialsoptions: *const WEBAUTHN_GET_CREDENTIALS_OPTIONS) -> ::windows_core::Result<*mut WEBAUTHN_CREDENTIAL_DETAILS_LIST> { ::windows_targets::link!("webauthn.dll" "system" fn WebAuthNGetPlatformCredentialList(pgetcredentialsoptions : *const WEBAUTHN_GET_CREDENTIALS_OPTIONS, ppcredentialdetailslist : *mut *mut WEBAUTHN_CREDENTIAL_DETAILS_LIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebAuthNGetPlatformCredentialList(pgetcredentialsoptions, &mut result__).from_abi(result__) + WebAuthNGetPlatformCredentialList(pgetcredentialsoptions, &mut result__).map(|| result__) } #[inline] pub unsafe fn WebAuthNGetW3CExceptionDOMError(hr: ::windows_core::HRESULT) -> ::windows_core::Result<()> { @@ -73,7 +73,7 @@ pub unsafe fn WebAuthNGetW3CExceptionDOMError(hr: ::windows_core::HRESULT) -> :: pub unsafe fn WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable() -> ::windows_core::Result { ::windows_targets::link!("webauthn.dll" "system" fn WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable(pbisuserverifyingplatformauthenticatoravailable : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable(&mut result__).from_abi(result__) + WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable(&mut result__).map(|| result__) } #[inline] pub unsafe fn WsAbandonCall(serviceproxy: *const WS_SERVICE_PROXY, callid: u32, error: ::core::option::Option<*const WS_ERROR>) -> ::windows_core::Result<()> { @@ -199,7 +199,7 @@ pub unsafe fn WsCreateChannelForListener(listener: *const WS_LISTENER, propertie pub unsafe fn WsCreateError(properties: ::core::option::Option<&[WS_ERROR_PROPERTY]>) -> ::windows_core::Result<*mut WS_ERROR> { ::windows_targets::link!("webservices.dll" "system" fn WsCreateError(properties : *const WS_ERROR_PROPERTY, propertycount : u32, error : *mut *mut WS_ERROR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WsCreateError(::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WsCreateError(::core::mem::transmute(properties.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), properties.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).map(|| result__) } #[inline] pub unsafe fn WsCreateFaultFromError(error: *const WS_ERROR, faulterrorcode: ::windows_core::HRESULT, faultdisclosure: WS_FAULT_DISCLOSURE, heap: *const WS_HEAP, fault: *mut WS_FAULT) -> ::windows_core::Result<()> { @@ -435,7 +435,7 @@ pub unsafe fn WsGetErrorProperty(error: *const WS_ERROR, id: WS_ERROR_PROPERTY_I pub unsafe fn WsGetErrorString(error: *const WS_ERROR, index: u32) -> ::windows_core::Result { ::windows_targets::link!("webservices.dll" "system" fn WsGetErrorString(error : *const WS_ERROR, index : u32, string : *mut WS_STRING) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WsGetErrorString(error, index, &mut result__).from_abi(result__) + WsGetErrorString(error, index, &mut result__).map(|| result__) } #[inline] pub unsafe fn WsGetFaultErrorDetail(error: *const WS_ERROR, faultdetaildescription: *const WS_FAULT_DETAIL_DESCRIPTION, readoption: WS_READ_OPTION, heap: ::core::option::Option<*const WS_HEAP>, value: *mut ::core::ffi::c_void, valuesize: u32) -> ::windows_core::Result<()> { @@ -1101,7 +1101,7 @@ impl IContentPrefetcherTaskTrigger { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRegisteredForContentPrefetch)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRegisteredForContentPrefetch)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/Provider/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/Provider/mod.rs index c43a605d72..5c072dbc52 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/Provider/mod.rs @@ -10,7 +10,7 @@ impl AsyncIAssociatedIdentityProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Finish_AssociateIdentity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_AssociateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_AssociateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Begin_DisassociateIdentity(&self, hwndparent: P0, lpszuniqueid: P1) -> ::windows_core::Result<()> where @@ -67,7 +67,7 @@ impl AsyncIConnectedIdentityProvider { } pub unsafe fn Finish_IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Begin_GetUrl(&self, identifier: IDENTITY_URL, context: P0) -> ::windows_core::Result<()> @@ -84,7 +84,7 @@ impl AsyncIConnectedIdentityProvider { } pub unsafe fn Finish_GetAccountState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetAccountState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetAccountState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -168,7 +168,7 @@ impl AsyncIIdentityProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Finish_GetIdentityEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetIdentityEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetIdentityEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Begin_Create(&self, lpszusername: P0, pkeywordstoadd: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -179,7 +179,7 @@ impl AsyncIIdentityProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Finish_Create(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_Create)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_Create)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Begin_Import(&self, ppropertystore: P0) -> ::windows_core::Result<()> @@ -209,7 +209,7 @@ impl AsyncIIdentityProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Finish_FindByUniqueID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_FindByUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_FindByUniqueID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Begin_GetProviderPropertyStore(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Begin_GetProviderPropertyStore)(::windows_core::Interface::as_raw(self)).ok() @@ -217,7 +217,7 @@ impl AsyncIIdentityProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Finish_GetProviderPropertyStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetProviderPropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetProviderPropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Begin_Advise(&self, pidentityadvise: P0, dwidentityupdateevents: u32) -> ::windows_core::Result<()> where @@ -227,7 +227,7 @@ impl AsyncIIdentityProvider { } pub unsafe fn Finish_Advise(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_Advise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_Advise)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Begin_UnAdvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Begin_UnAdvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -283,7 +283,7 @@ impl AsyncIIdentityStore { } pub unsafe fn Finish_GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Begin_GetAt(&self, dwprovider: u32, pprovguid: ::core::option::Option<*mut ::windows_core::GUID>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Begin_GetAt)(::windows_core::Interface::as_raw(self), dwprovider, ::core::mem::transmute(pprovguid.unwrap_or(::std::ptr::null_mut()))).ok() @@ -316,7 +316,7 @@ impl AsyncIIdentityStore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Finish_EnumerateIdentities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_EnumerateIdentities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_EnumerateIdentities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Begin_Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Begin_Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -389,7 +389,7 @@ impl IAssociatedIdentityProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssociateIdentity)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssociateIdentity)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisassociateIdentity(&self, hwndparent: P0, lpszuniqueid: P1) -> ::windows_core::Result<()> where @@ -428,7 +428,7 @@ impl IConnectedIdentityProvider { } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUrl(&self, identifier: IDENTITY_URL, context: P0, postdata: *mut ::windows_core::VARIANT, url: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> @@ -439,7 +439,7 @@ impl IConnectedIdentityProvider { } pub unsafe fn GetAccountState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccountState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccountState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -498,7 +498,7 @@ impl IIdentityProvider { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetIdentityEnum(&self, eidentitytype: IDENTITY_TYPE, pfilterkey: ::core::option::Option<*const super::super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY>, pfilterpropvarvalue: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIdentityEnum)(::windows_core::Interface::as_raw(self), eidentitytype, ::core::mem::transmute(pfilterkey.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pfilterpropvarvalue.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIdentityEnum)(::windows_core::Interface::as_raw(self), eidentitytype, ::core::mem::transmute(pfilterkey.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pfilterpropvarvalue.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn Create(&self, lpszusername: P0, pppropertystore: *mut ::core::option::Option, pkeywordstoadd: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> @@ -526,19 +526,19 @@ impl IIdentityProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindByUniqueID)(::windows_core::Interface::as_raw(self), lpszuniqueid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindByUniqueID)(::windows_core::Interface::as_raw(self), lpszuniqueid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProviderPropertyStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderPropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderPropertyStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Advise(&self, pidentityadvise: P0, dwidentityupdateevents: IdentityUpdateEvent) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pidentityadvise.into_param().abi(), dwidentityupdateevents.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pidentityadvise.into_param().abi(), dwidentityupdateevents.0 as _, &mut result__).map(|| result__) } pub unsafe fn UnAdvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnAdvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -577,7 +577,7 @@ pub struct IIdentityProvider_Vtbl { impl IIdentityStore { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, dwprovider: u32, pprovguid: ::core::option::Option<*mut ::windows_core::GUID>, ppidentityprovider: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), dwprovider, ::core::mem::transmute(pprovguid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppidentityprovider)).ok() @@ -597,7 +597,7 @@ impl IIdentityStore { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn EnumerateIdentities(&self, eidentitytype: IDENTITY_TYPE, pfilterkey: ::core::option::Option<*const super::super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY>, pfilterpropvarvalue: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateIdentities)(::windows_core::Interface::as_raw(self), eidentitytype, ::core::mem::transmute(pfilterkey.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pfilterpropvarvalue.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateIdentities)(::windows_core::Interface::as_raw(self), eidentitytype, ::core::mem::transmute(pfilterkey.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pfilterpropvarvalue.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/mod.rs index c0a5e8f4d4..2a9349bd3b 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Authentication/Identity/mod.rs @@ -337,7 +337,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn ImportSecurityContextA(pszpackage : ::windows_core::PCSTR, ppackedcontext : *const SecBuffer, token : *const ::core::ffi::c_void, phcontext : *mut super::super::Credentials:: SecHandle) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ImportSecurityContextA(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).from_abi(result__) + ImportSecurityContextA(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Credentials")] #[inline] @@ -347,7 +347,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn ImportSecurityContextW(pszpackage : ::windows_core::PCWSTR, ppackedcontext : *const SecBuffer, token : *const ::core::ffi::c_void, phcontext : *mut super::super::Credentials:: SecHandle) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ImportSecurityContextW(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).from_abi(result__) + ImportSecurityContextW(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Credentials")] #[inline] @@ -805,7 +805,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn QuerySecurityPackageInfoA(pszpackagename : ::windows_core::PCSTR, pppackageinfo : *mut *mut SecPkgInfoA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - QuerySecurityPackageInfoA(pszpackagename.into_param().abi(), &mut result__).from_abi(result__) + QuerySecurityPackageInfoA(pszpackagename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn QuerySecurityPackageInfoW(pszpackagename: P0) -> ::windows_core::Result<*mut SecPkgInfoW> @@ -814,7 +814,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn QuerySecurityPackageInfoW(pszpackagename : ::windows_core::PCWSTR, pppackageinfo : *mut *mut SecPkgInfoW) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - QuerySecurityPackageInfoW(pszpackagename.into_param().abi(), &mut result__).from_abi(result__) + QuerySecurityPackageInfoW(pszpackagename.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Credentials")] #[inline] @@ -898,13 +898,13 @@ where pub unsafe fn SLGenerateOfflineInstallationId(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("slc.dll" "system" fn SLGenerateOfflineInstallationId(hslc : *const ::core::ffi::c_void, pproductskuid : *const ::windows_core::GUID, ppwszinstallationid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGenerateOfflineInstallationId(hslc, pproductskuid, &mut result__).from_abi(result__) + SLGenerateOfflineInstallationId(hslc, pproductskuid, &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGenerateOfflineInstallationIdEx(hslc: *const ::core::ffi::c_void, pproductskuid: ::core::option::Option<*const ::windows_core::GUID>, pactivationinfo: ::core::option::Option<*const SL_ACTIVATION_INFO_HEADER>) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("slc.dll" "system" fn SLGenerateOfflineInstallationIdEx(hslc : *const ::core::ffi::c_void, pproductskuid : *const ::windows_core::GUID, pactivationinfo : *const SL_ACTIVATION_INFO_HEADER, ppwszinstallationid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGenerateOfflineInstallationIdEx(hslc, ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pactivationinfo.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + SLGenerateOfflineInstallationIdEx(hslc, ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pactivationinfo.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetApplicationInformation(hslc: *const ::core::ffi::c_void, papplicationid: *const ::windows_core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_core::Result<()> @@ -936,7 +936,7 @@ pub unsafe fn SLGetLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *co pub unsafe fn SLGetLicenseFileId(hslc: *const ::core::ffi::c_void, pblicenseblob: &[u8]) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("slc.dll" "system" fn SLGetLicenseFileId(hslc : *const ::core::ffi::c_void, cblicenseblob : u32, pblicenseblob : *const u8, plicensefileid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetLicenseFileId(hslc, pblicenseblob.len().try_into().unwrap(), ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).from_abi(result__) + SLGetLicenseFileId(hslc, pblicenseblob.len().try_into().unwrap(), ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetLicenseInformation(hslc: *const ::core::ffi::c_void, psllicenseid: *const ::windows_core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_core::Result<()> @@ -962,7 +962,7 @@ where { ::windows_targets::link!("slc.dll" "system" fn SLGetPKeyId(hslc : *const ::core::ffi::c_void, pwszpkeyalgorithm : ::windows_core::PCWSTR, pwszpkeystring : ::windows_core::PCWSTR, cbpkeyspecificdata : u32, pbpkeyspecificdata : *const u8, ppkeyid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetPKeyId(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + SLGetPKeyId(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetPKeyInformation(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows_core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_core::Result<()> @@ -987,7 +987,7 @@ where { ::windows_targets::link!("slc.dll" "system" fn SLGetPolicyInformationDWORD(hslc : *const ::core::ffi::c_void, pwszvaluename : ::windows_core::PCWSTR, pdwvalue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetPolicyInformationDWORD(hslc, pwszvaluename.into_param().abi(), &mut result__).from_abi(result__) + SLGetPolicyInformationDWORD(hslc, pwszvaluename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetProductSkuInformation(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_core::Result<()> @@ -1004,7 +1004,7 @@ where { ::windows_targets::link!("slcext.dll" "system" fn SLGetReferralInformation(hslc : *const ::core::ffi::c_void, ereferraltype : SLREFERRALTYPE, pskuorappid : *const ::windows_core::GUID, pwszvaluename : ::windows_core::PCWSTR, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetReferralInformation(hslc, ereferraltype, pskuorappid, pwszvaluename.into_param().abi(), &mut result__).from_abi(result__) + SLGetReferralInformation(hslc, ereferraltype, pskuorappid, pwszvaluename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetSLIDList(hslc: *const ::core::ffi::c_void, equeryidtype: SLIDTYPE, pqueryid: ::core::option::Option<*const ::windows_core::GUID>, ereturnidtype: SLIDTYPE, pnreturnids: *mut u32, ppreturnids: *mut *mut ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -1020,7 +1020,7 @@ where { ::windows_targets::link!("slcext.dll" "system" fn SLGetServerStatus(pwszserverurl : ::windows_core::PCWSTR, pwszacquisitiontype : ::windows_core::PCWSTR, pwszproxyserver : ::windows_core::PCWSTR, wproxyport : u16, phrstatus : *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetServerStatus(pwszserverurl.into_param().abi(), pwszacquisitiontype.into_param().abi(), pwszproxyserver.into_param().abi(), wproxyport, &mut result__).from_abi(result__) + SLGetServerStatus(pwszserverurl.into_param().abi(), pwszacquisitiontype.into_param().abi(), pwszproxyserver.into_param().abi(), wproxyport, &mut result__).map(|| result__) } #[inline] pub unsafe fn SLGetServiceInformation(hslc: *const ::core::ffi::c_void, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_core::Result<()> @@ -1045,13 +1045,13 @@ where { ::windows_targets::link!("slc.dll" "system" fn SLGetWindowsInformationDWORD(pwszvaluename : ::windows_core::PCWSTR, pdwvalue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLGetWindowsInformationDWORD(pwszvaluename.into_param().abi(), &mut result__).from_abi(result__) + SLGetWindowsInformationDWORD(pwszvaluename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLInstallLicense(hslc: *const ::core::ffi::c_void, pblicenseblob: &[u8]) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("slc.dll" "system" fn SLInstallLicense(hslc : *const ::core::ffi::c_void, cblicenseblob : u32, pblicenseblob : *const u8, plicensefileid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLInstallLicense(hslc, pblicenseblob.len().try_into().unwrap(), ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).from_abi(result__) + SLInstallLicense(hslc, pblicenseblob.len().try_into().unwrap(), ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLInstallProofOfPurchase(hslc: *const ::core::ffi::c_void, pwszpkeyalgorithm: P0, pwszpkeystring: P1, pbpkeyspecificdata: ::core::option::Option<&[u8]>) -> ::windows_core::Result<::windows_core::GUID> @@ -1061,7 +1061,7 @@ where { ::windows_targets::link!("slc.dll" "system" fn SLInstallProofOfPurchase(hslc : *const ::core::ffi::c_void, pwszpkeyalgorithm : ::windows_core::PCWSTR, pwszpkeystring : ::windows_core::PCWSTR, cbpkeyspecificdata : u32, pbpkeyspecificdata : *const u8, ppkeyid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SLInstallProofOfPurchase(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + SLInstallProofOfPurchase(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).map(|| result__) } #[inline] pub unsafe fn SLIsGenuineLocal(pappid: *const ::windows_core::GUID, pgenuinestate: *mut SL_GENUINE_STATE, puioptions: ::core::option::Option<*mut SL_NONGENUINE_UI_OPTIONS>) -> ::windows_core::Result<()> { @@ -1151,7 +1151,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn SaslGetProfilePackageA(profilename : ::windows_core::PCSTR, packageinfo : *mut *mut SecPkgInfoA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SaslGetProfilePackageA(profilename.into_param().abi(), &mut result__).from_abi(result__) + SaslGetProfilePackageA(profilename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SaslGetProfilePackageW(profilename: P0) -> ::windows_core::Result<*mut SecPkgInfoW> @@ -1160,19 +1160,19 @@ where { ::windows_targets::link!("secur32.dll" "system" fn SaslGetProfilePackageW(profilename : ::windows_core::PCWSTR, packageinfo : *mut *mut SecPkgInfoW) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SaslGetProfilePackageW(profilename.into_param().abi(), &mut result__).from_abi(result__) + SaslGetProfilePackageW(profilename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SaslIdentifyPackageA(pinput: *const SecBufferDesc) -> ::windows_core::Result<*mut SecPkgInfoA> { ::windows_targets::link!("secur32.dll" "system" fn SaslIdentifyPackageA(pinput : *const SecBufferDesc, packageinfo : *mut *mut SecPkgInfoA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SaslIdentifyPackageA(pinput, &mut result__).from_abi(result__) + SaslIdentifyPackageA(pinput, &mut result__).map(|| result__) } #[inline] pub unsafe fn SaslIdentifyPackageW(pinput: *const SecBufferDesc) -> ::windows_core::Result<*mut SecPkgInfoW> { ::windows_targets::link!("secur32.dll" "system" fn SaslIdentifyPackageW(pinput : *const SecBufferDesc, packageinfo : *mut *mut SecPkgInfoW) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SaslIdentifyPackageW(pinput, &mut result__).from_abi(result__) + SaslIdentifyPackageW(pinput, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Credentials")] #[inline] @@ -1267,7 +1267,7 @@ pub unsafe fn SslCrackCertificate(pbcertificate: *mut u8, cbcertificate: u32, dw pub unsafe fn SslDeserializeCertificateStore(serializedcertificatestore: super::super::Cryptography::CRYPT_INTEGER_BLOB) -> ::windows_core::Result<*mut super::super::Cryptography::CERT_CONTEXT> { ::windows_targets::link!("schannel.dll" "system" fn SslDeserializeCertificateStore(serializedcertificatestore : super::super::Cryptography:: CRYPT_INTEGER_BLOB, ppcertcontext : *mut *mut super::super::Cryptography:: CERT_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SslDeserializeCertificateStore(::core::mem::transmute(serializedcertificatestore), &mut result__).from_abi(result__) + SslDeserializeCertificateStore(::core::mem::transmute(serializedcertificatestore), &mut result__).map(|| result__) } #[inline] pub unsafe fn SslEmptyCacheA(psztargetname: P0, dwflags: u32) -> super::super::super::Foundation::BOOL @@ -1376,7 +1376,7 @@ where { ::windows_targets::link!("secur32.dll" "system" fn SspiGetTargetHostName(psztargetname : ::windows_core::PCWSTR, pszhostname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SspiGetTargetHostName(psztargetname.into_param().abi(), &mut result__).from_abi(result__) + SspiGetTargetHostName(psztargetname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SspiIsAuthIdentityEncrypted(encryptedauthdata: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN { @@ -1477,7 +1477,7 @@ where pub unsafe fn TokenBindingGenerateID(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, publickey: *const ::core::ffi::c_void, publickeysize: u32) -> ::windows_core::Result<*mut TOKENBINDING_RESULT_DATA> { ::windows_targets::link!("tokenbinding.dll" "system" fn TokenBindingGenerateID(keytype : TOKENBINDING_KEY_PARAMETERS_TYPE, publickey : *const ::core::ffi::c_void, publickeysize : u32, resultdata : *mut *mut TOKENBINDING_RESULT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TokenBindingGenerateID(keytype, publickey, publickeysize, &mut result__).from_abi(result__) + TokenBindingGenerateID(keytype, publickey, publickeysize, &mut result__).map(|| result__) } #[inline] pub unsafe fn TokenBindingGenerateIDForUri(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi: P0) -> ::windows_core::Result<*mut TOKENBINDING_RESULT_DATA> @@ -1486,7 +1486,7 @@ where { ::windows_targets::link!("tokenbinding.dll" "system" fn TokenBindingGenerateIDForUri(keytype : TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi : ::windows_core::PCWSTR, resultdata : *mut *mut TOKENBINDING_RESULT_DATA) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TokenBindingGenerateIDForUri(keytype, targeturi.into_param().abi(), &mut result__).from_abi(result__) + TokenBindingGenerateIDForUri(keytype, targeturi.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn TokenBindingGenerateMessage(tokenbindings: *const *const ::core::ffi::c_void, tokenbindingssize: *const u32, tokenbindingscount: u32, tokenbindingmessage: *mut *mut ::core::ffi::c_void, tokenbindingmessagesize: *mut u32) -> ::windows_core::Result<()> { @@ -1502,19 +1502,19 @@ pub unsafe fn TokenBindingGetHighestSupportedVersion(majorversion: *mut u8, mino pub unsafe fn TokenBindingGetKeyTypesClient() -> ::windows_core::Result<*mut TOKENBINDING_KEY_TYPES> { ::windows_targets::link!("tokenbinding.dll" "system" fn TokenBindingGetKeyTypesClient(keytypes : *mut *mut TOKENBINDING_KEY_TYPES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TokenBindingGetKeyTypesClient(&mut result__).from_abi(result__) + TokenBindingGetKeyTypesClient(&mut result__).map(|| result__) } #[inline] pub unsafe fn TokenBindingGetKeyTypesServer() -> ::windows_core::Result<*mut TOKENBINDING_KEY_TYPES> { ::windows_targets::link!("tokenbinding.dll" "system" fn TokenBindingGetKeyTypesServer(keytypes : *mut *mut TOKENBINDING_KEY_TYPES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TokenBindingGetKeyTypesServer(&mut result__).from_abi(result__) + TokenBindingGetKeyTypesServer(&mut result__).map(|| result__) } #[inline] pub unsafe fn TokenBindingVerifyMessage(tokenbindingmessage: *const ::core::ffi::c_void, tokenbindingmessagesize: u32, keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, tlsekm: *const ::core::ffi::c_void, tlsekmsize: u32) -> ::windows_core::Result<*mut TOKENBINDING_RESULT_LIST> { ::windows_targets::link!("tokenbinding.dll" "system" fn TokenBindingVerifyMessage(tokenbindingmessage : *const ::core::ffi::c_void, tokenbindingmessagesize : u32, keytype : TOKENBINDING_KEY_PARAMETERS_TYPE, tlsekm : *const ::core::ffi::c_void, tlsekmsize : u32, resultlist : *mut *mut TOKENBINDING_RESULT_LIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TokenBindingVerifyMessage(tokenbindingmessage, tokenbindingmessagesize, keytype, tlsekm, tlsekmsize, &mut result__).from_abi(result__) + TokenBindingVerifyMessage(tokenbindingmessage, tokenbindingmessagesize, keytype, tlsekm, tlsekmsize, &mut result__).map(|| result__) } #[inline] pub unsafe fn TranslateNameA(lpaccountname: P0, accountnameformat: EXTENDED_NAME_FORMAT, desirednameformat: EXTENDED_NAME_FORMAT, lptranslatedname: ::windows_core::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN @@ -1537,7 +1537,7 @@ where pub unsafe fn VerifySignature(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32) -> ::windows_core::Result { ::windows_targets::link!("secur32.dll" "system" fn VerifySignature(phcontext : *const super::super::Credentials:: SecHandle, pmessage : *const SecBufferDesc, messageseqno : u32, pfqop : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VerifySignature(phcontext, pmessage, messageseqno, &mut result__).from_abi(result__) + VerifySignature(phcontext, pmessage, messageseqno, &mut result__).map(|| result__) } ::windows_core::imp::com_interface!(ICcgDomainAuthCredentials, ICcgDomainAuthCredentials_Vtbl, 0x6ecda518_2010_4437_8bc3_46e752b7b172); ::windows_core::imp::interface_hierarchy!(ICcgDomainAuthCredentials, ::windows_core::IUnknown); diff --git a/crates/libs/windows/src/Windows/Win32/Security/Authorization/UI/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Authorization/UI/mod.rs index ec2f9f1611..a750d55b43 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Authorization/UI/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Authorization/UI/mod.rs @@ -154,7 +154,7 @@ impl ISecurityInformation2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupSids(&self, csids: u32, rgpsids: *const super::super::super::Foundation::PSID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupSids)(::windows_core::Interface::as_raw(self), csids, rgpsids, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupSids)(::windows_core::Interface::as_raw(self), csids, rgpsids, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -172,7 +172,7 @@ pub struct ISecurityInformation2_Vtbl { impl ISecurityInformation3 { pub unsafe fn GetFullResourceName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullResourceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullResourceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OpenElevatedEditor(&self, hwnd: P0, upage: SI_PAGE_TYPE) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Security/Authorization/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Authorization/mod.rs index 43edb243e6..608da4f25a 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Authorization/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Authorization/mod.rs @@ -710,7 +710,7 @@ where impl IAzApplication { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -720,7 +720,7 @@ impl IAzApplication { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -730,7 +730,7 @@ impl IAzApplication { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -740,7 +740,7 @@ impl IAzApplication { } pub unsafe fn AuthzInterfaceClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthzInterfaceClsid(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -750,7 +750,7 @@ impl IAzApplication { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -760,7 +760,7 @@ impl IAzApplication { } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -770,7 +770,7 @@ impl IAzApplication { } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -780,14 +780,14 @@ impl IAzApplication { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -798,11 +798,11 @@ impl IAzApplication { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -835,7 +835,7 @@ impl IAzApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Scopes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scopes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -844,7 +844,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -853,7 +853,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -865,7 +865,7 @@ impl IAzApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Operations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -874,7 +874,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -883,7 +883,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -895,7 +895,7 @@ impl IAzApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tasks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -904,7 +904,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -913,7 +913,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -925,7 +925,7 @@ impl IAzApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -934,7 +934,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -943,7 +943,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -955,7 +955,7 @@ impl IAzApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Roles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Roles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Roles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -964,7 +964,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -973,7 +973,7 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -988,7 +988,7 @@ impl IAzApplication { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPropertyItem(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1018,11 +1018,11 @@ impl IAzApplication { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1045,15 +1045,15 @@ impl IAzApplication { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1085,7 +1085,7 @@ impl IAzApplication { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1231,7 +1231,7 @@ pub struct IAzApplication_Vtbl { impl IAzApplication2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1241,7 +1241,7 @@ impl IAzApplication2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -1251,7 +1251,7 @@ impl IAzApplication2 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -1261,7 +1261,7 @@ impl IAzApplication2 { } pub unsafe fn AuthzInterfaceClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthzInterfaceClsid(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -1271,7 +1271,7 @@ impl IAzApplication2 { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -1281,7 +1281,7 @@ impl IAzApplication2 { } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -1291,7 +1291,7 @@ impl IAzApplication2 { } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -1301,14 +1301,14 @@ impl IAzApplication2 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1319,11 +1319,11 @@ impl IAzApplication2 { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1356,7 +1356,7 @@ impl IAzApplication2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Scopes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Scopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Scopes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -1365,7 +1365,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -1374,7 +1374,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1386,7 +1386,7 @@ impl IAzApplication2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Operations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -1395,7 +1395,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -1404,7 +1404,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1416,7 +1416,7 @@ impl IAzApplication2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tasks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -1425,7 +1425,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -1434,7 +1434,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1446,7 +1446,7 @@ impl IAzApplication2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -1455,7 +1455,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -1464,7 +1464,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1476,7 +1476,7 @@ impl IAzApplication2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Roles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -1485,7 +1485,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -1494,7 +1494,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1509,7 +1509,7 @@ impl IAzApplication2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPropertyItem(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1539,11 +1539,11 @@ impl IAzApplication2 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1566,15 +1566,15 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1606,7 +1606,7 @@ impl IAzApplication2 { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1628,7 +1628,7 @@ impl IAzApplication2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeClientContextFromToken2)(::windows_core::Interface::as_raw(self), ultokenhandlelowpart, ultokenhandlehighpart, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeClientContextFromToken2)(::windows_core::Interface::as_raw(self), ultokenhandlelowpart, ultokenhandlehighpart, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeClientContext2(&self, identifyingstring: P0, varreserved: P1) -> ::windows_core::Result @@ -1637,7 +1637,7 @@ impl IAzApplication2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializeClientContext2)(::windows_core::Interface::as_raw(self), identifyingstring.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializeClientContext2)(::windows_core::Interface::as_raw(self), identifyingstring.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1662,7 +1662,7 @@ pub struct IAzApplication2_Vtbl { impl IAzApplication3 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1672,7 +1672,7 @@ impl IAzApplication3 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -1682,7 +1682,7 @@ impl IAzApplication3 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -1692,7 +1692,7 @@ impl IAzApplication3 { } pub unsafe fn AuthzInterfaceClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AuthzInterfaceClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthzInterfaceClsid(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -1702,7 +1702,7 @@ impl IAzApplication3 { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -1712,7 +1712,7 @@ impl IAzApplication3 { } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -1722,7 +1722,7 @@ impl IAzApplication3 { } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -1732,14 +1732,14 @@ impl IAzApplication3 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1750,11 +1750,11 @@ impl IAzApplication3 { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1787,7 +1787,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Scopes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Scopes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Scopes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -1796,7 +1796,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result @@ -1805,7 +1805,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateScope)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteScope(&self, bstrscopename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1817,7 +1817,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Operations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -1826,7 +1826,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result @@ -1835,7 +1835,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateOperation)(::windows_core::Interface::as_raw(self), bstroperationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteOperation(&self, bstroperationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1847,7 +1847,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tasks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -1856,7 +1856,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -1865,7 +1865,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1877,7 +1877,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -1886,7 +1886,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -1895,7 +1895,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1907,7 +1907,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Roles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -1916,7 +1916,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -1925,7 +1925,7 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1940,7 +1940,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromToken)(::windows_core::Interface::as_raw(self), ulltokenhandle, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPropertyItem(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1970,11 +1970,11 @@ impl IAzApplication3 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromName)(::windows_core::Interface::as_raw(self), clientname.into_param().abi(), domainname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -1997,15 +1997,15 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InitializeClientContextFromStringSid)(::windows_core::Interface::as_raw(self), sidstring.into_param().abi(), loptions, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2037,7 +2037,7 @@ impl IAzApplication3 { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2059,7 +2059,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromToken2)(::windows_core::Interface::as_raw(self), ultokenhandlelowpart, ultokenhandlehighpart, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InitializeClientContextFromToken2)(::windows_core::Interface::as_raw(self), ultokenhandlelowpart, ultokenhandlehighpart, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeClientContext2(&self, identifyingstring: P0, varreserved: P1) -> ::windows_core::Result @@ -2068,14 +2068,14 @@ impl IAzApplication3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InitializeClientContext2)(::windows_core::Interface::as_raw(self), identifyingstring.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InitializeClientContext2)(::windows_core::Interface::as_raw(self), identifyingstring.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ScopeExists(&self, bstrscopename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScopeExists)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScopeExists)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenScope2(&self, bstrscopename: P0) -> ::windows_core::Result @@ -2083,7 +2083,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenScope2)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenScope2)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateScope2(&self, bstrscopename: P0) -> ::windows_core::Result @@ -2091,7 +2091,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScope2)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScope2)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteScope2(&self, bstrscopename: P0) -> ::windows_core::Result<()> where @@ -2102,7 +2102,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleDefinitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result @@ -2110,7 +2110,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result @@ -2118,7 +2118,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result<()> where @@ -2129,7 +2129,7 @@ impl IAzApplication3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleAssignments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result @@ -2137,7 +2137,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result @@ -2145,7 +2145,7 @@ impl IAzApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result<()> where @@ -2155,7 +2155,7 @@ impl IAzApplication3 { } pub unsafe fn BizRulesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRulesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRulesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBizRulesEnabled(&self, benabled: P0) -> ::windows_core::Result<()> where @@ -2216,7 +2216,7 @@ pub struct IAzApplication3_Vtbl { impl IAzApplicationGroup { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -2226,14 +2226,14 @@ impl IAzApplicationGroup { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn LdapQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LdapQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LdapQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLdapQuery(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -2243,23 +2243,23 @@ impl IAzApplicationGroup { } pub unsafe fn AppMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AppNonMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppNonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppNonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Members(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NonMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -2325,14 +2325,14 @@ impl IAzApplicationGroup { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2391,11 +2391,11 @@ impl IAzApplicationGroup { } pub unsafe fn MembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NonMembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NonMembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NonMembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2444,7 +2444,7 @@ pub struct IAzApplicationGroup_Vtbl { impl IAzApplicationGroup2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -2454,14 +2454,14 @@ impl IAzApplicationGroup2 { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetType)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn LdapQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LdapQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LdapQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLdapQuery(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -2471,23 +2471,23 @@ impl IAzApplicationGroup2 { } pub unsafe fn AppMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AppNonMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AppNonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AppNonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Members(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NonMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -2553,14 +2553,14 @@ impl IAzApplicationGroup2 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2619,15 +2619,15 @@ impl IAzApplicationGroup2 { } pub unsafe fn MembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NonMembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NonMembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NonMembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BizRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRule(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -2637,7 +2637,7 @@ impl IAzApplicationGroup2 { } pub unsafe fn BizRuleLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleLanguage(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -2647,7 +2647,7 @@ impl IAzApplicationGroup2 { } pub unsafe fn BizRuleImportedPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleImportedPath(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -2662,7 +2662,7 @@ impl IAzApplicationGroup2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2689,15 +2689,15 @@ pub struct IAzApplicationGroup2_Vtbl { impl IAzApplicationGroups { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2717,15 +2717,15 @@ pub struct IAzApplicationGroups_Vtbl { impl IAzApplications { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2745,7 +2745,7 @@ pub struct IAzApplications_Vtbl { impl IAzAuthorizationStore { pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -2755,7 +2755,7 @@ impl IAzAuthorizationStore { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -2765,28 +2765,28 @@ impl IAzAuthorizationStore { } pub unsafe fn DomainTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDomainTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDomainTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn ScriptEngineTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScriptEngineTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScriptEngineTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn MaxScriptEngines(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxScriptEngines(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxScriptEngines)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -2796,14 +2796,14 @@ impl IAzAuthorizationStore { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2828,11 +2828,11 @@ impl IAzAuthorizationStore { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2884,7 +2884,7 @@ impl IAzAuthorizationStore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Applications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Applications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Applications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -2893,7 +2893,7 @@ impl IAzAuthorizationStore { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -2902,7 +2902,7 @@ impl IAzAuthorizationStore { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2914,7 +2914,7 @@ impl IAzAuthorizationStore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -2923,7 +2923,7 @@ impl IAzAuthorizationStore { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -2932,7 +2932,7 @@ impl IAzAuthorizationStore { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2949,7 +2949,7 @@ impl IAzAuthorizationStore { } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -2967,11 +2967,11 @@ impl IAzAuthorizationStore { } pub unsafe fn TargetMachine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bapplystoresacl: P0) -> ::windows_core::Result<()> where @@ -2981,11 +2981,11 @@ impl IAzAuthorizationStore { } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3017,7 +3017,7 @@ impl IAzAuthorizationStore { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3123,7 +3123,7 @@ pub struct IAzAuthorizationStore_Vtbl { impl IAzAuthorizationStore2 { pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3133,7 +3133,7 @@ impl IAzAuthorizationStore2 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -3143,28 +3143,28 @@ impl IAzAuthorizationStore2 { } pub unsafe fn DomainTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDomainTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDomainTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn ScriptEngineTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScriptEngineTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScriptEngineTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn MaxScriptEngines(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxScriptEngines(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxScriptEngines)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -3174,14 +3174,14 @@ impl IAzAuthorizationStore2 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3206,11 +3206,11 @@ impl IAzAuthorizationStore2 { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3262,7 +3262,7 @@ impl IAzAuthorizationStore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Applications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Applications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Applications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3271,7 +3271,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3280,7 +3280,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3292,7 +3292,7 @@ impl IAzAuthorizationStore2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -3301,7 +3301,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -3310,7 +3310,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3327,7 +3327,7 @@ impl IAzAuthorizationStore2 { } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3345,11 +3345,11 @@ impl IAzAuthorizationStore2 { } pub unsafe fn TargetMachine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bapplystoresacl: P0) -> ::windows_core::Result<()> where @@ -3359,11 +3359,11 @@ impl IAzAuthorizationStore2 { } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3395,7 +3395,7 @@ impl IAzAuthorizationStore2 { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3424,7 +3424,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplication2(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3433,7 +3433,7 @@ impl IAzAuthorizationStore2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3458,7 +3458,7 @@ pub struct IAzAuthorizationStore2_Vtbl { impl IAzAuthorizationStore3 { pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -3468,7 +3468,7 @@ impl IAzAuthorizationStore3 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -3478,28 +3478,28 @@ impl IAzAuthorizationStore3 { } pub unsafe fn DomainTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DomainTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDomainTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetDomainTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn ScriptEngineTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ScriptEngineTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScriptEngineTimeout(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetScriptEngineTimeout)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn MaxScriptEngines(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MaxScriptEngines)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxScriptEngines(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMaxScriptEngines)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn GenerateAudits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GenerateAudits)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenerateAudits(&self, bprop: P0) -> ::windows_core::Result<()> where @@ -3509,14 +3509,14 @@ impl IAzAuthorizationStore3 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3541,11 +3541,11 @@ impl IAzAuthorizationStore3 { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3597,7 +3597,7 @@ impl IAzAuthorizationStore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Applications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Applications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Applications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3606,7 +3606,7 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3615,7 +3615,7 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateApplication)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplication(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3627,7 +3627,7 @@ impl IAzAuthorizationStore3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -3636,7 +3636,7 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -3645,7 +3645,7 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3662,7 +3662,7 @@ impl IAzAuthorizationStore3 { } pub unsafe fn DelegatedPolicyUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUser(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3680,11 +3680,11 @@ impl IAzAuthorizationStore3 { } pub unsafe fn TargetMachine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TargetMachine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplyStoreSacl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ApplyStoreSacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplyStoreSacl(&self, bapplystoresacl: P0) -> ::windows_core::Result<()> where @@ -3694,11 +3694,11 @@ impl IAzAuthorizationStore3 { } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3730,7 +3730,7 @@ impl IAzAuthorizationStore3 { } pub unsafe fn DelegatedPolicyUsersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DelegatedPolicyUsersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDelegatedPolicyUserName(&self, bstrdelegatedpolicyuser: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -3759,7 +3759,7 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplication2(&self, bstrapplicationname: P0, varreserved: P1) -> ::windows_core::Result @@ -3768,22 +3768,22 @@ impl IAzAuthorizationStore3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateApplication2)(::windows_core::Interface::as_raw(self), bstrapplicationname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsUpdateNeeded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUpdateNeeded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUpdateNeeded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BizruleGroupSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizruleGroupSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizruleGroupSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpgradeStoresFunctionalLevel(&self, lfunctionallevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpgradeStoresFunctionalLevel)(::windows_core::Interface::as_raw(self), lfunctionallevel).ok() } pub unsafe fn IsFunctionalLevelUpgradeSupported(&self, lfunctionallevel: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFunctionalLevelUpgradeSupported)(::windows_core::Interface::as_raw(self), lfunctionallevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFunctionalLevelUpgradeSupported)(::windows_core::Interface::as_raw(self), lfunctionallevel, &mut result__).map(|| result__) } pub unsafe fn GetSchemaVersion(&self, plmajorversion: *mut i32, plminorversion: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSchemaVersion)(::windows_core::Interface::as_raw(self), plmajorversion, plminorversion).ok() @@ -3820,14 +3820,14 @@ impl IAzBizRuleContext { } pub unsafe fn BusinessRuleString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParameter(&self, bstrparametername: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), bstrparametername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), bstrparametername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3878,7 +3878,7 @@ impl IAzBizRuleInterfaces { } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3918,7 +3918,7 @@ impl IAzBizRuleParameters { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameterValue)(::windows_core::Interface::as_raw(self), bstrparametername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameterValue)(::windows_core::Interface::as_raw(self), bstrparametername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, varparametername: P0) -> ::windows_core::Result<()> where @@ -3931,7 +3931,7 @@ impl IAzBizRuleParameters { } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3964,57 +3964,57 @@ impl IAzClientContext { P7: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBusinessRuleString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserDn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserDn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDisplay(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserCanonical(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserUpn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDnsSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRoles(&self, bstrscopename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoleForAccessCheck(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRoleForAccessCheck(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -4060,57 +4060,57 @@ impl IAzClientContext2 { P7: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBusinessRuleString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserDn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserDn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDisplay(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserCanonical(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserUpn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDnsSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRoles(&self, bstrscopename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoleForAccessCheck(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRoleForAccessCheck(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -4148,7 +4148,7 @@ impl IAzClientContext2 { } pub unsafe fn LDAPQueryDN(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LDAPQueryDN)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LDAPQueryDN)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4181,57 +4181,57 @@ impl IAzClientContext3 { P7: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AccessCheck)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), varscopenames.into_param().abi(), varoperations.into_param().abi(), varparameternames.into_param().abi(), varparametervalues.into_param().abi(), varinterfacenames.into_param().abi(), varinterfaceflags.into_param().abi(), varinterfaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBusinessRuleString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBusinessRuleString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserDn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserDn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDisplay(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserDisplay)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserCanonical(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserCanonical)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserUpn(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserUpn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserDnsSamCompat(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserDnsSamCompat)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRoles(&self, bstrscopename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRoles)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RoleForAccessCheck(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RoleForAccessCheck)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRoleForAccessCheck(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -4269,7 +4269,7 @@ impl IAzClientContext3 { } pub unsafe fn LDAPQueryDN(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LDAPQueryDN)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LDAPQueryDN)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AccessCheck2(&self, bstrobjectname: P0, bstrscopename: P1, loperation: i32) -> ::windows_core::Result where @@ -4277,7 +4277,7 @@ impl IAzClientContext3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccessCheck2)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), bstrscopename.into_param().abi(), loperation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccessCheck2)(::windows_core::Interface::as_raw(self), bstrobjectname.into_param().abi(), bstrscopename.into_param().abi(), loperation, &mut result__).map(|| result__) } pub unsafe fn IsInRoleAssignment(&self, bstrscopename: P0, bstrrolename: P1) -> ::windows_core::Result where @@ -4285,7 +4285,7 @@ impl IAzClientContext3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInRoleAssignment)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), bstrrolename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInRoleAssignment)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), bstrrolename.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetOperations(&self, bstrscopename: P0) -> ::windows_core::Result @@ -4293,7 +4293,7 @@ impl IAzClientContext3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOperations)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOperations)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTasks(&self, bstrscopename: P0) -> ::windows_core::Result @@ -4301,28 +4301,28 @@ impl IAzClientContext3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTasks)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTasks)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BizRuleParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BizRuleInterfaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGroups(&self, bstrscopename: P0, uloptions: AZ_PROP_CONSTANTS) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroups)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), uloptions.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroups)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), uloptions.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Sids(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4393,7 +4393,7 @@ impl IAzObjectPicker { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4412,7 +4412,7 @@ pub struct IAzObjectPicker_Vtbl { impl IAzOperation { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4422,7 +4422,7 @@ impl IAzOperation { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4432,7 +4432,7 @@ impl IAzOperation { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -4442,21 +4442,21 @@ impl IAzOperation { } pub unsafe fn OperationID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OperationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OperationID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOperationID(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOperationID)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4498,7 +4498,7 @@ pub struct IAzOperation_Vtbl { impl IAzOperation2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4508,7 +4508,7 @@ impl IAzOperation2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4518,7 +4518,7 @@ impl IAzOperation2 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -4528,21 +4528,21 @@ impl IAzOperation2 { } pub unsafe fn OperationID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OperationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OperationID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOperationID(&self, lprop: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOperationID)(::windows_core::Interface::as_raw(self), lprop).ok() } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4564,7 +4564,7 @@ impl IAzOperation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4585,15 +4585,15 @@ pub struct IAzOperation2_Vtbl { impl IAzOperations { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4614,12 +4614,12 @@ impl IAzPrincipalLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameResolver(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameResolver)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameResolver)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectPicker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectPicker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectPicker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4644,7 +4644,7 @@ pub struct IAzPrincipalLocator_Vtbl { impl IAzRole { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4654,7 +4654,7 @@ impl IAzRole { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4664,7 +4664,7 @@ impl IAzRole { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -4730,14 +4730,14 @@ impl IAzRole { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4748,19 +4748,19 @@ impl IAzRole { } pub unsafe fn AppMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Members(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Operations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Tasks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPropertyItem(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4798,7 +4798,7 @@ impl IAzRole { } pub unsafe fn MembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4842,7 +4842,7 @@ pub struct IAzRole_Vtbl { impl IAzRoleAssignment { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -4852,7 +4852,7 @@ impl IAzRoleAssignment { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -4862,7 +4862,7 @@ impl IAzRoleAssignment { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -4928,14 +4928,14 @@ impl IAzRoleAssignment { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4946,19 +4946,19 @@ impl IAzRoleAssignment { } pub unsafe fn AppMembers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AppMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Members(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Operations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Tasks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPropertyItem(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -4996,7 +4996,7 @@ impl IAzRoleAssignment { } pub unsafe fn MembersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MembersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MembersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddRoleDefinition(&self, bstrroledefinition: P0) -> ::windows_core::Result<()> where @@ -5013,12 +5013,12 @@ impl IAzRoleAssignment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleDefinitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5045,15 +5045,15 @@ pub struct IAzRoleAssignment_Vtbl { impl IAzRoleAssignments { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5073,7 +5073,7 @@ pub struct IAzRoleAssignments_Vtbl { impl IAzRoleDefinition { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -5083,7 +5083,7 @@ impl IAzRoleDefinition { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -5093,7 +5093,7 @@ impl IAzRoleDefinition { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -5103,7 +5103,7 @@ impl IAzRoleDefinition { } pub unsafe fn BizRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRule(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -5113,7 +5113,7 @@ impl IAzRoleDefinition { } pub unsafe fn BizRuleLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleLanguage(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -5123,7 +5123,7 @@ impl IAzRoleDefinition { } pub unsafe fn BizRuleImportedPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleImportedPath(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -5133,7 +5133,7 @@ impl IAzRoleDefinition { } pub unsafe fn IsRoleDefinition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRoleDefinition(&self, fprop: P0) -> ::windows_core::Result<()> where @@ -5143,11 +5143,11 @@ impl IAzRoleDefinition { } pub unsafe fn Operations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Tasks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddOperation(&self, bstrop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5179,14 +5179,14 @@ impl IAzRoleDefinition { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5222,7 +5222,7 @@ impl IAzRoleDefinition { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddRoleDefinition(&self, bstrroledefinition: P0) -> ::windows_core::Result<()> where @@ -5239,7 +5239,7 @@ impl IAzRoleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleDefinitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5266,15 +5266,15 @@ pub struct IAzRoleDefinition_Vtbl { impl IAzRoleDefinitions { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5294,15 +5294,15 @@ pub struct IAzRoleDefinitions_Vtbl { impl IAzRoles { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5322,7 +5322,7 @@ pub struct IAzRoles_Vtbl { impl IAzScope { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -5332,7 +5332,7 @@ impl IAzScope { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -5342,7 +5342,7 @@ impl IAzScope { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -5352,14 +5352,14 @@ impl IAzScope { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5384,11 +5384,11 @@ impl IAzScope { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5421,7 +5421,7 @@ impl IAzScope { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -5430,7 +5430,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -5439,7 +5439,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5451,7 +5451,7 @@ impl IAzScope { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Roles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Roles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Roles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -5460,7 +5460,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -5469,7 +5469,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5481,7 +5481,7 @@ impl IAzScope { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tasks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -5490,7 +5490,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -5499,7 +5499,7 @@ impl IAzScope { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5516,19 +5516,19 @@ impl IAzScope { } pub unsafe fn CanBeDelegated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanBeDelegated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanBeDelegated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BizrulesWritable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizrulesWritable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizrulesWritable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5638,7 +5638,7 @@ pub struct IAzScope_Vtbl { impl IAzScope2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -5648,7 +5648,7 @@ impl IAzScope2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -5658,7 +5658,7 @@ impl IAzScope2 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -5668,14 +5668,14 @@ impl IAzScope2 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5700,11 +5700,11 @@ impl IAzScope2 { } pub unsafe fn PolicyAdministrators(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministrators)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministrator(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5737,7 +5737,7 @@ impl IAzScope2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -5746,7 +5746,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result @@ -5755,7 +5755,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateApplicationGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteApplicationGroup(&self, bstrgroupname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5767,7 +5767,7 @@ impl IAzScope2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Roles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Roles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -5776,7 +5776,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result @@ -5785,7 +5785,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRole)(::windows_core::Interface::as_raw(self), bstrrolename.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRole(&self, bstrrolename: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5797,7 +5797,7 @@ impl IAzScope2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tasks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -5806,7 +5806,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result @@ -5815,7 +5815,7 @@ impl IAzScope2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTask)(::windows_core::Interface::as_raw(self), bstrtaskname.into_param().abi(), varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, bstrtaskname: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5832,19 +5832,19 @@ impl IAzScope2 { } pub unsafe fn CanBeDelegated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanBeDelegated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanBeDelegated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BizrulesWritable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizrulesWritable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizrulesWritable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PolicyAdministratorsName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyAdministratorsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolicyReadersName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyReadersName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPolicyAdministratorName(&self, bstradmin: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -5877,7 +5877,7 @@ impl IAzScope2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleDefinitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result @@ -5885,7 +5885,7 @@ impl IAzScope2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result @@ -5893,7 +5893,7 @@ impl IAzScope2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRoleDefinition)(::windows_core::Interface::as_raw(self), bstrroledefinitionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRoleDefinition(&self, bstrroledefinitionname: P0) -> ::windows_core::Result<()> where @@ -5904,7 +5904,7 @@ impl IAzScope2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RoleAssignments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result @@ -5912,7 +5912,7 @@ impl IAzScope2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result @@ -5920,7 +5920,7 @@ impl IAzScope2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenRoleAssignment)(::windows_core::Interface::as_raw(self), bstrroleassignmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRoleAssignment(&self, bstrroleassignmentname: P0) -> ::windows_core::Result<()> where @@ -5969,15 +5969,15 @@ pub struct IAzScope2_Vtbl { impl IAzScopes { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5997,7 +5997,7 @@ pub struct IAzScopes_Vtbl { impl IAzTask { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -6007,7 +6007,7 @@ impl IAzTask { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -6017,7 +6017,7 @@ impl IAzTask { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -6027,7 +6027,7 @@ impl IAzTask { } pub unsafe fn BizRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRule(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6037,7 +6037,7 @@ impl IAzTask { } pub unsafe fn BizRuleLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleLanguage(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6047,7 +6047,7 @@ impl IAzTask { } pub unsafe fn BizRuleImportedPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleImportedPath(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6057,7 +6057,7 @@ impl IAzTask { } pub unsafe fn IsRoleDefinition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRoleDefinition(&self, fprop: P0) -> ::windows_core::Result<()> where @@ -6067,11 +6067,11 @@ impl IAzTask { } pub unsafe fn Operations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Tasks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddOperation(&self, bstrop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -6103,14 +6103,14 @@ impl IAzTask { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -6180,7 +6180,7 @@ pub struct IAzTask_Vtbl { impl IAzTask2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -6190,7 +6190,7 @@ impl IAzTask2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -6200,7 +6200,7 @@ impl IAzTask2 { } pub unsafe fn ApplicationData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetApplicationData(&self, bstrapplicationdata: P0) -> ::windows_core::Result<()> where @@ -6210,7 +6210,7 @@ impl IAzTask2 { } pub unsafe fn BizRule(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRule(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6220,7 +6220,7 @@ impl IAzTask2 { } pub unsafe fn BizRuleLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRuleLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleLanguage(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6230,7 +6230,7 @@ impl IAzTask2 { } pub unsafe fn BizRuleImportedPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BizRuleImportedPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBizRuleImportedPath(&self, bstrprop: P0) -> ::windows_core::Result<()> where @@ -6240,7 +6240,7 @@ impl IAzTask2 { } pub unsafe fn IsRoleDefinition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRoleDefinition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRoleDefinition(&self, fprop: P0) -> ::windows_core::Result<()> where @@ -6250,11 +6250,11 @@ impl IAzTask2 { } pub unsafe fn Operations(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Operations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Tasks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tasks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddOperation(&self, bstrop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -6286,14 +6286,14 @@ impl IAzTask2 { } pub unsafe fn Writable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Writable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, lpropid: i32, varreserved: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), lpropid, varreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, lpropid: i32, varprop: P0, varreserved: P1) -> ::windows_core::Result<()> where @@ -6329,7 +6329,7 @@ impl IAzTask2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RoleAssignments)(::windows_core::Interface::as_raw(self), bstrscopename.into_param().abi(), brecursive.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6350,15 +6350,15 @@ pub struct IAzTask2_Vtbl { impl IAzTasks { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Security/Credentials/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Credentials/mod.rs index cddc1b36c2..c5485b3e9b 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Credentials/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Credentials/mod.rs @@ -372,7 +372,7 @@ pub unsafe fn KeyCredentialManagerFreeInformation(keycredentialmanagerinfo: *con pub unsafe fn KeyCredentialManagerGetInformation() -> ::windows_core::Result<*mut KeyCredentialManagerInfo> { ::windows_targets::link!("keycredmgr.dll" "system" fn KeyCredentialManagerGetInformation(keycredentialmanagerinfo : *mut *mut KeyCredentialManagerInfo) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - KeyCredentialManagerGetInformation(&mut result__).from_abi(result__) + KeyCredentialManagerGetInformation(&mut result__).map(|| result__) } #[inline] pub unsafe fn KeyCredentialManagerGetOperationErrorStates(keycredentialmanageroperationtype: KeyCredentialManagerOperationType, isready: *mut super::super::Foundation::BOOL, keycredentialmanageroperationerrorstates: *mut KeyCredentialManagerOperationErrorStates) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/Security/Cryptography/Certificates/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Cryptography/Certificates/mod.rs index 9693086097..0bdf44a9f8 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Cryptography/Certificates/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Cryptography/Certificates/mod.rs @@ -192,20 +192,20 @@ impl IAlternativeName { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StrValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -236,15 +236,15 @@ impl IAlternativeNames { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -289,18 +289,18 @@ impl IBinaryConverter { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StringToString)(::windows_core::Interface::as_raw(self), strencodedin.into_param().abi(), encodingin, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StringToString)(::windows_core::Interface::as_raw(self), strencodedin.into_param().abi(), encodingin, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantByteArrayToString(&self, pvarbytearray: *const ::windows_core::VARIANT, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VariantByteArrayToString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarbytearray), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VariantByteArrayToString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarbytearray), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StringToVariantByteArray(&self, strencoded: P0, encoding: EncodingType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StringToVariantByteArray)(::windows_core::Interface::as_raw(self), strencoded.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StringToVariantByteArray)(::windows_core::Interface::as_raw(self), strencoded.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -323,26 +323,26 @@ impl IBinaryConverter2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StringToString)(::windows_core::Interface::as_raw(self), strencodedin.into_param().abi(), encodingin, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StringToString)(::windows_core::Interface::as_raw(self), strencodedin.into_param().abi(), encodingin, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantByteArrayToString(&self, pvarbytearray: *const ::windows_core::VARIANT, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VariantByteArrayToString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarbytearray), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VariantByteArrayToString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarbytearray), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StringToVariantByteArray(&self, strencoded: P0, encoding: EncodingType) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StringToVariantByteArray)(::windows_core::Interface::as_raw(self), strencoded.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StringToVariantByteArray)(::windows_core::Interface::as_raw(self), strencoded.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StringArrayToVariantArray(&self, pvarstringarray: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StringArrayToVariantArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarstringarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StringArrayToVariantArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarstringarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantArrayToStringArray(&self, pvarvariantarray: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VariantArrayToStringArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarvariantarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VariantArrayToStringArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarvariantarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -379,7 +379,7 @@ impl ICEnroll { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn acceptPKCS7(&self, pkcs7: P0) -> ::windows_core::Result<()> where @@ -392,15 +392,15 @@ impl ICEnroll { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumContainers(&self, dwindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn freeRequestInfo(&self, pkcs7orpkcs10: P0) -> ::windows_core::Result<()> where @@ -410,7 +410,7 @@ impl ICEnroll { } pub unsafe fn MyStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -420,7 +420,7 @@ impl ICEnroll { } pub unsafe fn MyStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -430,14 +430,14 @@ impl ICEnroll { } pub unsafe fn MyStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMyStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn CAStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -447,7 +447,7 @@ impl ICEnroll { } pub unsafe fn CAStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -457,14 +457,14 @@ impl ICEnroll { } pub unsafe fn CAStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCAStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RootStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -474,7 +474,7 @@ impl ICEnroll { } pub unsafe fn RootStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -484,14 +484,14 @@ impl ICEnroll { } pub unsafe fn RootStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRootStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RequestStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -501,7 +501,7 @@ impl ICEnroll { } pub unsafe fn RequestStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -511,14 +511,14 @@ impl ICEnroll { } pub unsafe fn RequestStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRequestStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, bstrcontainer: P0) -> ::windows_core::Result<()> where @@ -528,7 +528,7 @@ impl ICEnroll { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, bstrprovider: P0) -> ::windows_core::Result<()> where @@ -538,28 +538,28 @@ impl ICEnroll { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProviderType)(::windows_core::Interface::as_raw(self), dwtype).ok() } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeySpec)(::windows_core::Interface::as_raw(self), dw).ok() } pub unsafe fn ProviderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProviderFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn UseExistingKeySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseExistingKeySet(&self, fuseexistingkeys: P0) -> ::windows_core::Result<()> where @@ -569,14 +569,14 @@ impl ICEnroll { } pub unsafe fn GenKeyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGenKeyFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn DeleteRequestCert(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeleteRequestCert(&self, fdelete: P0) -> ::windows_core::Result<()> where @@ -586,7 +586,7 @@ impl ICEnroll { } pub unsafe fn WriteCertToCSP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToCSP(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -596,7 +596,7 @@ impl ICEnroll { } pub unsafe fn SPCFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSPCFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -606,7 +606,7 @@ impl ICEnroll { } pub unsafe fn PVKFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPVKFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -616,7 +616,7 @@ impl ICEnroll { } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -713,7 +713,7 @@ impl ICEnroll2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn acceptPKCS7(&self, pkcs7: P0) -> ::windows_core::Result<()> where @@ -726,15 +726,15 @@ impl ICEnroll2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumContainers(&self, dwindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn freeRequestInfo(&self, pkcs7orpkcs10: P0) -> ::windows_core::Result<()> where @@ -744,7 +744,7 @@ impl ICEnroll2 { } pub unsafe fn MyStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -754,7 +754,7 @@ impl ICEnroll2 { } pub unsafe fn MyStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -764,14 +764,14 @@ impl ICEnroll2 { } pub unsafe fn MyStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMyStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn CAStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -781,7 +781,7 @@ impl ICEnroll2 { } pub unsafe fn CAStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -791,14 +791,14 @@ impl ICEnroll2 { } pub unsafe fn CAStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCAStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RootStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -808,7 +808,7 @@ impl ICEnroll2 { } pub unsafe fn RootStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -818,14 +818,14 @@ impl ICEnroll2 { } pub unsafe fn RootStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRootStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RequestStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -835,7 +835,7 @@ impl ICEnroll2 { } pub unsafe fn RequestStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -845,14 +845,14 @@ impl ICEnroll2 { } pub unsafe fn RequestStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRequestStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, bstrcontainer: P0) -> ::windows_core::Result<()> where @@ -862,7 +862,7 @@ impl ICEnroll2 { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, bstrprovider: P0) -> ::windows_core::Result<()> where @@ -872,28 +872,28 @@ impl ICEnroll2 { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProviderType)(::windows_core::Interface::as_raw(self), dwtype).ok() } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeySpec)(::windows_core::Interface::as_raw(self), dw).ok() } pub unsafe fn ProviderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProviderFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn UseExistingKeySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseExistingKeySet(&self, fuseexistingkeys: P0) -> ::windows_core::Result<()> where @@ -903,14 +903,14 @@ impl ICEnroll2 { } pub unsafe fn GenKeyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGenKeyFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn DeleteRequestCert(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeleteRequestCert(&self, fdelete: P0) -> ::windows_core::Result<()> where @@ -920,7 +920,7 @@ impl ICEnroll2 { } pub unsafe fn WriteCertToCSP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToCSP(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -930,7 +930,7 @@ impl ICEnroll2 { } pub unsafe fn SPCFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSPCFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -940,7 +940,7 @@ impl ICEnroll2 { } pub unsafe fn PVKFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPVKFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -950,7 +950,7 @@ impl ICEnroll2 { } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -973,7 +973,7 @@ impl ICEnroll2 { } pub unsafe fn WriteCertToUserDS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToUserDS(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -983,7 +983,7 @@ impl ICEnroll2 { } pub unsafe fn EnableT61DNEncoding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableT61DNEncoding(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1030,7 +1030,7 @@ impl ICEnroll3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn acceptPKCS7(&self, pkcs7: P0) -> ::windows_core::Result<()> where @@ -1043,15 +1043,15 @@ impl ICEnroll3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumContainers(&self, dwindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn freeRequestInfo(&self, pkcs7orpkcs10: P0) -> ::windows_core::Result<()> where @@ -1061,7 +1061,7 @@ impl ICEnroll3 { } pub unsafe fn MyStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1071,7 +1071,7 @@ impl ICEnroll3 { } pub unsafe fn MyStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1081,14 +1081,14 @@ impl ICEnroll3 { } pub unsafe fn MyStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetMyStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn CAStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1098,7 +1098,7 @@ impl ICEnroll3 { } pub unsafe fn CAStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1108,14 +1108,14 @@ impl ICEnroll3 { } pub unsafe fn CAStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCAStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RootStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1125,7 +1125,7 @@ impl ICEnroll3 { } pub unsafe fn RootStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1135,14 +1135,14 @@ impl ICEnroll3 { } pub unsafe fn RootStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetRootStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RequestStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1152,7 +1152,7 @@ impl ICEnroll3 { } pub unsafe fn RequestStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1162,14 +1162,14 @@ impl ICEnroll3 { } pub unsafe fn RequestStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetRequestStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, bstrcontainer: P0) -> ::windows_core::Result<()> where @@ -1179,7 +1179,7 @@ impl ICEnroll3 { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, bstrprovider: P0) -> ::windows_core::Result<()> where @@ -1189,28 +1189,28 @@ impl ICEnroll3 { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetProviderType)(::windows_core::Interface::as_raw(self), dwtype).ok() } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetKeySpec)(::windows_core::Interface::as_raw(self), dw).ok() } pub unsafe fn ProviderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetProviderFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn UseExistingKeySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseExistingKeySet(&self, fuseexistingkeys: P0) -> ::windows_core::Result<()> where @@ -1220,14 +1220,14 @@ impl ICEnroll3 { } pub unsafe fn GenKeyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetGenKeyFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn DeleteRequestCert(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeleteRequestCert(&self, fdelete: P0) -> ::windows_core::Result<()> where @@ -1237,7 +1237,7 @@ impl ICEnroll3 { } pub unsafe fn WriteCertToCSP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToCSP(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1247,7 +1247,7 @@ impl ICEnroll3 { } pub unsafe fn SPCFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSPCFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1257,7 +1257,7 @@ impl ICEnroll3 { } pub unsafe fn PVKFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPVKFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1267,7 +1267,7 @@ impl ICEnroll3 { } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1290,7 +1290,7 @@ impl ICEnroll3 { } pub unsafe fn WriteCertToUserDS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToUserDS(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1300,7 +1300,7 @@ impl ICEnroll3 { } pub unsafe fn EnableT61DNEncoding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableT61DNEncoding(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1319,7 +1319,7 @@ impl ICEnroll3 { } pub unsafe fn GetSupportedKeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedKeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedKeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyLen(&self, fmin: P0, fexchange: P1) -> ::windows_core::Result where @@ -1327,15 +1327,15 @@ impl ICEnroll3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyLen)(::windows_core::Interface::as_raw(self), fmin.into_param().abi(), fexchange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyLen)(::windows_core::Interface::as_raw(self), fmin.into_param().abi(), fexchange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnumAlgs(&self, dwindex: i32, algclass: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAlgs)(::windows_core::Interface::as_raw(self), dwindex, algclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAlgs)(::windows_core::Interface::as_raw(self), dwindex, algclass, &mut result__).map(|| result__) } pub unsafe fn GetAlgName(&self, algid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlgName)(::windows_core::Interface::as_raw(self), algid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlgName)(::windows_core::Interface::as_raw(self), algid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: P0) -> ::windows_core::Result<()> where @@ -1345,14 +1345,14 @@ impl ICEnroll3 { } pub unsafe fn ReuseHardwareKeyIfUnableToGenNew(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReuseHardwareKeyIfUnableToGenNew)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReuseHardwareKeyIfUnableToGenNew)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgID(&self, hashalgid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashAlgID)(::windows_core::Interface::as_raw(self), hashalgid).ok() } pub unsafe fn HashAlgID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: P0) -> ::windows_core::Result<()> where @@ -1362,7 +1362,7 @@ impl ICEnroll3 { } pub unsafe fn LimitExchangeKeyToEncipherment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LimitExchangeKeyToEncipherment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LimitExchangeKeyToEncipherment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: P0) -> ::windows_core::Result<()> where @@ -1372,7 +1372,7 @@ impl ICEnroll3 { } pub unsafe fn EnableSMIMECapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableSMIMECapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableSMIMECapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1421,7 +1421,7 @@ impl ICEnroll4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.createPKCS10)(::windows_core::Interface::as_raw(self), dnname.into_param().abi(), usage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn acceptPKCS7(&self, pkcs7: P0) -> ::windows_core::Result<()> where @@ -1434,15 +1434,15 @@ impl ICEnroll4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.getCertFromPKCS7)(::windows_core::Interface::as_raw(self), wszpkcs7.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.enumProviders)(::windows_core::Interface::as_raw(self), dwindex, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn enumContainers(&self, dwindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.enumContainers)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn freeRequestInfo(&self, pkcs7orpkcs10: P0) -> ::windows_core::Result<()> where @@ -1452,7 +1452,7 @@ impl ICEnroll4 { } pub unsafe fn MyStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1462,7 +1462,7 @@ impl ICEnroll4 { } pub unsafe fn MyStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMyStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1472,14 +1472,14 @@ impl ICEnroll4 { } pub unsafe fn MyStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MyStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetMyStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn CAStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1489,7 +1489,7 @@ impl ICEnroll4 { } pub unsafe fn CAStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1499,14 +1499,14 @@ impl ICEnroll4 { } pub unsafe fn CAStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CAStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetCAStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RootStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1516,7 +1516,7 @@ impl ICEnroll4 { } pub unsafe fn RootStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1526,14 +1526,14 @@ impl ICEnroll4 { } pub unsafe fn RootStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RootStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetRootStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn RequestStoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1543,7 +1543,7 @@ impl ICEnroll4 { } pub unsafe fn RequestStoreType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequestStoreType(&self, bstrtype: P0) -> ::windows_core::Result<()> where @@ -1553,14 +1553,14 @@ impl ICEnroll4 { } pub unsafe fn RequestStoreFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RequestStoreFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetRequestStoreFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, bstrcontainer: P0) -> ::windows_core::Result<()> where @@ -1570,7 +1570,7 @@ impl ICEnroll4 { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, bstrprovider: P0) -> ::windows_core::Result<()> where @@ -1580,28 +1580,28 @@ impl ICEnroll4 { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, dwtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetProviderType)(::windows_core::Interface::as_raw(self), dwtype).ok() } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, dw: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetKeySpec)(::windows_core::Interface::as_raw(self), dw).ok() } pub unsafe fn ProviderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ProviderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetProviderFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn UseExistingKeySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UseExistingKeySet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseExistingKeySet(&self, fuseexistingkeys: P0) -> ::windows_core::Result<()> where @@ -1611,14 +1611,14 @@ impl ICEnroll4 { } pub unsafe fn GenKeyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GenKeyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetGenKeyFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn DeleteRequestCert(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeleteRequestCert)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeleteRequestCert(&self, fdelete: P0) -> ::windows_core::Result<()> where @@ -1628,7 +1628,7 @@ impl ICEnroll4 { } pub unsafe fn WriteCertToCSP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.WriteCertToCSP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToCSP(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1638,7 +1638,7 @@ impl ICEnroll4 { } pub unsafe fn SPCFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SPCFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSPCFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1648,7 +1648,7 @@ impl ICEnroll4 { } pub unsafe fn PVKFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.PVKFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPVKFileName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1658,7 +1658,7 @@ impl ICEnroll4 { } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1681,7 +1681,7 @@ impl ICEnroll4 { } pub unsafe fn WriteCertToUserDS(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.WriteCertToUserDS)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWriteCertToUserDS(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1691,7 +1691,7 @@ impl ICEnroll4 { } pub unsafe fn EnableT61DNEncoding(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnableT61DNEncoding)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableT61DNEncoding(&self, fbool: P0) -> ::windows_core::Result<()> where @@ -1710,7 +1710,7 @@ impl ICEnroll4 { } pub unsafe fn GetSupportedKeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSupportedKeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSupportedKeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyLen(&self, fmin: P0, fexchange: P1) -> ::windows_core::Result where @@ -1718,15 +1718,15 @@ impl ICEnroll4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetKeyLen)(::windows_core::Interface::as_raw(self), fmin.into_param().abi(), fexchange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetKeyLen)(::windows_core::Interface::as_raw(self), fmin.into_param().abi(), fexchange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnumAlgs(&self, dwindex: i32, algclass: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumAlgs)(::windows_core::Interface::as_raw(self), dwindex, algclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAlgs)(::windows_core::Interface::as_raw(self), dwindex, algclass, &mut result__).map(|| result__) } pub unsafe fn GetAlgName(&self, algid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAlgName)(::windows_core::Interface::as_raw(self), algid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAlgName)(::windows_core::Interface::as_raw(self), algid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: P0) -> ::windows_core::Result<()> where @@ -1736,14 +1736,14 @@ impl ICEnroll4 { } pub unsafe fn ReuseHardwareKeyIfUnableToGenNew(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReuseHardwareKeyIfUnableToGenNew)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReuseHardwareKeyIfUnableToGenNew)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgID(&self, hashalgid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHashAlgID)(::windows_core::Interface::as_raw(self), hashalgid).ok() } pub unsafe fn HashAlgID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HashAlgID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HashAlgID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: P0) -> ::windows_core::Result<()> where @@ -1753,7 +1753,7 @@ impl ICEnroll4 { } pub unsafe fn LimitExchangeKeyToEncipherment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LimitExchangeKeyToEncipherment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LimitExchangeKeyToEncipherment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: P0) -> ::windows_core::Result<()> where @@ -1763,7 +1763,7 @@ impl ICEnroll4 { } pub unsafe fn EnableSMIMECapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnableSMIMECapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnableSMIMECapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivateKeyArchiveCertificate(&self, bstrcert: P0) -> ::windows_core::Result<()> where @@ -1773,7 +1773,7 @@ impl ICEnroll4 { } pub unsafe fn PrivateKeyArchiveCertificate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateKeyArchiveCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateKeyArchiveCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbPrint(&self, bstrthumbprint: P0) -> ::windows_core::Result<()> where @@ -1783,21 +1783,21 @@ impl ICEnroll4 { } pub unsafe fn ThumbPrint(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ThumbPrint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ThumbPrint)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn binaryToString(&self, flags: i32, strbinary: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).binaryToString)(::windows_core::Interface::as_raw(self), flags, strbinary.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).binaryToString)(::windows_core::Interface::as_raw(self), flags, strbinary.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn stringToBinary(&self, flags: i32, strencoded: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).stringToBinary)(::windows_core::Interface::as_raw(self), flags, strencoded.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).stringToBinary)(::windows_core::Interface::as_raw(self), flags, strencoded.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn addExtensionToRequest(&self, flags: i32, strname: P0, strvalue: P1) -> ::windows_core::Result<()> where @@ -1832,7 +1832,7 @@ impl ICEnroll4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createRequest)(::windows_core::Interface::as_raw(self), flags, strdnname.into_param().abi(), usage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createRequest)(::windows_core::Interface::as_raw(self), flags, strdnname.into_param().abi(), usage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn createFileRequest(&self, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: P0, strusage: P1, strrequestfilename: P2) -> ::windows_core::Result<()> where @@ -1859,21 +1859,21 @@ impl ICEnroll4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getCertFromResponse)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getCertFromResponse)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getCertFromFileResponse(&self, strresponsefilename: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getCertFromFileResponse)(::windows_core::Interface::as_raw(self), strresponsefilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getCertFromFileResponse)(::windows_core::Interface::as_raw(self), strresponsefilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn createPFX(&self, strpassword: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).createPFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).createPFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn createFilePFX(&self, strpassword: P0, strpfxfilename: P1) -> ::windows_core::Result<()> where @@ -1892,7 +1892,7 @@ impl ICEnroll4 { } pub unsafe fn enumPendingRequest(&self, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).enumPendingRequest)(::windows_core::Interface::as_raw(self), lindex, ldesiredproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).enumPendingRequest)(::windows_core::Interface::as_raw(self), lindex, ldesiredproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn removePendingRequest(&self, strthumbprint: P0) -> ::windows_core::Result<()> where @@ -1902,14 +1902,14 @@ impl ICEnroll4 { } pub unsafe fn GetKeyLenEx(&self, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyLenEx)(::windows_core::Interface::as_raw(self), lsizespec, lkeyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyLenEx)(::windows_core::Interface::as_raw(self), lsizespec, lkeyspec, &mut result__).map(|| result__) } pub unsafe fn InstallPKCS7Ex(&self, pkcs7: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallPKCS7Ex)(::windows_core::Interface::as_raw(self), pkcs7.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallPKCS7Ex)(::windows_core::Interface::as_raw(self), pkcs7.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn addCertTypeToRequestEx(&self, ltype: ADDED_CERT_TYPE, bstroidorname: P0, lmajorversion: i32, fminorversion: P1, lminorversion: i32) -> ::windows_core::Result<()> where @@ -1923,7 +1923,7 @@ impl ICEnroll4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getProviderType)(::windows_core::Interface::as_raw(self), strprovname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getProviderType)(::windows_core::Interface::as_raw(self), strprovname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetSignerCertificate(&self, bstrcert: P0) -> ::windows_core::Result<()> where @@ -1936,7 +1936,7 @@ impl ICEnroll4 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn addBlobPropertyToCertificate(&self, lpropertyid: i32, lreserved: i32, bstrproperty: P0) -> ::windows_core::Result<()> where @@ -1955,7 +1955,7 @@ impl ICEnroll4 { } pub unsafe fn IncludeSubjectKeyID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludeSubjectKeyID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludeSubjectKeyID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2009,11 +2009,11 @@ impl ICertAdmin { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsValidCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsValidCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRevocationReason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RevokeCertificate(&self, strconfig: P0, strserialnumber: P1, reason: i32, date: f64) -> ::windows_core::Result<()> where @@ -2047,7 +2047,7 @@ impl ICertAdmin { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResubmitRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResubmitRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, &mut result__).map(|| result__) } pub unsafe fn PublishCRL(&self, strconfig: P0, date: f64) -> ::windows_core::Result<()> where @@ -2060,7 +2060,7 @@ impl ICertAdmin { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCRL)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCRL)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImportCertificate(&self, strconfig: P0, strcertificate: P1, flags: CERT_IMPORT_FLAGS) -> ::windows_core::Result where @@ -2068,7 +2068,7 @@ impl ICertAdmin { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strcertificate.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strcertificate.into_param().abi(), flags, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2099,11 +2099,11 @@ impl ICertAdmin2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsValidCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsValidCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRevocationReason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RevokeCertificate(&self, strconfig: P0, strserialnumber: P1, reason: i32, date: f64) -> ::windows_core::Result<()> where @@ -2137,7 +2137,7 @@ impl ICertAdmin2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ResubmitRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ResubmitRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, &mut result__).map(|| result__) } pub unsafe fn PublishCRL(&self, strconfig: P0, date: f64) -> ::windows_core::Result<()> where @@ -2150,7 +2150,7 @@ impl ICertAdmin2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCRL)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCRL)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImportCertificate(&self, strconfig: P0, strcertificate: P1, flags: CERT_IMPORT_FLAGS) -> ::windows_core::Result where @@ -2158,7 +2158,7 @@ impl ICertAdmin2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImportCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strcertificate.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImportCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strcertificate.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn PublishCRLs(&self, strconfig: P0, date: f64, crlflags: i32) -> ::windows_core::Result<()> where @@ -2171,7 +2171,7 @@ impl ICertAdmin2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAProperty(&self, strconfig: P0, propid: i32, propindex: i32, proptype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -2184,21 +2184,21 @@ impl ICertAdmin2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).map(|| result__) } pub unsafe fn GetCAPropertyDisplayName(&self, strconfig: P0, propid: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArchivedKey(&self, strconfig: P0, requestid: i32, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArchivedKey)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArchivedKey)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConfigEntry(&self, strconfig: P0, strnodepath: P1, strentryname: P2) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -2207,7 +2207,7 @@ impl ICertAdmin2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfigEntry)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strnodepath.into_param().abi(), strentryname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfigEntry)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strnodepath.into_param().abi(), strentryname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfigEntry(&self, strconfig: P0, strnodepath: P1, strentryname: P2, pvarentry: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -2230,14 +2230,14 @@ impl ICertAdmin2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMyRoles)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMyRoles)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DeleteRow(&self, strconfig: P0, flags: CERT_DELETE_ROW_FLAGS, date: f64, table: CVRC_TABLE, rowid: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeleteRow)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, date, table, rowid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeleteRow)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), flags, date, table, rowid, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2265,22 +2265,22 @@ pub struct ICertAdmin2_Vtbl { impl ICertConfig { pub unsafe fn Reset(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetField(&self, strfieldname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetField)(::windows_core::Interface::as_raw(self), strfieldname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetField)(::windows_core::Interface::as_raw(self), strfieldname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConfig(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2301,22 +2301,22 @@ pub struct ICertConfig_Vtbl { impl ICertConfig2 { pub unsafe fn Reset(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Next)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetField(&self, strfieldname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetField)(::windows_core::Interface::as_raw(self), strfieldname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetField)(::windows_core::Interface::as_raw(self), strfieldname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConfig(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSharedFolder(&self, strsharedfolder: P0) -> ::windows_core::Result<()> where @@ -2346,15 +2346,15 @@ impl ICertEncodeAltName { } pub unsafe fn GetNameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNameChoice(&self, nameindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameChoice)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameChoice)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).map(|| result__) } pub unsafe fn GetName(&self, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, namecount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), namecount).ok() @@ -2367,7 +2367,7 @@ impl ICertEncodeAltName { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2397,15 +2397,15 @@ impl ICertEncodeAltName2 { } pub unsafe fn GetNameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNameChoice(&self, nameindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNameChoice)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNameChoice)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).map(|| result__) } pub unsafe fn GetName(&self, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), nameindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, namecount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), namecount).ok() @@ -2418,7 +2418,7 @@ impl ICertEncodeAltName2 { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2428,11 +2428,11 @@ impl ICertEncodeAltName2 { } pub unsafe fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNameBlob(&self, nameindex: i32, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameBlob)(::windows_core::Interface::as_raw(self), nameindex, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameBlob)(::windows_core::Interface::as_raw(self), nameindex, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNameEntryBlob(&self, nameindex: i32, namechoice: i32, strname: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2465,18 +2465,18 @@ impl ICertEncodeBitString { } pub unsafe fn GetBitCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Encode(&self, bitcount: i32, strbitstring: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2503,18 +2503,18 @@ impl ICertEncodeBitString2 { } pub unsafe fn GetBitCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Encode(&self, bitcount: i32, strbitstring: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2527,11 +2527,11 @@ impl ICertEncodeBitString2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), encodingin, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), bitcount, strbitstring.into_param().abi(), encodingin, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBitStringBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitStringBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitStringBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2557,19 +2557,19 @@ impl ICertEncodeCRLDistInfo { } pub unsafe fn GetDistPointCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDistPointCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDistPointCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNameCount(&self, distpointindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), distpointindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), distpointindex, &mut result__).map(|| result__) } pub unsafe fn GetNameChoice(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameChoice)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameChoice)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).map(|| result__) } pub unsafe fn GetName(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, distpointcount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), distpointcount).ok() @@ -2585,7 +2585,7 @@ impl ICertEncodeCRLDistInfo { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2617,19 +2617,19 @@ impl ICertEncodeCRLDistInfo2 { } pub unsafe fn GetDistPointCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDistPointCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDistPointCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNameCount(&self, distpointindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNameCount)(::windows_core::Interface::as_raw(self), distpointindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNameCount)(::windows_core::Interface::as_raw(self), distpointindex, &mut result__).map(|| result__) } pub unsafe fn GetNameChoice(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNameChoice)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNameChoice)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).map(|| result__) } pub unsafe fn GetName(&self, distpointindex: i32, nameindex: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), distpointindex, nameindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, distpointcount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), distpointcount).ok() @@ -2645,7 +2645,7 @@ impl ICertEncodeCRLDistInfo2 { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2655,7 +2655,7 @@ impl ICertEncodeCRLDistInfo2 { } pub unsafe fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2680,11 +2680,11 @@ impl ICertEncodeDateArray { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Reset(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), count).ok() @@ -2694,7 +2694,7 @@ impl ICertEncodeDateArray { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2723,11 +2723,11 @@ impl ICertEncodeDateArray2 { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Reset(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), count).ok() @@ -2737,7 +2737,7 @@ impl ICertEncodeDateArray2 { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2747,7 +2747,7 @@ impl ICertEncodeDateArray2 { } pub unsafe fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2772,11 +2772,11 @@ impl ICertEncodeLongArray { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Reset(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), count).ok() @@ -2786,7 +2786,7 @@ impl ICertEncodeLongArray { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2815,11 +2815,11 @@ impl ICertEncodeLongArray2 { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn Reset(&self, count: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), count).ok() @@ -2829,7 +2829,7 @@ impl ICertEncodeLongArray2 { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2839,7 +2839,7 @@ impl ICertEncodeLongArray2 { } pub unsafe fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2864,15 +2864,15 @@ impl ICertEncodeStringArray { } pub unsafe fn GetStringType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), count, stringtype).ok() @@ -2885,7 +2885,7 @@ impl ICertEncodeStringArray { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2915,15 +2915,15 @@ impl ICertEncodeStringArray2 { } pub unsafe fn GetStringType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), count, stringtype).ok() @@ -2936,7 +2936,7 @@ impl ICertEncodeStringArray2 { } pub unsafe fn Encode(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Encode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DecodeBlob(&self, strencodeddata: P0, encoding: EncodingType) -> ::windows_core::Result<()> where @@ -2946,7 +2946,7 @@ impl ICertEncodeStringArray2 { } pub unsafe fn EncodeBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncodeBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2968,14 +2968,14 @@ impl ICertExit { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Notify(&self, exitevent: i32, context: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), exitevent, context).ok() } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2998,19 +2998,19 @@ impl ICertExit2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Initialize)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Initialize)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Notify(&self, exitevent: i32, context: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Notify)(::windows_core::Interface::as_raw(self), exitevent, context).ok() } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetManageModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManageModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManageModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3031,7 +3031,7 @@ pub struct ICertExit2_Vtbl { impl ICertGetConfig { pub unsafe fn GetConfig(&self, flags: CERT_GET_CONFIG_FLAGS) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfig)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3054,7 +3054,7 @@ impl ICertManageModule { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strstoragelocation.into_param().abi(), strpropertyname.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strstoragelocation.into_param().abi(), strpropertyname.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, strconfig: P0, strstoragelocation: P1, strpropertyname: P2, flags: i32, pvarproperty: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -3098,11 +3098,11 @@ impl ICertPolicy { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerifyRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), context, bnewrequest, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerifyRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), context, bnewrequest, flags, &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShutDown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShutDown)(::windows_core::Interface::as_raw(self)).ok() @@ -3135,11 +3135,11 @@ impl ICertPolicy2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VerifyRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), context, bnewrequest, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VerifyRequest)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), context, bnewrequest, flags, &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShutDown(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ShutDown)(::windows_core::Interface::as_raw(self)).ok() @@ -3147,7 +3147,7 @@ impl ICertPolicy2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetManageModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManageModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManageModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3169,15 +3169,15 @@ impl ICertProperties { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -3240,14 +3240,14 @@ impl ICertProperty { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3298,14 +3298,14 @@ impl ICertPropertyArchived { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3329,7 +3329,7 @@ impl ICertPropertyArchived { } pub unsafe fn Archived(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Archived)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Archived)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3361,14 +3361,14 @@ impl ICertPropertyArchivedKeyHash { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3392,7 +3392,7 @@ impl ICertPropertyArchivedKeyHash { } pub unsafe fn get_ArchivedKeyHash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ArchivedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ArchivedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3424,14 +3424,14 @@ impl ICertPropertyAutoEnroll { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3455,7 +3455,7 @@ impl ICertPropertyAutoEnroll { } pub unsafe fn TemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3487,14 +3487,14 @@ impl ICertPropertyBackedUp { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3524,11 +3524,11 @@ impl ICertPropertyBackedUp { } pub unsafe fn BackedUpValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackedUpValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackedUpValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BackedUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackedUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackedUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3562,14 +3562,14 @@ impl ICertPropertyDescription { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3593,7 +3593,7 @@ impl ICertPropertyDescription { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3625,14 +3625,14 @@ impl ICertPropertyEnrollment { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3658,19 +3658,19 @@ impl ICertPropertyEnrollment { } pub unsafe fn RequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CADnsName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CADnsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CADnsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CAName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3705,14 +3705,14 @@ impl ICertPropertyEnrollmentPolicyServer { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3739,35 +3739,35 @@ impl ICertPropertyEnrollmentPolicyServer { } pub unsafe fn GetPolicyServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicyServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicyServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPolicyServerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicyServerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicyServerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEnrollmentServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnrollmentServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnrollmentServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUrlFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUrlFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUrlFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAuthentication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnrollmentServerAuthentication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnrollmentServerAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnrollmentServerAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3806,14 +3806,14 @@ impl ICertPropertyFriendlyName { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3837,7 +3837,7 @@ impl ICertPropertyFriendlyName { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3869,14 +3869,14 @@ impl ICertPropertyKeyProvInfo { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3902,7 +3902,7 @@ impl ICertPropertyKeyProvInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3940,14 +3940,14 @@ impl ICertPropertyRenewal { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -3978,7 +3978,7 @@ impl ICertPropertyRenewal { } pub unsafe fn get_Renewal(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Renewal)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Renewal)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4011,14 +4011,14 @@ impl ICertPropertyRequestOriginator { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -4045,7 +4045,7 @@ impl ICertPropertyRequestOriginator { } pub unsafe fn RequestOriginator(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestOriginator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestOriginator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4078,14 +4078,14 @@ impl ICertPropertySHA1Hash { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPropertyId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveFromCertificate(&self, machinecontext: P0, encoding: EncodingType, strcertificate: P1) -> ::windows_core::Result<()> where @@ -4109,7 +4109,7 @@ impl ICertPropertySHA1Hash { } pub unsafe fn get_SHA1Hash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SHA1Hash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SHA1Hash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4133,37 +4133,37 @@ impl ICertRequest { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RetrievePending(&self, requestid: i32, strconfig: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetLastStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDispositionMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCACertificate(&self, fexchangecertificate: i32, strconfig: P0, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificate(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4192,37 +4192,37 @@ impl ICertRequest2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RetrievePending(&self, requestid: i32, strconfig: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetLastStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDispositionMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCACertificate(&self, fexchangecertificate: i32, strconfig: P0, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificate(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIssuedCertificate(&self, strconfig: P0, requestid: i32, strserialnumber: P1) -> ::windows_core::Result where @@ -4230,36 +4230,36 @@ impl ICertRequest2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIssuedCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, strserialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIssuedCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, strserialnumber.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetErrorMessageText(&self, hrmessage: i32, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorMessageText)(::windows_core::Interface::as_raw(self), hrmessage, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorMessageText)(::windows_core::Interface::as_raw(self), hrmessage, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAProperty(&self, strconfig: P0, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAPropertyFlags(&self, strconfig: P0, propid: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).map(|| result__) } pub unsafe fn GetCAPropertyDisplayName(&self, strconfig: P0, propid: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFullResponseProperty(&self, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullResponseProperty)(::windows_core::Interface::as_raw(self), propid, propindex, proptype, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullResponseProperty)(::windows_core::Interface::as_raw(self), propid, propindex, proptype, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4287,37 +4287,37 @@ impl ICertRequest3 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Submit)(::windows_core::Interface::as_raw(self), flags, strrequest.into_param().abi(), strattributes.into_param().abi(), strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RetrievePending(&self, requestid: i32, strconfig: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RetrievePending)(::windows_core::Interface::as_raw(self), requestid, strconfig.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetLastStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLastStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDispositionMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDispositionMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCACertificate(&self, fexchangecertificate: i32, strconfig: P0, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCACertificate)(::windows_core::Interface::as_raw(self), fexchangecertificate, strconfig.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificate(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCertificate)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIssuedCertificate(&self, strconfig: P0, requestid: i32, strserialnumber: P1) -> ::windows_core::Result where @@ -4325,36 +4325,36 @@ impl ICertRequest3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIssuedCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, strserialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIssuedCertificate)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), requestid, strserialnumber.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetErrorMessageText(&self, hrmessage: i32, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorMessageText)(::windows_core::Interface::as_raw(self), hrmessage, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorMessageText)(::windows_core::Interface::as_raw(self), hrmessage, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAProperty(&self, strconfig: P0, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCAProperty)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, propindex, proptype, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCAPropertyFlags(&self, strconfig: P0, propid: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCAPropertyFlags)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).map(|| result__) } pub unsafe fn GetCAPropertyDisplayName(&self, strconfig: P0, propid: i32) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCAPropertyDisplayName)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), propid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFullResponseProperty(&self, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFullResponseProperty)(::windows_core::Interface::as_raw(self), propid, propindex, proptype, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFullResponseProperty)(::windows_core::Interface::as_raw(self), propid, propindex, proptype, flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredential(&self, hwnd: i32, authtype: X509EnrollmentAuthFlags, strcredential: P0, strpassword: P1) -> ::windows_core::Result<()> where @@ -4365,7 +4365,7 @@ impl ICertRequest3 { } pub unsafe fn GetRequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIssuedCertificate2(&self, strconfig: P0, strrequestid: P1, strserialnumber: P2) -> ::windows_core::Result where @@ -4374,11 +4374,11 @@ impl ICertRequest3 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIssuedCertificate2)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strrequestid.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIssuedCertificate2)(::windows_core::Interface::as_raw(self), strconfig.into_param().abi(), strrequestid.into_param().abi(), strserialnumber.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRefreshPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRefreshPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRefreshPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4406,7 +4406,7 @@ impl ICertRequestD { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCACert)(::windows_core::Interface::as_raw(self), fchain, pwszauthority.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCACert)(::windows_core::Interface::as_raw(self), fchain, pwszauthority.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Ping(&self, pwszauthority: P0) -> ::windows_core::Result<()> where @@ -4438,7 +4438,7 @@ impl ICertRequestD2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCACert)(::windows_core::Interface::as_raw(self), fchain, pwszauthority.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCACert)(::windows_core::Interface::as_raw(self), fchain, pwszauthority.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Ping(&self, pwszauthority: P0) -> ::windows_core::Result<()> where @@ -4459,7 +4459,7 @@ impl ICertRequestD2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), pwszauthority.into_param().abi(), propid, propindex, proptype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAProperty)(::windows_core::Interface::as_raw(self), pwszauthority.into_param().abi(), propid, propindex, proptype, &mut result__).map(|| result__) } pub unsafe fn GetCAPropertyInfo(&self, pwszauthority: P0, pcproperty: *mut i32, pctbpropinfo: *mut CERTTRANSBLOB) -> ::windows_core::Result<()> where @@ -4497,39 +4497,39 @@ impl ICertServerExit { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRequestAttribute(&self, strattributename: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestAttribute)(::windows_core::Interface::as_raw(self), strattributename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestAttribute)(::windows_core::Interface::as_raw(self), strattributename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateProperty(&self, strpropertyname: P0, propertytype: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateExtension(&self, strextensionname: P0, r#type: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateExtension)(::windows_core::Interface::as_raw(self), strextensionname.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateExtension)(::windows_core::Interface::as_raw(self), strextensionname.into_param().abi(), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateExtensionFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateExtensionFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateExtensionFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerateExtensionsSetup(&self, flags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateExtensionsSetup)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn EnumerateExtensions(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateExtensionsClose(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateExtensionsClose)(::windows_core::Interface::as_raw(self)).ok() @@ -4539,7 +4539,7 @@ impl ICertServerExit { } pub unsafe fn EnumerateAttributes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAttributesClose(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateAttributesClose)(::windows_core::Interface::as_raw(self)).ok() @@ -4577,21 +4577,21 @@ impl ICertServerPolicy { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRequestAttribute(&self, strattributename: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestAttribute)(::windows_core::Interface::as_raw(self), strattributename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestAttribute)(::windows_core::Interface::as_raw(self), strattributename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateProperty(&self, strpropertyname: P0, propertytype: CERT_PROPERTY_TYPE) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateProperty)(::windows_core::Interface::as_raw(self), strpropertyname.into_param().abi(), propertytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateProperty(&self, strpropertyname: P0, propertytype: i32, pvarpropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -4604,11 +4604,11 @@ impl ICertServerPolicy { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateExtension)(::windows_core::Interface::as_raw(self), strextensionname.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateExtension)(::windows_core::Interface::as_raw(self), strextensionname.into_param().abi(), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateExtensionFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateExtensionFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateExtensionFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCertificateExtension(&self, strextensionname: P0, r#type: i32, extflags: i32, pvarvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -4621,7 +4621,7 @@ impl ICertServerPolicy { } pub unsafe fn EnumerateExtensions(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateExtensionsClose(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateExtensionsClose)(::windows_core::Interface::as_raw(self)).ok() @@ -4631,7 +4631,7 @@ impl ICertServerPolicy { } pub unsafe fn EnumerateAttributes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateAttributesClose(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateAttributesClose)(::windows_core::Interface::as_raw(self)).ok() @@ -4672,7 +4672,7 @@ impl ICertView { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCertViewColumn(&self, fresultcolumn: CVRC_COLUMN) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCertViewColumn)(::windows_core::Interface::as_raw(self), fresultcolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCertViewColumn)(::windows_core::Interface::as_raw(self), fresultcolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColumnCount(&self, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetColumnCount)(::windows_core::Interface::as_raw(self), fresultcolumn, pccolumn).ok() @@ -4695,7 +4695,7 @@ impl ICertView { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4733,7 +4733,7 @@ impl ICertView2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCertViewColumn(&self, fresultcolumn: CVRC_COLUMN) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCertViewColumn)(::windows_core::Interface::as_raw(self), fresultcolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCertViewColumn)(::windows_core::Interface::as_raw(self), fresultcolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColumnCount(&self, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetColumnCount)(::windows_core::Interface::as_raw(self), fresultcolumn, pccolumn).ok() @@ -4756,7 +4756,7 @@ impl ICertView2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OpenView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTable(&self, table: CVRC_TABLE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTable)(::windows_core::Interface::as_raw(self), table).ok() @@ -4783,11 +4783,11 @@ impl ICertificateAttestationChallenge { } pub unsafe fn DecryptChallenge(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DecryptChallenge)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DecryptChallenge)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4813,11 +4813,11 @@ impl ICertificateAttestationChallenge2 { } pub unsafe fn DecryptChallenge(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DecryptChallenge)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DecryptChallenge)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequestID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequestID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerName(&self, value: P0) -> ::windows_core::Result<()> where @@ -4849,15 +4849,15 @@ impl ICertificatePolicies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -4907,12 +4907,12 @@ impl ICertificatePolicy { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyQualifiers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyQualifiers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyQualifiers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4942,15 +4942,15 @@ impl ICertificationAuthorities { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -4974,7 +4974,7 @@ impl ICertificationAuthorities { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5008,7 +5008,7 @@ pub struct ICertificationAuthorities_Vtbl { impl ICertificationAuthority { pub unsafe fn get_Property(&self, property: EnrollmentCAProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5041,12 +5041,12 @@ impl ICryptAttribute { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Values(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Values)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5080,15 +5080,15 @@ impl ICryptAttributes { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -5109,7 +5109,7 @@ impl ICryptAttributes { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddRange(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -5154,43 +5154,43 @@ impl ICspAlgorithm { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAlgorithmOid(&self, length: i32, algflags: AlgorithmFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlgorithmOid)(::windows_core::Interface::as_raw(self), length, algflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlgorithmOid)(::windows_core::Interface::as_raw(self), length, algflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DefaultLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IncrementLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncrementLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncrementLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LongName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LongName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LongName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Valid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Operations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5221,15 +5221,15 @@ impl ICspAlgorithms { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -5250,7 +5250,7 @@ impl ICspAlgorithms { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_IndexByObjectId(&self, pobjectid: P0) -> ::windows_core::Result @@ -5258,7 +5258,7 @@ impl ICspAlgorithms { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5310,62 +5310,62 @@ impl ICspInformation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspAlgorithms(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspAlgorithms)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspAlgorithms)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasHardwareRandomNumberGenerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasHardwareRandomNumberGenerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasHardwareRandomNumberGenerator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHardwareDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsHardwareDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsHardwareDevice)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsRemovable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRemovable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRemovable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSoftwareDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSoftwareDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSoftwareDevice)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Valid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxKeyContainerNameLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxKeyContainerNameLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxKeyContainerNameLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Version(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultSecurityDescriptor(&self, machinecontext: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultSecurityDescriptor)(::windows_core::Interface::as_raw(self), machinecontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultSecurityDescriptor)(::windows_core::Interface::as_raw(self), machinecontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LegacyCsp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatusFromOperations(&self, palgorithm: P0, operations: AlgorithmOperationFlags) -> ::windows_core::Result @@ -5373,7 +5373,7 @@ impl ICspInformation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCspStatusFromOperations)(::windows_core::Interface::as_raw(self), palgorithm.into_param().abi(), operations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCspStatusFromOperations)(::windows_core::Interface::as_raw(self), palgorithm.into_param().abi(), operations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5417,15 +5417,15 @@ impl ICspInformations { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -5449,7 +5449,7 @@ impl ICspInformations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatusFromProviderName(&self, strprovidername: P0, legacykeyspec: X509KeySpec) -> ::windows_core::Result @@ -5457,7 +5457,7 @@ impl ICspInformations { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCspStatusFromProviderName)(::windows_core::Interface::as_raw(self), strprovidername.into_param().abi(), legacykeyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCspStatusFromProviderName)(::windows_core::Interface::as_raw(self), strprovidername.into_param().abi(), legacykeyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatusesFromOperations(&self, operations: AlgorithmOperationFlags, pcspinformation: P0) -> ::windows_core::Result @@ -5465,7 +5465,7 @@ impl ICspInformations { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCspStatusesFromOperations)(::windows_core::Interface::as_raw(self), operations, pcspinformation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCspStatusesFromOperations)(::windows_core::Interface::as_raw(self), operations, pcspinformation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEncryptionCspAlgorithms(&self, pcspinformation: P0) -> ::windows_core::Result @@ -5473,7 +5473,7 @@ impl ICspInformations { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEncryptionCspAlgorithms)(::windows_core::Interface::as_raw(self), pcspinformation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEncryptionCspAlgorithms)(::windows_core::Interface::as_raw(self), pcspinformation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHashAlgorithms(&self, pcspinformation: P0) -> ::windows_core::Result @@ -5481,7 +5481,7 @@ impl ICspInformations { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashAlgorithms)(::windows_core::Interface::as_raw(self), pcspinformation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashAlgorithms)(::windows_core::Interface::as_raw(self), pcspinformation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5539,7 +5539,7 @@ impl ICspStatus { } pub unsafe fn Ordinal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ordinal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ordinal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOrdinal(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOrdinal)(::windows_core::Interface::as_raw(self), value).ok() @@ -5547,21 +5547,21 @@ impl ICspStatus { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnrollmentStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnrollmentStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnrollmentStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5598,15 +5598,15 @@ impl ICspStatuses { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -5628,12 +5628,12 @@ impl ICspStatuses { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strcspname.into_param().abi(), stralgorithmname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), strcspname.into_param().abi(), stralgorithmname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByOrdinal(&self, ordinal: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByOrdinal)(::windows_core::Interface::as_raw(self), ordinal, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByOrdinal)(::windows_core::Interface::as_raw(self), ordinal, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByOperations(&self, strcspname: P0, stralgorithmname: P1, operations: AlgorithmOperationFlags) -> ::windows_core::Result @@ -5642,7 +5642,7 @@ impl ICspStatuses { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByOperations)(::windows_core::Interface::as_raw(self), strcspname.into_param().abi(), stralgorithmname.into_param().abi(), operations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByOperations)(::windows_core::Interface::as_raw(self), strcspname.into_param().abi(), stralgorithmname.into_param().abi(), operations, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByProvider(&self, pcspstatus: P0) -> ::windows_core::Result @@ -5650,7 +5650,7 @@ impl ICspStatuses { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByProvider)(::windows_core::Interface::as_raw(self), pcspstatus.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByProvider)(::windows_core::Interface::as_raw(self), pcspstatus.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7011,7 +7011,7 @@ impl IEnumCERTVIEWATTRIBUTE { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7065,7 +7065,7 @@ impl IEnumCERTVIEWCOLUMN { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7114,7 +7114,7 @@ impl IEnumCERTVIEWEXTENSION { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7145,17 +7145,17 @@ impl IEnumCERTVIEWROW { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCertViewColumn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCertViewColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCertViewColumn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCertViewAttribute(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCertViewAttribute)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCertViewAttribute)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCertViewExtension(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCertViewExtension)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCertViewExtension)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Skip(&self, celt: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() @@ -7166,7 +7166,7 @@ impl IEnumCERTVIEWROW { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMaxIndex(&self, pindex: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMaxIndex)(::windows_core::Interface::as_raw(self), pindex).ok() @@ -7213,7 +7213,7 @@ impl INDESPolicy { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateChallenge)(::windows_core::Interface::as_raw(self), pwsztemplate.into_param().abi(), pwszparams.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateChallenge)(::windows_core::Interface::as_raw(self), pwsztemplate.into_param().abi(), pwszparams.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn VerifyRequest(&self, pctbrequest: *mut CERTTRANSBLOB, pctbsigningcertencoded: *mut CERTTRANSBLOB, pwsztemplate: P0, pwsztransactionid: P1) -> ::windows_core::Result where @@ -7221,7 +7221,7 @@ impl INDESPolicy { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerifyRequest)(::windows_core::Interface::as_raw(self), pctbrequest, pctbsigningcertencoded, pwsztemplate.into_param().abi(), pwsztransactionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerifyRequest)(::windows_core::Interface::as_raw(self), pctbrequest, pctbsigningcertencoded, pwsztemplate.into_param().abi(), pwsztransactionid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Notify(&self, pwszchallenge: P0, pwsztransactionid: P1, disposition: X509SCEPDisposition, lasthresult: i32, pctbissuedcertencoded: *mut CERTTRANSBLOB) -> ::windows_core::Result<()> where @@ -7250,12 +7250,12 @@ impl IOCSPAdmin { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OCSPServiceProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OCSPServiceProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OCSPServiceProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OCSPCAConfigurationCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OCSPCAConfigurationCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OCSPCAConfigurationCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConfiguration(&self, bstrservername: P0, bforce: P1) -> ::windows_core::Result<()> where @@ -7276,7 +7276,7 @@ impl IOCSPAdmin { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMyRoles)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMyRoles)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Ping(&self, bstrservername: P0) -> ::windows_core::Result<()> where @@ -7296,14 +7296,14 @@ impl IOCSPAdmin { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurity)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurity)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSigningCertificates(&self, bstrservername: P0, pcacertvar: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningCertificates)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), ::core::mem::transmute(pcacertvar), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningCertificates)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), ::core::mem::transmute(pcacertvar), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHashAlgorithms(&self, bstrservername: P0, bstrcaid: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -7311,7 +7311,7 @@ impl IOCSPAdmin { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashAlgorithms)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), bstrcaid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashAlgorithms)(::windows_core::Interface::as_raw(self), bstrservername.into_param().abi(), bstrcaid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7344,15 +7344,15 @@ pub struct IOCSPAdmin_Vtbl { impl IOCSPCAConfiguration { pub unsafe fn Identifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CACertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CACertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CACertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7362,14 +7362,14 @@ impl IOCSPCAConfiguration { } pub unsafe fn SigningFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SigningFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SigningFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSigningFlags(&self, newval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSigningFlags)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn SigningCertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SigningCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SigningCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSigningCertificate(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7379,26 +7379,26 @@ impl IOCSPCAConfiguration { } pub unsafe fn ReminderDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReminderDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReminderDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReminderDuration(&self, newval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReminderDuration)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ErrorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CSPName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CSPName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CSPName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProviderCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderCLSID(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7408,7 +7408,7 @@ impl IOCSPCAConfiguration { } pub unsafe fn ProviderProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderProperties(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7418,11 +7418,11 @@ impl IOCSPCAConfiguration { } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalRevocationInformation(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalRevocationInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalRevocationInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalRevocationInformation(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7432,7 +7432,7 @@ impl IOCSPCAConfiguration { } pub unsafe fn SigningCertificateTemplate(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SigningCertificateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SigningCertificateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSigningCertificateTemplate(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7442,7 +7442,7 @@ impl IOCSPCAConfiguration { } pub unsafe fn CAConfig(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAConfig)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCAConfig(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7489,22 +7489,22 @@ pub struct IOCSPCAConfiguration_Vtbl { impl IOCSPCAConfigurationCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_ItemByName(&self, bstridentifier: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstridentifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstridentifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateCAConfiguration(&self, bstridentifier: P0, varcacert: P1) -> ::windows_core::Result @@ -7513,7 +7513,7 @@ impl IOCSPCAConfigurationCollection { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCAConfiguration)(::windows_core::Interface::as_raw(self), bstridentifier.into_param().abi(), varcacert.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCAConfiguration)(::windows_core::Interface::as_raw(self), bstridentifier.into_param().abi(), varcacert.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteCAConfiguration(&self, bstridentifier: P0) -> ::windows_core::Result<()> where @@ -7545,11 +7545,11 @@ pub struct IOCSPCAConfigurationCollection_Vtbl { impl IOCSPProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, newval: P0) -> ::windows_core::Result<()> where @@ -7559,7 +7559,7 @@ impl IOCSPProperty { } pub unsafe fn Modified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Modified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -7580,22 +7580,22 @@ pub struct IOCSPProperty_Vtbl { impl IOCSPPropertyCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_ItemByName(&self, bstrpropname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateProperty(&self, bstrpropname: P0, pvarpropvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -7603,7 +7603,7 @@ impl IOCSPPropertyCollection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProperty)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), ::core::mem::transmute(pvarpropvalue), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProperty)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), ::core::mem::transmute(pvarpropvalue), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteProperty(&self, bstrpropname: P0) -> ::windows_core::Result<()> where @@ -7616,7 +7616,7 @@ impl IOCSPPropertyCollection { } pub unsafe fn GetAllProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7659,11 +7659,11 @@ impl IObjectId { } pub unsafe fn Name(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, value: P0) -> ::windows_core::Result<()> where @@ -7673,11 +7673,11 @@ impl IObjectId { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAlgorithmName(&self, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlgorithmName)(::windows_core::Interface::as_raw(self), groupid, keyflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlgorithmName)(::windows_core::Interface::as_raw(self), groupid, keyflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7703,15 +7703,15 @@ impl IObjectIds { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -7771,19 +7771,19 @@ impl IPolicyQualifier { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Qualifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7809,15 +7809,15 @@ impl IPolicyQualifiers { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -7866,16 +7866,16 @@ impl ISignerCertificate { } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -7885,14 +7885,14 @@ impl ISignerCertificate { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -7909,7 +7909,7 @@ impl ISignerCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -7944,15 +7944,15 @@ impl ISignerCertificates { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -7973,7 +7973,7 @@ impl ISignerCertificates { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Find)(::windows_core::Interface::as_raw(self), psignercert.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Find)(::windows_core::Interface::as_raw(self), psignercert.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8007,15 +8007,15 @@ impl ISmimeCapabilities { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -8083,11 +8083,11 @@ impl ISmimeCapability { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BitCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8125,11 +8125,11 @@ impl IX500DistinguishedName { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_EncodedName(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncodedName)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncodedName)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8159,11 +8159,11 @@ impl IX509Attribute { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8198,11 +8198,11 @@ impl IX509AttributeArchiveKey { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeEncode(&self, pkey: P0, encoding: EncodingType, strcaxcert: P1, palgorithm: P2, encryptionstrength: i32) -> ::windows_core::Result<()> @@ -8221,16 +8221,16 @@ impl IX509AttributeArchiveKey { } pub unsafe fn get_EncryptedKeyBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncryptedKeyBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncryptedKeyBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptionAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EncryptionStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -8267,11 +8267,11 @@ impl IX509AttributeArchiveKeyHash { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeEncodeFromEncryptedKeyBlob(&self, encoding: EncodingType, strencryptedkeyblob: P0) -> ::windows_core::Result<()> where @@ -8287,7 +8287,7 @@ impl IX509AttributeArchiveKeyHash { } pub unsafe fn get_EncryptedKeyHashBlob(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncryptedKeyHashBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncryptedKeyHashBlob)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8316,11 +8316,11 @@ impl IX509AttributeClientId { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeEncode(&self, clientid: RequestClientInfoClientId, strmachinednsname: P0, strusersamname: P1, strprocessname: P2) -> ::windows_core::Result<()> where @@ -8338,19 +8338,19 @@ impl IX509AttributeClientId { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MachineDnsName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MachineDnsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MachineDnsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSamName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSamName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSamName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8382,11 +8382,11 @@ impl IX509AttributeCspProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeEncode(&self, keyspec: X509KeySpec, strprovidername: P0, encoding: EncodingType, strsignature: P1) -> ::windows_core::Result<()> where @@ -8403,15 +8403,15 @@ impl IX509AttributeCspProvider { } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8442,11 +8442,11 @@ impl IX509AttributeExtensions { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeEncode(&self, pextensions: P0) -> ::windows_core::Result<()> @@ -8464,7 +8464,7 @@ impl IX509AttributeExtensions { #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8499,11 +8499,11 @@ impl IX509AttributeOSVersion { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeEncode(&self, strosversion: P0) -> ::windows_core::Result<()> where @@ -8519,7 +8519,7 @@ impl IX509AttributeOSVersion { } pub unsafe fn OSVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OSVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OSVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8548,11 +8548,11 @@ impl IX509AttributeRenewalCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeEncode(&self, encoding: EncodingType, strcert: P0) -> ::windows_core::Result<()> where @@ -8568,7 +8568,7 @@ impl IX509AttributeRenewalCertificate { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8589,15 +8589,15 @@ impl IX509Attributes { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -8649,19 +8649,19 @@ impl IX509CertificateRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -8671,14 +8671,14 @@ impl IX509CertificateRequest { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -8688,7 +8688,7 @@ impl IX509CertificateRequest { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -8698,7 +8698,7 @@ impl IX509CertificateRequest { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -8708,7 +8708,7 @@ impl IX509CertificateRequest { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -8716,7 +8716,7 @@ impl IX509CertificateRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -8728,7 +8728,7 @@ impl IX509CertificateRequest { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -8739,7 +8739,7 @@ impl IX509CertificateRequest { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -8749,7 +8749,7 @@ impl IX509CertificateRequest { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -8816,19 +8816,19 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -8838,14 +8838,14 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -8855,7 +8855,7 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -8865,7 +8865,7 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -8875,7 +8875,7 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -8883,7 +8883,7 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -8895,7 +8895,7 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -8906,7 +8906,7 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -8916,7 +8916,7 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -8957,39 +8957,39 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9001,11 +9001,11 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -9016,11 +9016,11 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -9031,35 +9031,35 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CheckPublicKeySignature(&self, ppublickey: P0) -> ::windows_core::Result<()> @@ -9071,7 +9071,7 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Issuer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Issuer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Issuer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIssuer(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9082,21 +9082,21 @@ impl IX509CertificateRequestCertificate { } pub unsafe fn NotBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotBefore(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn NotAfter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotAfter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotAfter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotAfter(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotAfter)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_SerialNumber(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9107,7 +9107,7 @@ impl IX509CertificateRequestCertificate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9167,19 +9167,19 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -9189,14 +9189,14 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -9206,7 +9206,7 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -9216,7 +9216,7 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9226,7 +9226,7 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -9234,7 +9234,7 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9246,7 +9246,7 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9257,7 +9257,7 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -9267,7 +9267,7 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -9308,39 +9308,39 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9352,11 +9352,11 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -9367,11 +9367,11 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -9382,35 +9382,35 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CheckPublicKeySignature(&self, ppublickey: P0) -> ::windows_core::Result<()> @@ -9422,7 +9422,7 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Issuer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Issuer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Issuer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIssuer(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9433,21 +9433,21 @@ impl IX509CertificateRequestCertificate2 { } pub unsafe fn NotBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NotBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NotBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotBefore(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNotBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn NotAfter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NotAfter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NotAfter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotAfter(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNotAfter)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_SerialNumber(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9458,7 +9458,7 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9487,12 +9487,12 @@ impl IX509CertificateRequestCertificate2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9535,19 +9535,19 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -9557,14 +9557,14 @@ impl IX509CertificateRequestCmc { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -9574,7 +9574,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -9584,7 +9584,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9594,7 +9594,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -9602,7 +9602,7 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9614,7 +9614,7 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9625,7 +9625,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -9635,7 +9635,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -9665,7 +9665,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn RequesterName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequesterName(&self, value: P0) -> ::windows_core::Result<()> where @@ -9676,7 +9676,7 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9696,47 +9696,47 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionId(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransactionId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_SenderNonce(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SenderNonce)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SenderNonce)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_SenderNonce(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9747,11 +9747,11 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArchivePrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArchivePrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArchivePrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetArchivePrivateKey(&self, value: P0) -> ::windows_core::Result<()> where @@ -9761,7 +9761,7 @@ impl IX509CertificateRequestCmc { } pub unsafe fn get_KeyArchivalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_KeyArchivalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_KeyArchivalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_KeyArchivalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9772,7 +9772,7 @@ impl IX509CertificateRequestCmc { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptionAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetEncryptionAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9783,19 +9783,19 @@ impl IX509CertificateRequestCmc { } pub unsafe fn EncryptionStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptionStrength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_EncryptedKeyHash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncryptedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncryptedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignerCertificates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignerCertificates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -9878,19 +9878,19 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -9900,14 +9900,14 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -9917,7 +9917,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -9927,7 +9927,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -9937,7 +9937,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -9945,7 +9945,7 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9957,7 +9957,7 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -9968,7 +9968,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -9978,7 +9978,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -10008,7 +10008,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn RequesterName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequesterName(&self, value: P0) -> ::windows_core::Result<()> where @@ -10019,7 +10019,7 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10039,47 +10039,47 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionId(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTransactionId)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_SenderNonce(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_SenderNonce)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_SenderNonce)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_SenderNonce(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -10090,11 +10090,11 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArchivePrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ArchivePrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ArchivePrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetArchivePrivateKey(&self, value: P0) -> ::windows_core::Result<()> where @@ -10104,7 +10104,7 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn get_KeyArchivalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_KeyArchivalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_KeyArchivalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_KeyArchivalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -10115,7 +10115,7 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptionAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetEncryptionAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10126,19 +10126,19 @@ impl IX509CertificateRequestCmc2 { } pub unsafe fn EncryptionStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEncryptionStrength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn get_EncryptedKeyHash(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_EncryptedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_EncryptedKeyHash)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignerCertificates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignerCertificates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: P0, ptemplate: P1) -> ::windows_core::Result<()> @@ -10160,12 +10160,12 @@ impl IX509CertificateRequestCmc2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckSignature(&self, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CheckSignature)(::windows_core::Interface::as_raw(self), allowedsignaturetypes).ok() @@ -10224,19 +10224,19 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -10246,14 +10246,14 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -10263,7 +10263,7 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -10273,7 +10273,7 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -10283,7 +10283,7 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -10291,7 +10291,7 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10303,7 +10303,7 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10314,7 +10314,7 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -10324,7 +10324,7 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -10365,39 +10365,39 @@ impl IX509CertificateRequestPkcs10 { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10409,11 +10409,11 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -10424,11 +10424,11 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -10439,35 +10439,35 @@ impl IX509CertificateRequestPkcs10 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -10564,19 +10564,19 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -10586,14 +10586,14 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -10603,7 +10603,7 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -10613,7 +10613,7 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -10623,7 +10623,7 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -10631,7 +10631,7 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10643,7 +10643,7 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10654,7 +10654,7 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -10664,7 +10664,7 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -10705,39 +10705,39 @@ impl IX509CertificateRequestPkcs10V2 { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10749,11 +10749,11 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -10764,11 +10764,11 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -10779,35 +10779,35 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: P0, ptemplate: P1) -> ::windows_core::Result<()> @@ -10838,12 +10838,12 @@ impl IX509CertificateRequestPkcs10V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -10890,19 +10890,19 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -10912,14 +10912,14 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -10929,7 +10929,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -10939,7 +10939,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -10949,7 +10949,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -10957,7 +10957,7 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10969,7 +10969,7 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -10980,7 +10980,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -10990,7 +10990,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -11031,39 +11031,39 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11075,11 +11075,11 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -11090,11 +11090,11 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -11105,35 +11105,35 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: P0, ptemplate: P1) -> ::windows_core::Result<()> @@ -11164,16 +11164,16 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttestPrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttestPrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttestPrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttestPrivateKey(&self, value: P0) -> ::windows_core::Result<()> where @@ -11183,7 +11183,7 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn get_AttestationEncryptionCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AttestationEncryptionCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AttestationEncryptionCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_AttestationEncryptionCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -11194,7 +11194,7 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptionAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetEncryptionAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11205,14 +11205,14 @@ impl IX509CertificateRequestPkcs10V3 { } pub unsafe fn EncryptionStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptionStrength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ChallengePassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChallengePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChallengePassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetChallengePassword(&self, value: P0) -> ::windows_core::Result<()> where @@ -11223,7 +11223,7 @@ impl IX509CertificateRequestPkcs10V3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -11270,19 +11270,19 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -11292,14 +11292,14 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -11309,7 +11309,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -11319,7 +11319,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -11329,7 +11329,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -11337,7 +11337,7 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11349,7 +11349,7 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11360,7 +11360,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -11370,7 +11370,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -11411,39 +11411,39 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn IsSmartCard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsSmartCard)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.TemplateObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.PublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.PrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReuseKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ReuseKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_OldCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Subject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Subject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSubject(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11455,11 +11455,11 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatuses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CspStatuses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmimeCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -11470,11 +11470,11 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.KeyContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKeyContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -11485,35 +11485,35 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CryptAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CryptAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SuppressOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SuppressOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCspStatuses)(::windows_core::Interface::as_raw(self), keyspec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: P0, ptemplate: P1) -> ::windows_core::Result<()> @@ -11544,16 +11544,16 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttestPrivateKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AttestPrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AttestPrivateKey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttestPrivateKey(&self, value: P0) -> ::windows_core::Result<()> where @@ -11563,7 +11563,7 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn get_AttestationEncryptionCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_AttestationEncryptionCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_AttestationEncryptionCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_AttestationEncryptionCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -11574,7 +11574,7 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptionAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EncryptionAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetEncryptionAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11585,14 +11585,14 @@ impl IX509CertificateRequestPkcs10V4 { } pub unsafe fn EncryptionStrength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EncryptionStrength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptionStrength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEncryptionStrength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ChallengePassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ChallengePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ChallengePassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetChallengePassword(&self, value: P0) -> ::windows_core::Result<()> where @@ -11603,18 +11603,18 @@ impl IX509CertificateRequestPkcs10V4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClaimType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClaimType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClaimType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClaimType(&self, value: KeyAttestationClaimType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClaimType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn AttestPrivateKeyPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttestPrivateKeyPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttestPrivateKeyPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttestPrivateKeyPreferred(&self, value: P0) -> ::windows_core::Result<()> where @@ -11651,19 +11651,19 @@ impl IX509CertificateRequestPkcs7 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -11673,14 +11673,14 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -11690,7 +11690,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -11700,7 +11700,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -11710,7 +11710,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -11718,7 +11718,7 @@ impl IX509CertificateRequestPkcs7 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11730,7 +11730,7 @@ impl IX509CertificateRequestPkcs7 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11741,7 +11741,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -11751,7 +11751,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -11781,7 +11781,7 @@ impl IX509CertificateRequestPkcs7 { } pub unsafe fn RequesterName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequesterName(&self, value: P0) -> ::windows_core::Result<()> where @@ -11792,7 +11792,7 @@ impl IX509CertificateRequestPkcs7 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11843,19 +11843,19 @@ impl IX509CertificateRequestPkcs7V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInnerRequest)(::windows_core::Interface::as_raw(self), level, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -11865,14 +11865,14 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -11882,7 +11882,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn SuppressDefaults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SuppressDefaults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuppressDefaults(&self, value: P0) -> ::windows_core::Result<()> where @@ -11892,7 +11892,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RenewalCertificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_RenewalCertificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -11902,7 +11902,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn ClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetClientId)(::windows_core::Interface::as_raw(self), value).ok() @@ -11910,7 +11910,7 @@ impl IX509CertificateRequestPkcs7V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11922,7 +11922,7 @@ impl IX509CertificateRequestPkcs7V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -11933,7 +11933,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -11943,7 +11943,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: P0) -> ::windows_core::Result<()> where @@ -11973,7 +11973,7 @@ impl IX509CertificateRequestPkcs7V2 { } pub unsafe fn RequesterName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequesterName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRequesterName(&self, value: P0) -> ::windows_core::Result<()> where @@ -11984,7 +11984,7 @@ impl IX509CertificateRequestPkcs7V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -12004,12 +12004,12 @@ impl IX509CertificateRequestPkcs7V2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CheckCertificateSignature(&self, validatecertificatechain: P0) -> ::windows_core::Result<()> where @@ -12071,7 +12071,7 @@ impl IX509CertificateRevocationList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Issuer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Issuer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Issuer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIssuer(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -12082,14 +12082,14 @@ impl IX509CertificateRevocationList { } pub unsafe fn ThisUpdate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ThisUpdate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ThisUpdate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetThisUpdate(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetThisUpdate)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn NextUpdate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextUpdate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextUpdate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextUpdate(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNextUpdate)(::windows_core::Interface::as_raw(self), value).ok() @@ -12097,22 +12097,22 @@ impl IX509CertificateRevocationList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509CRLEntries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509CRLEntries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509CRLEntries)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -12123,7 +12123,7 @@ impl IX509CertificateRevocationList { } pub unsafe fn get_CRLNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CRLNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CRLNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_CRLNumber(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -12133,23 +12133,23 @@ impl IX509CertificateRevocationList { } pub unsafe fn CAVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCAVersion(&self, pvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCAVersion)(::windows_core::Interface::as_raw(self), pvalue).ok() } pub unsafe fn BaseCRL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BaseCRL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BaseCRL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -12160,7 +12160,7 @@ impl IX509CertificateRevocationList { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -12171,19 +12171,19 @@ impl IX509CertificateRevocationList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignatureInformation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignatureInformation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawDataToBeSigned)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Signature(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Signature)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12265,15 +12265,15 @@ impl IX509CertificateRevocationListEntries { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -12293,7 +12293,7 @@ impl IX509CertificateRevocationListEntries { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IndexBySerialNumber)(::windows_core::Interface::as_raw(self), encoding, serialnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IndexBySerialNumber)(::windows_core::Interface::as_raw(self), encoding, serialnumber.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddRange(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -12340,15 +12340,15 @@ impl IX509CertificateRevocationListEntry { } pub unsafe fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SerialNumber)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RevocationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RevocationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RevocationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RevocationReason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RevocationReason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRevocationReason(&self, value: CRLRevocationReason) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRevocationReason)(::windows_core::Interface::as_raw(self), value).ok() @@ -12356,12 +12356,12 @@ impl IX509CertificateRevocationListEntry { #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CriticalExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CriticalExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12391,7 +12391,7 @@ pub struct IX509CertificateRevocationListEntry_Vtbl { impl IX509CertificateTemplate { pub unsafe fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12422,7 +12422,7 @@ impl IX509CertificateTemplateWritable { } pub unsafe fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Property(&self, property: EnrollmentTemplateProperty, value: P0) -> ::windows_core::Result<()> where @@ -12433,7 +12433,7 @@ impl IX509CertificateTemplateWritable { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12462,15 +12462,15 @@ impl IX509CertificateTemplates { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -12491,7 +12491,7 @@ impl IX509CertificateTemplates { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByName)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByOid(&self, poid: P0) -> ::windows_core::Result @@ -12499,7 +12499,7 @@ impl IX509CertificateTemplates { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByOid)(::windows_core::Interface::as_raw(self), poid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByOid)(::windows_core::Interface::as_raw(self), poid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12536,7 +12536,7 @@ pub struct IX509CertificateTemplates_Vtbl { impl IX509EndorsementKey { pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, value: P0) -> ::windows_core::Result<()> where @@ -12546,11 +12546,11 @@ impl IX509EndorsementKey { } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Opened(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Opened)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Opened)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddCertificate(&self, encoding: EncodingType, strcertificate: P0) -> ::windows_core::Result<()> where @@ -12569,19 +12569,19 @@ impl IX509EndorsementKey { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateByIndex)(::windows_core::Interface::as_raw(self), manufactureronly.into_param().abi(), dwindex, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateByIndex)(::windows_core::Interface::as_raw(self), manufactureronly.into_param().abi(), dwindex, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateCount(&self, manufactureronly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateCount)(::windows_core::Interface::as_raw(self), manufactureronly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateCount)(::windows_core::Interface::as_raw(self), manufactureronly.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExportPublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self)).ok() @@ -12634,7 +12634,7 @@ impl IX509Enrollment { } pub unsafe fn CreateRequest(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enroll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Enroll)(::windows_core::Interface::as_raw(self)).ok() @@ -12651,16 +12651,16 @@ impl IX509Enrollment { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), exportoptions, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), exportoptions, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Request(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -12670,7 +12670,7 @@ impl IX509Enrollment { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() @@ -12678,28 +12678,28 @@ impl IX509Enrollment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Response(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Response)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Response)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateFriendlyName(&self, strvalue: P0) -> ::windows_core::Result<()> where @@ -12709,7 +12709,7 @@ impl IX509Enrollment { } pub unsafe fn CertificateDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CertificateDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CertificateDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateDescription(&self, strvalue: P0) -> ::windows_core::Result<()> where @@ -12719,11 +12719,11 @@ impl IX509Enrollment { } pub unsafe fn RequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CAConfigString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAConfigString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAConfigString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12791,7 +12791,7 @@ impl IX509Enrollment2 { } pub unsafe fn CreateRequest(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRequest)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRequest)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enroll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Enroll)(::windows_core::Interface::as_raw(self)).ok() @@ -12808,16 +12808,16 @@ impl IX509Enrollment2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), exportoptions, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePFX)(::windows_core::Interface::as_raw(self), strpassword.into_param().abi(), exportoptions, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Request(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Request)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Request)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -12827,7 +12827,7 @@ impl IX509Enrollment2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() @@ -12835,28 +12835,28 @@ impl IX509Enrollment2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameValuePairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NameValuePairs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnrollmentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnrollmentContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Response(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Response)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Response)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateFriendlyName(&self, strvalue: P0) -> ::windows_core::Result<()> where @@ -12866,7 +12866,7 @@ impl IX509Enrollment2 { } pub unsafe fn CertificateDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CertificateDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CertificateDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateDescription(&self, strvalue: P0) -> ::windows_core::Result<()> where @@ -12876,11 +12876,11 @@ impl IX509Enrollment2 { } pub unsafe fn RequestId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CAConfigString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CAConfigString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CAConfigString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: P0, ptemplate: P1) -> ::windows_core::Result<()> @@ -12902,16 +12902,16 @@ impl IX509Enrollment2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PolicyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolicyServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Template(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Template)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestIdString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestIdString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -12963,7 +12963,7 @@ impl IX509EnrollmentHelper { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enroll)(::windows_core::Interface::as_raw(self), strenrollmentpolicyserveruri.into_param().abi(), strtemplatename.into_param().abi(), encoding, enrollflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enroll)(::windows_core::Interface::as_raw(self), strenrollmentpolicyserveruri.into_param().abi(), strtemplatename.into_param().abi(), encoding, enrollflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), context).ok() @@ -12999,7 +12999,7 @@ impl IX509EnrollmentPolicyServer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTemplates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemplates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemplates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCAsForTemplate(&self, ptemplate: P0) -> ::windows_core::Result @@ -13007,12 +13007,12 @@ impl IX509EnrollmentPolicyServer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAsForTemplate)(::windows_core::Interface::as_raw(self), ptemplate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAsForTemplate)(::windows_core::Interface::as_raw(self), ptemplate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCAs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCAs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCAs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Validate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self)).ok() @@ -13020,51 +13020,51 @@ impl IX509EnrollmentPolicyServer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCustomOids(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomOids)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomOids)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextUpdateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastUpdateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPolicyServerUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicyServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicyServerUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPolicyServerId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicyServerId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicyServerId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsDefaultCEP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsDefaultCEP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsDefaultCEP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUseClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUseClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUseClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllowUnTrustedCA(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllowUnTrustedCA)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllowUnTrustedCA)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCachePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCacheDir(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCacheDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCacheDir)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAuthFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCredential(&self, hwndparent: i32, flag: X509EnrollmentAuthFlags, strcredential: P0, strpassword: P1) -> ::windows_core::Result<()> where @@ -13075,7 +13075,7 @@ impl IX509EnrollmentPolicyServer { } pub unsafe fn QueryChanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryChanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryChanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitializeImport(&self, val: P0) -> ::windows_core::Result<()> where @@ -13085,11 +13085,11 @@ impl IX509EnrollmentPolicyServer { } pub unsafe fn Export(&self, exportflags: X509EnrollmentPolicyExportFlags) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), exportflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), exportflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCost(&self, value: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCost)(::windows_core::Interface::as_raw(self), value).ok() @@ -13151,7 +13151,7 @@ impl IX509EnrollmentStatus { } pub unsafe fn Text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, value: P0) -> ::windows_core::Result<()> where @@ -13161,35 +13161,35 @@ impl IX509EnrollmentStatus { } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelected(&self, value: EnrollmentSelectionStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelected)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Display(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Display)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Display)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplay(&self, value: EnrollmentDisplayStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplay)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStatus(&self, value: EnrollmentEnrollStatus) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetError(&self, value: ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetError)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ErrorText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13221,7 +13221,7 @@ impl IX509EnrollmentWebClassFactory { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), strprogid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), strprogid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13248,15 +13248,15 @@ impl IX509Extension { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13299,15 +13299,15 @@ impl IX509ExtensionAlternativeNames { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13331,7 +13331,7 @@ impl IX509ExtensionAlternativeNames { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AlternativeNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternativeNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternativeNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13366,15 +13366,15 @@ impl IX509ExtensionAuthorityKeyIdentifier { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13396,7 +13396,7 @@ impl IX509ExtensionAuthorityKeyIdentifier { } pub unsafe fn get_AuthorityKeyIdentifier(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AuthorityKeyIdentifier)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AuthorityKeyIdentifier)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13425,15 +13425,15 @@ impl IX509ExtensionBasicConstraints { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13455,11 +13455,11 @@ impl IX509ExtensionBasicConstraints { } pub unsafe fn IsCA(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCA)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCA)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PathLenConstraint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathLenConstraint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathLenConstraint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -13489,15 +13489,15 @@ impl IX509ExtensionCertificatePolicies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13521,7 +13521,7 @@ impl IX509ExtensionCertificatePolicies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Policies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Policies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Policies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13556,15 +13556,15 @@ impl IX509ExtensionEnhancedKeyUsage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13588,7 +13588,7 @@ impl IX509ExtensionEnhancedKeyUsage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnhancedKeyUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnhancedKeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnhancedKeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13623,15 +13623,15 @@ impl IX509ExtensionKeyUsage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13650,7 +13650,7 @@ impl IX509ExtensionKeyUsage { } pub unsafe fn KeyUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -13679,15 +13679,15 @@ impl IX509ExtensionMSApplicationPolicies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13711,7 +13711,7 @@ impl IX509ExtensionMSApplicationPolicies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Policies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Policies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Policies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13746,15 +13746,15 @@ impl IX509ExtensionSmimeCapabilities { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13778,7 +13778,7 @@ impl IX509ExtensionSmimeCapabilities { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SmimeCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmimeCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13813,15 +13813,15 @@ impl IX509ExtensionSubjectKeyIdentifier { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13843,7 +13843,7 @@ impl IX509ExtensionSubjectKeyIdentifier { } pub unsafe fn get_SubjectKeyIdentifier(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SubjectKeyIdentifier)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SubjectKeyIdentifier)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13872,15 +13872,15 @@ impl IX509ExtensionTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13904,15 +13904,15 @@ impl IX509ExtensionTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TemplateOid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateOid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateOid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -13949,15 +13949,15 @@ impl IX509ExtensionTemplateName { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_RawData(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RawData)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Critical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Critical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCritical(&self, value: P0) -> ::windows_core::Result<()> where @@ -13979,7 +13979,7 @@ impl IX509ExtensionTemplateName { } pub unsafe fn TemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -14000,15 +14000,15 @@ impl IX509Extensions { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -14029,7 +14029,7 @@ impl IX509Extensions { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IndexByObjectId)(::windows_core::Interface::as_raw(self), pobjectid.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddRange(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14077,7 +14077,7 @@ impl IX509MachineEnrollmentFactory { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), strprogid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), strprogid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -14105,11 +14105,11 @@ impl IX509NameValuePair { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -14130,15 +14130,15 @@ impl IX509NameValuePairs { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -14181,15 +14181,15 @@ impl IX509PolicyServerListManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_ItemByIndex(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ItemByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pval: P0) -> ::windows_core::Result<()> @@ -14238,7 +14238,7 @@ impl IX509PolicyServerUrl { } pub unsafe fn Url(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Url)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUrl(&self, pvalue: P0) -> ::windows_core::Result<()> where @@ -14248,7 +14248,7 @@ impl IX509PolicyServerUrl { } pub unsafe fn Default(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Default)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Default)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefault(&self, value: P0) -> ::windows_core::Result<()> where @@ -14258,28 +14258,28 @@ impl IX509PolicyServerUrl { } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: PolicyServerUrlFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn AuthFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthFlags(&self, flags: X509EnrollmentAuthFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn Cost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCost(&self, value: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCost)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStringProperty(&self, propertyid: PolicyServerUrlPropertyID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStringProperty(&self, propertyid: PolicyServerUrlPropertyID, pvalue: P0) -> ::windows_core::Result<()> where @@ -14348,16 +14348,16 @@ impl IX509PrivateKey { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), strexporttype.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), strexporttype.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExportPublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14367,7 +14367,7 @@ impl IX509PrivateKey { } pub unsafe fn ContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -14377,7 +14377,7 @@ impl IX509PrivateKey { } pub unsafe fn ReaderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReaderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReaderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReaderName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14388,7 +14388,7 @@ impl IX509PrivateKey { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14400,7 +14400,7 @@ impl IX509PrivateKey { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CspStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CspStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspStatus(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14411,7 +14411,7 @@ impl IX509PrivateKey { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14421,14 +14421,14 @@ impl IX509PrivateKey { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, value: X509ProviderType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProviderType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn LegacyCsp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLegacyCsp(&self, value: P0) -> ::windows_core::Result<()> where @@ -14439,7 +14439,7 @@ impl IX509PrivateKey { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Algorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14450,42 +14450,42 @@ impl IX509PrivateKey { } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, value: X509KeySpec) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeySpec)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ExportPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExportPolicy(&self, value: X509PrivateKeyExportFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExportPolicy)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn KeyUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeyUsage(&self, value: X509PrivateKeyUsageFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeyUsage)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn KeyProtection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyProtection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyProtection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeyProtection(&self, value: X509PrivateKeyProtection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeyProtection)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn MachineContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MachineContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MachineContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMachineContext(&self, value: P0) -> ::windows_core::Result<()> where @@ -14495,7 +14495,7 @@ impl IX509PrivateKey { } pub unsafe fn SecurityDescriptor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityDescriptor(&self, value: P0) -> ::windows_core::Result<()> where @@ -14505,7 +14505,7 @@ impl IX509PrivateKey { } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Certificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -14515,19 +14515,19 @@ impl IX509PrivateKey { } pub unsafe fn UniqueContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Opened(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Opened)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Opened)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Existing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Existing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Existing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExisting(&self, value: P0) -> ::windows_core::Result<()> where @@ -14537,7 +14537,7 @@ impl IX509PrivateKey { } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -14547,14 +14547,14 @@ impl IX509PrivateKey { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -14570,7 +14570,7 @@ impl IX509PrivateKey { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14580,7 +14580,7 @@ impl IX509PrivateKey { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, value: P0) -> ::windows_core::Result<()> where @@ -14707,16 +14707,16 @@ impl IX509PrivateKey2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Export)(::windows_core::Interface::as_raw(self), strexporttype.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Export)(::windows_core::Interface::as_raw(self), strexporttype.into_param().abi(), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExportPublicKey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExportPublicKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14726,7 +14726,7 @@ impl IX509PrivateKey2 { } pub unsafe fn ContainerNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContainerNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerNamePrefix(&self, value: P0) -> ::windows_core::Result<()> where @@ -14736,7 +14736,7 @@ impl IX509PrivateKey2 { } pub unsafe fn ReaderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReaderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReaderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReaderName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14747,7 +14747,7 @@ impl IX509PrivateKey2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspInformations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspInformations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspInformations(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14759,7 +14759,7 @@ impl IX509PrivateKey2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CspStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CspStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CspStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetCspStatus(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14770,7 +14770,7 @@ impl IX509PrivateKey2 { } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14780,14 +14780,14 @@ impl IX509PrivateKey2 { } pub unsafe fn ProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProviderType(&self, value: X509ProviderType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProviderType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn LegacyCsp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LegacyCsp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLegacyCsp(&self, value: P0) -> ::windows_core::Result<()> where @@ -14798,7 +14798,7 @@ impl IX509PrivateKey2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Algorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -14809,42 +14809,42 @@ impl IX509PrivateKey2 { } pub unsafe fn KeySpec(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeySpec)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeySpec(&self, value: X509KeySpec) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeySpec)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLength)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ExportPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExportPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExportPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExportPolicy(&self, value: X509PrivateKeyExportFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetExportPolicy)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn KeyUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeyUsage(&self, value: X509PrivateKeyUsageFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeyUsage)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn KeyProtection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KeyProtection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KeyProtection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeyProtection(&self, value: X509PrivateKeyProtection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeyProtection)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn MachineContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MachineContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MachineContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMachineContext(&self, value: P0) -> ::windows_core::Result<()> where @@ -14854,7 +14854,7 @@ impl IX509PrivateKey2 { } pub unsafe fn SecurityDescriptor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SecurityDescriptor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityDescriptor(&self, value: P0) -> ::windows_core::Result<()> where @@ -14864,7 +14864,7 @@ impl IX509PrivateKey2 { } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Certificate(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -14874,19 +14874,19 @@ impl IX509PrivateKey2 { } pub unsafe fn UniqueContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UniqueContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UniqueContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Opened(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Opened)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Opened)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultContainer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Existing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Existing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Existing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExisting(&self, value: P0) -> ::windows_core::Result<()> where @@ -14896,7 +14896,7 @@ impl IX509PrivateKey2 { } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -14906,14 +14906,14 @@ impl IX509PrivateKey2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentWindow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetParentWindow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn UIContextMessage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UIContextMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUIContextMessage(&self, value: P0) -> ::windows_core::Result<()> where @@ -14929,7 +14929,7 @@ impl IX509PrivateKey2 { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14939,7 +14939,7 @@ impl IX509PrivateKey2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, value: P0) -> ::windows_core::Result<()> where @@ -14949,14 +14949,14 @@ impl IX509PrivateKey2 { } pub unsafe fn HardwareKeyUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HardwareKeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HardwareKeyUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHardwareKeyUsage(&self, value: X509HardwareKeyUsageFlags) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHardwareKeyUsage)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn AlternateStorageLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternateStorageLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternateStorageLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAlternateStorageLocation(&self, value: P0) -> ::windows_core::Result<()> where @@ -14966,7 +14966,7 @@ impl IX509PrivateKey2 { } pub unsafe fn AlgorithmName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlgorithmName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlgorithmName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAlgorithmName(&self, value: P0) -> ::windows_core::Result<()> where @@ -14976,7 +14976,7 @@ impl IX509PrivateKey2 { } pub unsafe fn get_AlgorithmParameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AlgorithmParameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AlgorithmParameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_AlgorithmParameters(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -14986,7 +14986,7 @@ impl IX509PrivateKey2 { } pub unsafe fn ParametersExportType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParametersExportType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParametersExportType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParametersExportType(&self, value: X509KeyParametersExportType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParametersExportType)(::windows_core::Interface::as_raw(self), value).ok() @@ -15032,23 +15032,23 @@ impl IX509PublicKey { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Algorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Algorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_EncodedKey(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncodedKey)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncodedKey)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_EncodedParameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EncodedParameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EncodedParameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ComputeKeyIdentifier(&self, algorithm: KeyIdentifierHashAlgorithm, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeKeyIdentifier)(::windows_core::Interface::as_raw(self), algorithm, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeKeyIdentifier)(::windows_core::Interface::as_raw(self), algorithm, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -15090,11 +15090,11 @@ impl IX509SCEPEnrollment { } pub unsafe fn CreateRequestMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRequestMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRequestMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRetrievePendingMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRetrievePendingMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRetrievePendingMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRetrieveCertificateMessage(&self, context: X509CertificateEnrollmentContext, strissuer: P0, issuerencoding: EncodingType, strserialnumber: P1, serialnumberencoding: EncodingType, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> where @@ -15102,14 +15102,14 @@ impl IX509SCEPEnrollment { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRetrieveCertificateMessage)(::windows_core::Interface::as_raw(self), context, strissuer.into_param().abi(), issuerencoding, strserialnumber.into_param().abi(), serialnumberencoding, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRetrieveCertificateMessage)(::windows_core::Interface::as_raw(self), context, strissuer.into_param().abi(), issuerencoding, strserialnumber.into_param().abi(), serialnumberencoding, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessResponseMessage(&self, strresponse: P0, encoding: EncodingType) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessResponseMessage)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessResponseMessage)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), encoding, &mut result__).map(|| result__) } pub unsafe fn SetServerCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -15119,12 +15119,12 @@ impl IX509SCEPEnrollment { } pub unsafe fn FailInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FailInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FailInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15136,7 +15136,7 @@ impl IX509SCEPEnrollment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OldCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OldCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OldCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetOldCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15147,7 +15147,7 @@ impl IX509SCEPEnrollment { } pub unsafe fn get_TransactionId(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TransactionId)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TransactionId)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_TransactionId(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -15158,11 +15158,11 @@ impl IX509SCEPEnrollment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Request(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Request)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateFriendlyName(&self, value: P0) -> ::windows_core::Result<()> where @@ -15173,15 +15173,15 @@ impl IX509SCEPEnrollment { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -15262,11 +15262,11 @@ impl IX509SCEPEnrollment2 { } pub unsafe fn CreateRequestMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRequestMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRequestMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRetrievePendingMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRetrievePendingMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRetrievePendingMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRetrieveCertificateMessage(&self, context: X509CertificateEnrollmentContext, strissuer: P0, issuerencoding: EncodingType, strserialnumber: P1, serialnumberencoding: EncodingType, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> where @@ -15274,14 +15274,14 @@ impl IX509SCEPEnrollment2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRetrieveCertificateMessage)(::windows_core::Interface::as_raw(self), context, strissuer.into_param().abi(), issuerencoding, strserialnumber.into_param().abi(), serialnumberencoding, encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRetrieveCertificateMessage)(::windows_core::Interface::as_raw(self), context, strissuer.into_param().abi(), issuerencoding, strserialnumber.into_param().abi(), serialnumberencoding, encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessResponseMessage(&self, strresponse: P0, encoding: EncodingType) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProcessResponseMessage)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProcessResponseMessage)(::windows_core::Interface::as_raw(self), strresponse.into_param().abi(), encoding, &mut result__).map(|| result__) } pub unsafe fn SetServerCapabilities(&self, value: P0) -> ::windows_core::Result<()> where @@ -15291,12 +15291,12 @@ impl IX509SCEPEnrollment2 { } pub unsafe fn FailInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FailInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FailInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SignerCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignerCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignerCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15308,7 +15308,7 @@ impl IX509SCEPEnrollment2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn OldCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OldCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OldCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetOldCertificate(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15319,7 +15319,7 @@ impl IX509SCEPEnrollment2 { } pub unsafe fn get_TransactionId(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_TransactionId)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_TransactionId)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_TransactionId(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -15330,11 +15330,11 @@ impl IX509SCEPEnrollment2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Request(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Request)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Request)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CertificateFriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CertificateFriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateFriendlyName(&self, value: P0) -> ::windows_core::Result<()> where @@ -15345,15 +15345,15 @@ impl IX509SCEPEnrollment2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Certificate(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Certificate)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, value: P0) -> ::windows_core::Result<()> where @@ -15366,26 +15366,26 @@ impl IX509SCEPEnrollment2 { } pub unsafe fn CreateChallengeAnswerMessage(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChallengeAnswerMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChallengeAnswerMessage)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessResponseMessage2(&self, flags: X509SCEPProcessMessageFlags, strresponse: P0, encoding: EncodingType) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessResponseMessage2)(::windows_core::Interface::as_raw(self), flags, strresponse.into_param().abi(), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessResponseMessage2)(::windows_core::Interface::as_raw(self), flags, strresponse.into_param().abi(), encoding, &mut result__).map(|| result__) } pub unsafe fn ResultMessageText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultMessageText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultMessageText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DelayRetry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DelayRetry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DelayRetry)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActivityId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivityId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivityId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetActivityId(&self, value: P0) -> ::windows_core::Result<()> where @@ -15432,20 +15432,20 @@ impl IX509SCEPEnrollmentHelper { } pub unsafe fn Enroll(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enroll)(::windows_core::Interface::as_raw(self), processflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enroll)(::windows_core::Interface::as_raw(self), processflags, &mut result__).map(|| result__) } pub unsafe fn FetchPending(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FetchPending)(::windows_core::Interface::as_raw(self), processflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FetchPending)(::windows_core::Interface::as_raw(self), processflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn X509SCEPEnrollment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).X509SCEPEnrollment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).X509SCEPEnrollment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResultMessageText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultMessageText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultMessageText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -15475,7 +15475,7 @@ impl IX509SignatureInformation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHashAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15487,7 +15487,7 @@ impl IX509SignatureInformation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PublicKeyAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublicKeyAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublicKeyAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPublicKeyAlgorithm(&self, pvalue: P0) -> ::windows_core::Result<()> @@ -15498,7 +15498,7 @@ impl IX509SignatureInformation { } pub unsafe fn get_Parameters(&self, encoding: EncodingType) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Parameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Parameters)(::windows_core::Interface::as_raw(self), encoding, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Parameters(&self, encoding: EncodingType, value: P0) -> ::windows_core::Result<()> where @@ -15508,7 +15508,7 @@ impl IX509SignatureInformation { } pub unsafe fn AlternateSignatureAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlternateSignatureAlgorithm(&self, value: P0) -> ::windows_core::Result<()> where @@ -15518,11 +15518,11 @@ impl IX509SignatureInformation { } pub unsafe fn AlternateSignatureAlgorithmSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithmSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternateSignatureAlgorithmSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NullSigned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NullSigned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNullSigned(&self, value: P0) -> ::windows_core::Result<()> where @@ -15537,7 +15537,7 @@ impl IX509SignatureInformation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureAlgorithm)(::windows_core::Interface::as_raw(self), pkcs7signature.into_param().abi(), signaturekey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureAlgorithm)(::windows_core::Interface::as_raw(self), pkcs7signature.into_param().abi(), signaturekey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultValues(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultValues)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Security/Cryptography/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Cryptography/mod.rs index b908d7f616..60f6cf4564 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Cryptography/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Cryptography/mod.rs @@ -2148,7 +2148,7 @@ where pub unsafe fn CryptXmlAddObject(hsignatureorobject: *const ::core::ffi::c_void, dwflags: u32, rgproperty: ::core::option::Option<&[CRYPT_XML_PROPERTY]>, pencoded: *const CRYPT_XML_BLOB) -> ::windows_core::Result<*mut CRYPT_XML_OBJECT> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlAddObject(hsignatureorobject : *const ::core::ffi::c_void, dwflags : u32, rgproperty : *const CRYPT_XML_PROPERTY, cproperty : u32, pencoded : *const CRYPT_XML_BLOB, ppobject : *mut *mut CRYPT_XML_OBJECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlAddObject(hsignatureorobject, dwflags, ::core::mem::transmute(rgproperty.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), rgproperty.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pencoded, &mut result__).from_abi(result__) + CryptXmlAddObject(hsignatureorobject, dwflags, ::core::mem::transmute(rgproperty.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), rgproperty.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pencoded, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlClose(hcryptxml: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -2189,43 +2189,43 @@ pub unsafe fn CryptXmlFindAlgorithmInfo(dwfindbytype: u32, pvfindby: *const ::co pub unsafe fn CryptXmlGetAlgorithmInfo(pxmlalgorithm: *const CRYPT_XML_ALGORITHM, dwflags: CRYPT_XML_FLAGS) -> ::windows_core::Result<*mut CRYPT_XML_ALGORITHM_INFO> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetAlgorithmInfo(pxmlalgorithm : *const CRYPT_XML_ALGORITHM, dwflags : CRYPT_XML_FLAGS, ppalginfo : *mut *mut CRYPT_XML_ALGORITHM_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetAlgorithmInfo(pxmlalgorithm, dwflags, &mut result__).from_abi(result__) + CryptXmlGetAlgorithmInfo(pxmlalgorithm, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlGetDocContext(hcryptxml: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut CRYPT_XML_DOC_CTXT> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetDocContext(hcryptxml : *const ::core::ffi::c_void, ppstruct : *mut *mut CRYPT_XML_DOC_CTXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetDocContext(hcryptxml, &mut result__).from_abi(result__) + CryptXmlGetDocContext(hcryptxml, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlGetReference(hcryptxml: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut CRYPT_XML_REFERENCE> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetReference(hcryptxml : *const ::core::ffi::c_void, ppstruct : *mut *mut CRYPT_XML_REFERENCE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetReference(hcryptxml, &mut result__).from_abi(result__) + CryptXmlGetReference(hcryptxml, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlGetSignature(hcryptxml: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut CRYPT_XML_SIGNATURE> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetSignature(hcryptxml : *const ::core::ffi::c_void, ppstruct : *mut *mut CRYPT_XML_SIGNATURE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetSignature(hcryptxml, &mut result__).from_abi(result__) + CryptXmlGetSignature(hcryptxml, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlGetStatus(hcryptxml: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetStatus(hcryptxml : *const ::core::ffi::c_void, pstatus : *mut CRYPT_XML_STATUS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetStatus(hcryptxml, &mut result__).from_abi(result__) + CryptXmlGetStatus(hcryptxml, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlGetTransforms() -> ::windows_core::Result<*mut CRYPT_XML_TRANSFORM_CHAIN_CONFIG> { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlGetTransforms(ppconfig : *mut *mut CRYPT_XML_TRANSFORM_CHAIN_CONFIG) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlGetTransforms(&mut result__).from_abi(result__) + CryptXmlGetTransforms(&mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlImportPublicKey(dwflags: CRYPT_XML_FLAGS, pkeyvalue: *const CRYPT_XML_KEY_VALUE) -> ::windows_core::Result { ::windows_targets::link!("cryptxml.dll" "system" fn CryptXmlImportPublicKey(dwflags : CRYPT_XML_FLAGS, pkeyvalue : *const CRYPT_XML_KEY_VALUE, phkey : *mut BCRYPT_KEY_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CryptXmlImportPublicKey(dwflags, pkeyvalue, &mut result__).from_abi(result__) + CryptXmlImportPublicKey(dwflags, pkeyvalue, &mut result__).map(|| result__) } #[inline] pub unsafe fn CryptXmlOpenToDecode(pconfig: ::core::option::Option<*const CRYPT_XML_TRANSFORM_CHAIN_CONFIG>, dwflags: CRYPT_XML_FLAGS, rgproperty: ::core::option::Option<&[CRYPT_XML_PROPERTY]>, pencoded: *const CRYPT_XML_BLOB, phcryptxml: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -2307,13 +2307,13 @@ pub unsafe fn GetBrowserToken(dwparamtype: u32, pparam: *const ::core::ffi::c_vo pub unsafe fn GetCryptoTransform(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, mode: u32, padding: PaddingMode, feedbacksize: u32, direction: Direction, piv: &[u8]) -> ::windows_core::Result<*mut INFORMATIONCARD_CRYPTO_HANDLE> { ::windows_targets::link!("infocardapi.dll" "system" fn GetCryptoTransform(hsymmetriccrypto : *const INFORMATIONCARD_CRYPTO_HANDLE, mode : u32, padding : PaddingMode, feedbacksize : u32, direction : Direction, cbiv : u32, piv : *const u8, pphtransform : *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetCryptoTransform(hsymmetriccrypto, mode, padding, feedbacksize, direction, piv.len().try_into().unwrap(), ::core::mem::transmute(piv.as_ptr()), &mut result__).from_abi(result__) + GetCryptoTransform(hsymmetriccrypto, mode, padding, feedbacksize, direction, piv.len().try_into().unwrap(), ::core::mem::transmute(piv.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetKeyedHash(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_core::Result<*mut INFORMATIONCARD_CRYPTO_HANDLE> { ::windows_targets::link!("infocardapi.dll" "system" fn GetKeyedHash(hsymmetriccrypto : *const INFORMATIONCARD_CRYPTO_HANDLE, pphhash : *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetKeyedHash(hsymmetriccrypto, &mut result__).from_abi(result__) + GetKeyedHash(hsymmetriccrypto, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetToken(ppolicychain: &[POLICY_ELEMENT], securitytoken: *mut *mut GENERIC_XML_TOKEN, phprooftokencrypto: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_core::Result<()> { @@ -2377,7 +2377,7 @@ where { ::windows_targets::link!("ncrypt.dll" "system" fn NCryptCreateProtectionDescriptor(pwszdescriptorstring : ::windows_core::PCWSTR, dwflags : u32, phdescriptor : *mut super:: NCRYPT_DESCRIPTOR_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NCryptCreateProtectionDescriptor(pwszdescriptorstring.into_param().abi(), dwflags, &mut result__).from_abi(result__) + NCryptCreateProtectionDescriptor(pwszdescriptorstring.into_param().abi(), dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn NCryptDecrypt(hkey: P0, pbinput: ::core::option::Option<&[u8]>, ppaddinginfo: ::core::option::Option<*const ::core::ffi::c_void>, pboutput: ::core::option::Option<&mut [u8]>, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> ::windows_core::Result<()> @@ -2610,7 +2610,7 @@ where { ::windows_targets::link!("ncrypt.dll" "system" fn NCryptStreamOpenToProtect(hdescriptor : super:: NCRYPT_DESCRIPTOR_HANDLE, dwflags : u32, hwnd : super::super::Foundation:: HWND, pstreaminfo : *const NCRYPT_PROTECT_STREAM_INFO, phstream : *mut super:: NCRYPT_STREAM_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NCryptStreamOpenToProtect(hdescriptor.into_param().abi(), dwflags, hwnd.into_param().abi(), pstreaminfo, &mut result__).from_abi(result__) + NCryptStreamOpenToProtect(hdescriptor.into_param().abi(), dwflags, hwnd.into_param().abi(), pstreaminfo, &mut result__).map(|| result__) } #[inline] pub unsafe fn NCryptStreamOpenToUnprotect(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO, dwflags: u32, hwnd: P0) -> ::windows_core::Result @@ -2619,7 +2619,7 @@ where { ::windows_targets::link!("ncrypt.dll" "system" fn NCryptStreamOpenToUnprotect(pstreaminfo : *const NCRYPT_PROTECT_STREAM_INFO, dwflags : u32, hwnd : super::super::Foundation:: HWND, phstream : *mut super:: NCRYPT_STREAM_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NCryptStreamOpenToUnprotect(pstreaminfo, dwflags, hwnd.into_param().abi(), &mut result__).from_abi(result__) + NCryptStreamOpenToUnprotect(pstreaminfo, dwflags, hwnd.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn NCryptStreamOpenToUnprotectEx(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO_EX, dwflags: u32, hwnd: P0) -> ::windows_core::Result @@ -2628,7 +2628,7 @@ where { ::windows_targets::link!("ncrypt.dll" "system" fn NCryptStreamOpenToUnprotectEx(pstreaminfo : *const NCRYPT_PROTECT_STREAM_INFO_EX, dwflags : u32, hwnd : super::super::Foundation:: HWND, phstream : *mut super:: NCRYPT_STREAM_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - NCryptStreamOpenToUnprotectEx(pstreaminfo, dwflags, hwnd.into_param().abi(), &mut result__).from_abi(result__) + NCryptStreamOpenToUnprotectEx(pstreaminfo, dwflags, hwnd.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn NCryptStreamUpdate(hstream: P0, pbdata: &[u8], ffinal: P1) -> ::windows_core::Result<()> @@ -2747,7 +2747,7 @@ where { ::windows_targets::link!("mssign32.dll" "system" fn SignerSignEx(dwflags : SIGNER_SIGN_FLAGS, psubjectinfo : *const SIGNER_SUBJECT_INFO, psignercert : *const SIGNER_CERT, psignatureinfo : *const SIGNER_SIGNATURE_INFO, pproviderinfo : *const SIGNER_PROVIDER_INFO, pwszhttptimestamp : ::windows_core::PCWSTR, psrequest : *const CRYPT_ATTRIBUTES, psipdata : *const ::core::ffi::c_void, ppsignercontext : *mut *mut SIGNER_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SignerSignEx(dwflags, psubjectinfo, psignercert, psignatureinfo, ::core::mem::transmute(pproviderinfo.unwrap_or(::std::ptr::null())), pwszhttptimestamp.into_param().abi(), ::core::mem::transmute(psrequest.unwrap_or(::std::ptr::null())), ::core::mem::transmute(psipdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + SignerSignEx(dwflags, psubjectinfo, psignercert, psignatureinfo, ::core::mem::transmute(pproviderinfo.unwrap_or(::std::ptr::null())), pwszhttptimestamp.into_param().abi(), ::core::mem::transmute(psrequest.unwrap_or(::std::ptr::null())), ::core::mem::transmute(psipdata.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn SignerSignEx2(dwflags: SIGNER_SIGN_FLAGS, psubjectinfo: *const SIGNER_SUBJECT_INFO, psignercert: *const SIGNER_CERT, psignatureinfo: *const SIGNER_SIGNATURE_INFO, pproviderinfo: ::core::option::Option<*const SIGNER_PROVIDER_INFO>, dwtimestampflags: SIGNER_TIMESTAMP_FLAGS, psztimestampalgorithmoid: P0, pwszhttptimestamp: P1, psrequest: ::core::option::Option<*const CRYPT_ATTRIBUTES>, psipdata: ::core::option::Option<*const ::core::ffi::c_void>, ppsignercontext: *mut *mut SIGNER_CONTEXT, pcryptopolicy: ::core::option::Option<*const CERT_STRONG_SIGN_PARA>, preserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> @@ -2813,7 +2813,7 @@ where { ::windows_targets::link!("mssign32.dll" "system" fn SignerTimeStampEx(dwflags : u32, psubjectinfo : *const SIGNER_SUBJECT_INFO, pwszhttptimestamp : ::windows_core::PCWSTR, psrequest : *const CRYPT_ATTRIBUTES, psipdata : *const ::core::ffi::c_void, ppsignercontext : *mut *mut SIGNER_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SignerTimeStampEx(dwflags, psubjectinfo, pwszhttptimestamp.into_param().abi(), psrequest, psipdata, &mut result__).from_abi(result__) + SignerTimeStampEx(dwflags, psubjectinfo, pwszhttptimestamp.into_param().abi(), psrequest, psipdata, &mut result__).map(|| result__) } #[inline] pub unsafe fn SignerTimeStampEx2(dwflags: SIGNER_TIMESTAMP_FLAGS, psubjectinfo: *const SIGNER_SUBJECT_INFO, pwszhttptimestamp: P0, dwalgid: ALG_ID, psrequest: *const CRYPT_ATTRIBUTES, psipdata: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut SIGNER_CONTEXT> @@ -2822,7 +2822,7 @@ where { ::windows_targets::link!("mssign32.dll" "system" fn SignerTimeStampEx2(dwflags : SIGNER_TIMESTAMP_FLAGS, psubjectinfo : *const SIGNER_SUBJECT_INFO, pwszhttptimestamp : ::windows_core::PCWSTR, dwalgid : ALG_ID, psrequest : *const CRYPT_ATTRIBUTES, psipdata : *const ::core::ffi::c_void, ppsignercontext : *mut *mut SIGNER_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SignerTimeStampEx2(dwflags, psubjectinfo, pwszhttptimestamp.into_param().abi(), dwalgid, psrequest, psipdata, &mut result__).from_abi(result__) + SignerTimeStampEx2(dwflags, psubjectinfo, pwszhttptimestamp.into_param().abi(), dwalgid, psrequest, psipdata, &mut result__).map(|| result__) } #[inline] pub unsafe fn SignerTimeStampEx3(dwflags: SIGNER_TIMESTAMP_FLAGS, dwindex: u32, psubjectinfo: *const SIGNER_SUBJECT_INFO, pwszhttptimestamp: P0, pszalgorithmoid: P1, psrequest: ::core::option::Option<*const CRYPT_ATTRIBUTES>, psipdata: ::core::option::Option<*const ::core::ffi::c_void>, ppsignercontext: *mut *mut SIGNER_CONTEXT, pcryptopolicy: ::core::option::Option<*const CERT_STRONG_SIGN_PARA>, preserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> @@ -2855,7 +2855,7 @@ where { ::windows_targets::link!("infocardapi.dll" "system" fn VerifyHash(hcrypto : *const INFORMATIONCARD_CRYPTO_HANDLE, cbhash : u32, phash : *const u8, hashalgoid : ::windows_core::PCWSTR, cbsig : u32, psig : *const u8, pfverified : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VerifyHash(hcrypto, phash.len().try_into().unwrap(), ::core::mem::transmute(phash.as_ptr()), hashalgoid.into_param().abi(), psig.len().try_into().unwrap(), ::core::mem::transmute(psig.as_ptr()), &mut result__).from_abi(result__) + VerifyHash(hcrypto, phash.len().try_into().unwrap(), ::core::mem::transmute(phash.as_ptr()), hashalgoid.into_param().abi(), psig.len().try_into().unwrap(), ::core::mem::transmute(psig.as_ptr()), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] ::windows_core::imp::com_interface!(ICertSrvSetup, ICertSrvSetup_Vtbl, 0xb760a1bb_4784_44c0_8f12_555f0780ff25); @@ -2865,11 +2865,11 @@ where impl ICertSrvSetup { pub unsafe fn CAErrorId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAErrorId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAErrorId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CAErrorString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAErrorString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAErrorString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeDefaults(&self, bserver: P0, bclient: P1) -> ::windows_core::Result<()> where @@ -2880,48 +2880,48 @@ impl ICertSrvSetup { } pub unsafe fn GetCASetupProperty(&self, propertyid: CASetupProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCASetupProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCASetupProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCASetupProperty(&self, propertyid: CASetupProperty, ppropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCASetupProperty)(::windows_core::Interface::as_raw(self), propertyid, ::core::mem::transmute(ppropertyvalue)).ok() } pub unsafe fn IsPropertyEditable(&self, propertyid: CASetupProperty) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPropertyEditable)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPropertyEditable)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).map(|| result__) } pub unsafe fn GetSupportedCATypes(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedCATypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedCATypes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProviderNameList(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderNameList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderNameList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKeyLengthList(&self, bstrprovidername: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyLengthList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyLengthList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHashAlgorithmList(&self, bstrprovidername: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashAlgorithmList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashAlgorithmList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrivateKeyContainerList(&self, bstrprovidername: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrivateKeyContainerList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrivateKeyContainerList)(::windows_core::Interface::as_raw(self), bstrprovidername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExistingCACertificates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExistingCACertificates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExistingCACertificates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CAImportPFX(&self, bstrfilename: P0, bstrpasswd: P1, boverwriteexistingkey: P2) -> ::windows_core::Result @@ -2931,7 +2931,7 @@ impl ICertSrvSetup { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CAImportPFX)(::windows_core::Interface::as_raw(self), bstrfilename.into_param().abi(), bstrpasswd.into_param().abi(), boverwriteexistingkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CAImportPFX)(::windows_core::Interface::as_raw(self), bstrfilename.into_param().abi(), bstrpasswd.into_param().abi(), boverwriteexistingkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCADistinguishedName(&self, bstrcadn: P0, bignoreunicode: P1, boverwriteexistingkey: P2, boverwriteexistingcainds: P3) -> ::windows_core::Result<()> where @@ -3016,7 +3016,7 @@ pub struct ICertSrvSetup_Vtbl { impl ICertSrvSetupKeyInformation { pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProviderName(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -3026,14 +3026,14 @@ impl ICertSrvSetupKeyInformation { } pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLength(&self, lval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLength)(::windows_core::Interface::as_raw(self), lval).ok() } pub unsafe fn Existing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Existing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Existing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExisting(&self, bval: P0) -> ::windows_core::Result<()> where @@ -3043,7 +3043,7 @@ impl ICertSrvSetupKeyInformation { } pub unsafe fn ContainerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContainerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContainerName(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -3053,7 +3053,7 @@ impl ICertSrvSetupKeyInformation { } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHashAlgorithm(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -3063,7 +3063,7 @@ impl ICertSrvSetupKeyInformation { } pub unsafe fn ExistingCACertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExistingCACertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExistingCACertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExistingCACertificate(&self, varval: P0) -> ::windows_core::Result<()> where @@ -3098,15 +3098,15 @@ pub struct ICertSrvSetupKeyInformation_Vtbl { impl ICertSrvSetupKeyInformationCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pikeyinformation: P0) -> ::windows_core::Result<()> @@ -3137,14 +3137,14 @@ pub struct ICertSrvSetupKeyInformationCollection_Vtbl { impl ICertificateEnrollmentPolicyServerSetup { pub unsafe fn ErrorString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeInstallDefaults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitializeInstallDefaults)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetProperty(&self, propertyid: CEPSetupProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, propertyid: CEPSetupProperty, ppropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), propertyid, ::core::mem::transmute(ppropertyvalue)).ok() @@ -3176,14 +3176,14 @@ pub struct ICertificateEnrollmentPolicyServerSetup_Vtbl { impl ICertificateEnrollmentServerSetup { pub unsafe fn ErrorString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ErrorString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ErrorString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeInstallDefaults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitializeInstallDefaults)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetProperty(&self, propertyid: CESSetupProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, propertyid: CESSetupProperty, ppropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), propertyid, ::core::mem::transmute(ppropertyvalue)).ok() @@ -3223,18 +3223,18 @@ pub struct ICertificateEnrollmentServerSetup_Vtbl { impl IMSCEPSetup { pub unsafe fn MSCEPErrorId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MSCEPErrorId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MSCEPErrorId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MSCEPErrorString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MSCEPErrorString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MSCEPErrorString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeDefaults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitializeDefaults)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetMSCEPSetupProperty(&self, propertyid: MSCEPSetupProperty) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMSCEPSetupProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMSCEPSetupProperty)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMSCEPSetupProperty(&self, propertyid: MSCEPSetupProperty, ppropertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMSCEPSetupProperty)(::windows_core::Interface::as_raw(self), propertyid, ::core::mem::transmute(ppropertyvalue)).ok() @@ -3248,14 +3248,14 @@ impl IMSCEPSetup { } pub unsafe fn IsMSCEPStoreEmpty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMSCEPStoreEmpty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMSCEPStoreEmpty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProviderNameList(&self, bexchange: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderNameList)(::windows_core::Interface::as_raw(self), bexchange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderNameList)(::windows_core::Interface::as_raw(self), bexchange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKeyLengthList(&self, bexchange: P0, bstrprovidername: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -3263,7 +3263,7 @@ impl IMSCEPSetup { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyLengthList)(::windows_core::Interface::as_raw(self), bexchange.into_param().abi(), bstrprovidername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyLengthList)(::windows_core::Interface::as_raw(self), bexchange.into_param().abi(), bstrprovidername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Install(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Install)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Security/DiagnosticDataQuery/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/DiagnosticDataQuery/mod.rs index 9b20187b20..788aa9b88b 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/DiagnosticDataQuery/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/DiagnosticDataQuery/mod.rs @@ -18,7 +18,7 @@ where pub unsafe fn DdqCreateSession(accesslevel: DdqAccessLevel) -> ::windows_core::Result { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqCreateSession(accesslevel : DdqAccessLevel, hsession : *mut super:: HDIAGNOSTIC_DATA_QUERY_SESSION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqCreateSession(accesslevel, &mut result__).from_abi(result__) + DdqCreateSession(accesslevel, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqExtractDiagnosticReport(hsession: P0, reportstoretype: u32, reportkey: P1, destinationpath: P2) -> ::windows_core::Result<()> @@ -74,7 +74,7 @@ where pub unsafe fn DdqGetDiagnosticDataAccessLevelAllowed() -> ::windows_core::Result { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticDataAccessLevelAllowed(accesslevel : *mut DdqAccessLevel) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticDataAccessLevelAllowed(&mut result__).from_abi(result__) + DdqGetDiagnosticDataAccessLevelAllowed(&mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordAtIndex(hrecord: P0, index: u32, record: *mut DIAGNOSTIC_DATA_RECORD) -> ::windows_core::Result<()> @@ -99,7 +99,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordCategoryAtIndex(hcategorydescription : super:: HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION, index : u32, categorydescription : *mut DIAGNOSTIC_DATA_EVENT_CATEGORY_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordCategoryAtIndex(hcategorydescription.into_param().abi(), index, &mut result__).from_abi(result__) + DdqGetDiagnosticRecordCategoryAtIndex(hcategorydescription.into_param().abi(), index, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordCategoryCount(hcategorydescription: P0) -> ::windows_core::Result @@ -108,7 +108,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordCategoryCount(hcategorydescription : super:: HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION, categorydescriptioncount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordCategoryCount(hcategorydescription.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordCategoryCount(hcategorydescription.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordCount(hrecord: P0) -> ::windows_core::Result @@ -117,7 +117,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordCount(hrecord : super:: HDIAGNOSTIC_RECORD, recordcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordCount(hrecord.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordCount(hrecord.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordLocaleTagAtIndex(htagdescription: P0, index: u32) -> ::windows_core::Result @@ -126,7 +126,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordLocaleTagAtIndex(htagdescription : super:: HDIAGNOSTIC_EVENT_TAG_DESCRIPTION, index : u32, tagdescription : *mut DIAGNOSTIC_DATA_EVENT_TAG_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordLocaleTagAtIndex(htagdescription.into_param().abi(), index, &mut result__).from_abi(result__) + DdqGetDiagnosticRecordLocaleTagAtIndex(htagdescription.into_param().abi(), index, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordLocaleTagCount(htagdescription: P0) -> ::windows_core::Result @@ -135,7 +135,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordLocaleTagCount(htagdescription : super:: HDIAGNOSTIC_EVENT_TAG_DESCRIPTION, tagdescriptioncount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordLocaleTagCount(htagdescription.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordLocaleTagCount(htagdescription.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordLocaleTags(hsession: P0, locale: P1) -> ::windows_core::Result @@ -145,7 +145,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordLocaleTags(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, locale : ::windows_core::PCWSTR, htagdescription : *mut super:: HDIAGNOSTIC_EVENT_TAG_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordLocaleTags(hsession.into_param().abi(), locale.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordLocaleTags(hsession.into_param().abi(), locale.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordPage(hsession: P0, searchcriteria: *const DIAGNOSTIC_DATA_SEARCH_CRITERIA, offset: u32, pagerecordcount: u32, baserowid: i64) -> ::windows_core::Result @@ -154,7 +154,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordPage(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, searchcriteria : *const DIAGNOSTIC_DATA_SEARCH_CRITERIA, offset : u32, pagerecordcount : u32, baserowid : i64, hrecord : *mut super:: HDIAGNOSTIC_RECORD) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordPage(hsession.into_param().abi(), searchcriteria, offset, pagerecordcount, baserowid, &mut result__).from_abi(result__) + DdqGetDiagnosticRecordPage(hsession.into_param().abi(), searchcriteria, offset, pagerecordcount, baserowid, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordPayload(hsession: P0, rowid: i64) -> ::windows_core::Result<::windows_core::PCWSTR> @@ -163,7 +163,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordPayload(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, rowid : i64, payload : *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordPayload(hsession.into_param().abi(), rowid, &mut result__).from_abi(result__) + DdqGetDiagnosticRecordPayload(hsession.into_param().abi(), rowid, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordProducerAtIndex(hproducerdescription: P0, index: u32) -> ::windows_core::Result @@ -172,7 +172,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordProducerAtIndex(hproducerdescription : super:: HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION, index : u32, producerdescription : *mut DIAGNOSTIC_DATA_EVENT_PRODUCER_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordProducerAtIndex(hproducerdescription.into_param().abi(), index, &mut result__).from_abi(result__) + DdqGetDiagnosticRecordProducerAtIndex(hproducerdescription.into_param().abi(), index, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordProducerCategories(hsession: P0, producername: P1) -> ::windows_core::Result @@ -182,7 +182,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordProducerCategories(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, producername : ::windows_core::PCWSTR, hcategorydescription : *mut super:: HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordProducerCategories(hsession.into_param().abi(), producername.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordProducerCategories(hsession.into_param().abi(), producername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordProducerCount(hproducerdescription: P0) -> ::windows_core::Result @@ -191,7 +191,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordProducerCount(hproducerdescription : super:: HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION, producerdescriptioncount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordProducerCount(hproducerdescription.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordProducerCount(hproducerdescription.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordProducers(hsession: P0) -> ::windows_core::Result @@ -200,7 +200,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticRecordProducers(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, hproducerdescription : *mut super:: HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticRecordProducers(hsession.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticRecordProducers(hsession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticRecordStats(hsession: P0, searchcriteria: *const DIAGNOSTIC_DATA_SEARCH_CRITERIA, recordcount: *mut u32, minrowid: *mut i64, maxrowid: *mut i64) -> ::windows_core::Result<()> @@ -233,7 +233,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticReport(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, reportstoretype : u32, hreport : *mut super:: HDIAGNOSTIC_REPORT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticReport(hsession.into_param().abi(), reportstoretype, &mut result__).from_abi(result__) + DdqGetDiagnosticReport(hsession.into_param().abi(), reportstoretype, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticReportAtIndex(hreport: P0, index: u32, report: *mut DIAGNOSTIC_REPORT_DATA) -> ::windows_core::Result<()> @@ -250,7 +250,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticReportCount(hreport : super:: HDIAGNOSTIC_REPORT, reportcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticReportCount(hreport.into_param().abi(), &mut result__).from_abi(result__) + DdqGetDiagnosticReportCount(hreport.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetDiagnosticReportStoreReportCount(hsession: P0, reportstoretype: u32) -> ::windows_core::Result @@ -259,7 +259,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetDiagnosticReportStoreReportCount(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, reportstoretype : u32, reportcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetDiagnosticReportStoreReportCount(hsession.into_param().abi(), reportstoretype, &mut result__).from_abi(result__) + DdqGetDiagnosticReportStoreReportCount(hsession.into_param().abi(), reportstoretype, &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetSessionAccessLevel(hsession: P0) -> ::windows_core::Result @@ -268,7 +268,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetSessionAccessLevel(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, accesslevel : *mut DdqAccessLevel) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetSessionAccessLevel(hsession.into_param().abi(), &mut result__).from_abi(result__) + DdqGetSessionAccessLevel(hsession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqGetTranscriptConfiguration(hsession: P0) -> ::windows_core::Result @@ -277,7 +277,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqGetTranscriptConfiguration(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, currentconfig : *mut DIAGNOSTIC_DATA_EVENT_TRANSCRIPT_CONFIGURATION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqGetTranscriptConfiguration(hsession.into_param().abi(), &mut result__).from_abi(result__) + DdqGetTranscriptConfiguration(hsession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqIsDiagnosticRecordSampledIn(hsession: P0, providergroup: *const ::windows_core::GUID, providerid: ::core::option::Option<*const ::windows_core::GUID>, providername: P1, eventid: ::core::option::Option<*const u32>, eventname: P2, eventversion: ::core::option::Option<*const u32>, eventkeywords: ::core::option::Option<*const u64>) -> ::windows_core::Result @@ -288,7 +288,7 @@ where { ::windows_targets::link!("diagnosticdataquery.dll" "system" fn DdqIsDiagnosticRecordSampledIn(hsession : super:: HDIAGNOSTIC_DATA_QUERY_SESSION, providergroup : *const ::windows_core::GUID, providerid : *const ::windows_core::GUID, providername : ::windows_core::PCWSTR, eventid : *const u32, eventname : ::windows_core::PCWSTR, eventversion : *const u32, eventkeywords : *const u64, issampledin : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DdqIsDiagnosticRecordSampledIn(hsession.into_param().abi(), providergroup, ::core::mem::transmute(providerid.unwrap_or(::std::ptr::null())), providername.into_param().abi(), ::core::mem::transmute(eventid.unwrap_or(::std::ptr::null())), eventname.into_param().abi(), ::core::mem::transmute(eventversion.unwrap_or(::std::ptr::null())), ::core::mem::transmute(eventkeywords.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + DdqIsDiagnosticRecordSampledIn(hsession.into_param().abi(), providergroup, ::core::mem::transmute(providerid.unwrap_or(::std::ptr::null())), providername.into_param().abi(), ::core::mem::transmute(eventid.unwrap_or(::std::ptr::null())), eventname.into_param().abi(), ::core::mem::transmute(eventversion.unwrap_or(::std::ptr::null())), ::core::mem::transmute(eventkeywords.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn DdqSetTranscriptConfiguration(hsession: P0, desiredconfig: *const DIAGNOSTIC_DATA_EVENT_TRANSCRIPT_CONFIGURATION) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Security/EnterpriseData/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/EnterpriseData/mod.rs index 2e4afff0b7..afdf4637b0 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/EnterpriseData/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/EnterpriseData/mod.rs @@ -19,7 +19,7 @@ where { ::windows_targets::link!("srpapi.dll" "system" fn SrpCreateThreadNetworkContext(enterpriseid : ::windows_core::PCWSTR, threadnetworkcontext : *mut HTHREAD_NETWORK_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SrpCreateThreadNetworkContext(enterpriseid.into_param().abi(), &mut result__).from_abi(result__) + SrpCreateThreadNetworkContext(enterpriseid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SrpDisablePermissiveModeFileEncryption() -> ::windows_core::Result<()> { @@ -31,7 +31,7 @@ pub unsafe fn SrpDisablePermissiveModeFileEncryption() -> ::windows_core::Result pub unsafe fn SrpDoesPolicyAllowAppExecution(packageid: *const super::super::Storage::Packaging::Appx::PACKAGE_ID) -> ::windows_core::Result { ::windows_targets::link!("srpapi.dll" "system" fn SrpDoesPolicyAllowAppExecution(packageid : *const super::super::Storage::Packaging::Appx:: PACKAGE_ID, isallowed : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SrpDoesPolicyAllowAppExecution(packageid, &mut result__).from_abi(result__) + SrpDoesPolicyAllowAppExecution(packageid, &mut result__).map(|| result__) } #[inline] pub unsafe fn SrpEnablePermissiveModeFileEncryption(enterpriseid: P0) -> ::windows_core::Result<()> @@ -56,7 +56,7 @@ where { ::windows_targets::link!("srpapi.dll" "system" fn SrpGetEnterprisePolicy(tokenhandle : super::super::Foundation:: HANDLE, policyflags : *mut ENTERPRISE_DATA_POLICIES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SrpGetEnterprisePolicy(tokenhandle.into_param().abi(), &mut result__).from_abi(result__) + SrpGetEnterprisePolicy(tokenhandle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SrpHostingInitialize(version: SRPHOSTING_VERSION, r#type: SRPHOSTING_TYPE, pvdata: *const ::core::ffi::c_void, cbdata: u32) -> ::windows_core::Result<()> { @@ -102,7 +102,7 @@ impl IProtectionPolicyManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetForWindow(&self, appwindow: P0) -> ::windows_core::Result where @@ -110,7 +110,7 @@ impl IProtectionPolicyManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -129,7 +129,7 @@ impl IProtectionPolicyManagerInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessForAppWithWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessForAppWithWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessWithAuditingInfoForWindowAsync(&self, appwindow: P0, sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfounk: P1) -> ::windows_core::Result where @@ -138,7 +138,7 @@ impl IProtectionPolicyManagerInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessWithAuditingInfoForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessWithAuditingInfoForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessWithMessageForWindowAsync(&self, appwindow: P0, sourceidentity: &::windows_core::HSTRING, targetidentity: &::windows_core::HSTRING, auditinfounk: P1, messagefromapp: &::windows_core::HSTRING) -> ::windows_core::Result where @@ -147,7 +147,7 @@ impl IProtectionPolicyManagerInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessWithMessageForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessWithMessageForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessForAppWithAuditingInfoForWindowAsync(&self, appwindow: P0, sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfounk: P1) -> ::windows_core::Result where @@ -156,7 +156,7 @@ impl IProtectionPolicyManagerInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessForAppWithAuditingInfoForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessForAppWithAuditingInfoForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessForAppWithMessageForWindowAsync(&self, appwindow: P0, sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfounk: P1, messagefromapp: &::windows_core::HSTRING) -> ::windows_core::Result where @@ -165,7 +165,7 @@ impl IProtectionPolicyManagerInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessForAppWithMessageForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessForAppWithMessageForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -188,7 +188,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessWithBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessWithBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessForAppWithBehaviorForWindowAsync(&self, appwindow: P0, sourceidentity: &::windows_core::HSTRING, apppackagefamilyname: &::windows_core::HSTRING, auditinfounk: P1, messagefromapp: &::windows_core::HSTRING, behavior: u32) -> ::windows_core::Result where @@ -197,7 +197,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessForAppWithBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessForAppWithBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessToFilesForAppForWindowAsync(&self, appwindow: P0, sourceitemlistunk: P1, apppackagefamilyname: &::windows_core::HSTRING, auditinfounk: P2) -> ::windows_core::Result where @@ -207,7 +207,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessToFilesForAppForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessToFilesForAppForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessToFilesForAppWithMessageAndBehaviorForWindowAsync(&self, appwindow: P0, sourceitemlistunk: P1, apppackagefamilyname: &::windows_core::HSTRING, auditinfounk: P2, messagefromapp: &::windows_core::HSTRING, behavior: u32) -> ::windows_core::Result where @@ -217,7 +217,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessToFilesForAppWithMessageAndBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessToFilesForAppWithMessageAndBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), ::core::mem::transmute_copy(apppackagefamilyname), auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessToFilesForProcessForWindowAsync(&self, appwindow: P0, sourceitemlistunk: P1, processid: u32, auditinfounk: P2) -> ::windows_core::Result where @@ -227,7 +227,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessToFilesForProcessForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), processid, auditinfounk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessToFilesForProcessForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), processid, auditinfounk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAccessToFilesForProcessWithMessageAndBehaviorForWindowAsync(&self, appwindow: P0, sourceitemlistunk: P1, processid: u32, auditinfounk: P2, messagefromapp: &::windows_core::HSTRING, behavior: u32) -> ::windows_core::Result where @@ -237,7 +237,7 @@ impl IProtectionPolicyManagerInterop3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestAccessToFilesForProcessWithMessageAndBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), processid, auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestAccessToFilesForProcessWithMessageAndBehaviorForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), sourceitemlistunk.into_param().abi(), processid, auditinfounk.into_param().abi(), ::core::mem::transmute_copy(messagefromapp), behavior, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Security/ExtensibleAuthenticationProtocol/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/ExtensibleAuthenticationProtocol/mod.rs index 62ae07e76e..6661b58c08 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/ExtensibleAuthenticationProtocol/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/ExtensibleAuthenticationProtocol/mod.rs @@ -202,7 +202,7 @@ impl IAccountingProviderConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Uninitialize(&self, uconnectionparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Uninitialize)(::windows_core::Interface::as_raw(self), uconnectionparam).ok() @@ -238,7 +238,7 @@ impl IAuthenticationProviderConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Uninitialize(&self, uconnectionparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Uninitialize)(::windows_core::Interface::as_raw(self), uconnectionparam).ok() @@ -274,7 +274,7 @@ impl IEAPProviderConfig { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).map(|| result__) } pub unsafe fn Uninitialize(&self, dweaptypeid: u32, uconnectionparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Uninitialize)(::windows_core::Interface::as_raw(self), dweaptypeid, uconnectionparam).ok() @@ -316,7 +316,7 @@ impl IEAPProviderConfig2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).map(|| result__) } pub unsafe fn Uninitialize(&self, dweaptypeid: u32, uconnectionparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Uninitialize)(::windows_core::Interface::as_raw(self), dweaptypeid, uconnectionparam).ok() @@ -364,7 +364,7 @@ impl IEAPProviderConfig3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Initialize)(::windows_core::Interface::as_raw(self), pszmachinename.into_param().abi(), dweaptypeid, &mut result__).map(|| result__) } pub unsafe fn Uninitialize(&self, dweaptypeid: u32, uconnectionparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Uninitialize)(::windows_core::Interface::as_raw(self), dweaptypeid, uconnectionparam).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Security/Isolation/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Isolation/mod.rs index 39c2a64a6b..eed55ea01b 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Isolation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Isolation/mod.rs @@ -7,7 +7,7 @@ where { ::windows_targets::link!("userenv.dll" "system" fn CreateAppContainerProfile(pszappcontainername : ::windows_core::PCWSTR, pszdisplayname : ::windows_core::PCWSTR, pszdescription : ::windows_core::PCWSTR, pcapabilities : *const super:: SID_AND_ATTRIBUTES, dwcapabilitycount : u32, ppsidappcontainersid : *mut super::super::Foundation:: PSID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateAppContainerProfile(pszappcontainername.into_param().abi(), pszdisplayname.into_param().abi(), pszdescription.into_param().abi(), ::core::mem::transmute(pcapabilities.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcapabilities.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + CreateAppContainerProfile(pszappcontainername.into_param().abi(), pszdisplayname.into_param().abi(), pszdescription.into_param().abi(), ::core::mem::transmute(pcapabilities.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcapabilities.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).map(|| result__) } #[inline] pub unsafe fn DeleteAppContainerProfile(pszappcontainername: P0) -> ::windows_core::Result<()> @@ -24,7 +24,7 @@ where { ::windows_targets::link!("userenv.dll" "system" fn DeriveAppContainerSidFromAppContainerName(pszappcontainername : ::windows_core::PCWSTR, ppsidappcontainersid : *mut super::super::Foundation:: PSID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DeriveAppContainerSidFromAppContainerName(pszappcontainername.into_param().abi(), &mut result__).from_abi(result__) + DeriveAppContainerSidFromAppContainerName(pszappcontainername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName(psidappcontainersid: P0, pszrestrictedappcontainername: P1) -> ::windows_core::Result @@ -34,7 +34,7 @@ where { ::windows_targets::link!("userenv.dll" "system" fn DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName(psidappcontainersid : super::super::Foundation:: PSID, pszrestrictedappcontainername : ::windows_core::PCWSTR, ppsidrestrictedappcontainersid : *mut super::super::Foundation:: PSID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName(psidappcontainersid.into_param().abi(), pszrestrictedappcontainername.into_param().abi(), &mut result__).from_abi(result__) + DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName(psidappcontainersid.into_param().abi(), pszrestrictedappcontainername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetAppContainerFolderPath(pszappcontainersid: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -43,7 +43,7 @@ where { ::windows_targets::link!("userenv.dll" "system" fn GetAppContainerFolderPath(pszappcontainersid : ::windows_core::PCWSTR, ppszpath : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetAppContainerFolderPath(pszappcontainersid.into_param().abi(), &mut result__).from_abi(result__) + GetAppContainerFolderPath(pszappcontainersid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetAppContainerNamedObjectPath(token: P0, appcontainersid: P1, objectpath: ::core::option::Option<&mut [u16]>, returnlength: *mut u32) -> ::windows_core::Result<()> @@ -59,31 +59,31 @@ where pub unsafe fn GetAppContainerRegistryLocation(desiredaccess: u32) -> ::windows_core::Result { ::windows_targets::link!("userenv.dll" "system" fn GetAppContainerRegistryLocation(desiredaccess : u32, phappcontainerkey : *mut super::super::System::Registry:: HKEY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetAppContainerRegistryLocation(desiredaccess, &mut result__).from_abi(result__) + GetAppContainerRegistryLocation(desiredaccess, &mut result__).map(|| result__) } #[inline] pub unsafe fn IsCrossIsolatedEnvironmentClipboardContent() -> ::windows_core::Result { ::windows_targets::link!("isolatedwindowsenvironmentutils.dll" "system" fn IsCrossIsolatedEnvironmentClipboardContent(iscrossisolatedenvironmentclipboardcontent : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsCrossIsolatedEnvironmentClipboardContent(&mut result__).from_abi(result__) + IsCrossIsolatedEnvironmentClipboardContent(&mut result__).map(|| result__) } #[inline] pub unsafe fn IsProcessInIsolatedContainer() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-security-isolatedcontainer-l1-1-0.dll" "system" fn IsProcessInIsolatedContainer(isprocessinisolatedcontainer : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsProcessInIsolatedContainer(&mut result__).from_abi(result__) + IsProcessInIsolatedContainer(&mut result__).map(|| result__) } #[inline] pub unsafe fn IsProcessInIsolatedWindowsEnvironment() -> ::windows_core::Result { ::windows_targets::link!("isolatedwindowsenvironmentutils.dll" "system" fn IsProcessInIsolatedWindowsEnvironment(isprocessinisolatedwindowsenvironment : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsProcessInIsolatedWindowsEnvironment(&mut result__).from_abi(result__) + IsProcessInIsolatedWindowsEnvironment(&mut result__).map(|| result__) } #[inline] pub unsafe fn IsProcessInWDAGContainer(reserved: *const ::core::ffi::c_void) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-security-isolatedcontainer-l1-1-1.dll" "system" fn IsProcessInWDAGContainer(reserved : *const ::core::ffi::c_void, isprocessinwdagcontainer : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsProcessInWDAGContainer(reserved, &mut result__).from_abi(result__) + IsProcessInWDAGContainer(reserved, &mut result__).map(|| result__) } ::windows_core::imp::com_interface!(IIsolatedAppLauncher, IIsolatedAppLauncher_Vtbl, 0xf686878f_7b42_4cc4_96fb_f4f3b6e3d24d); ::windows_core::imp::interface_hierarchy!(IIsolatedAppLauncher, ::windows_core::IUnknown); @@ -123,14 +123,14 @@ impl IIsolatedProcessLauncher { } pub unsafe fn GetContainerGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainerGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainerGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllowSetForegroundAccess(&self, pid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AllowSetForegroundAccess)(::windows_core::Interface::as_raw(self), pid).ok() } pub unsafe fn IsContainerRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsContainerRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsContainerRunning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -164,14 +164,14 @@ impl IIsolatedProcessLauncher2 { } pub unsafe fn GetContainerGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainerGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainerGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AllowSetForegroundAccess(&self, pid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AllowSetForegroundAccess)(::windows_core::Interface::as_raw(self), pid).ok() } pub unsafe fn IsContainerRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsContainerRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsContainerRunning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LaunchProcess2(&self, process: P0, arguments: P1, workingdirectory: P2, correlationguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/Security/LicenseProtection/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/LicenseProtection/mod.rs index 31c601052f..54fe5bd9a5 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/LicenseProtection/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/LicenseProtection/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("licenseprotection.dll" "system" fn RegisterLicenseKeyWithExpiration(licensekey : ::windows_core::PCWSTR, validityindays : u32, status : *mut LicenseProtectionStatus) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RegisterLicenseKeyWithExpiration(licensekey.into_param().abi(), validityindays, &mut result__).from_abi(result__) + RegisterLicenseKeyWithExpiration(licensekey.into_param().abi(), validityindays, &mut result__).map(|| result__) } #[inline] pub unsafe fn ValidateLicenseKeyProtection(licensekey: P0, notvalidbefore: *mut super::super::Foundation::FILETIME, notvalidafter: *mut super::super::Foundation::FILETIME, status: *mut LicenseProtectionStatus) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Security/Tpm/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/Tpm/mod.rs index 00e0684846..ebc869aaef 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/Tpm/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/Tpm/mod.rs @@ -32,7 +32,7 @@ impl ITpmVirtualSmartCardManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -76,7 +76,7 @@ impl ITpmVirtualSmartCardManager2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateVirtualSmartCardWithPinPolicy(&self, pszfriendlyname: P0, badminalgid: u8, pbadminkey: &[u8], pbadminkcv: &[u8], pbpuk: &[u8], pbpin: &[u8], pbpinpolicy: &[u8], fgenerate: P1, pstatuscallback: P2, ppszinstanceid: *mut ::windows_core::PWSTR, pfneedreboot: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -146,7 +146,7 @@ impl ITpmVirtualSmartCardManager3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DestroyVirtualSmartCard)(::windows_core::Interface::as_raw(self), pszinstanceid.into_param().abi(), pstatuscallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CreateVirtualSmartCardWithPinPolicy(&self, pszfriendlyname: P0, badminalgid: u8, pbadminkey: &[u8], pbadminkcv: &[u8], pbpuk: &[u8], pbpin: &[u8], pbpinpolicy: &[u8], fgenerate: P1, pstatuscallback: P2, ppszinstanceid: *mut ::windows_core::PWSTR, pfneedreboot: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -201,7 +201,7 @@ impl ITpmVirtualSmartCardManager3 { pstatuscallback.into_param().abi(), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Security/mod.rs b/crates/libs/windows/src/Windows/Win32/Security/mod.rs index 4f6ec86f6b..fb02bb4062 100644 --- a/crates/libs/windows/src/Windows/Win32/Security/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Security/mod.rs @@ -1065,7 +1065,7 @@ pub unsafe fn QuerySecurityAccessMask(securityinformation: OBJECT_SECURITY_INFOR ::windows_targets::link!("advapi32.dll" "system" fn QuerySecurityAccessMask(securityinformation : OBJECT_SECURITY_INFORMATION, desiredaccess : *mut u32)); let mut result__ = ::std::mem::zeroed(); QuerySecurityAccessMask(securityinformation, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn RevertToSelf() -> ::windows_core::Result<()> { @@ -1152,7 +1152,7 @@ pub unsafe fn SetSecurityAccessMask(securityinformation: OBJECT_SECURITY_INFORMA ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityAccessMask(securityinformation : OBJECT_SECURITY_INFORMATION, desiredaccess : *mut u32)); let mut result__ = ::std::mem::zeroed(); SetSecurityAccessMask(securityinformation, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn SetSecurityDescriptorControl(psecuritydescriptor: P0, controlbitsofinterest: SECURITY_DESCRIPTOR_CONTROL, controlbitstoset: SECURITY_DESCRIPTOR_CONTROL) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Storage/CloudFilters/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/CloudFilters/mod.rs index 28954e7bb4..33e4d1c393 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/CloudFilters/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/CloudFilters/mod.rs @@ -14,7 +14,7 @@ where { ::windows_targets::link!("cldapi.dll" "system" fn CfConnectSyncRoot(syncrootpath : ::windows_core::PCWSTR, callbacktable : *const CF_CALLBACK_REGISTRATION, callbackcontext : *const ::core::ffi::c_void, connectflags : CF_CONNECT_FLAGS, connectionkey : *mut CF_CONNECTION_KEY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CfConnectSyncRoot(syncrootpath.into_param().abi(), callbacktable, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), connectflags, &mut result__).from_abi(result__) + CfConnectSyncRoot(syncrootpath.into_param().abi(), callbacktable, ::core::mem::transmute(callbackcontext.unwrap_or(::std::ptr::null())), connectflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_IO")] #[inline] @@ -111,7 +111,7 @@ pub unsafe fn CfGetPlaceholderStateFromFindData(finddata: *const super::FileSyst pub unsafe fn CfGetPlatformInfo() -> ::windows_core::Result { ::windows_targets::link!("cldapi.dll" "system" fn CfGetPlatformInfo(platformversion : *mut CF_PLATFORM_INFO) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CfGetPlatformInfo(&mut result__).from_abi(result__) + CfGetPlatformInfo(&mut result__).map(|| result__) } #[inline] pub unsafe fn CfGetSyncRootInfoByHandle(filehandle: P0, infoclass: CF_SYNC_ROOT_INFO_CLASS, infobuffer: *mut ::core::ffi::c_void, infobufferlength: u32, returnedlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -136,7 +136,7 @@ where { ::windows_targets::link!("cldapi.dll" "system" fn CfGetTransferKey(filehandle : super::super::Foundation:: HANDLE, transferkey : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CfGetTransferKey(filehandle.into_param().abi(), &mut result__).from_abi(result__) + CfGetTransferKey(filehandle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CfGetWin32HandleFromProtectedHandle(protectedhandle: P0) -> super::super::Foundation::HANDLE @@ -162,7 +162,7 @@ where { ::windows_targets::link!("cldapi.dll" "system" fn CfOpenFileWithOplock(filepath : ::windows_core::PCWSTR, flags : CF_OPEN_FILE_FLAGS, protectedhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CfOpenFileWithOplock(filepath.into_param().abi(), flags, &mut result__).from_abi(result__) + CfOpenFileWithOplock(filepath.into_param().abi(), flags, &mut result__).map(|| result__) } #[inline] pub unsafe fn CfQuerySyncProviderStatus(connectionkey: P0) -> ::windows_core::Result @@ -171,7 +171,7 @@ where { ::windows_targets::link!("cldapi.dll" "system" fn CfQuerySyncProviderStatus(connectionkey : CF_CONNECTION_KEY, providerstatus : *mut CF_SYNC_PROVIDER_STATUS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CfQuerySyncProviderStatus(connectionkey.into_param().abi(), &mut result__).from_abi(result__) + CfQuerySyncProviderStatus(connectionkey.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CfReferenceProtectedHandle(protectedhandle: P0) -> super::super::Foundation::BOOLEAN diff --git a/crates/libs/windows/src/Windows/Win32/Storage/DataDeduplication/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/DataDeduplication/mod.rs index 21fdc7dbbf..b7bb2b75be 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/DataDeduplication/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/DataDeduplication/mod.rs @@ -31,7 +31,7 @@ impl IDedupChunkLibrary { } pub unsafe fn StartChunking(&self, iiditeratorinterfaceid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartChunking)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(iiditeratorinterfaceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartChunking)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(iiditeratorinterfaceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -51,11 +51,11 @@ impl IDedupDataPort { } pub unsafe fn LookupChunks(&self, phashes: &[DedupHash]) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupChunks)(::windows_core::Interface::as_raw(self), phashes.len().try_into().unwrap(), ::core::mem::transmute(phashes.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupChunks)(::windows_core::Interface::as_raw(self), phashes.len().try_into().unwrap(), ::core::mem::transmute(phashes.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn InsertChunks(&self, pchunkmetadata: &[DedupChunk], pchunkdata: &[u8]) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertChunks)(::windows_core::Interface::as_raw(self), pchunkmetadata.len().try_into().unwrap(), ::core::mem::transmute(pchunkmetadata.as_ptr()), pchunkdata.len().try_into().unwrap(), ::core::mem::transmute(pchunkdata.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertChunks)(::windows_core::Interface::as_raw(self), pchunkmetadata.len().try_into().unwrap(), ::core::mem::transmute(pchunkmetadata.as_ptr()), pchunkdata.len().try_into().unwrap(), ::core::mem::transmute(pchunkdata.as_ptr()), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertChunksWithStream(&self, pchunkmetadata: &[DedupChunk], databytecount: u32, pchunkdatastream: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -63,11 +63,11 @@ impl IDedupDataPort { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertChunksWithStream)(::windows_core::Interface::as_raw(self), pchunkmetadata.len().try_into().unwrap(), ::core::mem::transmute(pchunkmetadata.as_ptr()), databytecount, pchunkdatastream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertChunksWithStream)(::windows_core::Interface::as_raw(self), pchunkmetadata.len().try_into().unwrap(), ::core::mem::transmute(pchunkmetadata.as_ptr()), databytecount, pchunkdatastream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CommitStreams(&self, pstreams: &[DedupStream], pentries: &[DedupStreamEntry]) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitStreams)(::windows_core::Interface::as_raw(self), pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), pentries.len().try_into().unwrap(), ::core::mem::transmute(pentries.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitStreams)(::windows_core::Interface::as_raw(self), pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), pentries.len().try_into().unwrap(), ::core::mem::transmute(pentries.as_ptr()), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitStreamsWithStream(&self, pstreams: &[DedupStream], entrycount: u32, pentriesstream: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -75,25 +75,25 @@ impl IDedupDataPort { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitStreamsWithStream)(::windows_core::Interface::as_raw(self), pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), entrycount, pentriesstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitStreamsWithStream)(::windows_core::Interface::as_raw(self), pstreams.len().try_into().unwrap(), ::core::mem::transmute(pstreams.as_ptr()), entrycount, pentriesstream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetStreams(&self, pstreampaths: &[::windows_core::BSTR]) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStreams)(::windows_core::Interface::as_raw(self), pstreampaths.len().try_into().unwrap(), ::core::mem::transmute(pstreampaths.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStreams)(::windows_core::Interface::as_raw(self), pstreampaths.len().try_into().unwrap(), ::core::mem::transmute(pstreampaths.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetStreamsResults(&self, requestid: ::windows_core::GUID, maxwaitms: u32, streamentryindex: u32, pstreamcount: *mut u32, ppstreams: *mut *mut DedupStream, pentrycount: *mut u32, ppentries: *mut *mut DedupStreamEntry, pstatus: *mut DedupDataPortRequestStatus, ppitemresults: *mut *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStreamsResults)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(requestid), maxwaitms, streamentryindex, pstreamcount, ppstreams, pentrycount, ppentries, pstatus, ppitemresults).ok() } pub unsafe fn GetChunks(&self, phashes: &[DedupHash]) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChunks)(::windows_core::Interface::as_raw(self), phashes.len().try_into().unwrap(), ::core::mem::transmute(phashes.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChunks)(::windows_core::Interface::as_raw(self), phashes.len().try_into().unwrap(), ::core::mem::transmute(phashes.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetChunksResults(&self, requestid: ::windows_core::GUID, maxwaitms: u32, chunkindex: u32, pchunkcount: *mut u32, ppchunkmetadata: *mut *mut DedupChunk, pdatabytecount: *mut u32, ppchunkdata: *mut *mut u8, pstatus: *mut DedupDataPortRequestStatus, ppitemresults: *mut *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChunksResults)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(requestid), maxwaitms, chunkindex, pchunkcount, ppchunkmetadata, pdatabytecount, ppchunkdata, pstatus, ppitemresults).ok() } pub unsafe fn GetRequestStatus(&self, requestid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestStatus)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(requestid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestStatus)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(requestid), &mut result__).map(|| result__) } pub unsafe fn GetRequestResults(&self, requestid: ::windows_core::GUID, maxwaitms: u32, pbatchresult: *mut ::windows_core::HRESULT, pbatchcount: *mut u32, pstatus: *mut DedupDataPortRequestStatus, ppitemresults: *mut *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRequestResults)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(requestid), maxwaitms, pbatchresult, pbatchcount, pstatus, ppitemresults).ok() @@ -133,14 +133,14 @@ impl IDedupDataPortManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolumeStatus)(::windows_core::Interface::as_raw(self), options, path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolumeStatus)(::windows_core::Interface::as_raw(self), options, path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetVolumeDataPort(&self, options: u32, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolumeDataPort)(::windows_core::Interface::as_raw(self), options, path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolumeDataPort)(::windows_core::Interface::as_raw(self), options, path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/EnhancedStorage/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/EnhancedStorage/mod.rs index f08381e8e2..894bd776c2 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/EnhancedStorage/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/EnhancedStorage/mod.rs @@ -9,15 +9,15 @@ impl IEnhancedStorageACT { } pub unsafe fn GetAuthorizationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchingVolume(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUniqueIdentity(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSilos(&self, pppienhancedstoragesilos: *mut *mut ::core::option::Option, pcenhancedstoragesilos: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSilos)(::windows_core::Interface::as_raw(self), pppienhancedstoragesilos, pcenhancedstoragesilos).ok() @@ -45,26 +45,26 @@ impl IEnhancedStorageACT2 { } pub unsafe fn GetAuthorizationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchingVolume(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUniqueIdentity(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSilos(&self, pppienhancedstoragesilos: *mut *mut ::core::option::Option, pcenhancedstoragesilos: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSilos)(::windows_core::Interface::as_raw(self), pppienhancedstoragesilos, pcenhancedstoragesilos).ok() } pub unsafe fn GetDeviceName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDeviceRemovable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDeviceRemovable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDeviceRemovable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -85,37 +85,37 @@ impl IEnhancedStorageACT3 { } pub unsafe fn GetAuthorizationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAuthorizationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchingVolume(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMatchingVolume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUniqueIdentity(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUniqueIdentity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSilos(&self, pppienhancedstoragesilos: *mut *mut ::core::option::Option, pcenhancedstoragesilos: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSilos)(::windows_core::Interface::as_raw(self), pppienhancedstoragesilos, pcenhancedstoragesilos).ok() } pub unsafe fn GetDeviceName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDeviceRemovable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDeviceRemovable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDeviceRemovable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UnauthorizeEx(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnauthorizeEx)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn IsQueueFrozen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsQueueFrozen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsQueueFrozen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetShellExtSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShellExtSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShellExtSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -131,7 +131,7 @@ pub struct IEnhancedStorageACT3_Vtbl { impl IEnhancedStorageSilo { pub unsafe fn GetInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActions(&self, pppienhancedstoragesiloactions: *mut *mut ::core::option::Option, pcenhancedstoragesiloactions: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetActions)(::windows_core::Interface::as_raw(self), pppienhancedstoragesiloactions, pcenhancedstoragesiloactions).ok() @@ -142,11 +142,11 @@ impl IEnhancedStorageSilo { #[cfg(feature = "Win32_Devices_PortableDevices")] pub unsafe fn GetPortableDevice(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPortableDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPortableDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevicePath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDevicePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevicePath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -167,11 +167,11 @@ pub struct IEnhancedStorageSilo_Vtbl { impl IEnhancedStorageSiloAction { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Invoke(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Invoke)(::windows_core::Interface::as_raw(self)).ok() @@ -196,7 +196,7 @@ impl IEnumEnhancedStorageACT { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchingACT)(::windows_core::Interface::as_raw(self), szvolume.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchingACT)(::windows_core::Interface::as_raw(self), szvolume.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/FileHistory/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/FileHistory/mod.rs index d68ad319dc..abf7c60a66 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/FileHistory/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/FileHistory/mod.rs @@ -24,7 +24,7 @@ where { ::windows_targets::link!("fhsvcctl.dll" "system" fn FhServiceOpenPipe(startserviceifstopped : super::super::Foundation:: BOOL, pipe : *mut super::super::System::WindowsProgramming:: FH_SERVICE_PIPE_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - FhServiceOpenPipe(startserviceifstopped.into_param().abi(), &mut result__).from_abi(result__) + FhServiceOpenPipe(startserviceifstopped.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WindowsProgramming")] #[inline] @@ -91,32 +91,32 @@ impl IFhConfigMgr { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIncludeExcludeRules)(::windows_core::Interface::as_raw(self), include.into_param().abi(), category, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIncludeExcludeRules)(::windows_core::Interface::as_raw(self), include.into_param().abi(), category, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalPolicy(&self, localpolicytype: FH_LOCAL_POLICY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalPolicy)(::windows_core::Interface::as_raw(self), localpolicytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalPolicy)(::windows_core::Interface::as_raw(self), localpolicytype, &mut result__).map(|| result__) } pub unsafe fn SetLocalPolicy(&self, localpolicytype: FH_LOCAL_POLICY_TYPE, policyvalue: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLocalPolicy)(::windows_core::Interface::as_raw(self), localpolicytype, policyvalue).ok() } pub unsafe fn GetBackupStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackupStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackupStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackupStatus(&self, backupstatus: FH_BACKUP_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackupStatus)(::windows_core::Interface::as_raw(self), backupstatus).ok() } pub unsafe fn GetDefaultTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ValidateTarget(&self, targeturl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValidateTarget)(::windows_core::Interface::as_raw(self), targeturl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValidateTarget)(::windows_core::Interface::as_raw(self), targeturl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ProvisionAndSetNewTarget(&self, targeturl: P0, targetname: P1) -> ::windows_core::Result<()> where @@ -162,7 +162,7 @@ impl IFhReassociation { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValidateTarget)(::windows_core::Interface::as_raw(self), targeturl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValidateTarget)(::windows_core::Interface::as_raw(self), targeturl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ScanTargetForConfigurations(&self, targeturl: P0) -> ::windows_core::Result<()> where @@ -201,7 +201,7 @@ impl IFhScopeIterator { } pub unsafe fn GetItem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -216,11 +216,11 @@ pub struct IFhScopeIterator_Vtbl { impl IFhTarget { pub unsafe fn GetStringProperty(&self, propertytype: FH_TARGET_PROPERTY_TYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringProperty)(::windows_core::Interface::as_raw(self), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringProperty)(::windows_core::Interface::as_raw(self), propertytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumericalProperty(&self, propertytype: FH_TARGET_PROPERTY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumericalProperty)(::windows_core::Interface::as_raw(self), propertytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumericalProperty)(::windows_core::Interface::as_raw(self), propertytype, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/FileServerResourceManager/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/FileServerResourceManager/mod.rs index 959c5533d2..cb0558f4f1 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/FileServerResourceManager/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/FileServerResourceManager/mod.rs @@ -23,7 +23,7 @@ impl IFsrmAccessDeniedRemediationClient { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Show)(::windows_core::Interface::as_raw(self), parentwnd, accesspath.into_param().abi(), errortype, flags, windowtitle.into_param().abi(), windowmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Show)(::windows_core::Interface::as_raw(self), parentwnd, accesspath.into_param().abi(), errortype, flags, windowtitle.into_param().abi(), windowmessage.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -41,15 +41,15 @@ pub struct IFsrmAccessDeniedRemediationClient_Vtbl { impl IFsrmAction { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -77,15 +77,15 @@ pub struct IFsrmAction_Vtbl { impl IFsrmActionCommand { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -95,7 +95,7 @@ impl IFsrmActionCommand { } pub unsafe fn ExecutablePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecutablePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecutablePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExecutablePath(&self, executablepath: P0) -> ::windows_core::Result<()> where @@ -105,7 +105,7 @@ impl IFsrmActionCommand { } pub unsafe fn Arguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Arguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Arguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArguments(&self, arguments: P0) -> ::windows_core::Result<()> where @@ -115,14 +115,14 @@ impl IFsrmActionCommand { } pub unsafe fn Account(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Account)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Account)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccount(&self, account: FsrmAccountType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAccount)(::windows_core::Interface::as_raw(self), account).ok() } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, workingdirectory: P0) -> ::windows_core::Result<()> where @@ -132,7 +132,7 @@ impl IFsrmActionCommand { } pub unsafe fn MonitorCommand(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MonitorCommand)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MonitorCommand)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitorCommand(&self, monitorcommand: P0) -> ::windows_core::Result<()> where @@ -142,14 +142,14 @@ impl IFsrmActionCommand { } pub unsafe fn KillTimeOut(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KillTimeOut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KillTimeOut)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKillTimeOut(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKillTimeOut)(::windows_core::Interface::as_raw(self), minutes).ok() } pub unsafe fn LogResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogResult(&self, logresults: P0) -> ::windows_core::Result<()> where @@ -186,15 +186,15 @@ pub struct IFsrmActionCommand_Vtbl { impl IFsrmActionEmail { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -204,7 +204,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailFrom(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailFrom(&self, mailfrom: P0) -> ::windows_core::Result<()> where @@ -214,7 +214,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailReplyTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailReplyTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailReplyTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailReplyTo(&self, mailreplyto: P0) -> ::windows_core::Result<()> where @@ -224,7 +224,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -234,7 +234,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailCc(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailCc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailCc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailCc(&self, mailcc: P0) -> ::windows_core::Result<()> where @@ -244,7 +244,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailBcc(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailBcc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailBcc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailBcc(&self, mailbcc: P0) -> ::windows_core::Result<()> where @@ -254,7 +254,7 @@ impl IFsrmActionEmail { } pub unsafe fn MailSubject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailSubject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailSubject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailSubject(&self, mailsubject: P0) -> ::windows_core::Result<()> where @@ -264,7 +264,7 @@ impl IFsrmActionEmail { } pub unsafe fn MessageText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMessageText(&self, messagetext: P0) -> ::windows_core::Result<()> where @@ -301,15 +301,15 @@ pub struct IFsrmActionEmail_Vtbl { impl IFsrmActionEmail2 { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -319,7 +319,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailFrom(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailFrom(&self, mailfrom: P0) -> ::windows_core::Result<()> where @@ -329,7 +329,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailReplyTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailReplyTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailReplyTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailReplyTo(&self, mailreplyto: P0) -> ::windows_core::Result<()> where @@ -339,7 +339,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -349,7 +349,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailCc(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailCc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailCc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailCc(&self, mailcc: P0) -> ::windows_core::Result<()> where @@ -359,7 +359,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailBcc(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailBcc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailBcc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailBcc(&self, mailbcc: P0) -> ::windows_core::Result<()> where @@ -369,7 +369,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MailSubject(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MailSubject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MailSubject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailSubject(&self, mailsubject: P0) -> ::windows_core::Result<()> where @@ -379,7 +379,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn MessageText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MessageText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MessageText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMessageText(&self, messagetext: P0) -> ::windows_core::Result<()> where @@ -389,7 +389,7 @@ impl IFsrmActionEmail2 { } pub unsafe fn AttachmentFileListSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachmentFileListSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachmentFileListSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachmentFileListSize(&self, attachmentfilelistsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttachmentFileListSize)(::windows_core::Interface::as_raw(self), attachmentfilelistsize).ok() @@ -411,15 +411,15 @@ pub struct IFsrmActionEmail2_Vtbl { impl IFsrmActionEventLog { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -429,14 +429,14 @@ impl IFsrmActionEventLog { } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventType(&self, eventtype: FsrmEventType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventType)(::windows_core::Interface::as_raw(self), eventtype).ok() } pub unsafe fn MessageText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMessageText(&self, messagetext: P0) -> ::windows_core::Result<()> where @@ -463,15 +463,15 @@ pub struct IFsrmActionEventLog_Vtbl { impl IFsrmActionReport { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RunLimitInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunLimitInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRunLimitInterval)(::windows_core::Interface::as_raw(self), minutes).ok() @@ -482,7 +482,7 @@ impl IFsrmActionReport { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReportTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetReportTypes(&self, reporttypes: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -490,7 +490,7 @@ impl IFsrmActionReport { } pub unsafe fn MailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -523,11 +523,11 @@ pub struct IFsrmActionReport_Vtbl { impl IFsrmAutoApplyQuota { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -543,7 +543,7 @@ impl IFsrmAutoApplyQuota { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -553,7 +553,7 @@ impl IFsrmAutoApplyQuota { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -561,7 +561,7 @@ impl IFsrmAutoApplyQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -575,32 +575,32 @@ impl IFsrmAutoApplyQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SourceTemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MatchesSourceTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ApplyTemplate(&self, quotatemplatename: P0) -> ::windows_core::Result<()> where @@ -611,7 +611,7 @@ impl IFsrmAutoApplyQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExcludeFolders(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExcludeFolders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExcludeFolders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetExcludeFolders(&self, folders: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -620,7 +620,7 @@ impl IFsrmAutoApplyQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -650,7 +650,7 @@ impl IFsrmClassificationManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClassificationReportFormats(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationReportFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationReportFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClassificationReportFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -658,14 +658,14 @@ impl IFsrmClassificationManager { } pub unsafe fn Logging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Logging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Logging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogging(&self, logging: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogging)(::windows_core::Interface::as_raw(self), logging).ok() } pub unsafe fn ClassificationReportMailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationReportMailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationReportMailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClassificationReportMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -675,7 +675,7 @@ impl IFsrmClassificationManager { } pub unsafe fn ClassificationReportEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClassificationReportEnabled(&self, reportenabled: P0) -> ::windows_core::Result<()> where @@ -685,25 +685,25 @@ impl IFsrmClassificationManager { } pub unsafe fn ClassificationLastReportPathWithoutExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationLastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationLastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassificationLastError(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationLastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationLastError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassificationRunningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassificationRunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassificationRunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumPropertyDefinitions(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumPropertyDefinitions)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumPropertyDefinitions)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePropertyDefinition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyDefinition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyDefinition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPropertyDefinition(&self, propertyname: P0) -> ::windows_core::Result @@ -711,17 +711,17 @@ impl IFsrmClassificationManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyDefinition)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDefinition)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumRules(&self, ruletype: FsrmRuleType, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRules)(::windows_core::Interface::as_raw(self), ruletype, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRules)(::windows_core::Interface::as_raw(self), ruletype, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRule(&self, ruletype: FsrmRuleType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRule)(::windows_core::Interface::as_raw(self), ruletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRule)(::windows_core::Interface::as_raw(self), ruletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRule(&self, rulename: P0, ruletype: FsrmRuleType) -> ::windows_core::Result @@ -729,17 +729,17 @@ impl IFsrmClassificationManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRule)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), ruletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRule)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), ruletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumModuleDefinitions(&self, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumModuleDefinitions)(::windows_core::Interface::as_raw(self), moduletype, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumModuleDefinitions)(::windows_core::Interface::as_raw(self), moduletype, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateModuleDefinition(&self, moduletype: FsrmPipelineModuleType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateModuleDefinition)(::windows_core::Interface::as_raw(self), moduletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateModuleDefinition)(::windows_core::Interface::as_raw(self), moduletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetModuleDefinition(&self, modulename: P0, moduletype: FsrmPipelineModuleType) -> ::windows_core::Result @@ -747,7 +747,7 @@ impl IFsrmClassificationManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleDefinition)(::windows_core::Interface::as_raw(self), modulename.into_param().abi(), moduletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleDefinition)(::windows_core::Interface::as_raw(self), modulename.into_param().abi(), moduletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunClassification(&self, context: FsrmReportGenerationContext, reserved: P0) -> ::windows_core::Result<()> where @@ -757,7 +757,7 @@ impl IFsrmClassificationManager { } pub unsafe fn WaitForClassificationCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForClassificationCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForClassificationCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn CancelClassification(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CancelClassification)(::windows_core::Interface::as_raw(self)).ok() @@ -768,7 +768,7 @@ impl IFsrmClassificationManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFileProperties)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFileProperties)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileProperty(&self, filepath: P0, propertyname: P1, options: FsrmGetFilePropertyOptions) -> ::windows_core::Result @@ -777,7 +777,7 @@ impl IFsrmClassificationManager { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileProperty)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), propertyname.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileProperty)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), propertyname.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileProperty(&self, filepath: P0, propertyname: P1, propertyvalue: P2) -> ::windows_core::Result<()> where @@ -876,7 +876,7 @@ impl IFsrmClassificationManager2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClassificationReportFormats(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationReportFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationReportFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetClassificationReportFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -884,14 +884,14 @@ impl IFsrmClassificationManager2 { } pub unsafe fn Logging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Logging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Logging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogging(&self, logging: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLogging)(::windows_core::Interface::as_raw(self), logging).ok() } pub unsafe fn ClassificationReportMailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationReportMailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationReportMailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClassificationReportMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -901,7 +901,7 @@ impl IFsrmClassificationManager2 { } pub unsafe fn ClassificationReportEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClassificationReportEnabled(&self, reportenabled: P0) -> ::windows_core::Result<()> where @@ -911,25 +911,25 @@ impl IFsrmClassificationManager2 { } pub unsafe fn ClassificationLastReportPathWithoutExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationLastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationLastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassificationLastError(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationLastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationLastError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassificationRunningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClassificationRunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClassificationRunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumPropertyDefinitions(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumPropertyDefinitions)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumPropertyDefinitions)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePropertyDefinition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePropertyDefinition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePropertyDefinition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPropertyDefinition(&self, propertyname: P0) -> ::windows_core::Result @@ -937,17 +937,17 @@ impl IFsrmClassificationManager2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyDefinition)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyDefinition)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumRules(&self, ruletype: FsrmRuleType, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumRules)(::windows_core::Interface::as_raw(self), ruletype, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumRules)(::windows_core::Interface::as_raw(self), ruletype, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRule(&self, ruletype: FsrmRuleType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRule)(::windows_core::Interface::as_raw(self), ruletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRule)(::windows_core::Interface::as_raw(self), ruletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRule(&self, rulename: P0, ruletype: FsrmRuleType) -> ::windows_core::Result @@ -955,17 +955,17 @@ impl IFsrmClassificationManager2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRule)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), ruletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRule)(::windows_core::Interface::as_raw(self), rulename.into_param().abi(), ruletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumModuleDefinitions(&self, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumModuleDefinitions)(::windows_core::Interface::as_raw(self), moduletype, options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumModuleDefinitions)(::windows_core::Interface::as_raw(self), moduletype, options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateModuleDefinition(&self, moduletype: FsrmPipelineModuleType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateModuleDefinition)(::windows_core::Interface::as_raw(self), moduletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateModuleDefinition)(::windows_core::Interface::as_raw(self), moduletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetModuleDefinition(&self, modulename: P0, moduletype: FsrmPipelineModuleType) -> ::windows_core::Result @@ -973,7 +973,7 @@ impl IFsrmClassificationManager2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetModuleDefinition)(::windows_core::Interface::as_raw(self), modulename.into_param().abi(), moduletype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetModuleDefinition)(::windows_core::Interface::as_raw(self), modulename.into_param().abi(), moduletype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunClassification(&self, context: FsrmReportGenerationContext, reserved: P0) -> ::windows_core::Result<()> where @@ -983,7 +983,7 @@ impl IFsrmClassificationManager2 { } pub unsafe fn WaitForClassificationCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WaitForClassificationCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WaitForClassificationCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn CancelClassification(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CancelClassification)(::windows_core::Interface::as_raw(self)).ok() @@ -994,7 +994,7 @@ impl IFsrmClassificationManager2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFileProperties)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFileProperties)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileProperty(&self, filepath: P0, propertyname: P1, options: FsrmGetFilePropertyOptions) -> ::windows_core::Result @@ -1003,7 +1003,7 @@ impl IFsrmClassificationManager2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileProperty)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), propertyname.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileProperty)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), propertyname.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileProperty(&self, filepath: P0, propertyname: P1, propertyvalue: P2) -> ::windows_core::Result<()> where @@ -1043,11 +1043,11 @@ pub struct IFsrmClassificationManager2_Vtbl { impl IFsrmClassificationRule { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -1063,7 +1063,7 @@ impl IFsrmClassificationRule { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1073,11 +1073,11 @@ impl IFsrmClassificationRule { } pub unsafe fn RuleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RuleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RuleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModuleDefinitionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModuleDefinitionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModuleDefinitionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModuleDefinitionName(&self, moduledefinitionname: P0) -> ::windows_core::Result<()> where @@ -1088,7 +1088,7 @@ impl IFsrmClassificationRule { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1096,7 +1096,7 @@ impl IFsrmClassificationRule { } pub unsafe fn RuleFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RuleFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RuleFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRuleFlags(&self, ruleflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRuleFlags)(::windows_core::Interface::as_raw(self), ruleflags).ok() @@ -1104,7 +1104,7 @@ impl IFsrmClassificationRule { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1112,18 +1112,18 @@ impl IFsrmClassificationRule { } pub unsafe fn LastModified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastModified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExecutionOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecutionOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecutionOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionOption(&self, executionoption: FsrmExecutionOption) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionOption)(::windows_core::Interface::as_raw(self), executionoption).ok() } pub unsafe fn PropertyAffected(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyAffected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyAffected)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPropertyAffected(&self, property: P0) -> ::windows_core::Result<()> where @@ -1133,7 +1133,7 @@ impl IFsrmClassificationRule { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -1162,11 +1162,11 @@ pub struct IFsrmClassificationRule_Vtbl { impl IFsrmClassifierModuleDefinition { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -1182,7 +1182,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn ModuleClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModuleClsid(&self, moduleclsid: P0) -> ::windows_core::Result<()> where @@ -1192,7 +1192,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1202,7 +1202,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn Company(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Company)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Company)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCompany(&self, company: P0) -> ::windows_core::Result<()> where @@ -1212,7 +1212,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, version: P0) -> ::windows_core::Result<()> where @@ -1222,11 +1222,11 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn ModuleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1236,7 +1236,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn NeedsFileContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: P0) -> ::windows_core::Result<()> where @@ -1246,7 +1246,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn Account(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Account)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Account)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAccount)(::windows_core::Interface::as_raw(self), retrievalaccount).ok() @@ -1254,7 +1254,7 @@ impl IFsrmClassifierModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedExtensions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1263,7 +1263,7 @@ impl IFsrmClassifierModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1272,7 +1272,7 @@ impl IFsrmClassifierModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PropertiesAffected(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertiesAffected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertiesAffected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPropertiesAffected(&self, propertiesaffected: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1281,7 +1281,7 @@ impl IFsrmClassifierModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PropertiesUsed(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertiesUsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertiesUsed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPropertiesUsed(&self, propertiesused: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1289,7 +1289,7 @@ impl IFsrmClassifierModuleDefinition { } pub unsafe fn NeedsExplicitValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NeedsExplicitValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NeedsExplicitValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNeedsExplicitValue(&self, needsexplicitvalue: P0) -> ::windows_core::Result<()> where @@ -1334,14 +1334,14 @@ impl IFsrmClassifierModuleImplementation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnUnload(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnUnload)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn LastModified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastModified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UseRulesAndDefinitions(&self, rules: P0, propertydefinitions: P1) -> ::windows_core::Result<()> @@ -1401,30 +1401,30 @@ pub struct IFsrmClassifierModuleImplementation_Vtbl { impl IFsrmCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn GetById(&self, id: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1448,30 +1448,30 @@ pub struct IFsrmCollection_Vtbl { impl IFsrmCommittableCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Cancel)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn GetById(&self, id: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, item: P0) -> ::windows_core::Result<()> where @@ -1488,12 +1488,12 @@ impl IFsrmCommittableCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Commit(&self, options: FsrmCommitOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1515,12 +1515,12 @@ impl IFsrmDerivedObjectsResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DerivedObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DerivedObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DerivedObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Results(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1557,7 +1557,7 @@ impl IFsrmExportImport { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportFileGroups)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(filegroupnamessafearray), remotehost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportFileGroups)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(filegroupnamessafearray), remotehost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportFileScreenTemplates(&self, filepath: P0, templatenamessafearray: *const ::windows_core::VARIANT, remotehost: P1) -> ::windows_core::Result<()> where @@ -1573,7 +1573,7 @@ impl IFsrmExportImport { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportFileScreenTemplates)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportFileScreenTemplates)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportQuotaTemplates(&self, filepath: P0, templatenamessafearray: *const ::windows_core::VARIANT, remotehost: P1) -> ::windows_core::Result<()> where @@ -1589,7 +1589,7 @@ impl IFsrmExportImport { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportQuotaTemplates)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportQuotaTemplates)(::windows_core::Interface::as_raw(self), filepath.into_param().abi(), ::core::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1621,7 +1621,7 @@ pub struct IFsrmExportImport_Vtbl { impl IFsrmFileCondition { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -1643,14 +1643,14 @@ pub struct IFsrmFileCondition_Vtbl { impl IFsrmFileConditionProperty { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn PropertyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPropertyName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1660,28 +1660,28 @@ impl IFsrmFileConditionProperty { } pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropertyId(&self, newval: FsrmFileSystemPropertyId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPropertyId)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn Operator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOperator(&self, newval: FsrmPropertyConditionType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOperator)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ValueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValueType(&self, newval: FsrmPropertyValueType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValueType)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1714,11 +1714,11 @@ pub struct IFsrmFileConditionProperty_Vtbl { impl IFsrmFileGroup { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -1734,7 +1734,7 @@ impl IFsrmFileGroup { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1745,7 +1745,7 @@ impl IFsrmFileGroup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Members(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMembers(&self, members: P0) -> ::windows_core::Result<()> @@ -1757,7 +1757,7 @@ impl IFsrmFileGroup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NonMembers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNonMembers(&self, nonmembers: P0) -> ::windows_core::Result<()> @@ -1799,11 +1799,11 @@ pub struct IFsrmFileGroup_Vtbl { impl IFsrmFileGroupImported { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -1819,7 +1819,7 @@ impl IFsrmFileGroupImported { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1830,7 +1830,7 @@ impl IFsrmFileGroupImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Members(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMembers(&self, members: P0) -> ::windows_core::Result<()> @@ -1842,7 +1842,7 @@ impl IFsrmFileGroupImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NonMembers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NonMembers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNonMembers(&self, nonmembers: P0) -> ::windows_core::Result<()> @@ -1853,7 +1853,7 @@ impl IFsrmFileGroupImported { } pub unsafe fn OverwriteOnCommit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverwriteOnCommit(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -1879,7 +1879,7 @@ impl IFsrmFileGroupManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileGroup(&self, name: P0) -> ::windows_core::Result @@ -1887,16 +1887,16 @@ impl IFsrmFileGroupManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileGroup)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileGroup)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumFileGroups(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFileGroups)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFileGroups)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportFileGroups(&self, filegroupnamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportFileGroups)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(filegroupnamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportFileGroups)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(filegroupnamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportFileGroups(&self, serializedfilegroups: P0, filegroupnamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -1904,7 +1904,7 @@ impl IFsrmFileGroupManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportFileGroups)(::windows_core::Interface::as_raw(self), serializedfilegroups.into_param().abi(), ::core::mem::transmute(filegroupnamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportFileGroups)(::windows_core::Interface::as_raw(self), serializedfilegroups.into_param().abi(), ::core::mem::transmute(filegroupnamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1938,11 +1938,11 @@ pub struct IFsrmFileGroupManager_Vtbl { impl IFsrmFileManagementJob { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -1958,7 +1958,7 @@ impl IFsrmFileManagementJob { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1969,7 +1969,7 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1977,7 +1977,7 @@ impl IFsrmFileManagementJob { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1987,14 +1987,14 @@ impl IFsrmFileManagementJob { } pub unsafe fn OperationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OperationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OperationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOperationType(&self, operationtype: FsrmFileManagementType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOperationType)(::windows_core::Interface::as_raw(self), operationtype).ok() } pub unsafe fn ExpirationDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpirationDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpirationDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExpirationDirectory(&self, expirationdirectory: P0) -> ::windows_core::Result<()> where @@ -2005,23 +2005,23 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CustomAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CustomAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CustomAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Notifications(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notifications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notifications)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Logging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Logging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Logging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogging(&self, loggingflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogging)(::windows_core::Interface::as_raw(self), loggingflags).ok() } pub unsafe fn ReportEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportEnabled(&self, reportenabled: P0) -> ::windows_core::Result<()> where @@ -2032,7 +2032,7 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Formats(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Formats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Formats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2040,7 +2040,7 @@ impl IFsrmFileManagementJob { } pub unsafe fn MailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -2050,21 +2050,21 @@ impl IFsrmFileManagementJob { } pub unsafe fn DaysSinceFileCreated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DaysSinceFileCreated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DaysSinceFileCreated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDaysSinceFileCreated(&self, dayssincecreation: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDaysSinceFileCreated)(::windows_core::Interface::as_raw(self), dayssincecreation).ok() } pub unsafe fn DaysSinceFileLastAccessed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DaysSinceFileLastAccessed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DaysSinceFileLastAccessed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDaysSinceFileLastAccessed(&self, dayssinceaccess: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDaysSinceFileLastAccessed)(::windows_core::Interface::as_raw(self), dayssinceaccess).ok() } pub unsafe fn DaysSinceFileLastModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DaysSinceFileLastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DaysSinceFileLastModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDaysSinceFileLastModified(&self, dayssincemodify: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDaysSinceFileLastModified)(::windows_core::Interface::as_raw(self), dayssincemodify).ok() @@ -2072,18 +2072,18 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PropertyConditions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyConditions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyConditions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FromDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FromDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FromDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFromDate(&self, fromdate: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFromDate)(::windows_core::Interface::as_raw(self), fromdate).ok() } pub unsafe fn Task(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTask(&self, taskname: P0) -> ::windows_core::Result<()> where @@ -2094,7 +2094,7 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2102,23 +2102,23 @@ impl IFsrmFileManagementJob { } pub unsafe fn RunningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastError(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastReportPathWithoutExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastReportPathWithoutExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastRun(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastRun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastRun)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileNamePattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileNamePattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileNamePattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNamePattern(&self, filenamepattern: P0) -> ::windows_core::Result<()> where @@ -2131,7 +2131,7 @@ impl IFsrmFileManagementJob { } pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -2148,12 +2148,12 @@ impl IFsrmFileManagementJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateNotificationAction(&self, days: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNotificationAction)(::windows_core::Interface::as_raw(self), days, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNotificationAction)(::windows_core::Interface::as_raw(self), days, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumNotificationActions(&self, days: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumNotificationActions)(::windows_core::Interface::as_raw(self), days, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumNotificationActions)(::windows_core::Interface::as_raw(self), days, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePropertyCondition(&self, name: P0) -> ::windows_core::Result @@ -2161,12 +2161,12 @@ impl IFsrmFileManagementJob { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyCondition)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyCondition)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateCustomAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCustomAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCustomAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2272,22 +2272,22 @@ impl IFsrmFileManagementJobManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariables(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariableDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumFileManagementJobs(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFileManagementJobs)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFileManagementJobs)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileManagementJob(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileManagementJob)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileManagementJob)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileManagementJob(&self, name: P0) -> ::windows_core::Result @@ -2295,7 +2295,7 @@ impl IFsrmFileManagementJobManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileManagementJob)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileManagementJob)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2332,11 +2332,11 @@ pub struct IFsrmFileManagementJobManager_Vtbl { impl IFsrmFileScreen { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2353,7 +2353,7 @@ impl IFsrmFileScreen { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BlockedFileGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBlockedFileGroups(&self, blocklist: P0) -> ::windows_core::Result<()> @@ -2364,7 +2364,7 @@ impl IFsrmFileScreen { } pub unsafe fn FileScreenFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileScreenFlags)(::windows_core::Interface::as_raw(self), filescreenflags).ok() @@ -2372,32 +2372,32 @@ impl IFsrmFileScreen { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SourceTemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MatchesSourceTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplyTemplate(&self, filescreentemplatename: P0) -> ::windows_core::Result<()> where @@ -2426,11 +2426,11 @@ pub struct IFsrmFileScreen_Vtbl { impl IFsrmFileScreenBase { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2447,7 +2447,7 @@ impl IFsrmFileScreenBase { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BlockedFileGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBlockedFileGroups(&self, blocklist: P0) -> ::windows_core::Result<()> @@ -2458,7 +2458,7 @@ impl IFsrmFileScreenBase { } pub unsafe fn FileScreenFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileScreenFlags)(::windows_core::Interface::as_raw(self), filescreenflags).ok() @@ -2466,12 +2466,12 @@ impl IFsrmFileScreenBase { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2506,11 +2506,11 @@ pub struct IFsrmFileScreenBase_Vtbl { impl IFsrmFileScreenException { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2526,12 +2526,12 @@ impl IFsrmFileScreenException { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AllowedFileGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAllowedFileGroups(&self, allowlist: P0) -> ::windows_core::Result<()> @@ -2565,12 +2565,12 @@ impl IFsrmFileScreenManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariables(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariableDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileScreen(&self, path: P0) -> ::windows_core::Result @@ -2578,7 +2578,7 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileScreen)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileScreen)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileScreen(&self, path: P0) -> ::windows_core::Result @@ -2586,7 +2586,7 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileScreen)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileScreen)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumFileScreens(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -2594,7 +2594,7 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFileScreens)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFileScreens)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileScreenException(&self, path: P0) -> ::windows_core::Result @@ -2602,7 +2602,7 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileScreenException)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileScreenException)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileScreenException(&self, path: P0) -> ::windows_core::Result @@ -2610,7 +2610,7 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileScreenException)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileScreenException)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumFileScreenExceptions(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -2618,12 +2618,12 @@ impl IFsrmFileScreenManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFileScreenExceptions)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFileScreenExceptions)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileScreenCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileScreenCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileScreenCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2676,11 +2676,11 @@ pub struct IFsrmFileScreenManager_Vtbl { impl IFsrmFileScreenTemplate { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2697,7 +2697,7 @@ impl IFsrmFileScreenTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BlockedFileGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBlockedFileGroups(&self, blocklist: P0) -> ::windows_core::Result<()> @@ -2708,7 +2708,7 @@ impl IFsrmFileScreenTemplate { } pub unsafe fn FileScreenFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileScreenFlags)(::windows_core::Interface::as_raw(self), filescreenflags).ok() @@ -2716,16 +2716,16 @@ impl IFsrmFileScreenTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -2742,7 +2742,7 @@ impl IFsrmFileScreenTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2766,11 +2766,11 @@ pub struct IFsrmFileScreenTemplate_Vtbl { impl IFsrmFileScreenTemplateImported { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2787,7 +2787,7 @@ impl IFsrmFileScreenTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BlockedFileGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BlockedFileGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBlockedFileGroups(&self, blocklist: P0) -> ::windows_core::Result<()> @@ -2798,7 +2798,7 @@ impl IFsrmFileScreenTemplateImported { } pub unsafe fn FileScreenFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileScreenFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetFileScreenFlags)(::windows_core::Interface::as_raw(self), filescreenflags).ok() @@ -2806,16 +2806,16 @@ impl IFsrmFileScreenTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAction)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumActions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -2832,11 +2832,11 @@ impl IFsrmFileScreenTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OverwriteOnCommit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverwriteOnCommit(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -2862,7 +2862,7 @@ impl IFsrmFileScreenTemplateManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTemplate(&self, name: P0) -> ::windows_core::Result @@ -2870,16 +2870,16 @@ impl IFsrmFileScreenTemplateManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemplate)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemplate)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumTemplates(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTemplates)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTemplates)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportTemplates(&self, filescreentemplatenamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportTemplates)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(filescreentemplatenamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportTemplates)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(filescreentemplatenamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportTemplates(&self, serializedfilescreentemplates: P0, filescreentemplatenamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -2887,7 +2887,7 @@ impl IFsrmFileScreenTemplateManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportTemplates)(::windows_core::Interface::as_raw(self), serializedfilescreentemplates.into_param().abi(), ::core::mem::transmute(filescreentemplatenamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportTemplates)(::windows_core::Interface::as_raw(self), serializedfilescreentemplates.into_param().abi(), ::core::mem::transmute(filescreentemplatenamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2921,30 +2921,30 @@ pub struct IFsrmFileScreenTemplateManager_Vtbl { impl IFsrmMutableCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Cancel)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn GetById(&self, id: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetById)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(id), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, item: P0) -> ::windows_core::Result<()> where @@ -2961,7 +2961,7 @@ impl IFsrmMutableCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2985,11 +2985,11 @@ pub struct IFsrmMutableCollection_Vtbl { impl IFsrmObject { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -3027,7 +3027,7 @@ impl IFsrmPathMapper { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharePathsForLocalPath)(::windows_core::Interface::as_raw(self), localpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharePathsForLocalPath)(::windows_core::Interface::as_raw(self), localpath.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3049,19 +3049,19 @@ impl IFsrmPipelineModuleConnector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModuleImplementation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleImplementation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleImplementation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModuleName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HostingUserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostingUserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostingUserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HostingProcessPid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostingProcessPid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostingProcessPid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Bind(&self, moduledefinition: P0, moduleimplementation: P1) -> ::windows_core::Result<()> @@ -3097,11 +3097,11 @@ pub struct IFsrmPipelineModuleConnector_Vtbl { impl IFsrmPipelineModuleDefinition { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -3117,7 +3117,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn ModuleClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModuleClsid(&self, moduleclsid: P0) -> ::windows_core::Result<()> where @@ -3127,7 +3127,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3137,7 +3137,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn Company(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Company)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCompany(&self, company: P0) -> ::windows_core::Result<()> where @@ -3147,7 +3147,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, version: P0) -> ::windows_core::Result<()> where @@ -3157,11 +3157,11 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn ModuleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -3171,7 +3171,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn NeedsFileContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: P0) -> ::windows_core::Result<()> where @@ -3181,7 +3181,7 @@ impl IFsrmPipelineModuleDefinition { } pub unsafe fn Account(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Account)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Account)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAccount)(::windows_core::Interface::as_raw(self), retrievalaccount).ok() @@ -3189,7 +3189,7 @@ impl IFsrmPipelineModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedExtensions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3198,7 +3198,7 @@ impl IFsrmPipelineModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3254,7 +3254,7 @@ impl IFsrmPipelineModuleImplementation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnUnload(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnUnload)(::windows_core::Interface::as_raw(self)).ok() @@ -3279,20 +3279,20 @@ pub struct IFsrmPipelineModuleImplementation_Vtbl { impl IFsrmProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Sources(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sources)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3316,73 +3316,73 @@ pub struct IFsrmProperty_Vtbl { impl IFsrmPropertyBag { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RelativePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RelativePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RelativePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RelativeNamespaceRoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RelativeNamespaceRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RelativeNamespaceRoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ParentDirectoryId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentDirectoryId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentDirectoryId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Size(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SizeAllocated(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeAllocated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeAllocated)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastAccessTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastModificationTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OwnerSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FilePropertyNames(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilePropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilePropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Messages(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Messages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Messages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyBagFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyBagFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyBagFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileProperty(&self, name: P0) -> ::windows_core::Result @@ -3390,7 +3390,7 @@ impl IFsrmPropertyBag { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileProperty(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -3407,7 +3407,7 @@ impl IFsrmPropertyBag { } pub unsafe fn GetFileStreamInterface(&self, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileStreamInterface)(::windows_core::Interface::as_raw(self), accessmode, interfacetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileStreamInterface)(::windows_core::Interface::as_raw(self), accessmode, interfacetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3454,73 +3454,73 @@ pub struct IFsrmPropertyBag_Vtbl { impl IFsrmPropertyBag2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RelativePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RelativePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RelativePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RelativeNamespaceRoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RelativeNamespaceRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RelativeNamespaceRoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ParentDirectoryId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentDirectoryId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentDirectoryId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Size(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SizeAllocated(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SizeAllocated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SizeAllocated)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastAccessTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastAccessTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastModificationTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Attributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OwnerSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OwnerSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OwnerSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FilePropertyNames(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FilePropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FilePropertyNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Messages(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Messages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Messages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyBagFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PropertyBagFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PropertyBagFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFileProperty(&self, name: P0) -> ::windows_core::Result @@ -3528,7 +3528,7 @@ impl IFsrmPropertyBag2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileProperty)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileProperty(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -3545,16 +3545,16 @@ impl IFsrmPropertyBag2 { } pub unsafe fn GetFileStreamInterface(&self, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileStreamInterface)(::windows_core::Interface::as_raw(self), accessmode, interfacetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileStreamInterface)(::windows_core::Interface::as_raw(self), accessmode, interfacetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFieldValue(&self, field: FsrmPropertyBagField) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldValue)(::windows_core::Interface::as_raw(self), field, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldValue)(::windows_core::Interface::as_raw(self), field, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUntrustedInFileProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUntrustedInFileProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUntrustedInFileProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3576,7 +3576,7 @@ pub struct IFsrmPropertyBag2_Vtbl { impl IFsrmPropertyCondition { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3586,14 +3586,14 @@ impl IFsrmPropertyCondition { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, r#type: FsrmPropertyConditionType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -3626,11 +3626,11 @@ pub struct IFsrmPropertyCondition_Vtbl { impl IFsrmPropertyDefinition { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -3646,7 +3646,7 @@ impl IFsrmPropertyDefinition { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3656,7 +3656,7 @@ impl IFsrmPropertyDefinition { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, r#type: FsrmPropertyDefinitionType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -3664,7 +3664,7 @@ impl IFsrmPropertyDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PossibleValues(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PossibleValues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PossibleValues)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPossibleValues(&self, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3673,7 +3673,7 @@ impl IFsrmPropertyDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValueDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetValueDescriptions(&self, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3682,7 +3682,7 @@ impl IFsrmPropertyDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3731,11 +3731,11 @@ pub struct IFsrmPropertyDefinition_Vtbl { impl IFsrmPropertyDefinition2 { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -3751,7 +3751,7 @@ impl IFsrmPropertyDefinition2 { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3761,7 +3761,7 @@ impl IFsrmPropertyDefinition2 { } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, r#type: FsrmPropertyDefinitionType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetType)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -3769,7 +3769,7 @@ impl IFsrmPropertyDefinition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PossibleValues(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PossibleValues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PossibleValues)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPossibleValues(&self, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3778,7 +3778,7 @@ impl IFsrmPropertyDefinition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValueDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ValueDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ValueDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetValueDescriptions(&self, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3787,7 +3787,7 @@ impl IFsrmPropertyDefinition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3795,11 +3795,11 @@ impl IFsrmPropertyDefinition2 { } pub unsafe fn PropertyDefinitionFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyDefinitionFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyDefinitionFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3809,12 +3809,12 @@ impl IFsrmPropertyDefinition2 { } pub unsafe fn AppliesTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppliesTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppliesTo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValueDefinitions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueDefinitions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3839,19 +3839,19 @@ pub struct IFsrmPropertyDefinition2_Vtbl { impl IFsrmPropertyDefinitionValue { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UniqueID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UniqueID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UniqueID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3872,11 +3872,11 @@ pub struct IFsrmPropertyDefinitionValue_Vtbl { impl IFsrmQuota { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -3892,7 +3892,7 @@ impl IFsrmQuota { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -3902,7 +3902,7 @@ impl IFsrmQuota { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -3910,7 +3910,7 @@ impl IFsrmQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -3924,32 +3924,32 @@ impl IFsrmQuota { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SourceTemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MatchesSourceTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ApplyTemplate(&self, quotatemplatename: P0) -> ::windows_core::Result<()> where @@ -3959,15 +3959,15 @@ impl IFsrmQuota { } pub unsafe fn QuotaUsed(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuotaUsed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuotaUsed)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuotaPeakUsage(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuotaPeakUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuotaPeakUsage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuotaPeakUsageTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuotaPeakUsageTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuotaPeakUsageTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetPeakUsage(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetPeakUsage)(::windows_core::Interface::as_raw(self)).ok() @@ -3995,11 +3995,11 @@ pub struct IFsrmQuota_Vtbl { impl IFsrmQuotaBase { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4015,7 +4015,7 @@ impl IFsrmQuotaBase { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -4025,7 +4025,7 @@ impl IFsrmQuotaBase { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -4033,7 +4033,7 @@ impl IFsrmQuotaBase { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -4047,12 +4047,12 @@ impl IFsrmQuotaBase { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4089,12 +4089,12 @@ impl IFsrmQuotaManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariables(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariableDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateQuota(&self, path: P0) -> ::windows_core::Result @@ -4102,7 +4102,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAutoApplyQuota(&self, quotatemplatename: P0, path: P1) -> ::windows_core::Result @@ -4111,7 +4111,7 @@ impl IFsrmQuotaManager { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAutoApplyQuota)(::windows_core::Interface::as_raw(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAutoApplyQuota)(::windows_core::Interface::as_raw(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetQuota(&self, path: P0) -> ::windows_core::Result @@ -4119,7 +4119,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAutoApplyQuota(&self, path: P0) -> ::windows_core::Result @@ -4127,7 +4127,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoApplyQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoApplyQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRestrictiveQuota(&self, path: P0) -> ::windows_core::Result @@ -4135,7 +4135,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictiveQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictiveQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4143,7 +4143,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumAutoApplyQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4151,7 +4151,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAutoApplyQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAutoApplyQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumEffectiveQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4159,7 +4159,7 @@ impl IFsrmQuotaManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumEffectiveQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumEffectiveQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Scan(&self, strpath: P0) -> ::windows_core::Result<()> where @@ -4170,7 +4170,7 @@ impl IFsrmQuotaManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateQuotaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQuotaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQuotaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4233,12 +4233,12 @@ impl IFsrmQuotaManagerEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariables(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionVariables)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActionVariableDescriptions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActionVariableDescriptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateQuota(&self, path: P0) -> ::windows_core::Result @@ -4246,7 +4246,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAutoApplyQuota(&self, quotatemplatename: P0, path: P1) -> ::windows_core::Result @@ -4255,7 +4255,7 @@ impl IFsrmQuotaManagerEx { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAutoApplyQuota)(::windows_core::Interface::as_raw(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAutoApplyQuota)(::windows_core::Interface::as_raw(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetQuota(&self, path: P0) -> ::windows_core::Result @@ -4263,7 +4263,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAutoApplyQuota(&self, path: P0) -> ::windows_core::Result @@ -4271,7 +4271,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAutoApplyQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAutoApplyQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRestrictiveQuota(&self, path: P0) -> ::windows_core::Result @@ -4279,7 +4279,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRestrictiveQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRestrictiveQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4287,7 +4287,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumAutoApplyQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4295,7 +4295,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumAutoApplyQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumAutoApplyQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumEffectiveQuotas(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result @@ -4303,7 +4303,7 @@ impl IFsrmQuotaManagerEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumEffectiveQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumEffectiveQuotas)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Scan(&self, strpath: P0) -> ::windows_core::Result<()> where @@ -4314,14 +4314,14 @@ impl IFsrmQuotaManagerEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateQuotaCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateQuotaCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateQuotaCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsAffectedByQuota(&self, path: P0, options: FsrmEnumOptions) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAffectedByQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAffectedByQuota)(::windows_core::Interface::as_raw(self), path.into_param().abi(), options, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4339,11 +4339,11 @@ pub struct IFsrmQuotaManagerEx_Vtbl { impl IFsrmQuotaObject { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4359,7 +4359,7 @@ impl IFsrmQuotaObject { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -4369,7 +4369,7 @@ impl IFsrmQuotaObject { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -4377,7 +4377,7 @@ impl IFsrmQuotaObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -4391,32 +4391,32 @@ impl IFsrmQuotaObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SourceTemplateName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceTemplateName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MatchesSourceTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MatchesSourceTemplate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ApplyTemplate(&self, quotatemplatename: P0) -> ::windows_core::Result<()> where @@ -4445,11 +4445,11 @@ pub struct IFsrmQuotaObject_Vtbl { impl IFsrmQuotaTemplate { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4465,7 +4465,7 @@ impl IFsrmQuotaTemplate { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -4475,7 +4475,7 @@ impl IFsrmQuotaTemplate { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -4483,7 +4483,7 @@ impl IFsrmQuotaTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -4497,16 +4497,16 @@ impl IFsrmQuotaTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4523,7 +4523,7 @@ impl IFsrmQuotaTemplate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4547,11 +4547,11 @@ pub struct IFsrmQuotaTemplate_Vtbl { impl IFsrmQuotaTemplateImported { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4567,7 +4567,7 @@ impl IFsrmQuotaTemplateImported { } pub unsafe fn QuotaLimit(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaLimit)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetQuotaLimit(&self, quotalimit: P0) -> ::windows_core::Result<()> where @@ -4577,7 +4577,7 @@ impl IFsrmQuotaTemplateImported { } pub unsafe fn QuotaFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QuotaFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetQuotaFlags)(::windows_core::Interface::as_raw(self), quotaflags).ok() @@ -4585,7 +4585,7 @@ impl IFsrmQuotaTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Thresholds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Thresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.AddThreshold)(::windows_core::Interface::as_raw(self), threshold).ok() @@ -4599,16 +4599,16 @@ impl IFsrmQuotaTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateThresholdAction)(::windows_core::Interface::as_raw(self), threshold, actiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumThresholdActions)(::windows_core::Interface::as_raw(self), threshold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4625,11 +4625,11 @@ impl IFsrmQuotaTemplateImported { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CommitAndUpdateDerived)(::windows_core::Interface::as_raw(self), commitoptions, applyoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OverwriteOnCommit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OverwriteOnCommit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverwriteOnCommit(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -4655,7 +4655,7 @@ impl IFsrmQuotaTemplateManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTemplate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTemplate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTemplate(&self, name: P0) -> ::windows_core::Result @@ -4663,16 +4663,16 @@ impl IFsrmQuotaTemplateManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemplate)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemplate)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumTemplates(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTemplates)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTemplates)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportTemplates(&self, quotatemplatenamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExportTemplates)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(quotatemplatenamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExportTemplates)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(quotatemplatenamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportTemplates(&self, serializedquotatemplates: P0, quotatemplatenamesarray: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -4680,7 +4680,7 @@ impl IFsrmQuotaTemplateManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportTemplates)(::windows_core::Interface::as_raw(self), serializedquotatemplates.into_param().abi(), ::core::mem::transmute(quotatemplatenamesarray), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportTemplates)(::windows_core::Interface::as_raw(self), serializedquotatemplates.into_param().abi(), ::core::mem::transmute(quotatemplatenamesarray), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4714,11 +4714,11 @@ pub struct IFsrmQuotaTemplateManager_Vtbl { impl IFsrmReport { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4728,7 +4728,7 @@ impl IFsrmReport { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4738,11 +4738,11 @@ impl IFsrmReport { } pub unsafe fn LastGeneratedFileNamePrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastGeneratedFileNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastGeneratedFileNamePrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilter(&self, filter: FsrmReportFilter) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), filter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilter(&self, filter: FsrmReportFilter, filtervalue: P0) -> ::windows_core::Result<()> where @@ -4777,11 +4777,11 @@ pub struct IFsrmReport_Vtbl { impl IFsrmReportJob { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4797,7 +4797,7 @@ impl IFsrmReportJob { } pub unsafe fn Task(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTask(&self, taskname: P0) -> ::windows_core::Result<()> where @@ -4808,7 +4808,7 @@ impl IFsrmReportJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -4817,7 +4817,7 @@ impl IFsrmReportJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Formats(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Formats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Formats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -4825,7 +4825,7 @@ impl IFsrmReportJob { } pub unsafe fn MailTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailTo(&self, mailto: P0) -> ::windows_core::Result<()> where @@ -4835,36 +4835,36 @@ impl IFsrmReportJob { } pub unsafe fn RunningStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunningStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastRun(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastRun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastRun)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastError(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastGeneratedInDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastGeneratedInDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastGeneratedInDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumReports(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumReports)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumReports)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateReport(&self, reporttype: FsrmReportType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReport)(::windows_core::Interface::as_raw(self), reporttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Run(&self, context: FsrmReportGenerationContext) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), context).ok() } pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForCompletion)(::windows_core::Interface::as_raw(self), waitseconds, &mut result__).map(|| result__) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -4920,12 +4920,12 @@ impl IFsrmReportManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumReportJobs(&self, options: FsrmEnumOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumReportJobs)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumReportJobs)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateReportJob(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReportJob)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReportJob)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetReportJob(&self, taskname: P0) -> ::windows_core::Result @@ -4933,11 +4933,11 @@ impl IFsrmReportManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReportJob)(::windows_core::Interface::as_raw(self), taskname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReportJob)(::windows_core::Interface::as_raw(self), taskname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputDirectory(&self, context: FsrmReportGenerationContext) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputDirectory)(::windows_core::Interface::as_raw(self), context, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputDirectory)(::windows_core::Interface::as_raw(self), context, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputDirectory(&self, context: FsrmReportGenerationContext, path: P0) -> ::windows_core::Result<()> where @@ -4947,11 +4947,11 @@ impl IFsrmReportManager { } pub unsafe fn IsFilterValidForReportType(&self, reporttype: FsrmReportType, filter: FsrmReportFilter) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFilterValidForReportType)(::windows_core::Interface::as_raw(self), reporttype, filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFilterValidForReportType)(::windows_core::Interface::as_raw(self), reporttype, filter, &mut result__).map(|| result__) } pub unsafe fn GetDefaultFilter(&self, reporttype: FsrmReportType, filter: FsrmReportFilter) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultFilter)(::windows_core::Interface::as_raw(self), reporttype, filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultFilter)(::windows_core::Interface::as_raw(self), reporttype, filter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultFilter(&self, reporttype: FsrmReportType, filter: FsrmReportFilter, filtervalue: P0) -> ::windows_core::Result<()> where @@ -4961,7 +4961,7 @@ impl IFsrmReportManager { } pub unsafe fn GetReportSizeLimit(&self, limit: FsrmReportLimit) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReportSizeLimit)(::windows_core::Interface::as_raw(self), limit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReportSizeLimit)(::windows_core::Interface::as_raw(self), limit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReportSizeLimit(&self, limit: FsrmReportLimit, limitvalue: P0) -> ::windows_core::Result<()> where @@ -5043,11 +5043,11 @@ pub struct IFsrmReportScheduler_Vtbl { impl IFsrmRule { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -5063,7 +5063,7 @@ impl IFsrmRule { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -5073,11 +5073,11 @@ impl IFsrmRule { } pub unsafe fn RuleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RuleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RuleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModuleDefinitionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleDefinitionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleDefinitionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModuleDefinitionName(&self, moduledefinitionname: P0) -> ::windows_core::Result<()> where @@ -5088,7 +5088,7 @@ impl IFsrmRule { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamespaceRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -5096,7 +5096,7 @@ impl IFsrmRule { } pub unsafe fn RuleFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RuleFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RuleFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRuleFlags(&self, ruleflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRuleFlags)(::windows_core::Interface::as_raw(self), ruleflags).ok() @@ -5104,7 +5104,7 @@ impl IFsrmRule { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -5112,7 +5112,7 @@ impl IFsrmRule { } pub unsafe fn LastModified(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastModified)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5153,7 +5153,7 @@ pub struct IFsrmRule_Vtbl { impl IFsrmSetting { pub unsafe fn SmtpServer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmtpServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmtpServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSmtpServer(&self, smtpserver: P0) -> ::windows_core::Result<()> where @@ -5163,7 +5163,7 @@ impl IFsrmSetting { } pub unsafe fn MailFrom(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MailFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMailFrom(&self, mailfrom: P0) -> ::windows_core::Result<()> where @@ -5173,7 +5173,7 @@ impl IFsrmSetting { } pub unsafe fn AdminEmail(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminEmail)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminEmail)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAdminEmail(&self, adminemail: P0) -> ::windows_core::Result<()> where @@ -5183,7 +5183,7 @@ impl IFsrmSetting { } pub unsafe fn DisableCommandLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisableCommandLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisableCommandLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisableCommandLine(&self, disablecommandline: P0) -> ::windows_core::Result<()> where @@ -5193,7 +5193,7 @@ impl IFsrmSetting { } pub unsafe fn EnableScreeningAudit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableScreeningAudit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableScreeningAudit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableScreeningAudit(&self, enablescreeningaudit: P0) -> ::windows_core::Result<()> where @@ -5212,7 +5212,7 @@ impl IFsrmSetting { } pub unsafe fn GetActionRunLimitInterval(&self, actiontype: FsrmActionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActionRunLimitInterval)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActionRunLimitInterval)(::windows_core::Interface::as_raw(self), actiontype, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5242,11 +5242,11 @@ pub struct IFsrmSetting_Vtbl { impl IFsrmStorageModuleDefinition { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -5262,7 +5262,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn ModuleClsid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModuleClsid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModuleClsid(&self, moduleclsid: P0) -> ::windows_core::Result<()> where @@ -5272,7 +5272,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -5282,7 +5282,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn Company(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Company)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Company)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCompany(&self, company: P0) -> ::windows_core::Result<()> where @@ -5292,7 +5292,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVersion(&self, version: P0) -> ::windows_core::Result<()> where @@ -5302,11 +5302,11 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn ModuleType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModuleType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -5316,7 +5316,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn NeedsFileContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NeedsFileContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: P0) -> ::windows_core::Result<()> where @@ -5326,7 +5326,7 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn Account(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Account)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Account)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAccount)(::windows_core::Interface::as_raw(self), retrievalaccount).ok() @@ -5334,7 +5334,7 @@ impl IFsrmStorageModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedExtensions(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -5343,7 +5343,7 @@ impl IFsrmStorageModuleDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parameters(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -5351,21 +5351,21 @@ impl IFsrmStorageModuleDefinition { } pub unsafe fn Capabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCapabilities(&self, capabilities: FsrmStorageModuleCaps) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCapabilities)(::windows_core::Interface::as_raw(self), capabilities).ok() } pub unsafe fn StorageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StorageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StorageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStorageType(&self, storagetype: FsrmStorageModuleType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStorageType)(::windows_core::Interface::as_raw(self), storagetype).ok() } pub unsafe fn UpdatesFileContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdatesFileContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdatesFileContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUpdatesFileContent(&self, updatesfilecontent: P0) -> ::windows_core::Result<()> where @@ -5398,7 +5398,7 @@ impl IFsrmStorageModuleImplementation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnLoad)(::windows_core::Interface::as_raw(self), moduledefinition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnUnload(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnUnload)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/Storage/FileSystem/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/FileSystem/mod.rs index 7b61f7d670..6fbc29dca0 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/FileSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/FileSystem/mod.rs @@ -486,7 +486,7 @@ where pub unsafe fn CreateIoRing(ioringversion: IORING_VERSION, flags: IORING_CREATE_FLAGS, submissionqueuesize: u32, completionqueuesize: u32) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-ioring-l1-1-0.dll" "system" fn CreateIoRing(ioringversion : IORING_VERSION, flags : IORING_CREATE_FLAGS, submissionqueuesize : u32, completionqueuesize : u32, h : *mut HIORING) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateIoRing(ioringversion, ::core::mem::transmute(flags), submissionqueuesize, completionqueuesize, &mut result__).from_abi(result__) + CreateIoRing(ioringversion, ::core::mem::transmute(flags), submissionqueuesize, completionqueuesize, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_IO")] #[inline] @@ -2262,7 +2262,7 @@ where { ::windows_targets::link!("api-ms-win-core-ioring-l1-1-0.dll" "system" fn PopIoRingCompletion(ioring : HIORING, cqe : *mut IORING_CQE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PopIoRingCompletion(ioring.into_param().abi(), &mut result__).from_abi(result__) + PopIoRingCompletion(ioring.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PrePrepareComplete(enlistmenthandle: P0, tmvirtualclock: *mut i64) -> ::windows_core::Result<()> @@ -2333,7 +2333,7 @@ where pub unsafe fn QueryIoRingCapabilities() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-ioring-l1-1-0.dll" "system" fn QueryIoRingCapabilities(capabilities : *mut IORING_CAPABILITIES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - QueryIoRingCapabilities(&mut result__).from_abi(result__) + QueryIoRingCapabilities(&mut result__).map(|| result__) } #[inline] pub unsafe fn QueryLogPolicy(hlog: P0, epolicytype: CLFS_MGMT_POLICY_TYPE, ppolicybuffer: *mut CLFS_MGMT_POLICY, pcbpolicybuffer: *mut u32) -> ::windows_core::Result<()> @@ -3029,7 +3029,7 @@ pub unsafe fn TxfGetThreadMiniVersionForCreate() -> u16 { ::windows_targets::link!("txfw32.dll" "system" fn TxfGetThreadMiniVersionForCreate(miniversion : *mut u16)); let mut result__ = ::std::mem::zeroed(); TxfGetThreadMiniVersionForCreate(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn TxfLogCreateFileReadContext(logpath: P0, beginninglsn: CLS_LSN, endinglsn: CLS_LSN, txffileid: *const TXF_ID, txflogcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -3199,7 +3199,7 @@ where { ::windows_targets::link!("wofutil.dll" "system" fn WofGetDriverVersion(fileorvolumehandle : super::super::Foundation:: HANDLE, provider : u32, wofversion : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WofGetDriverVersion(fileorvolumehandle.into_param().abi(), provider, &mut result__).from_abi(result__) + WofGetDriverVersion(fileorvolumehandle.into_param().abi(), provider, &mut result__).map(|| result__) } #[inline] pub unsafe fn WofIsExternalFile(filepath: P0, isexternalfile: ::core::option::Option<*mut super::super::Foundation::BOOL>, provider: ::core::option::Option<*mut u32>, externalfileinfo: ::core::option::Option<*mut ::core::ffi::c_void>, bufferlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -3233,7 +3233,7 @@ where { ::windows_targets::link!("wofutil.dll" "system" fn WofWimAddEntry(volumename : ::windows_core::PCWSTR, wimpath : ::windows_core::PCWSTR, wimtype : u32, wimindex : u32, datasourceid : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WofWimAddEntry(volumename.into_param().abi(), wimpath.into_param().abi(), wimtype, wimindex, &mut result__).from_abi(result__) + WofWimAddEntry(volumename.into_param().abi(), wimpath.into_param().abi(), wimtype, wimindex, &mut result__).map(|| result__) } #[inline] pub unsafe fn WofWimEnumFiles(volumename: P0, datasourceid: i64, enumproc: WofEnumFilesProc, userdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> @@ -3342,12 +3342,12 @@ impl IDiskQuotaControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumConnectionPoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumConnectionPoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumConnectionPoints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindConnectionPoint(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Initialize(&self, pszpath: P0, breadwrite: P1) -> ::windows_core::Result<()> where @@ -3397,14 +3397,14 @@ impl IDiskQuotaControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddUserSid)(::windows_core::Interface::as_raw(self), pusersid.into_param().abi(), fnameresolution, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddUserSid)(::windows_core::Interface::as_raw(self), pusersid.into_param().abi(), fnameresolution, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddUserName(&self, pszlogonname: P0, fnameresolution: DISKQUOTA_USERNAME_RESOLVE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddUserName)(::windows_core::Interface::as_raw(self), pszlogonname.into_param().abi(), fnameresolution, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddUserName)(::windows_core::Interface::as_raw(self), pszlogonname.into_param().abi(), fnameresolution, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteUser(&self, puser: P0) -> ::windows_core::Result<()> where @@ -3417,21 +3417,21 @@ impl IDiskQuotaControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindUserSid)(::windows_core::Interface::as_raw(self), pusersid.into_param().abi(), fnameresolution, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindUserSid)(::windows_core::Interface::as_raw(self), pusersid.into_param().abi(), fnameresolution, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindUserName(&self, pszlogonname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindUserName)(::windows_core::Interface::as_raw(self), pszlogonname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindUserName)(::windows_core::Interface::as_raw(self), pszlogonname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEnumUsers(&self, rgpusersids: *mut super::super::Foundation::PSID, cpsids: u32, fnameresolution: DISKQUOTA_USERNAME_RESOLVE, ppenum: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateEnumUsers)(::windows_core::Interface::as_raw(self), rgpusersids, cpsids, fnameresolution, ::core::mem::transmute(ppenum)).ok() } pub unsafe fn CreateUserBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUserBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUserBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvalidateSidNameCache(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InvalidateSidNameCache)(::windows_core::Interface::as_raw(self)).ok() @@ -3623,7 +3623,7 @@ impl IEnumDiskQuotaUsers { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Imapi/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Imapi/mod.rs index e39ee91c93..d9d64e284c 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Imapi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Imapi/mod.rs @@ -262,11 +262,11 @@ pub struct DWriteEngine2Events_Vtbl { impl IBlockRange { pub unsafe fn StartLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EndLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -286,7 +286,7 @@ impl IBlockRangeList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BlockRanges(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockRanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -308,11 +308,11 @@ impl IBootOptions { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BootImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BootImage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Manufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Manufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Manufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetManufacturer(&self, newval: P0) -> ::windows_core::Result<()> where @@ -322,21 +322,21 @@ impl IBootOptions { } pub unsafe fn PlatformId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlatformId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlatformId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlatformId(&self, newval: PlatformId) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlatformId)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn Emulation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Emulation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Emulation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEmulation(&self, newval: EmulationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEmulation)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ImageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssignBootImage(&self, newval: P0) -> ::windows_core::Result<()> @@ -375,7 +375,7 @@ impl IBurnVerification { } pub unsafe fn BurnVerificationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BurnVerificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BurnVerificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -397,7 +397,7 @@ impl IDiscFormat2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsCurrentMediaSupported(&self, recorder: P0) -> ::windows_core::Result @@ -405,20 +405,20 @@ impl IDiscFormat2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedMediaTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -453,7 +453,7 @@ impl IDiscFormat2Data { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsCurrentMediaSupported(&self, recorder: P0) -> ::windows_core::Result @@ -461,20 +461,20 @@ impl IDiscFormat2Data { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedMediaTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRecorder(&self, value: P0) -> ::windows_core::Result<()> @@ -486,7 +486,7 @@ impl IDiscFormat2Data { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: P0) -> ::windows_core::Result<()> where @@ -496,7 +496,7 @@ impl IDiscFormat2Data { } pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPostgapAlreadyInImage(&self, value: P0) -> ::windows_core::Result<()> where @@ -506,35 +506,35 @@ impl IDiscFormat2Data { } pub unsafe fn PostgapAlreadyInImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PostgapAlreadyInImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PostgapAlreadyInImage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentMediaStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentMediaStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentMediaStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteProtectStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteProtectStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteProtectStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NextWritableAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceMediaToBeClosed(&self, value: P0) -> ::windows_core::Result<()> where @@ -544,7 +544,7 @@ impl IDiscFormat2Data { } pub unsafe fn ForceMediaToBeClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForceMediaToBeClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForceMediaToBeClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisableConsumerDvdCompatibilityMode(&self, value: P0) -> ::windows_core::Result<()> where @@ -554,11 +554,11 @@ impl IDiscFormat2Data { } pub unsafe fn DisableConsumerDvdCompatibilityMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisableConsumerDvdCompatibilityMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisableConsumerDvdCompatibilityMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientName(&self, value: P0) -> ::windows_core::Result<()> where @@ -568,33 +568,33 @@ impl IDiscFormat2Data { } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestedWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceOverwrite(&self, value: P0) -> ::windows_core::Result<()> where @@ -604,12 +604,12 @@ impl IDiscFormat2Data { } pub unsafe fn ForceOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForceOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForceOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MultisessionInterfaces(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Write(&self, data: P0) -> ::windows_core::Result<()> @@ -692,47 +692,47 @@ pub struct IDiscFormat2Data_Vtbl { impl IDiscFormat2DataEventArgs { pub unsafe fn StartLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastReadLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ElapsedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemainingTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -757,7 +757,7 @@ impl IDiscFormat2Erase { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsCurrentMediaSupported(&self, recorder: P0) -> ::windows_core::Result @@ -765,20 +765,20 @@ impl IDiscFormat2Erase { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedMediaTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRecorder(&self, value: P0) -> ::windows_core::Result<()> @@ -790,7 +790,7 @@ impl IDiscFormat2Erase { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFullErase(&self, value: P0) -> ::windows_core::Result<()> where @@ -800,11 +800,11 @@ impl IDiscFormat2Erase { } pub unsafe fn FullErase(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullErase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullErase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientName(&self, value: P0) -> ::windows_core::Result<()> where @@ -814,7 +814,7 @@ impl IDiscFormat2Erase { } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EraseMedia(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EraseMedia)(::windows_core::Interface::as_raw(self)).ok() @@ -852,7 +852,7 @@ impl IDiscFormat2RawCD { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsCurrentMediaSupported(&self, recorder: P0) -> ::windows_core::Result @@ -860,20 +860,20 @@ impl IDiscFormat2RawCD { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedMediaTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrepareMedia(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PrepareMedia)(::windows_core::Interface::as_raw(self)).ok() @@ -914,7 +914,7 @@ impl IDiscFormat2RawCD { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: P0) -> ::windows_core::Result<()> where @@ -924,31 +924,31 @@ impl IDiscFormat2RawCD { } pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartOfNextSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartOfNextSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartOfNextSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastPossibleStartOfLeadout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastPossibleStartOfLeadout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastPossibleStartOfLeadout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedSectorTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedSectorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedSectorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestedSectorType(&self, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRequestedSectorType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn RequestedSectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedSectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedSectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientName(&self, value: P0) -> ::windows_core::Result<()> where @@ -958,33 +958,33 @@ impl IDiscFormat2RawCD { } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestedWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1046,43 +1046,43 @@ pub struct IDiscFormat2RawCD_Vtbl { impl IDiscFormat2RawCDEventArgs { pub unsafe fn StartLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastReadLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ElapsedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemainingTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1106,7 +1106,7 @@ impl IDiscFormat2TrackAtOnce { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRecorderSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsCurrentMediaSupported(&self, recorder: P0) -> ::windows_core::Result @@ -1114,20 +1114,20 @@ impl IDiscFormat2TrackAtOnce { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsCurrentMediaSupported)(::windows_core::Interface::as_raw(self), recorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaPhysicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaHeuristicallyBlank)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedMediaTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrepareMedia(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PrepareMedia)(::windows_core::Interface::as_raw(self)).ok() @@ -1161,7 +1161,7 @@ impl IDiscFormat2TrackAtOnce { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: P0) -> ::windows_core::Result<()> where @@ -1171,23 +1171,23 @@ impl IDiscFormat2TrackAtOnce { } pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferUnderrunFreeDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfExistingTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfExistingTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfExistingTracks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsedSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsedSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDoNotFinalizeMedia(&self, value: P0) -> ::windows_core::Result<()> where @@ -1197,16 +1197,16 @@ impl IDiscFormat2TrackAtOnce { } pub unsafe fn DoNotFinalizeMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoNotFinalizeMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoNotFinalizeMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExpectedTableOfContents(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpectedTableOfContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpectedTableOfContents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPhysicalMediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientName(&self, value: P0) -> ::windows_core::Result<()> where @@ -1216,33 +1216,33 @@ impl IDiscFormat2TrackAtOnce { } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestedWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestedRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentWriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentWriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeeds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedWriteSpeedDescriptors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1302,47 +1302,47 @@ pub struct IDiscFormat2TrackAtOnce_Vtbl { impl IDiscFormat2TrackAtOnceEventArgs { pub unsafe fn StartLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastReadLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentTrackNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentTrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentTrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ElapsedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemainingTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemainingTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1363,22 +1363,22 @@ impl IDiscMaster { } pub unsafe fn EnumDiscMasterFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDiscMasterFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDiscMasterFormats)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActiveDiscMasterFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveDiscMasterFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveDiscMasterFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActiveDiscMasterFormat(&self, riid: *const ::windows_core::GUID, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActiveDiscMasterFormat)(::windows_core::Interface::as_raw(self), riid, ppunk).ok() } pub unsafe fn EnumDiscRecorders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDiscRecorders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDiscRecorders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActiveDiscRecorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveDiscRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveDiscRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetActiveDiscRecorder(&self, precorder: P0) -> ::windows_core::Result<()> where @@ -1394,7 +1394,7 @@ impl IDiscMaster { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgressAdvise)(::windows_core::Interface::as_raw(self), pevents.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgressAdvise)(::windows_core::Interface::as_raw(self), pevents.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ProgressUnadvise(&self, vcookie: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ProgressUnadvise)(::windows_core::Interface::as_raw(self), vcookie).ok() @@ -1432,19 +1432,19 @@ impl IDiscMaster2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSupportedEnvironment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSupportedEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSupportedEnvironment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1465,7 +1465,7 @@ pub struct IDiscMaster2_Vtbl { impl IDiscMasterProgressEvents { pub unsafe fn QueryCancel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCancel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCancel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NotifyPnPActivity(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyPnPActivity)(::windows_core::Interface::as_raw(self)).ok() @@ -1517,23 +1517,23 @@ impl IDiscRecorder { } pub unsafe fn GetRecorderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecorderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecorderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayNames(&self, pbstrvendorid: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrproductid: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrrevision: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDisplayNames)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrvendorid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrproductid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrrevision.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetBasePnPID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBasePnPID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBasePnPID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetRecorderProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecorderProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecorderProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn SetRecorderProperties(&self, ppropstg: P0) -> ::windows_core::Result<()> @@ -1544,7 +1544,7 @@ impl IDiscRecorder { } pub unsafe fn GetRecorderState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecorderState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecorderState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OpenExclusive(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OpenExclusive)(::windows_core::Interface::as_raw(self)).ok() @@ -1627,65 +1627,65 @@ impl IDiscRecorder2 { } pub unsafe fn ActiveDiscRecorder(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveDiscRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveDiscRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VendorId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VendorId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VendorId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductRevision(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductRevision)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VolumePathNames(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumePathNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumePathNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceCanLoadMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceCanLoadMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceCanLoadMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LegacyDeviceNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LegacyDeviceNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LegacyDeviceNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedFeaturePages(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedFeaturePages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedFeaturePages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentFeaturePages(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFeaturePages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFeaturePages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedProfiles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedProfiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedProfiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentProfiles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProfiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProfiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupportedModePages(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedModePages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedModePages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExclusiveAccessOwner(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExclusiveAccessOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExclusiveAccessOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1792,15 +1792,15 @@ impl IDiscRecorder2Ex { } pub unsafe fn GetByteAlignmentMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByteAlignmentMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByteAlignmentMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaximumNonPageAlignedTransferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumNonPageAlignedTransferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumNonPageAlignedTransferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaximumPageAlignedTransferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaximumPageAlignedTransferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaximumPageAlignedTransferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1840,7 +1840,7 @@ impl IEnumDiscMasterFormats { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1866,7 +1866,7 @@ impl IEnumDiscRecorders { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1893,7 +1893,7 @@ impl IEnumFsiItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1923,7 +1923,7 @@ impl IEnumProgressItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1947,18 +1947,18 @@ impl IFileSystemImage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Root(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionStartBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSessionStartBlock)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FreeMediaBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFreeMediaBlocks)(::windows_core::Interface::as_raw(self), newval).ok() @@ -1972,11 +1972,11 @@ impl IFileSystemImage { } pub unsafe fn UsedBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVolumeName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1986,12 +1986,12 @@ impl IFileSystemImage { } pub unsafe fn ImportedVolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImageOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBootImageOptions(&self, newval: P0) -> ::windows_core::Result<()> @@ -2002,15 +2002,15 @@ impl IFileSystemImage { } pub unsafe fn FileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DirectoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2020,11 +2020,11 @@ impl IFileSystemImage { } pub unsafe fn ChangePoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrictFileSystemCompliance(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2034,7 +2034,7 @@ impl IFileSystemImage { } pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2044,26 +2044,26 @@ impl IFileSystemImage { } pub unsafe fn FileSystemsToCreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileSystemsToCreate)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FileSystemsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUDFRevision)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn UDFRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UDFRevisionsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ChooseImageDefaults(&self, discrecorder: P0) -> ::windows_core::Result<()> @@ -2080,28 +2080,28 @@ impl IFileSystemImage { } pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResultImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Exists(&self, fullpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IdentifyFileSystemsOnDisc(&self, discrecorder: P0) -> ::windows_core::Result @@ -2109,15 +2109,15 @@ impl IFileSystemImage { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).map(|| result__) } pub unsafe fn ImportFileSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ImportSpecificFileSystem)(::windows_core::Interface::as_raw(self), filesystemtouse).ok() @@ -2134,7 +2134,7 @@ impl IFileSystemImage { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileItem(&self, name: P0) -> ::windows_core::Result @@ -2142,23 +2142,23 @@ impl IFileSystemImage { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameUDF(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameJoliet(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameISO9660(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StageFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStageFiles(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2169,7 +2169,7 @@ impl IFileSystemImage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MultisessionInterfaces(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2280,18 +2280,18 @@ impl IFileSystemImage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Root(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionStartBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSessionStartBlock)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FreeMediaBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFreeMediaBlocks)(::windows_core::Interface::as_raw(self), newval).ok() @@ -2305,11 +2305,11 @@ impl IFileSystemImage2 { } pub unsafe fn UsedBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVolumeName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2319,12 +2319,12 @@ impl IFileSystemImage2 { } pub unsafe fn ImportedVolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImageOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBootImageOptions(&self, newval: P0) -> ::windows_core::Result<()> @@ -2335,15 +2335,15 @@ impl IFileSystemImage2 { } pub unsafe fn FileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DirectoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2353,11 +2353,11 @@ impl IFileSystemImage2 { } pub unsafe fn ChangePoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrictFileSystemCompliance(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2367,7 +2367,7 @@ impl IFileSystemImage2 { } pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2377,26 +2377,26 @@ impl IFileSystemImage2 { } pub unsafe fn FileSystemsToCreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileSystemsToCreate)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FileSystemsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetUDFRevision)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn UDFRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UDFRevisionsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ChooseImageDefaults(&self, discrecorder: P0) -> ::windows_core::Result<()> @@ -2413,28 +2413,28 @@ impl IFileSystemImage2 { } pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResultImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Exists(&self, fullpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IdentifyFileSystemsOnDisc(&self, discrecorder: P0) -> ::windows_core::Result @@ -2442,15 +2442,15 @@ impl IFileSystemImage2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).map(|| result__) } pub unsafe fn ImportFileSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ImportSpecificFileSystem)(::windows_core::Interface::as_raw(self), filesystemtouse).ok() @@ -2467,7 +2467,7 @@ impl IFileSystemImage2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileItem(&self, name: P0) -> ::windows_core::Result @@ -2475,23 +2475,23 @@ impl IFileSystemImage2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameUDF(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameJoliet(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameISO9660(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StageFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStageFiles(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2502,7 +2502,7 @@ impl IFileSystemImage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MultisessionInterfaces(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2511,7 +2511,7 @@ impl IFileSystemImage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImageOptionsArray(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BootImageOptionsArray)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BootImageOptionsArray)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2541,18 +2541,18 @@ impl IFileSystemImage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Root(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionStartBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionStartBlock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetSessionStartBlock)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FreeMediaBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FreeMediaBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetFreeMediaBlocks)(::windows_core::Interface::as_raw(self), newval).ok() @@ -2566,11 +2566,11 @@ impl IFileSystemImage3 { } pub unsafe fn UsedBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UsedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVolumeName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2580,12 +2580,12 @@ impl IFileSystemImage3 { } pub unsafe fn ImportedVolumeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ImportedVolumeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImageOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BootImageOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBootImageOptions(&self, newval: P0) -> ::windows_core::Result<()> @@ -2596,15 +2596,15 @@ impl IFileSystemImage3 { } pub unsafe fn FileCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DirectoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DirectoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2614,11 +2614,11 @@ impl IFileSystemImage3 { } pub unsafe fn ChangePoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ChangePoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.StrictFileSystemCompliance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrictFileSystemCompliance(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2628,7 +2628,7 @@ impl IFileSystemImage3 { } pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UseRestrictedCharacterSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2638,26 +2638,26 @@ impl IFileSystemImage3 { } pub unsafe fn FileSystemsToCreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemsToCreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetFileSystemsToCreate)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn FileSystemsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetUDFRevision)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn UDFRevision(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UDFRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UDFRevisionsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UDFRevisionsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ChooseImageDefaults(&self, discrecorder: P0) -> ::windows_core::Result<()> @@ -2674,28 +2674,28 @@ impl IFileSystemImage3 { } pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ISO9660InterchangeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ISO9660InterchangeLevelsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResultImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Exists(&self, fullpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Exists)(::windows_core::Interface::as_raw(self), fullpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CalculateDiscIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IdentifyFileSystemsOnDisc(&self, discrecorder: P0) -> ::windows_core::Result @@ -2703,15 +2703,15 @@ impl IFileSystemImage3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IdentifyFileSystemsOnDisc)(::windows_core::Interface::as_raw(self), discrecorder.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDefaultFileSystemForImport)(::windows_core::Interface::as_raw(self), filesystems, &mut result__).map(|| result__) } pub unsafe fn ImportFileSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ImportFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ImportSpecificFileSystem)(::windows_core::Interface::as_raw(self), filesystemtouse).ok() @@ -2728,7 +2728,7 @@ impl IFileSystemImage3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateDirectoryItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFileItem(&self, name: P0) -> ::windows_core::Result @@ -2736,23 +2736,23 @@ impl IFileSystemImage3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFileItem)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameUDF(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VolumeNameUDF)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameJoliet(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VolumeNameJoliet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VolumeNameISO9660(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VolumeNameISO9660)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StageFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.StageFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStageFiles(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2763,7 +2763,7 @@ impl IFileSystemImage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MultisessionInterfaces(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MultisessionInterfaces)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2772,7 +2772,7 @@ impl IFileSystemImage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BootImageOptionsArray(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BootImageOptionsArray)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BootImageOptionsArray)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2780,7 +2780,7 @@ impl IFileSystemImage3 { } pub unsafe fn CreateRedundantUdfMetadataFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRedundantUdfMetadataFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRedundantUdfMetadataFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreateRedundantUdfMetadataFiles(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2790,7 +2790,7 @@ impl IFileSystemImage3 { } pub unsafe fn ProbeSpecificFileSystem(&self, filesystemtoprobe: FsiFileSystems) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProbeSpecificFileSystem)(::windows_core::Interface::as_raw(self), filesystemtoprobe, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProbeSpecificFileSystem)(::windows_core::Interface::as_raw(self), filesystemtoprobe, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2811,24 +2811,24 @@ impl IFileSystemImageResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImageStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ProgressItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TotalBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DiscId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiscId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiscId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2857,29 +2857,29 @@ impl IFileSystemImageResult2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImageStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImageStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImageStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ProgressItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TotalBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TotalBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TotalBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DiscId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DiscId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DiscId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModifiedBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifiedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifiedBlocks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2900,36 +2900,36 @@ pub struct IFileSystemImageResult2_Vtbl { impl IFsiDirectoryItem { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FullPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCreationTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastAccessedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastAccessedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastModifiedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2939,16 +2939,16 @@ impl IFsiDirectoryItem { } pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, path: P0) -> ::windows_core::Result @@ -2956,15 +2956,15 @@ impl IFsiDirectoryItem { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumFsiItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFsiItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFsiItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDirectory(&self, path: P0) -> ::windows_core::Result<()> where @@ -3043,36 +3043,36 @@ pub struct IFsiDirectoryItem_Vtbl { impl IFsiDirectoryItem2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FullPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCreationTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastAccessedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastAccessedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastModifiedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3082,16 +3082,16 @@ impl IFsiDirectoryItem2 { } pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, path: P0) -> ::windows_core::Result @@ -3099,15 +3099,15 @@ impl IFsiDirectoryItem2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Item)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumFsiItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFsiItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFsiItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDirectory(&self, path: P0) -> ::windows_core::Result<()> where @@ -3172,36 +3172,36 @@ pub struct IFsiDirectoryItem2_Vtbl { impl IFsiFileItem { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FullPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCreationTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastAccessedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastAccessedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastModifiedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3211,28 +3211,28 @@ impl IFsiFileItem { } pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DataSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataSize32BitLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSize32BitLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSize32BitLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataSize32BitHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSize32BitHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSize32BitHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Data(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetData(&self, newval: P0) -> ::windows_core::Result<()> @@ -3267,36 +3267,36 @@ pub struct IFsiFileItem_Vtbl { impl IFsiFileItem2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FullPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FullPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetCreationTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastAccessedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastAccessedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastModifiedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3306,28 +3306,28 @@ impl IFsiFileItem2 { } pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DataSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataSize32BitLow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataSize32BitLow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataSize32BitLow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataSize32BitHigh(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataSize32BitHigh)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataSize32BitHigh)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Data(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetData(&self, newval: P0) -> ::windows_core::Result<()> @@ -3339,11 +3339,11 @@ impl IFsiFileItem2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FsiNamedStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FsiNamedStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FsiNamedStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsNamedStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsNamedStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsNamedStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddStream(&self, name: P0, streamdata: P1) -> ::windows_core::Result<()> @@ -3361,7 +3361,7 @@ impl IFsiFileItem2 { } pub unsafe fn IsRealTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRealTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsRealTime(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3396,36 +3396,36 @@ pub struct IFsiFileItem2_Vtbl { impl IFsiItem { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FullPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCreationTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastAccessedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastAccessedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLastAccessedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn LastModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLastModifiedTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3435,11 +3435,11 @@ impl IFsiItem { } pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystemName)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSystemPath)(::windows_core::Interface::as_raw(self), filesystem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3469,20 +3469,20 @@ impl IFsiNamedStreams { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumNamedStreams(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumNamedStreams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumNamedStreams)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3509,12 +3509,12 @@ pub struct IFsiNamedStreams_Vtbl { impl IIsoImageManager { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Stream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Stream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, val: P0) -> ::windows_core::Result<()> where @@ -3555,15 +3555,15 @@ pub struct IIsoImageManager_Vtbl { impl IJolietDiscMaster { pub unsafe fn GetTotalDataBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalDataBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalDataBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUsedDataBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUsedDataBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUsedDataBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataBlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn AddData(&self, pstorage: P0, lfileoverwrite: i32) -> ::windows_core::Result<()> @@ -3575,7 +3575,7 @@ impl IJolietDiscMaster { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetJolietProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJolietProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJolietProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn SetJolietProperties(&self, ppropstg: P0) -> ::windows_core::Result<()> @@ -3613,7 +3613,7 @@ pub struct IJolietDiscMaster_Vtbl { impl IMultisession { pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInUse(&self, value: P0) -> ::windows_core::Result<()> where @@ -3623,12 +3623,12 @@ impl IMultisession { } pub unsafe fn InUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportRecorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3652,7 +3652,7 @@ pub struct IMultisession_Vtbl { impl IMultisessionRandomWrite { pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInUse(&self, value: P0) -> ::windows_core::Result<()> where @@ -3662,24 +3662,24 @@ impl IMultisessionRandomWrite { } pub unsafe fn InUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportRecorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn WriteUnitSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteUnitSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteUnitSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWrittenAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWrittenAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3699,7 +3699,7 @@ pub struct IMultisessionRandomWrite_Vtbl { impl IMultisessionSequential { pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInUse(&self, value: P0) -> ::windows_core::Result<()> where @@ -3709,32 +3709,32 @@ impl IMultisessionSequential { } pub unsafe fn InUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportRecorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstDataSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstDataSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstDataSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NextWritableAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3756,7 +3756,7 @@ pub struct IMultisessionSequential_Vtbl { impl IMultisessionSequential2 { pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSupportedOnCurrentMediaState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInUse(&self, value: P0) -> ::windows_core::Result<()> where @@ -3766,36 +3766,36 @@ impl IMultisessionSequential2 { } pub unsafe fn InUse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InUse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ImportRecorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ImportRecorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstDataSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsFirstDataSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsFirstDataSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastWrittenAddressOfPreviousSession)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NextWritableAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NextWritableAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FreeSectorsOnMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteUnitSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteUnitSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteUnitSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3813,19 +3813,19 @@ pub struct IMultisessionSequential2_Vtbl { impl IProgressItem { pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FirstBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstBlock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastBlock(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastBlock)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastBlock)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BlockCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3847,21 +3847,21 @@ impl IProgressItems { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ProgressItemFromBlock(&self, block: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgressItemFromBlock)(::windows_core::Interface::as_raw(self), block, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgressItemFromBlock)(::windows_core::Interface::as_raw(self), block, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ProgressItemFromDescription(&self, description: P0) -> ::windows_core::Result @@ -3869,11 +3869,11 @@ impl IProgressItems { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgressItemFromDescription)(::windows_core::Interface::as_raw(self), description.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgressItemFromDescription)(::windows_core::Interface::as_raw(self), description.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumProgressItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumProgressItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3909,7 +3909,7 @@ impl IRawCDImageCreator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResultImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResultImage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddTrack(&self, datatype: IMAPI_CD_SECTOR_TYPE, data: P0) -> ::windows_core::Result @@ -3917,7 +3917,7 @@ impl IRawCDImageCreator { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddTrack)(::windows_core::Interface::as_raw(self), datatype, data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddTrack)(::windows_core::Interface::as_raw(self), datatype, data.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddSpecialPregap(&self, data: P0) -> ::windows_core::Result<()> @@ -3938,18 +3938,18 @@ impl IRawCDImageCreator { } pub unsafe fn ResultingImageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultingImageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultingImageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartOfLeadout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartOfLeadout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartOfLeadout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartOfLeadoutLimit(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartOfLeadoutLimit)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn StartOfLeadoutLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartOfLeadoutLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartOfLeadoutLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisableGaplessAudio(&self, value: P0) -> ::windows_core::Result<()> where @@ -3959,7 +3959,7 @@ impl IRawCDImageCreator { } pub unsafe fn DisableGaplessAudio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisableGaplessAudio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisableGaplessAudio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMediaCatalogNumber(&self, value: P0) -> ::windows_core::Result<()> where @@ -3969,32 +3969,32 @@ impl IRawCDImageCreator { } pub unsafe fn MediaCatalogNumber(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaCatalogNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaCatalogNumber)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStartingTrackNumber(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartingTrackNumber)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn StartingTrackNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartingTrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartingTrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_TrackInfo(&self, trackindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TrackInfo)(::windows_core::Interface::as_raw(self), trackindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TrackInfo)(::windows_core::Interface::as_raw(self), trackindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NumberOfExistingTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfExistingTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfExistingTracks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastUsedUserSectorInImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastUsedUserSectorInImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastUsedUserSectorInImage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExpectedTableOfContents(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpectedTableOfContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpectedTableOfContents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4048,23 +4048,23 @@ pub struct IRawCDImageCreator_Vtbl { impl IRawCDImageTrackInfo { pub unsafe fn StartingLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartingLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartingLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TrackNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrackNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ISRC(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ISRC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ISRC)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetISRC(&self, value: P0) -> ::windows_core::Result<()> where @@ -4074,14 +4074,14 @@ impl IRawCDImageTrackInfo { } pub unsafe fn DigitalAudioCopySetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DigitalAudioCopySetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DigitalAudioCopySetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDigitalAudioCopySetting(&self, value: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDigitalAudioCopySetting)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn AudioHasPreemphasis(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AudioHasPreemphasis)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AudioHasPreemphasis)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAudioHasPreemphasis(&self, value: P0) -> ::windows_core::Result<()> where @@ -4092,7 +4092,7 @@ impl IRawCDImageTrackInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TrackIndexes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrackIndexes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrackIndexes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTrackIndex(&self, lbaoffset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTrackIndex)(::windows_core::Interface::as_raw(self), lbaoffset).ok() @@ -4128,23 +4128,23 @@ pub struct IRawCDImageTrackInfo_Vtbl { impl IRedbookDiscMaster { pub unsafe fn GetTotalAudioTracks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalAudioTracks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalAudioTracks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalAudioBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalAudioBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalAudioBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUsedAudioBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUsedAudioBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUsedAudioBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableAudioTrackBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableAudioTrackBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableAudioTrackBlocks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAudioBlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateAudioTrack(&self, nblocks: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateAudioTrack)(::windows_core::Interface::as_raw(self), nblocks).ok() @@ -4221,7 +4221,7 @@ impl IStreamConcatenate { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Initialize(&self, stream1: P0, stream2: P1) -> ::windows_core::Result<()> @@ -4321,7 +4321,7 @@ impl IStreamInterleave { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Initialize(&self, streams: *const ::core::option::Option, interleavesizes: *const u32, streamcount: u32) -> ::windows_core::Result<()> { @@ -4390,14 +4390,14 @@ impl IStreamPseudoRandomBased { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSeed(&self, value: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSeed)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Seed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn put_ExtendedSeed(&self, values: &[u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_ExtendedSeed)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(values.as_ptr()), values.len().try_into().unwrap()).ok() @@ -4440,7 +4440,7 @@ impl IWriteEngine2 { } pub unsafe fn Recorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recorder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUseStreamingWrite12(&self, value: P0) -> ::windows_core::Result<()> where @@ -4450,32 +4450,32 @@ impl IWriteEngine2 { } pub unsafe fn UseStreamingWrite12(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseStreamingWrite12)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseStreamingWrite12)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartingSectorsPerSecond(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartingSectorsPerSecond)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn StartingSectorsPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartingSectorsPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartingSectorsPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEndingSectorsPerSecond(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEndingSectorsPerSecond)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn EndingSectorsPerSecond(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndingSectorsPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndingSectorsPerSecond)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBytesPerSector(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBytesPerSector)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn BytesPerSector(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BytesPerSector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BytesPerSector)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteInProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteInProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteInProgress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4508,31 +4508,31 @@ pub struct IWriteEngine2_Vtbl { impl IWriteEngine2EventArgs { pub unsafe fn StartLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SectorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SectorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastReadLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastReadLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastWrittenLba(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastWrittenLba)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsedSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsedSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FreeSystemBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeSystemBuffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4556,15 +4556,15 @@ pub struct IWriteEngine2EventArgs_Vtbl { impl IWriteSpeedDescriptor { pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RotationTypeIsPureCAV(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RotationTypeIsPureCAV)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/InstallableFileSystems/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/InstallableFileSystems/mod.rs index dd33882377..215b8748dd 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/InstallableFileSystems/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/InstallableFileSystems/mod.rs @@ -35,7 +35,7 @@ where { ::windows_targets::link!("fltlib.dll" "system" fn FilterConnectCommunicationPort(lpportname : ::windows_core::PCWSTR, dwoptions : u32, lpcontext : *const ::core::ffi::c_void, wsizeofcontext : u16, lpsecurityattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, hport : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - FilterConnectCommunicationPort(lpportname.into_param().abi(), dwoptions, ::core::mem::transmute(lpcontext.unwrap_or(::std::ptr::null())), wsizeofcontext, ::core::mem::transmute(lpsecurityattributes.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + FilterConnectCommunicationPort(lpportname.into_param().abi(), dwoptions, ::core::mem::transmute(lpcontext.unwrap_or(::std::ptr::null())), wsizeofcontext, ::core::mem::transmute(lpsecurityattributes.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn FilterCreate(lpfiltername: P0) -> ::windows_core::Result @@ -44,7 +44,7 @@ where { ::windows_targets::link!("fltlib.dll" "system" fn FilterCreate(lpfiltername : ::windows_core::PCWSTR, hfilter : *mut HFILTER) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - FilterCreate(lpfiltername.into_param().abi(), &mut result__).from_abi(result__) + FilterCreate(lpfiltername.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn FilterDetach(lpfiltername: P0, lpvolumename: P1, lpinstancename: P2) -> ::windows_core::Result<()> @@ -119,7 +119,7 @@ where { ::windows_targets::link!("fltlib.dll" "system" fn FilterInstanceCreate(lpfiltername : ::windows_core::PCWSTR, lpvolumename : ::windows_core::PCWSTR, lpinstancename : ::windows_core::PCWSTR, hinstance : *mut HFILTER_INSTANCE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - FilterInstanceCreate(lpfiltername.into_param().abi(), lpvolumename.into_param().abi(), lpinstancename.into_param().abi(), &mut result__).from_abi(result__) + FilterInstanceCreate(lpfiltername.into_param().abi(), lpvolumename.into_param().abi(), lpinstancename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn FilterInstanceFindClose(hfilterinstancefind: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/Storage/OfflineFiles/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/OfflineFiles/mod.rs index c2bdb771dd..5a6ee7dbec 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/OfflineFiles/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/OfflineFiles/mod.rs @@ -35,7 +35,7 @@ impl IEnumOfflineFilesItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -61,7 +61,7 @@ impl IEnumOfflineFilesSettings { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -135,7 +135,7 @@ impl IOfflineFilesCache { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItem)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItem)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindItemEx(&self, pszpath: P0, pincludefilefilter: P1, pincludedirfilter: P2, pexcludefilefilter: P3, pexcludedirfilter: P4, dwqueryflags: u32) -> ::windows_core::Result where @@ -146,7 +146,7 @@ impl IOfflineFilesCache { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemEx)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemEx)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RenameItem(&self, pszpathoriginal: P0, pszpathnew: P1, breplaceifexists: P2) -> ::windows_core::Result<()> where @@ -158,7 +158,7 @@ impl IOfflineFilesCache { } pub unsafe fn GetLocation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDiskSpaceInformation(&self, pcbvolumetotal: *mut u64, pcblimit: *mut u64, pcbused: *mut u64, pcbunpinnedlimit: *mut u64, pcbunpinnedused: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDiskSpaceInformation)(::windows_core::Interface::as_raw(self), pcbvolumetotal, pcblimit, pcbused, pcbunpinnedlimit, pcbunpinnedused).ok() @@ -178,11 +178,11 @@ impl IOfflineFilesCache { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettingObject)(::windows_core::Interface::as_raw(self), pszsettingname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettingObject)(::windows_core::Interface::as_raw(self), pszsettingname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumSettingObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSettingObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSettingObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPathCacheable(&self, pszpath: P0, pbcacheable: *mut super::super::Foundation::BOOL, psharecachingmode: *mut OFFLINEFILES_CACHING_MODE) -> ::windows_core::Result<()> where @@ -275,7 +275,7 @@ impl IOfflineFilesCache2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindItem)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindItem)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindItemEx(&self, pszpath: P0, pincludefilefilter: P1, pincludedirfilter: P2, pexcludefilefilter: P3, pexcludedirfilter: P4, dwqueryflags: u32) -> ::windows_core::Result where @@ -286,7 +286,7 @@ impl IOfflineFilesCache2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindItemEx)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindItemEx)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RenameItem(&self, pszpathoriginal: P0, pszpathnew: P1, breplaceifexists: P2) -> ::windows_core::Result<()> where @@ -298,7 +298,7 @@ impl IOfflineFilesCache2 { } pub unsafe fn GetLocation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDiskSpaceInformation(&self, pcbvolumetotal: *mut u64, pcblimit: *mut u64, pcbused: *mut u64, pcbunpinnedlimit: *mut u64, pcbunpinnedused: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDiskSpaceInformation)(::windows_core::Interface::as_raw(self), pcbvolumetotal, pcblimit, pcbused, pcbunpinnedlimit, pcbunpinnedused).ok() @@ -318,11 +318,11 @@ impl IOfflineFilesCache2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSettingObject)(::windows_core::Interface::as_raw(self), pszsettingname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSettingObject)(::windows_core::Interface::as_raw(self), pszsettingname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumSettingObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumSettingObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumSettingObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPathCacheable(&self, pszpath: P0, pbcacheable: *mut super::super::Foundation::BOOL, psharecachingmode: *mut OFFLINEFILES_CACHING_MODE) -> ::windows_core::Result<()> where @@ -353,23 +353,23 @@ impl IOfflineFilesChangeInfo { } pub unsafe fn IsDeletedOffline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDeletedOffline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDeletedOffline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCreatedOffline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCreatedOffline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCreatedOffline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocallyModifiedData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocallyModifiedData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocallyModifiedData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocallyModifiedAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocallyModifiedAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocallyModifiedAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocallyModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocallyModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocallyModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -407,7 +407,7 @@ impl IOfflineFilesConnectionInfo { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransitionOffline)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), dwflags, bforceopenfilesclosed.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransitionOffline)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), dwflags, bforceopenfilesclosed.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -424,22 +424,22 @@ pub struct IOfflineFilesConnectionInfo_Vtbl { impl IOfflineFilesDirectoryItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self, dwqueryflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self), dwqueryflags).ok() } pub unsafe fn IsMarkedForDeletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -452,11 +452,11 @@ pub struct IOfflineFilesDirectoryItem_Vtbl { impl IOfflineFilesDirtyInfo { pub unsafe fn LocalDirtyByteCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalDirtyByteCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalDirtyByteCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoteDirtyByteCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteDirtyByteCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteDirtyByteCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -472,11 +472,11 @@ impl IOfflineFilesErrorInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRawData(&self) -> ::windows_core::Result<*mut super::super::System::Com::BYTE_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1251,30 +1251,30 @@ pub struct IOfflineFilesEventsFilter_Vtbl { impl IOfflineFilesFileItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self, dwqueryflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self), dwqueryflags).ok() } pub unsafe fn IsMarkedForDeletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSparse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSparse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSparse)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEncrypted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEncrypted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEncrypted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1289,14 +1289,14 @@ pub struct IOfflineFilesFileItem_Vtbl { impl IOfflineFilesFileSysInfo { pub unsafe fn GetAttributes(&self, copy: OFFLINEFILES_ITEM_COPY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), copy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), copy, &mut result__).map(|| result__) } pub unsafe fn GetTimes(&self, copy: OFFLINEFILES_ITEM_COPY, pftcreationtime: *mut super::super::Foundation::FILETIME, pftlastwritetime: *mut super::super::Foundation::FILETIME, pftchangetime: *mut super::super::Foundation::FILETIME, pftlastaccesstime: *mut super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimes)(::windows_core::Interface::as_raw(self), copy, pftcreationtime, pftlastwritetime, pftchangetime, pftlastaccesstime).ok() } pub unsafe fn GetFileSize(&self, copy: OFFLINEFILES_ITEM_COPY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), copy, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), copy, &mut result__).map(|| result__) } } #[repr(C)] @@ -1312,7 +1312,7 @@ pub struct IOfflineFilesFileSysInfo_Vtbl { impl IOfflineFilesGhostInfo { pub unsafe fn IsGhosted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsGhosted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsGhosted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1326,22 +1326,22 @@ pub struct IOfflineFilesGhostInfo_Vtbl { impl IOfflineFilesItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self, dwqueryflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self), dwqueryflags).ok() } pub unsafe fn IsMarkedForDeletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1359,7 +1359,7 @@ pub struct IOfflineFilesItem_Vtbl { impl IOfflineFilesItemContainer { pub unsafe fn EnumItems(&self, dwqueryflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumItemsEx(&self, pincludefilefilter: P0, pincludedirfilter: P1, pexcludefilefilter: P2, pexcludedirfilter: P3, dwenumflags: u32, dwqueryflags: u32) -> ::windows_core::Result where @@ -1369,7 +1369,7 @@ impl IOfflineFilesItemContainer { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumItemsEx)(::windows_core::Interface::as_raw(self), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwenumflags, dwqueryflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumItemsEx)(::windows_core::Interface::as_raw(self), pincludefilefilter.into_param().abi(), pincludedirfilter.into_param().abi(), pexcludefilefilter.into_param().abi(), pexcludedirfilter.into_param().abi(), dwenumflags, dwqueryflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1405,7 +1405,7 @@ pub struct IOfflineFilesItemFilter_Vtbl { impl IOfflineFilesPinInfo { pub unsafe fn IsPinned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPinned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPinned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPinnedForUser(&self, pbpinnedforuser: *mut super::super::Foundation::BOOL, pbinherit: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPinnedForUser)(::windows_core::Interface::as_raw(self), pbpinnedforuser, pbinherit).ok() @@ -1435,7 +1435,7 @@ pub struct IOfflineFilesPinInfo_Vtbl { impl IOfflineFilesPinInfo2 { pub unsafe fn IsPinned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsPinned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsPinned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPinnedForUser(&self, pbpinnedforuser: *mut super::super::Foundation::BOOL, pbinherit: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsPinnedForUser)(::windows_core::Interface::as_raw(self), pbpinnedforuser, pbinherit).ok() @@ -1451,7 +1451,7 @@ impl IOfflineFilesPinInfo2 { } pub unsafe fn IsPartlyPinned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPartlyPinned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPartlyPinned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1465,11 +1465,11 @@ pub struct IOfflineFilesPinInfo2_Vtbl { impl IOfflineFilesProgress { pub unsafe fn Begin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Begin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Begin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryAbort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn End(&self, hrresult: ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).End)(::windows_core::Interface::as_raw(self), hrresult).ok() @@ -1488,22 +1488,22 @@ pub struct IOfflineFilesProgress_Vtbl { impl IOfflineFilesServerItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self, dwqueryflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self), dwqueryflags).ok() } pub unsafe fn IsMarkedForDeletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1516,18 +1516,18 @@ pub struct IOfflineFilesServerItem_Vtbl { impl IOfflineFilesSetting { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreference(&self, pvarvalue: *mut ::windows_core::VARIANT, dwscope: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreference)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarvalue), dwscope).ok() } pub unsafe fn GetPreferenceScope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferenceScope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferenceScope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreference(&self, pvarvalue: *const ::windows_core::VARIANT, dwscope: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPreference)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarvalue), dwscope).ok() @@ -1540,7 +1540,7 @@ impl IOfflineFilesSetting { } pub unsafe fn GetPolicyScope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicyScope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicyScope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, pvarvalue: *mut ::windows_core::VARIANT, pbsetbypolicy: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarvalue), pbsetbypolicy).ok() @@ -1565,15 +1565,15 @@ pub struct IOfflineFilesSetting_Vtbl { impl IOfflineFilesShareInfo { pub unsafe fn GetShareItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShareItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShareItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetShareCachingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShareCachingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShareCachingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsShareDfsJunction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsShareDfsJunction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsShareDfsJunction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1589,22 +1589,22 @@ pub struct IOfflineFilesShareInfo_Vtbl { impl IOfflineFilesShareItem { pub unsafe fn GetItemType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self, dwqueryflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self), dwqueryflags).ok() } pub unsafe fn IsMarkedForDeletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMarkedForDeletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1617,11 +1617,11 @@ pub struct IOfflineFilesShareItem_Vtbl { impl IOfflineFilesSimpleProgress { pub unsafe fn Begin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Begin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Begin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryAbort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn End(&self, hrresult: ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.End)(::windows_core::Interface::as_raw(self), hrresult).ok() @@ -1631,14 +1631,14 @@ impl IOfflineFilesSimpleProgress { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemBegin)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemBegin)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ItemResult(&self, pszfile: P0, hrresult: ::windows_core::HRESULT) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemResult)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), hrresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemResult)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), hrresult, &mut result__).map(|| result__) } } #[repr(C)] @@ -1699,19 +1699,19 @@ impl IOfflineFilesSyncErrorInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRawData(&self) -> ::windows_core::Result<*mut super::super::System::Com::BYTE_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRawData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRawData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSyncOperation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncOperation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncOperation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemChangeFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemChangeFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemChangeFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InfoEnumerated(&self, pblocalenumerated: *mut super::super::Foundation::BOOL, pbremoteenumerated: *mut super::super::Foundation::BOOL, pboriginalenumerated: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InfoEnumerated)(::windows_core::Interface::as_raw(self), pblocalenumerated, pbremoteenumerated, pboriginalenumerated).ok() @@ -1721,15 +1721,15 @@ impl IOfflineFilesSyncErrorInfo { } pub unsafe fn GetLocalInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRemoteInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginalInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1749,14 +1749,14 @@ pub struct IOfflineFilesSyncErrorInfo_Vtbl { impl IOfflineFilesSyncErrorItemInfo { pub unsafe fn GetFileAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileTimes(&self, pftlastwrite: *mut super::super::Foundation::FILETIME, pftchange: *mut super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFileTimes)(::windows_core::Interface::as_raw(self), pftlastwrite, pftchange).ok() } pub unsafe fn GetFileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1772,11 +1772,11 @@ pub struct IOfflineFilesSyncErrorItemInfo_Vtbl { impl IOfflineFilesSyncProgress { pub unsafe fn Begin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Begin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Begin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryAbort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryAbort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn End(&self, hrresult: ::windows_core::HRESULT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.End)(::windows_core::Interface::as_raw(self), hrresult).ok() @@ -1786,7 +1786,7 @@ impl IOfflineFilesSyncProgress { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncItemBegin)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncItemBegin)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SyncItemResult(&self, pszfile: P0, hrresult: ::windows_core::HRESULT, perrorinfo: P1) -> ::windows_core::Result where @@ -1794,7 +1794,7 @@ impl IOfflineFilesSyncProgress { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncItemResult)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), hrresult, perrorinfo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncItemResult)(::windows_core::Interface::as_raw(self), pszfile.into_param().abi(), hrresult, perrorinfo.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1809,7 +1809,7 @@ pub struct IOfflineFilesSyncProgress_Vtbl { impl IOfflineFilesTransparentCacheInfo { pub unsafe fn IsTransparentlyCached(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransparentlyCached)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransparentlyCached)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Appx/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Appx/mod.rs index 6441e737f2..6777e2045d 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Appx/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Appx/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn ActivatePackageVirtualizationContext(context : PACKAGE_VIRTUALIZATION_CONTEXT_HANDLE, cookie : *mut usize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ActivatePackageVirtualizationContext(context.into_param().abi(), &mut result__).from_abi(result__) + ActivatePackageVirtualizationContext(context.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AddPackageDependency(packagedependencyid: P0, rank: i32, options: AddPackageDependencyOptions, packagedependencycontext: *mut PACKAGEDEPENDENCY_CONTEXT, packagefullname: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> @@ -86,7 +86,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn CheckIsMSIXPackage(packagefullname : ::windows_core::PCWSTR, ismsixpackage : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CheckIsMSIXPackage(packagefullname.into_param().abi(), &mut result__).from_abi(result__) + CheckIsMSIXPackage(packagefullname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn ClosePackageInfo(packageinforeference: *const _PACKAGE_INFO_REFERENCE) -> ::windows_core::Result<()> { @@ -100,7 +100,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn CreatePackageVirtualizationContext(packagefamilyname : ::windows_core::PCWSTR, context : *mut PACKAGE_VIRTUALIZATION_CONTEXT_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreatePackageVirtualizationContext(packagefamilyname.into_param().abi(), &mut result__).from_abi(result__) + CreatePackageVirtualizationContext(packagefamilyname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn DeactivatePackageVirtualizationContext(cookie: usize) { @@ -122,7 +122,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn DuplicatePackageVirtualizationContext(sourcecontext : PACKAGE_VIRTUALIZATION_CONTEXT_HANDLE, destcontext : *mut PACKAGE_VIRTUALIZATION_CONTEXT_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DuplicatePackageVirtualizationContext(sourcecontext.into_param().abi(), &mut result__).from_abi(result__) + DuplicatePackageVirtualizationContext(sourcecontext.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn FindPackagesByPackageFamily(packagefamilyname: P0, packagefilters: u32, count: *mut u32, packagefullnames: ::core::option::Option<*mut ::windows_core::PWSTR>, bufferlength: *mut u32, buffer: ::windows_core::PWSTR, packageproperties: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -214,7 +214,7 @@ where { ::windows_targets::link!("kernelbase.dll" "system" fn GetIdForPackageDependencyContext(packagedependencycontext : PACKAGEDEPENDENCY_CONTEXT, packagedependencyid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetIdForPackageDependencyContext(packagedependencycontext.into_param().abi(), &mut result__).from_abi(result__) + GetIdForPackageDependencyContext(packagedependencycontext.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetPackageApplicationIds(packageinforeference: *const _PACKAGE_INFO_REFERENCE, bufferlength: *mut u32, buffer: ::core::option::Option<*mut u8>, count: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -320,7 +320,7 @@ where { ::windows_targets::link!("kernelbase.dll" "system" fn GetResolvedPackageFullNameForPackageDependency(packagedependencyid : ::windows_core::PCWSTR, packagefullname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetResolvedPackageFullNameForPackageDependency(packagedependencyid.into_param().abi(), &mut result__).from_abi(result__) + GetResolvedPackageFullNameForPackageDependency(packagedependencyid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetStagedPackageOrigin(packagefullname: P0, origin: *mut PackageOrigin) -> ::windows_core::Result<()> @@ -430,7 +430,7 @@ where { ::windows_targets::link!("kernelbase.dll" "system" fn TryCreatePackageDependency(user : super::super::super::Foundation:: PSID, packagefamilyname : ::windows_core::PCWSTR, minversion : PACKAGE_VERSION, packagedependencyprocessorarchitectures : PackageDependencyProcessorArchitectures, lifetimekind : PackageDependencyLifetimeKind, lifetimeartifact : ::windows_core::PCWSTR, options : CreatePackageDependencyOptions, packagedependencyid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - TryCreatePackageDependency(user.into_param().abi(), packagefamilyname.into_param().abi(), ::core::mem::transmute(minversion), packagedependencyprocessorarchitectures, lifetimekind, lifetimeartifact.into_param().abi(), options, &mut result__).from_abi(result__) + TryCreatePackageDependency(user.into_param().abi(), packagefamilyname.into_param().abi(), ::core::mem::transmute(minversion), packagedependencyprocessorarchitectures, lifetimekind, lifetimeartifact.into_param().abi(), options, &mut result__).map(|| result__) } #[inline] pub unsafe fn VerifyApplicationUserModelId(applicationusermodelid: P0) -> ::windows_core::Result<()> @@ -475,7 +475,7 @@ impl IAppxAppInstallerReader { #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn GetXmlDom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXmlDom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXmlDom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -492,11 +492,11 @@ pub struct IAppxAppInstallerReader_Vtbl { impl IAppxBlockMapBlock { pub unsafe fn GetHash(&self, buffersize: *mut u32) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHash)(::windows_core::Interface::as_raw(self), buffersize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHash)(::windows_core::Interface::as_raw(self), buffersize, &mut result__).map(|| result__) } pub unsafe fn GetCompressedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompressedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompressedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -511,15 +511,15 @@ pub struct IAppxBlockMapBlock_Vtbl { impl IAppxBlockMapBlocksEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -535,19 +535,19 @@ pub struct IAppxBlockMapBlocksEnumerator_Vtbl { impl IAppxBlockMapFile { pub unsafe fn GetBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlocks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalFileHeaderSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalFileHeaderSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalFileHeaderSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUncompressedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUncompressedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUncompressedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValidateFileHash(&self, filestream: P0) -> ::windows_core::Result @@ -555,7 +555,7 @@ impl IAppxBlockMapFile { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValidateFileHash)(::windows_core::Interface::as_raw(self), filestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValidateFileHash)(::windows_core::Interface::as_raw(self), filestream.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -576,15 +576,15 @@ pub struct IAppxBlockMapFile_Vtbl { impl IAppxBlockMapFilesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -603,21 +603,21 @@ impl IAppxBlockMapReader { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHashMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashMethod)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -644,7 +644,7 @@ impl IAppxBundleFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateBundleReader(&self, inputstream: P0) -> ::windows_core::Result @@ -652,7 +652,7 @@ impl IAppxBundleFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBundleReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBundleReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateBundleManifestReader(&self, inputstream: P0) -> ::windows_core::Result @@ -660,7 +660,7 @@ impl IAppxBundleFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBundleManifestReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBundleManifestReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -690,7 +690,7 @@ impl IAppxBundleFactory2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBundleReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBundleReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -707,15 +707,15 @@ pub struct IAppxBundleFactory2_Vtbl { impl IAppxBundleManifestOptionalBundleInfo { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageInfoItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageInfoItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageInfoItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -731,15 +731,15 @@ pub struct IAppxBundleManifestOptionalBundleInfo_Vtbl { impl IAppxBundleManifestOptionalBundleInfoEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -755,27 +755,27 @@ pub struct IAppxBundleManifestOptionalBundleInfoEnumerator_Vtbl { impl IAppxBundleManifestPackageInfo { pub unsafe fn GetPackageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -794,15 +794,15 @@ pub struct IAppxBundleManifestPackageInfo_Vtbl { impl IAppxBundleManifestPackageInfo2 { pub unsafe fn GetIsPackageReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsPackageReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsPackageReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIsNonQualifiedResourcePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsNonQualifiedResourcePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsNonQualifiedResourcePackage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIsDefaultApplicablePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsDefaultApplicablePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsDefaultApplicablePackage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -818,7 +818,7 @@ pub struct IAppxBundleManifestPackageInfo2_Vtbl { impl IAppxBundleManifestPackageInfo3 { pub unsafe fn GetTargetDeviceFamilies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -832,7 +832,7 @@ pub struct IAppxBundleManifestPackageInfo3_Vtbl { impl IAppxBundleManifestPackageInfo4 { pub unsafe fn GetIsStub(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsStub)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsStub)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -846,15 +846,15 @@ pub struct IAppxBundleManifestPackageInfo4_Vtbl { impl IAppxBundleManifestPackageInfoEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -870,16 +870,16 @@ pub struct IAppxBundleManifestPackageInfoEnumerator_Vtbl { impl IAppxBundleManifestReader { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPackageInfoItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageInfoItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageInfoItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -898,7 +898,7 @@ pub struct IAppxBundleManifestReader_Vtbl { impl IAppxBundleManifestReader2 { pub unsafe fn GetOptionalBundles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionalBundles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionalBundles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -912,26 +912,26 @@ pub struct IAppxBundleManifestReader2_Vtbl { impl IAppxBundleReader { pub unsafe fn GetFootprintFile(&self, filetype: APPX_BUNDLE_FOOTPRINT_FILE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFootprintFile)(::windows_core::Interface::as_raw(self), filetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFootprintFile)(::windows_core::Interface::as_raw(self), filetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBlockMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlockMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlockMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetManifest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManifest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManifest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPayloadPackages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPayloadPackages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPayloadPackages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPayloadPackage(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPayloadPackage)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPayloadPackage)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1071,11 +1071,11 @@ pub struct IAppxBundleWriter4_Vtbl { impl IAppxContentGroup { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1090,15 +1090,15 @@ pub struct IAppxContentGroup_Vtbl { impl IAppxContentGroupFilesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1114,11 +1114,11 @@ pub struct IAppxContentGroupFilesEnumerator_Vtbl { impl IAppxContentGroupMapReader { pub unsafe fn GetRequiredGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequiredGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequiredGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAutomaticGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutomaticGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutomaticGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1160,15 +1160,15 @@ pub struct IAppxContentGroupMapWriter_Vtbl { impl IAppxContentGroupsEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1184,7 +1184,7 @@ pub struct IAppxContentGroupsEnumerator_Vtbl { impl IAppxDigestProvider { pub unsafe fn GetDigest(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDigest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDigest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1342,7 +1342,7 @@ impl IAppxEncryptionFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateEncryptedPackageReader(&self, inputstream: P0, keyinfo: *const APPX_KEY_INFO) -> ::windows_core::Result @@ -1350,7 +1350,7 @@ impl IAppxEncryptionFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedPackageReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedPackageReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptBundle(&self, inputstream: P0, outputstream: P1, settings: *const APPX_ENCRYPTED_PACKAGE_SETTINGS, keyinfo: *const APPX_KEY_INFO, exemptedfiles: *const APPX_ENCRYPTED_EXEMPTIONS) -> ::windows_core::Result<()> @@ -1374,7 +1374,7 @@ impl IAppxEncryptionFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, settings, keyinfo, exemptedfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, settings, keyinfo, exemptedfiles, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateEncryptedBundleReader(&self, inputstream: P0, keyinfo: *const APPX_KEY_INFO) -> ::windows_core::Result @@ -1382,7 +1382,7 @@ impl IAppxEncryptionFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedBundleReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedBundleReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1433,7 +1433,7 @@ impl IAppxEncryptionFactory2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), contentgroupmapstream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), contentgroupmapstream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1464,7 +1464,7 @@ impl IAppxEncryptionFactory3 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), contentgroupmapstream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedPackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), manifeststream.into_param().abi(), contentgroupmapstream.into_param().abi(), settings, keyinfo, exemptedfiles, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EncryptBundle(&self, inputstream: P0, outputstream: P1, settings: *const APPX_ENCRYPTED_PACKAGE_SETTINGS2, keyinfo: *const APPX_KEY_INFO, exemptedfiles: *const APPX_ENCRYPTED_EXEMPTIONS) -> ::windows_core::Result<()> @@ -1480,7 +1480,7 @@ impl IAppxEncryptionFactory3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, settings, keyinfo, exemptedfiles, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedBundleWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), bundleversion, settings, keyinfo, exemptedfiles, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1535,7 +1535,7 @@ impl IAppxEncryptionFactory5 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedPackageReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedPackageReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateEncryptedBundleReader2(&self, inputstream: P0, keyinfo: *const APPX_KEY_INFO, expecteddigest: P1) -> ::windows_core::Result @@ -1544,7 +1544,7 @@ impl IAppxEncryptionFactory5 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEncryptedBundleReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEncryptedBundleReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), keyinfo, expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1569,7 +1569,7 @@ impl IAppxFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), settings, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageWriter)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), settings, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePackageReader(&self, inputstream: P0) -> ::windows_core::Result @@ -1577,7 +1577,7 @@ impl IAppxFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateManifestReader(&self, inputstream: P0) -> ::windows_core::Result @@ -1585,7 +1585,7 @@ impl IAppxFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateManifestReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateManifestReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateBlockMapReader(&self, inputstream: P0) -> ::windows_core::Result @@ -1593,7 +1593,7 @@ impl IAppxFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBlockMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBlockMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateValidatedBlockMapReader(&self, blockmapstream: P0, signaturefilename: P1) -> ::windows_core::Result @@ -1602,7 +1602,7 @@ impl IAppxFactory { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateValidatedBlockMapReader)(::windows_core::Interface::as_raw(self), blockmapstream.into_param().abi(), signaturefilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateValidatedBlockMapReader)(::windows_core::Interface::as_raw(self), blockmapstream.into_param().abi(), signaturefilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1639,7 +1639,7 @@ impl IAppxFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContentGroupMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContentGroupMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSourceContentGroupMapReader(&self, inputstream: P0) -> ::windows_core::Result @@ -1647,7 +1647,7 @@ impl IAppxFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSourceContentGroupMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSourceContentGroupMapReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateContentGroupMapWriter(&self, stream: P0) -> ::windows_core::Result @@ -1655,7 +1655,7 @@ impl IAppxFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContentGroupMapWriter)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContentGroupMapWriter)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1685,7 +1685,7 @@ impl IAppxFactory3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateManifestReader2(&self, inputstream: P0, expecteddigest: P1) -> ::windows_core::Result @@ -1694,7 +1694,7 @@ impl IAppxFactory3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateManifestReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateManifestReader2)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAppInstallerReader(&self, inputstream: P0, expecteddigest: P1) -> ::windows_core::Result @@ -1703,7 +1703,7 @@ impl IAppxFactory3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAppInstallerReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAppInstallerReader)(::windows_core::Interface::as_raw(self), inputstream.into_param().abi(), expecteddigest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1728,24 +1728,24 @@ pub struct IAppxFactory3_Vtbl { impl IAppxFile { pub unsafe fn GetCompressionOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompressionOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompressionOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContentType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1766,15 +1766,15 @@ pub struct IAppxFile_Vtbl { impl IAppxFilesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1793,11 +1793,11 @@ impl IAppxManifestApplication { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAppUserModelId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppUserModelId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppUserModelId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1812,15 +1812,15 @@ pub struct IAppxManifestApplication_Vtbl { impl IAppxManifestApplicationsEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1836,15 +1836,15 @@ pub struct IAppxManifestApplicationsEnumerator_Vtbl { impl IAppxManifestCapabilitiesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1860,15 +1860,15 @@ pub struct IAppxManifestCapabilitiesEnumerator_Vtbl { impl IAppxManifestDeviceCapabilitiesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1884,15 +1884,15 @@ pub struct IAppxManifestDeviceCapabilitiesEnumerator_Vtbl { impl IAppxManifestDriverConstraint { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinDate(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1908,15 +1908,15 @@ pub struct IAppxManifestDriverConstraint_Vtbl { impl IAppxManifestDriverConstraintsEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1932,15 +1932,15 @@ pub struct IAppxManifestDriverConstraintsEnumerator_Vtbl { impl IAppxManifestDriverDependenciesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1956,7 +1956,7 @@ pub struct IAppxManifestDriverDependenciesEnumerator_Vtbl { impl IAppxManifestDriverDependency { pub unsafe fn GetDriverConstraints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDriverConstraints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDriverConstraints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1970,15 +1970,15 @@ pub struct IAppxManifestDriverDependency_Vtbl { impl IAppxManifestHostRuntimeDependenciesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1994,15 +1994,15 @@ pub struct IAppxManifestHostRuntimeDependenciesEnumerator_Vtbl { impl IAppxManifestHostRuntimeDependency { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2018,7 +2018,7 @@ pub struct IAppxManifestHostRuntimeDependency_Vtbl { impl IAppxManifestHostRuntimeDependency2 { pub unsafe fn GetPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2032,15 +2032,15 @@ pub struct IAppxManifestHostRuntimeDependency2_Vtbl { impl IAppxManifestMainPackageDependenciesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2056,15 +2056,15 @@ pub struct IAppxManifestMainPackageDependenciesEnumerator_Vtbl { impl IAppxManifestMainPackageDependency { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2080,15 +2080,15 @@ pub struct IAppxManifestMainPackageDependency_Vtbl { impl IAppxManifestOSPackageDependenciesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2104,11 +2104,11 @@ pub struct IAppxManifestOSPackageDependenciesEnumerator_Vtbl { impl IAppxManifestOSPackageDependency { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2123,11 +2123,11 @@ pub struct IAppxManifestOSPackageDependency_Vtbl { impl IAppxManifestOptionalPackageInfo { pub unsafe fn GetIsOptionalPackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsOptionalPackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsOptionalPackage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMainPackageName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainPackageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainPackageName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2142,15 +2142,15 @@ pub struct IAppxManifestOptionalPackageInfo_Vtbl { impl IAppxManifestPackageDependenciesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2166,15 +2166,15 @@ pub struct IAppxManifestPackageDependenciesEnumerator_Vtbl { impl IAppxManifestPackageDependency { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2190,19 +2190,19 @@ pub struct IAppxManifestPackageDependency_Vtbl { impl IAppxManifestPackageDependency2 { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxMajorVersionTested(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxMajorVersionTested)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxMajorVersionTested)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2216,7 +2216,7 @@ pub struct IAppxManifestPackageDependency2_Vtbl { impl IAppxManifestPackageDependency3 { pub unsafe fn GetIsOptional(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsOptional)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsOptional)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2230,38 +2230,38 @@ pub struct IAppxManifestPackageDependency3_Vtbl { impl IAppxManifestPackageId { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArchitecture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResourceId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComparePublisher(&self, other: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComparePublisher)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComparePublisher)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPackageFullName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageFullName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageFullName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2282,42 +2282,42 @@ pub struct IAppxManifestPackageId_Vtbl { impl IAppxManifestPackageId2 { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArchitecture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResourceId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComparePublisher(&self, other: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComparePublisher)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComparePublisher)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPackageFullName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPackageFullName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPackageFullName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArchitecture2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArchitecture2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArchitecture2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2334,14 +2334,14 @@ impl IAppxManifestProperties { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoolValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoolValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetStringValue(&self, name: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2356,15 +2356,15 @@ pub struct IAppxManifestProperties_Vtbl { impl IAppxManifestQualifiedResource { pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDXFeatureLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDXFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDXFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2380,15 +2380,15 @@ pub struct IAppxManifestQualifiedResource_Vtbl { impl IAppxManifestQualifiedResourcesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2404,43 +2404,43 @@ pub struct IAppxManifestQualifiedResourcesEnumerator_Vtbl { impl IAppxManifestReader { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisite(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2465,47 +2465,47 @@ pub struct IAppxManifestReader_Vtbl { impl IAppxManifestReader2 { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisite(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQualifiedResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2519,55 +2519,55 @@ pub struct IAppxManifestReader2_Vtbl { impl IAppxManifestReader3 { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisite(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQualifiedResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilitiesByCapabilityClass(&self, capabilityclass: APPX_CAPABILITY_CLASS_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilitiesByCapabilityClass)(::windows_core::Interface::as_raw(self), capabilityclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilitiesByCapabilityClass)(::windows_core::Interface::as_raw(self), capabilityclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetDeviceFamilies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2582,59 +2582,59 @@ pub struct IAppxManifestReader3_Vtbl { impl IAppxManifestReader4 { pub unsafe fn GetPackageId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPackageId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisite(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrerequisite)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQualifiedResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetQualifiedResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilitiesByCapabilityClass(&self, capabilityclass: APPX_CAPABILITY_CLASS_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCapabilitiesByCapabilityClass)(::windows_core::Interface::as_raw(self), capabilityclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCapabilitiesByCapabilityClass)(::windows_core::Interface::as_raw(self), capabilityclass, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetDeviceFamilies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTargetDeviceFamilies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOptionalPackageInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionalPackageInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionalPackageInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2648,7 +2648,7 @@ pub struct IAppxManifestReader4_Vtbl { impl IAppxManifestReader5 { pub unsafe fn GetMainPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2662,7 +2662,7 @@ pub struct IAppxManifestReader5_Vtbl { impl IAppxManifestReader6 { pub unsafe fn GetIsNonQualifiedResourcePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsNonQualifiedResourcePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsNonQualifiedResourcePackage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2676,15 +2676,15 @@ pub struct IAppxManifestReader6_Vtbl { impl IAppxManifestReader7 { pub unsafe fn GetDriverDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDriverDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDriverDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOSPackageDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOSPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOSPackageDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHostRuntimeDependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostRuntimeDependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostRuntimeDependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2700,15 +2700,15 @@ pub struct IAppxManifestReader7_Vtbl { impl IAppxManifestResourcesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2724,15 +2724,15 @@ pub struct IAppxManifestResourcesEnumerator_Vtbl { impl IAppxManifestTargetDeviceFamiliesEnumerator { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHasCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHasCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2748,15 +2748,15 @@ pub struct IAppxManifestTargetDeviceFamiliesEnumerator_Vtbl { impl IAppxManifestTargetDeviceFamily { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMinVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxVersionTested(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxVersionTested)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxVersionTested)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2852,26 +2852,26 @@ pub struct IAppxPackageEditor_Vtbl { impl IAppxPackageReader { pub unsafe fn GetBlockMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBlockMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBlockMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFootprintFile(&self, r#type: APPX_FOOTPRINT_FILE_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFootprintFile)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFootprintFile)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPayloadFile(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPayloadFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPayloadFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPayloadFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPayloadFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPayloadFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetManifest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetManifest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetManifest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3001,11 +3001,11 @@ pub struct IAppxPackagingDiagnosticEventSinkManager_Vtbl { impl IAppxSourceContentGroupMapReader { pub unsafe fn GetRequiredGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequiredGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequiredGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAutomaticGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutomaticGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutomaticGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Opc/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Opc/mod.rs index 5cd9d71b3a..92a645b494 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Opc/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Packaging/Opc/mod.rs @@ -3,20 +3,20 @@ impl IOpcCertificateEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Cryptography")] pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<*mut super::super::super::Security::Cryptography::CERT_CONTEXT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -44,7 +44,7 @@ impl IOpcCertificateSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -69,55 +69,55 @@ impl IOpcDigitalSignature { } pub unsafe fn GetSignatureId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSignaturePartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCanonicalizationMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCanonicalizationMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCanonicalizationMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignatureValue(&self, signaturevalue: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSignatureValue)(::windows_core::Interface::as_raw(self), signaturevalue, count).ok() } pub unsafe fn GetSignaturePartReferenceEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureRelationshipReferenceEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureRelationshipReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureRelationshipReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSigningTime(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimeFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPackageObjectReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageObjectReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageObjectReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCustomReferenceEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCustomObjectEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomObjectEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomObjectEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureXml(&self, signaturexml: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSignatureXml)(::windows_core::Interface::as_raw(self), signaturexml, count).ok() @@ -151,19 +151,19 @@ pub struct IOpcDigitalSignature_Vtbl { impl IOpcDigitalSignatureEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -181,7 +181,7 @@ impl IOpcDigitalSignatureManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSignatureOriginPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureOriginPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureOriginPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignatureOriginPartName(&self, signatureoriginpartname: P0) -> ::windows_core::Result<()> @@ -192,7 +192,7 @@ impl IOpcDigitalSignatureManager { } pub unsafe fn GetSignatureEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveSignature(&self, signaturepartname: P0) -> ::windows_core::Result<()> @@ -203,7 +203,7 @@ impl IOpcDigitalSignatureManager { } pub unsafe fn CreateSigningOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSigningOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSigningOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security_Cryptography")] pub unsafe fn Validate(&self, signature: P0, certificate: *const super::super::super::Security::Cryptography::CERT_CONTEXT) -> ::windows_core::Result @@ -211,7 +211,7 @@ impl IOpcDigitalSignatureManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), signature.into_param().abi(), certificate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), signature.into_param().abi(), certificate, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Cryptography")] pub unsafe fn Sign(&self, certificate: *const super::super::super::Security::Cryptography::CERT_CONTEXT, signingoptions: P0) -> ::windows_core::Result @@ -219,7 +219,7 @@ impl IOpcDigitalSignatureManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sign)(::windows_core::Interface::as_raw(self), certificate, signingoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sign)(::windows_core::Interface::as_raw(self), certificate, signingoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReplaceSignatureXml(&self, signaturepartname: P0, newsignaturexml: &[u8]) -> ::windows_core::Result @@ -227,7 +227,7 @@ impl IOpcDigitalSignatureManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplaceSignatureXml)(::windows_core::Interface::as_raw(self), signaturepartname.into_param().abi(), ::core::mem::transmute(newsignaturexml.as_ptr()), newsignaturexml.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplaceSignatureXml)(::windows_core::Interface::as_raw(self), signaturepartname.into_param().abi(), ::core::mem::transmute(newsignaturexml.as_ptr()), newsignaturexml.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -267,7 +267,7 @@ impl IOpcFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePackageRootUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageRootUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageRootUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePartUri(&self, pwzuri: P0) -> ::windows_core::Result @@ -275,7 +275,7 @@ impl IOpcFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartUri)(::windows_core::Interface::as_raw(self), pwzuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartUri)(::windows_core::Interface::as_raw(self), pwzuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Security", feature = "Win32_System_Com"))] pub unsafe fn CreateStreamOnFile(&self, filename: P0, iomode: OPC_STREAM_IO_MODE, securityattributes: *const super::super::super::Security::SECURITY_ATTRIBUTES, dwflagsandattributes: u32) -> ::windows_core::Result @@ -283,11 +283,11 @@ impl IOpcFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), iomode, securityattributes, dwflagsandattributes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), iomode, securityattributes, dwflagsandattributes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReadPackageFromStream(&self, stream: P0, flags: OPC_READ_FLAGS) -> ::windows_core::Result @@ -295,7 +295,7 @@ impl IOpcFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadPackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadPackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WritePackageToStream(&self, package: P0, flags: OPC_WRITE_FLAGS, stream: P1) -> ::windows_core::Result<()> @@ -310,7 +310,7 @@ impl IOpcFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDigitalSignatureManager)(::windows_core::Interface::as_raw(self), package.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDigitalSignatureManager)(::windows_core::Interface::as_raw(self), package.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -345,11 +345,11 @@ pub struct IOpcFactory_Vtbl { impl IOpcPackage { pub unsafe fn GetPartSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRelationshipSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -364,25 +364,25 @@ pub struct IOpcPackage_Vtbl { impl IOpcPart { pub unsafe fn GetRelationshipSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetContentStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContentType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCompressionOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompressionOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompressionOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -406,19 +406,19 @@ pub struct IOpcPart_Vtbl { impl IOpcPartEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -439,7 +439,7 @@ impl IOpcPartSet { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPart)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPart)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePart(&self, name: P0, contenttype: P1, compressionoptions: OPC_COMPRESSION_OPTIONS) -> ::windows_core::Result @@ -448,7 +448,7 @@ impl IOpcPartSet { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePart)(::windows_core::Interface::as_raw(self), name.into_param().abi(), contenttype.into_param().abi(), compressionoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePart)(::windows_core::Interface::as_raw(self), name.into_param().abi(), contenttype.into_param().abi(), compressionoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DeletePart(&self, name: P0) -> ::windows_core::Result<()> @@ -463,11 +463,11 @@ impl IOpcPartSet { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PartExists)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PartExists)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -513,107 +513,107 @@ impl IOpcPartUri { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HasProperty(&self, uriprop: super::super::super::System::Com::Uri_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAbsoluteUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAuthority(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDisplayUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFragment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHost(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetHost)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPathAndQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRawUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSchemeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUserInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHostType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetScheme(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetZone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetZone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, puri: P0) -> ::windows_core::Result @@ -621,12 +621,12 @@ impl IOpcPartUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRelationshipsPartUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRelativeUri(&self, targetparturi: P0) -> ::windows_core::Result @@ -634,7 +634,7 @@ impl IOpcPartUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelativeUri)(::windows_core::Interface::as_raw(self), targetparturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelativeUri)(::windows_core::Interface::as_raw(self), targetparturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CombinePartUri(&self, relativeuri: P0) -> ::windows_core::Result @@ -642,7 +642,7 @@ impl IOpcPartUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CombinePartUri)(::windows_core::Interface::as_raw(self), relativeuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CombinePartUri)(::windows_core::Interface::as_raw(self), relativeuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ComparePartUri(&self, parturi: P0) -> ::windows_core::Result @@ -650,16 +650,16 @@ impl IOpcPartUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComparePartUri)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComparePartUri)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSourceUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRelationshipsPartUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -682,25 +682,25 @@ pub struct IOpcPartUri_Vtbl { impl IOpcRelationship { pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelationshipType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSourceUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTargetUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -724,19 +724,19 @@ pub struct IOpcRelationship_Vtbl { impl IOpcRelationshipEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -753,11 +753,11 @@ pub struct IOpcRelationshipEnumerator_Vtbl { impl IOpcRelationshipSelector { pub unsafe fn GetSelectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelectionCriterion(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectionCriterion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectionCriterion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -772,19 +772,19 @@ pub struct IOpcRelationshipSelector_Vtbl { impl IOpcRelationshipSelectorEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -804,7 +804,7 @@ impl IOpcRelationshipSelectorSet { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), selector, selectioncriterion.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), selector, selectioncriterion.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, relationshipselector: P0) -> ::windows_core::Result<()> where @@ -814,7 +814,7 @@ impl IOpcRelationshipSelectorSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -833,7 +833,7 @@ impl IOpcRelationshipSet { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationship)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationship)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRelationship(&self, relationshipidentifier: P0, relationshiptype: P1, targeturi: P2, targetmode: OPC_URI_TARGET_MODE) -> ::windows_core::Result @@ -843,7 +843,7 @@ impl IOpcRelationshipSet { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRelationship)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), relationshiptype.into_param().abi(), targeturi.into_param().abi(), targetmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRelationship)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), relationshiptype.into_param().abi(), targeturi.into_param().abi(), targetmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRelationship(&self, relationshipidentifier: P0) -> ::windows_core::Result<()> where @@ -856,23 +856,23 @@ impl IOpcRelationshipSet { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RelationshipExists)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RelationshipExists)(::windows_core::Interface::as_raw(self), relationshipidentifier.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEnumeratorForType(&self, relationshiptype: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumeratorForType)(::windows_core::Interface::as_raw(self), relationshiptype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumeratorForType)(::windows_core::Interface::as_raw(self), relationshiptype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRelationshipsContentStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipsContentStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipsContentStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -911,19 +911,19 @@ pub struct IOpcSignatureCustomObject_Vtbl { impl IOpcSignatureCustomObjectEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -940,7 +940,7 @@ pub struct IOpcSignatureCustomObjectEnumerator_Vtbl { impl IOpcSignatureCustomObjectSet { pub unsafe fn Create(&self, xmlmarkup: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(xmlmarkup.as_ptr()), xmlmarkup.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(xmlmarkup.as_ptr()), xmlmarkup.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, customobject: P0) -> ::windows_core::Result<()> where @@ -950,7 +950,7 @@ impl IOpcSignatureCustomObjectSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -967,22 +967,22 @@ impl IOpcSignaturePartReference { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContentType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDigestMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDigestValue(&self, digestvalue: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDigestValue)(::windows_core::Interface::as_raw(self), digestvalue, count).ok() } pub unsafe fn GetTransformMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1003,19 +1003,19 @@ pub struct IOpcSignaturePartReference_Vtbl { impl IOpcSignaturePartReferenceEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1037,7 +1037,7 @@ impl IOpcSignaturePartReferenceSet { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), digestmethod.into_param().abi(), transformmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), digestmethod.into_param().abi(), transformmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, partreference: P0) -> ::windows_core::Result<()> where @@ -1047,7 +1047,7 @@ impl IOpcSignaturePartReferenceSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1066,24 +1066,24 @@ pub struct IOpcSignaturePartReferenceSet_Vtbl { impl IOpcSignatureReference { pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransformMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDigestMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDigestValue(&self, digestvalue: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDigestValue)(::windows_core::Interface::as_raw(self), digestvalue, count).ok() @@ -1108,19 +1108,19 @@ pub struct IOpcSignatureReference_Vtbl { impl IOpcSignatureReferenceEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1144,7 +1144,7 @@ impl IOpcSignatureReferenceSet { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), referenceuri.into_param().abi(), referenceid.into_param().abi(), r#type.into_param().abi(), digestmethod.into_param().abi(), transformmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), referenceuri.into_param().abi(), referenceid.into_param().abi(), r#type.into_param().abi(), digestmethod.into_param().abi(), transformmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, reference: P0) -> ::windows_core::Result<()> where @@ -1154,7 +1154,7 @@ impl IOpcSignatureReferenceSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1174,26 +1174,26 @@ impl IOpcSignatureRelationshipReference { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSourceUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDigestMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDigestValue(&self, digestvalue: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDigestValue)(::windows_core::Interface::as_raw(self), digestvalue, count).ok() } pub unsafe fn GetTransformMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelationshipSigningOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipSigningOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipSigningOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelationshipSelectorEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipSelectorEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipSelectorEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1215,19 +1215,19 @@ pub struct IOpcSignatureRelationshipReference_Vtbl { impl IOpcSignatureRelationshipReferenceEnumerator { pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MovePrevious(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MovePrevious)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1250,11 +1250,11 @@ impl IOpcSignatureRelationshipReferenceSet { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), sourceuri.into_param().abi(), digestmethod.into_param().abi(), relationshipsigningoption, selectorset.into_param().abi(), transformmethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), sourceuri.into_param().abi(), digestmethod.into_param().abi(), relationshipsigningoption, selectorset.into_param().abi(), transformmethod, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRelationshipSelectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRelationshipSelectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRelationshipSelectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, relationshipreference: P0) -> ::windows_core::Result<()> where @@ -1264,7 +1264,7 @@ impl IOpcSignatureRelationshipReferenceSet { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1284,7 +1284,7 @@ pub struct IOpcSignatureRelationshipReferenceSet_Vtbl { impl IOpcSigningOptions { pub unsafe fn GetSignatureId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignatureId(&self, signatureid: P0) -> ::windows_core::Result<()> where @@ -1294,7 +1294,7 @@ impl IOpcSigningOptions { } pub unsafe fn GetSignatureMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignatureMethod(&self, signaturemethod: P0) -> ::windows_core::Result<()> where @@ -1304,7 +1304,7 @@ impl IOpcSigningOptions { } pub unsafe fn GetDefaultDigestMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultDigestMethod(&self, digestmethod: P0) -> ::windows_core::Result<()> where @@ -1314,42 +1314,42 @@ impl IOpcSigningOptions { } pub unsafe fn GetCertificateEmbeddingOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateEmbeddingOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateEmbeddingOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCertificateEmbeddingOption(&self, embeddingoption: OPC_CERTIFICATE_EMBEDDING_OPTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCertificateEmbeddingOption)(::windows_core::Interface::as_raw(self), embeddingoption).ok() } pub unsafe fn GetTimeFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimeFormat(&self, timeformat: OPC_SIGNATURE_TIME_FORMAT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimeFormat)(::windows_core::Interface::as_raw(self), timeformat).ok() } pub unsafe fn GetSignaturePartReferenceSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureRelationshipReferenceSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureRelationshipReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureRelationshipReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCustomObjectSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomObjectSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomObjectSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCustomReferenceSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomReferenceSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCertificateSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSignaturePartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSignaturePartName(&self, signaturepartname: P0) -> ::windows_core::Result<()> @@ -1408,107 +1408,107 @@ impl IOpcUri { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HasProperty(&self, uriprop: super::super::super::System::Com::Uri_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAbsoluteUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAuthority(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDisplayUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFragment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHost(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHost)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPathAndQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRawUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSchemeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUserInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHostType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetScheme(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetZone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetZone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, puri: P0) -> ::windows_core::Result @@ -1516,12 +1516,12 @@ impl IOpcUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRelationshipsPartUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationshipsPartUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRelativeUri(&self, targetparturi: P0) -> ::windows_core::Result @@ -1529,7 +1529,7 @@ impl IOpcUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelativeUri)(::windows_core::Interface::as_raw(self), targetparturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelativeUri)(::windows_core::Interface::as_raw(self), targetparturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CombinePartUri(&self, relativeuri: P0) -> ::windows_core::Result @@ -1537,7 +1537,7 @@ impl IOpcUri { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CombinePartUri)(::windows_core::Interface::as_raw(self), relativeuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CombinePartUri)(::windows_core::Interface::as_raw(self), relativeuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs index c2de625c02..4bce1675a1 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs @@ -87,7 +87,7 @@ where { ::windows_targets::link!("projectedfslib.dll" "system" fn PrjGetOnDiskFileState(destinationfilename : ::windows_core::PCWSTR, filestate : *mut PRJ_FILE_STATE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PrjGetOnDiskFileState(destinationfilename.into_param().abi(), &mut result__).from_abi(result__) + PrjGetOnDiskFileState(destinationfilename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PrjGetVirtualizationInstanceInfo(namespacevirtualizationcontext: P0, virtualizationinstanceinfo: *mut PRJ_VIRTUALIZATION_INSTANCE_INFO) -> ::windows_core::Result<()> @@ -113,7 +113,7 @@ where { ::windows_targets::link!("projectedfslib.dll" "system" fn PrjStartVirtualizing(virtualizationrootpath : ::windows_core::PCWSTR, callbacks : *const PRJ_CALLBACKS, instancecontext : *const ::core::ffi::c_void, options : *const PRJ_STARTVIRTUALIZING_OPTIONS, namespacevirtualizationcontext : *mut PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PrjStartVirtualizing(virtualizationrootpath.into_param().abi(), callbacks, ::core::mem::transmute(instancecontext.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + PrjStartVirtualizing(virtualizationrootpath.into_param().abi(), callbacks, ::core::mem::transmute(instancecontext.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn PrjStopVirtualizing(namespacevirtualizationcontext: P0) diff --git a/crates/libs/windows/src/Windows/Win32/Storage/VirtualDiskService/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/VirtualDiskService/mod.rs index 315bec31ca..2393967969 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/VirtualDiskService/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/VirtualDiskService/mod.rs @@ -12,7 +12,7 @@ impl IEnumVdsObject { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -57,7 +57,7 @@ impl IVdsAdvancedDisk { } pub unsafe fn CreatePartition(&self, ulloffset: u64, ullsize: u64, para: *const CREATE_PARTITION_PARAMETERS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartition)(::windows_core::Interface::as_raw(self), ulloffset, ullsize, para, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartition)(::windows_core::Interface::as_raw(self), ulloffset, ullsize, para, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeletePartition(&self, ulloffset: u64, bforce: P0, bforceprotected: P1) -> ::windows_core::Result<()> where @@ -86,7 +86,7 @@ impl IVdsAdvancedDisk { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatPartition)(::windows_core::Interface::as_raw(self), ulloffset, r#type, pwszlabel.into_param().abi(), dwunitallocationsize, bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatPartition)(::windows_core::Interface::as_raw(self), ulloffset, r#type, pwszlabel.into_param().abi(), dwunitallocationsize, bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clean(&self, bforce: P0, bforceoem: P1, bfullclean: P2) -> ::windows_core::Result where @@ -95,7 +95,7 @@ impl IVdsAdvancedDisk { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clean)(::windows_core::Interface::as_raw(self), bforce.into_param().abi(), bforceoem.into_param().abi(), bfullclean.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clean)(::windows_core::Interface::as_raw(self), bforce.into_param().abi(), bforceoem.into_param().abi(), bfullclean.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -137,7 +137,7 @@ impl IVdsAdvancedDisk3 { } pub unsafe fn GetUniqueId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUniqueId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUniqueId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -189,7 +189,7 @@ impl IVdsController { } pub unsafe fn GetSubSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPortProperties(&self, sportnumber: i16, pportprop: *mut VDS_PORT_PROP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPortProperties)(::windows_core::Interface::as_raw(self), sportnumber, pportprop).ok() @@ -205,7 +205,7 @@ impl IVdsController { } pub unsafe fn QueryAssociatedLuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStatus(&self, status: VDS_CONTROLLER_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), status).ok() @@ -229,7 +229,7 @@ pub struct IVdsController_Vtbl { impl IVdsControllerControllerPort { pub unsafe fn QueryControllerPorts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryControllerPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryControllerPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -246,11 +246,11 @@ impl IVdsControllerPort { } pub unsafe fn GetController(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAssociatedLuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -274,7 +274,7 @@ pub struct IVdsControllerPort_Vtbl { impl IVdsCreatePartitionEx { pub unsafe fn CreatePartitionEx(&self, ulloffset: u64, ullsize: u64, ulalign: u32, para: *const CREATE_PARTITION_PARAMETERS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartitionEx)(::windows_core::Interface::as_raw(self), ulloffset, ullsize, ulalign, para, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartitionEx)(::windows_core::Interface::as_raw(self), ulloffset, ullsize, ulalign, para, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -291,7 +291,7 @@ impl IVdsDisk { } pub unsafe fn GetPack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPack)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIdentificationData(&self, pluninfo: *mut VDS_LUN_INFORMATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIdentificationData)(::windows_core::Interface::as_raw(self), pluninfo).ok() @@ -379,7 +379,7 @@ impl IVdsDiskPartitionMF { } pub unsafe fn GetPartitionFileSystemTypeName(&self, ulloffset: u64) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartitionFileSystemTypeName)(::windows_core::Interface::as_raw(self), ulloffset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartitionFileSystemTypeName)(::windows_core::Interface::as_raw(self), ulloffset, &mut result__).map(|| result__) } pub unsafe fn QueryPartitionFileSystemFormatSupport(&self, ulloffset: u64, ppfilesystemsupportprops: *mut *mut VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP, plnumberoffilesystems: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryPartitionFileSystemFormatSupport)(::windows_core::Interface::as_raw(self), ulloffset, ppfilesystemsupportprops, plnumberoffilesystems).ok() @@ -393,7 +393,7 @@ impl IVdsDiskPartitionMF { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatPartitionEx)(::windows_core::Interface::as_raw(self), ulloffset, pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatPartitionEx)(::windows_core::Interface::as_raw(self), ulloffset, pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -414,7 +414,7 @@ impl IVdsDiskPartitionMF2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatPartitionEx2)(::windows_core::Interface::as_raw(self), ulloffset, pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatPartitionEx2)(::windows_core::Interface::as_raw(self), ulloffset, pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -431,7 +431,7 @@ impl IVdsDrive { } pub unsafe fn GetSubSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryExtents(&self, ppextentarray: *mut *mut VDS_DRIVE_EXTENT, plnumberofextents: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryExtents)(::windows_core::Interface::as_raw(self), ppextentarray, plnumberofextents).ok() @@ -492,7 +492,7 @@ pub struct IVdsHbaPort_Vtbl { impl IVdsHwProvider { pub unsafe fn QuerySubSystems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySubSystems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySubSystems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reenumerate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reenumerate)(::windows_core::Interface::as_raw(self)).ok() @@ -517,7 +517,7 @@ impl IVdsHwProviderPrivate { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryIfCreatedLun)(::windows_core::Interface::as_raw(self), pwszdevicepath.into_param().abi(), pvdsluninformation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryIfCreatedLun)(::windows_core::Interface::as_raw(self), pwszdevicepath.into_param().abi(), pvdsluninformation, &mut result__).map(|| result__) } } #[repr(C)] @@ -544,18 +544,18 @@ pub struct IVdsHwProviderPrivateMpio_Vtbl { impl IVdsHwProviderStoragePools { pub unsafe fn QueryStoragePools(&self, ulflags: u32, ullremainingfreespace: u64, ppoolattributes: *const VDS_POOL_ATTRIBUTES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryStoragePools)(::windows_core::Interface::as_raw(self), ulflags, ullremainingfreespace, ppoolattributes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryStoragePools)(::windows_core::Interface::as_raw(self), ulflags, ullremainingfreespace, ppoolattributes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLunInStoragePool(&self, r#type: VDS_LUN_TYPE, ullsizeinbytes: u64, storagepoolid: ::windows_core::GUID, pwszunmaskinglist: P0, phints2: *const VDS_HINTS2) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLunInStoragePool)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(storagepoolid), pwszunmaskinglist.into_param().abi(), phints2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLunInStoragePool)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(storagepoolid), pwszunmaskinglist.into_param().abi(), phints2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryMaxLunCreateSizeInStoragePool(&self, r#type: VDS_LUN_TYPE, storagepoolid: ::windows_core::GUID, phints2: *const VDS_HINTS2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxLunCreateSizeInStoragePool)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(storagepoolid), phints2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxLunCreateSizeInStoragePool)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(storagepoolid), phints2, &mut result__).map(|| result__) } } #[repr(C)] @@ -571,7 +571,7 @@ pub struct IVdsHwProviderStoragePools_Vtbl { impl IVdsHwProviderType { pub unsafe fn GetProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -585,7 +585,7 @@ pub struct IVdsHwProviderType_Vtbl { impl IVdsHwProviderType2 { pub unsafe fn GetProviderType2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderType2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderType2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -602,7 +602,7 @@ impl IVdsIscsiInitiatorAdapter { } pub unsafe fn QueryInitiatorPortals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInitiatorPortals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInitiatorPortals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoginToTarget(&self, logintype: VDS_ISCSI_LOGIN_TYPE, targetid: ::windows_core::GUID, targetportalid: ::windows_core::GUID, initiatorportalid: ::windows_core::GUID, ulloginflags: u32, bheaderdigest: P0, bdatadigest: P1, authtype: VDS_ISCSI_AUTH_TYPE) -> ::windows_core::Result where @@ -610,11 +610,11 @@ impl IVdsIscsiInitiatorAdapter { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoginToTarget)(::windows_core::Interface::as_raw(self), logintype, ::core::mem::transmute(targetid), ::core::mem::transmute(targetportalid), ::core::mem::transmute(initiatorportalid), ulloginflags, bheaderdigest.into_param().abi(), bdatadigest.into_param().abi(), authtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoginToTarget)(::windows_core::Interface::as_raw(self), logintype, ::core::mem::transmute(targetid), ::core::mem::transmute(targetportalid), ::core::mem::transmute(initiatorportalid), ulloginflags, bheaderdigest.into_param().abi(), bdatadigest.into_param().abi(), authtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LogoutFromTarget(&self, targetid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogoutFromTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogoutFromTarget)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -634,14 +634,14 @@ impl IVdsIscsiInitiatorPortal { } pub unsafe fn GetInitiatorAdapter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInitiatorAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInitiatorAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIpsecTunnelAddress(&self, ptunneladdress: *const VDS_IPADDRESS, pdestinationaddress: *const VDS_IPADDRESS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpsecTunnelAddress)(::windows_core::Interface::as_raw(self), ptunneladdress, pdestinationaddress).ok() } pub unsafe fn GetIpsecSecurity(&self, targetportalid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIpsecSecurity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetportalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIpsecSecurity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetportalid), &mut result__).map(|| result__) } pub unsafe fn SetIpsecSecurity(&self, targetportalid: ::windows_core::GUID, ullsecurityflags: u64, pipseckey: *const VDS_ISCSI_IPSEC_KEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpsecSecurity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetportalid), ullsecurityflags, pipseckey).ok() @@ -665,11 +665,11 @@ impl IVdsIscsiPortal { } pub unsafe fn GetSubSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAssociatedPortalGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedPortalGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedPortalGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStatus(&self, status: VDS_ISCSI_PORTAL_STATUS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), status).ok() @@ -679,7 +679,7 @@ impl IVdsIscsiPortal { } pub unsafe fn GetIpsecSecurity(&self, pinitiatorportaladdress: *const VDS_IPADDRESS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIpsecSecurity)(::windows_core::Interface::as_raw(self), pinitiatorportaladdress, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIpsecSecurity)(::windows_core::Interface::as_raw(self), pinitiatorportaladdress, &mut result__).map(|| result__) } pub unsafe fn SetIpsecSecurity(&self, pinitiatorportaladdress: *const VDS_IPADDRESS, ullsecurityflags: u64, pipseckey: *const VDS_ISCSI_IPSEC_KEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpsecSecurity)(::windows_core::Interface::as_raw(self), pinitiatorportaladdress, ullsecurityflags, pipseckey).ok() @@ -705,23 +705,23 @@ impl IVdsIscsiPortalGroup { } pub unsafe fn GetTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAssociatedPortals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedPortals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedPortals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPortal(&self, portalid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddPortal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(portalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddPortal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(portalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemovePortal(&self, portalid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemovePortal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(portalid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemovePortal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(portalid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -756,23 +756,23 @@ impl IVdsIscsiTarget { } pub unsafe fn GetSubSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryPortalGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPortalGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPortalGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAssociatedLuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePortalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePortalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePortalGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, pwszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -819,38 +819,38 @@ impl IVdsLun { } pub unsafe fn GetSubSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubSystem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIdentificationData(&self, pluninfo: *mut VDS_LUN_INFORMATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIdentificationData)(::windows_core::Interface::as_raw(self), pluninfo).ok() } pub unsafe fn QueryActiveControllers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryActiveControllers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryActiveControllers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Extend(&self, ullnumberofbytestoadd: u64, pdriveidarray: &[::windows_core::GUID]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extend)(::windows_core::Interface::as_raw(self), ullnumberofbytestoadd, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extend)(::windows_core::Interface::as_raw(self), ullnumberofbytestoadd, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shrink(&self, ullnumberofbytestoremove: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ullnumberofbytestoremove, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ullnumberofbytestoremove, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryPlexes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPlexes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPlexes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlex(&self, lunid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lunid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lunid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemovePlex(&self, plexid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemovePlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemovePlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Recover(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recover)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recover)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMask(&self, pwszunmaskinglist: P0) -> ::windows_core::Result<()> where @@ -875,7 +875,7 @@ impl IVdsLun { } pub unsafe fn QueryMaxLunExtendSize(&self, pdriveidarray: &[::windows_core::GUID]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxLunExtendSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxLunExtendSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), &mut result__).map(|| result__) } } #[repr(C)] @@ -925,7 +925,7 @@ impl IVdsLunControllerPorts { } pub unsafe fn QueryActiveControllerPorts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryActiveControllerPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryActiveControllerPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -943,7 +943,7 @@ impl IVdsLunIscsi { } pub unsafe fn QueryAssociatedTargets(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAssociatedTargets)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAssociatedTargets)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -967,7 +967,7 @@ impl IVdsLunMpio { } pub unsafe fn GetSupportedLbPolicies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedLbPolicies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedLbPolicies)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1000,7 +1000,7 @@ pub struct IVdsLunNaming_Vtbl { impl IVdsLunNumber { pub unsafe fn GetLunNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLunNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLunNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1017,7 +1017,7 @@ impl IVdsLunPlex { } pub unsafe fn GetLun(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLun)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLun)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryExtents(&self, ppextentarray: *mut *mut VDS_DRIVE_EXTENT, plnumberofextents: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryExtents)(::windows_core::Interface::as_raw(self), ppextentarray, plnumberofextents).ok() @@ -1069,7 +1069,7 @@ impl IVdsOpenVDisk { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attach)(::windows_core::Interface::as_raw(self), pstringsecuritydescriptor.into_param().abi(), flags, providerspecificflags, timeoutinms, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attach)(::windows_core::Interface::as_raw(self), pstringsecuritydescriptor.into_param().abi(), flags, providerspecificflags, timeoutinms, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn Detach(&self, flags: super::Vhd::DETACH_VIRTUAL_DISK_FLAG, providerspecificflags: u32) -> ::windows_core::Result<()> { @@ -1082,17 +1082,17 @@ impl IVdsOpenVDisk { #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn Compact(&self, flags: super::Vhd::COMPACT_VIRTUAL_DISK_FLAG, reserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compact)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compact)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn Merge(&self, flags: super::Vhd::MERGE_VIRTUAL_DISK_FLAG, mergedepth: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Merge)(::windows_core::Interface::as_raw(self), flags, mergedepth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Merge)(::windows_core::Interface::as_raw(self), flags, mergedepth, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn Expand(&self, flags: super::Vhd::EXPAND_VIRTUAL_DISK_FLAG, newsize: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Expand)(::windows_core::Interface::as_raw(self), flags, newsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Expand)(::windows_core::Interface::as_raw(self), flags, newsize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1132,19 +1132,19 @@ impl IVdsPack { } pub unsafe fn GetProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryVolumes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVolumes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVolumes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDisks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDisks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDisks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVolume(&self, r#type: VDS_VOLUME_TYPE, pinputdiskarray: &[VDS_INPUT_DISK], ulstripesize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVolume)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), ulstripesize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVolume)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), ulstripesize, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDisk(&self, diskid: ::windows_core::GUID, partitionstyle: VDS_PARTITION_STYLE, bashotspare: P0) -> ::windows_core::Result<()> where @@ -1161,14 +1161,14 @@ impl IVdsPack { } pub unsafe fn ReplaceDisk(&self, olddiskid: ::windows_core::GUID, newdiskid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplaceDisk)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(olddiskid), ::core::mem::transmute(newdiskid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplaceDisk)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(olddiskid), ::core::mem::transmute(newdiskid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveMissingDisk(&self, diskid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveMissingDisk)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(diskid)).ok() } pub unsafe fn Recover(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recover)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recover)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1191,7 +1191,7 @@ pub struct IVdsPack_Vtbl { impl IVdsPack2 { pub unsafe fn CreateVolume2(&self, r#type: VDS_VOLUME_TYPE, pinputdiskarray: &[VDS_INPUT_DISK], ulstripesize: u32, ulalign: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVolume2)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), ulstripesize, ulalign, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVolume2)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), ulstripesize, ulalign, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1218,7 +1218,7 @@ pub struct IVdsProvider_Vtbl { impl IVdsProviderPrivate { pub unsafe fn GetObject(&self, objectid: ::windows_core::GUID, r#type: VDS_OBJECT_TYPE) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objectid), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objectid), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnLoad(&self, pwszmachinename: P0, pcallbackobject: P1) -> ::windows_core::Result<()> where @@ -1247,7 +1247,7 @@ pub struct IVdsProviderPrivate_Vtbl { impl IVdsProviderSupport { pub unsafe fn GetVersionSupport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionSupport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionSupport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1284,23 +1284,23 @@ impl IVdsService { } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryProviders(&self, masks: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryProviders)(::windows_core::Interface::as_raw(self), masks, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryProviders)(::windows_core::Interface::as_raw(self), masks, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryMaskedDisks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaskedDisks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaskedDisks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryUnallocatedDisks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryUnallocatedDisks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryUnallocatedDisks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObject(&self, objectid: ::windows_core::GUID, r#type: VDS_OBJECT_TYPE) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objectid), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objectid), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDriveLetters(&self, wcfirstletter: u16, pdriveletterproparray: &mut [VDS_DRIVE_LETTER_PROP]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryDriveLetters)(::windows_core::Interface::as_raw(self), wcfirstletter, pdriveletterproparray.len().try_into().unwrap(), ::core::mem::transmute(pdriveletterproparray.as_ptr())).ok() @@ -1322,7 +1322,7 @@ impl IVdsService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1364,7 +1364,7 @@ pub struct IVdsService_Vtbl { impl IVdsServiceHba { pub unsafe fn QueryHbaPorts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHbaPorts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHbaPorts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1394,11 +1394,11 @@ pub struct IVdsServiceInitialization_Vtbl { impl IVdsServiceIscsi { pub unsafe fn GetInitiatorName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInitiatorName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInitiatorName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryInitiatorAdapters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInitiatorAdapters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInitiatorAdapters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIpsecGroupPresharedKey(&self, pipseckey: *const VDS_ISCSI_IPSEC_KEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpsecGroupPresharedKey)(::windows_core::Interface::as_raw(self), pipseckey).ok() @@ -1436,7 +1436,7 @@ impl IVdsServiceLoader { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadService)(::windows_core::Interface::as_raw(self), pwszmachinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadService)(::windows_core::Interface::as_raw(self), pwszmachinename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1450,7 +1450,7 @@ pub struct IVdsServiceLoader_Vtbl { impl IVdsServiceSAN { pub unsafe fn GetSANPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSANPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSANPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSANPolicy(&self, sanpolicy: VDS_SAN_POLICY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSANPolicy)(::windows_core::Interface::as_raw(self), sanpolicy).ok() @@ -1471,7 +1471,7 @@ impl IVdsServiceSw { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiskObject)(::windows_core::Interface::as_raw(self), pwszdeviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiskObject)(::windows_core::Interface::as_raw(self), pwszdeviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1485,7 +1485,7 @@ pub struct IVdsServiceSw_Vtbl { impl IVdsServiceUninstallDisk { pub unsafe fn GetDiskIdFromLunInfo(&self, pluninfo: *const VDS_LUN_INFORMATION) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiskIdFromLunInfo)(::windows_core::Interface::as_raw(self), pluninfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiskIdFromLunInfo)(::windows_core::Interface::as_raw(self), pluninfo, &mut result__).map(|| result__) } pub unsafe fn UninstallDisks(&self, pdiskidarray: *const ::windows_core::GUID, ulcount: u32, bforce: P0, pbreboot: *mut u8, presults: *mut ::windows_core::HRESULT) -> ::windows_core::Result<()> where @@ -1506,7 +1506,7 @@ pub struct IVdsServiceUninstallDisk_Vtbl { impl IVdsStoragePool { pub unsafe fn GetProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProperties(&self, pstoragepoolprop: *mut VDS_STORAGE_POOL_PROP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), pstoragepoolprop).ok() @@ -1519,11 +1519,11 @@ impl IVdsStoragePool { } pub unsafe fn QueryAllocatedLuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAllocatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAllocatedLuns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAllocatedStoragePools(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAllocatedStoragePools)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAllocatedStoragePools)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1545,23 +1545,23 @@ impl IVdsSubSystem { } pub unsafe fn GetProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryControllers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryControllers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryControllers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryLuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryLuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryLuns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDrives(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDrives)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDrives)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDrive(&self, sbusnumber: i16, sslotnumber: i16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDrive)(::windows_core::Interface::as_raw(self), sbusnumber, sslotnumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDrive)(::windows_core::Interface::as_raw(self), sbusnumber, sslotnumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reenumerate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reenumerate)(::windows_core::Interface::as_raw(self)).ok() @@ -1574,7 +1574,7 @@ impl IVdsSubSystem { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLun)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), pwszunmaskinglist.into_param().abi(), phints, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLun)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), pwszunmaskinglist.into_param().abi(), phints, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReplaceDrive(&self, drivetobereplaced: ::windows_core::GUID, replacementdrive: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReplaceDrive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(drivetobereplaced), ::core::mem::transmute(replacementdrive)).ok() @@ -1584,7 +1584,7 @@ impl IVdsSubSystem { } pub unsafe fn QueryMaxLunCreateSize(&self, r#type: VDS_LUN_TYPE, pdriveidarray: &[::windows_core::GUID], phints: *const VDS_HINTS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxLunCreateSize)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), phints, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxLunCreateSize)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), phints, &mut result__).map(|| result__) } } #[repr(C)] @@ -1612,18 +1612,18 @@ impl IVdsSubSystem2 { } pub unsafe fn GetDrive2(&self, sbusnumber: i16, sslotnumber: i16, ulenclosurenumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDrive2)(::windows_core::Interface::as_raw(self), sbusnumber, sslotnumber, ulenclosurenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDrive2)(::windows_core::Interface::as_raw(self), sbusnumber, sslotnumber, ulenclosurenumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLun2(&self, r#type: VDS_LUN_TYPE, ullsizeinbytes: u64, pdriveidarray: &[::windows_core::GUID], pwszunmaskinglist: P0, phints2: *const VDS_HINTS2) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLun2)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), pwszunmaskinglist.into_param().abi(), phints2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLun2)(::windows_core::Interface::as_raw(self), r#type, ullsizeinbytes, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), pwszunmaskinglist.into_param().abi(), phints2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryMaxLunCreateSize2(&self, r#type: VDS_LUN_TYPE, pdriveidarray: &[::windows_core::GUID], phints2: *const VDS_HINTS2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxLunCreateSize2)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), phints2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxLunCreateSize2)(::windows_core::Interface::as_raw(self), r#type, ::core::mem::transmute(pdriveidarray.as_ptr()), pdriveidarray.len().try_into().unwrap(), phints2, &mut result__).map(|| result__) } } #[repr(C)] @@ -1640,7 +1640,7 @@ pub struct IVdsSubSystem2_Vtbl { impl IVdsSubSystemImportTarget { pub unsafe fn GetImportTarget(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImportTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImportTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImportTarget(&self, pwsziscsiname: P0) -> ::windows_core::Result<()> where @@ -1661,7 +1661,7 @@ pub struct IVdsSubSystemImportTarget_Vtbl { impl IVdsSubSystemInterconnect { pub unsafe fn GetSupportedInterconnects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedInterconnects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedInterconnects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1675,11 +1675,11 @@ pub struct IVdsSubSystemInterconnect_Vtbl { impl IVdsSubSystemIscsi { pub unsafe fn QueryTargets(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryTargets)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryTargets)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryPortals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPortals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPortals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTarget(&self, pwsziscsiname: P0, pwszfriendlyname: P1) -> ::windows_core::Result where @@ -1687,7 +1687,7 @@ impl IVdsSubSystemIscsi { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTarget)(::windows_core::Interface::as_raw(self), pwsziscsiname.into_param().abi(), pwszfriendlyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTarget)(::windows_core::Interface::as_raw(self), pwsziscsiname.into_param().abi(), pwszfriendlyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIpsecGroupPresharedKey(&self, pipseckey: *const VDS_ISCSI_IPSEC_KEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIpsecGroupPresharedKey)(::windows_core::Interface::as_raw(self), pipseckey).ok() @@ -1723,11 +1723,11 @@ pub struct IVdsSubSystemNaming_Vtbl { impl IVdsSwProvider { pub unsafe fn QueryPacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePack)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1743,7 +1743,7 @@ impl IVdsVDisk { #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn Open(&self, accessmask: super::Vhd::VIRTUAL_DISK_ACCESS_MASK, flags: super::Vhd::OPEN_VIRTUAL_DISK_FLAG, readwritedepth: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), accessmask, flags, readwritedepth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), accessmask, flags, readwritedepth, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn GetProperties(&self, pdiskproperties: *mut VDS_VDISK_PROPERTIES) -> ::windows_core::Result<()> { @@ -1751,11 +1751,11 @@ impl IVdsVDisk { } pub unsafe fn GetHostVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostVolume)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1778,7 +1778,7 @@ pub struct IVdsVDisk_Vtbl { impl IVdsVdProvider { pub unsafe fn QueryVDisks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVDisks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVDisks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Vhd")] pub unsafe fn CreateVDisk(&self, virtualdevicetype: *const super::Vhd::VIRTUAL_STORAGE_TYPE, ppath: P0, pstringsecuritydescriptor: P1, flags: super::Vhd::CREATE_VIRTUAL_DISK_FLAG, providerspecificflags: u32, reserved: u32, pcreatediskparameters: *const VDS_CREATE_VDISK_PARAMETERS, ppasync: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1800,14 +1800,14 @@ impl IVdsVdProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiskFromVDisk)(::windows_core::Interface::as_raw(self), pvdisk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiskFromVDisk)(::windows_core::Interface::as_raw(self), pvdisk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVDiskFromDisk(&self, pdisk: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVDiskFromDisk)(::windows_core::Interface::as_raw(self), pdisk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVDiskFromDisk)(::windows_core::Interface::as_raw(self), pdisk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1834,31 +1834,31 @@ impl IVdsVolume { } pub unsafe fn GetPack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPack)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryPlexes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryPlexes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryPlexes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Extend(&self, pinputdiskarray: &[VDS_INPUT_DISK]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extend)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extend)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shrink(&self, ullnumberofbytestoremove: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ullnumberofbytestoremove, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ullnumberofbytestoremove, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlex(&self, volumeid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(volumeid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(volumeid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BreakPlex(&self, plexid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BreakPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BreakPlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemovePlex(&self, plexid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemovePlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemovePlex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plexid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, bforce: P0) -> ::windows_core::Result<()> where @@ -1919,7 +1919,7 @@ impl IVdsVolumeMF { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), r#type, pwszlabel.into_param().abi(), dwunitallocationsize, bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Format)(::windows_core::Interface::as_raw(self), r#type, pwszlabel.into_param().abi(), dwunitallocationsize, bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAccessPath(&self, pwszpath: P0) -> ::windows_core::Result<()> where @@ -1977,7 +1977,7 @@ pub struct IVdsVolumeMF_Vtbl { impl IVdsVolumeMF2 { pub unsafe fn GetFileSystemTypeName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileSystemTypeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileSystemTypeName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryFileSystemFormatSupport(&self, ppfilesystemsupportprops: *mut *mut VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP, plnumberoffilesystems: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryFileSystemFormatSupport)(::windows_core::Interface::as_raw(self), ppfilesystemsupportprops, plnumberoffilesystems).ok() @@ -1991,7 +1991,7 @@ impl IVdsVolumeMF2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatEx)(::windows_core::Interface::as_raw(self), pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatEx)(::windows_core::Interface::as_raw(self), pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), bforce.into_param().abi(), bquickformat.into_param().abi(), benablecompression.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2014,7 +2014,7 @@ impl IVdsVolumeMF3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatEx2)(::windows_core::Interface::as_raw(self), pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatEx2)(::windows_core::Interface::as_raw(self), pwszfilesystemtypename.into_param().abi(), usfilesystemrevision, uldesiredunitallocationsize, pwszlabel.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OfflineVolume(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OfflineVolume)(::windows_core::Interface::as_raw(self)).ok() @@ -2049,14 +2049,14 @@ impl IVdsVolumePlex { } pub unsafe fn GetVolume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVolume)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryExtents(&self, ppextentarray: *mut *mut VDS_DISK_EXTENT, plnumberofextents: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryExtents)(::windows_core::Interface::as_raw(self), ppextentarray, plnumberofextents).ok() } pub unsafe fn Repair(&self, pinputdiskarray: &[VDS_INPUT_DISK]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Repair)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Repair)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinputdiskarray.as_ptr()), pinputdiskarray.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2073,11 +2073,11 @@ pub struct IVdsVolumePlex_Vtbl { impl IVdsVolumeShrink { pub unsafe fn QueryMaxReclaimableBytes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxReclaimableBytes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxReclaimableBytes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Shrink(&self, ulldesirednumberofreclaimablebytes: u64, ullminnumberofreclaimablebytes: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ulldesirednumberofreclaimablebytes, ullminnumberofreclaimablebytes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), ulldesirednumberofreclaimablebytes, ullminnumberofreclaimablebytes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Vss/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Vss/mod.rs index 2ae7ec1aaa..d56ef80a3d 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Vss/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Vss/mod.rs @@ -2,7 +2,7 @@ pub unsafe fn CreateVssExpressWriterInternal() -> ::windows_core::Result { ::windows_targets::link!("vssapi.dll" "system" fn CreateVssExpressWriterInternal(ppwriter : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateVssExpressWriterInternal(&mut result__).from_abi(result__) + CreateVssExpressWriterInternal(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IVssAdmin, IVssAdmin_Vtbl, 0x77ed5996_2f63_11d3_8a39_00c04f72d8e3); ::windows_core::imp::interface_hierarchy!(IVssAdmin, ::windows_core::IUnknown); @@ -15,7 +15,7 @@ impl IVssAdmin { } pub unsafe fn QueryProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AbortAllSnapshotsInProgress(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AbortAllSnapshotsInProgress)(::windows_core::Interface::as_raw(self)).ok() @@ -41,18 +41,18 @@ impl IVssAdminEx { } pub unsafe fn QueryProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AbortAllSnapshotsInProgress(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AbortAllSnapshotsInProgress)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetProviderCapability(&self, pproviderid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderCapability)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pproviderid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderCapability)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pproviderid), &mut result__).map(|| result__) } pub unsafe fn GetProviderContext(&self, providerid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderContext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderContext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), &mut result__).map(|| result__) } pub unsafe fn SetProviderContext(&self, providerid: ::windows_core::GUID, lcontext: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProviderContext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), lcontext).ok() @@ -107,7 +107,7 @@ impl IVssComponent { } pub unsafe fn GetAlternateLocationMapping(&self, imapping: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackupMetadata(&self, wszdata: P0) -> ::windows_core::Result<()> where @@ -144,7 +144,7 @@ impl IVssComponent { } pub unsafe fn GetNewTarget(&self, inewtarget: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDirectedTarget(&self, wszsourcepath: P0, wszsourcefilename: P1, wszsourcerangelist: P2, wszdestinationpath: P3, wszdestinationfilename: P4, wszdestinationrangelist: P5) -> ::windows_core::Result<()> where @@ -310,7 +310,7 @@ impl IVssComponentEx { } pub unsafe fn GetAlternateLocationMapping(&self, imapping: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackupMetadata(&self, wszdata: P0) -> ::windows_core::Result<()> where @@ -347,7 +347,7 @@ impl IVssComponentEx { } pub unsafe fn GetNewTarget(&self, inewtarget: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDirectedTarget(&self, wszsourcepath: P0, wszsourcefilename: P1, wszsourcerangelist: P2, wszdestinationpath: P3, wszdestinationfilename: P4, wszdestinationrangelist: P5) -> ::windows_core::Result<()> where @@ -463,22 +463,22 @@ impl IVssComponentEx { } pub unsafe fn GetPrepareForBackupFailureMsg(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrepareForBackupFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrepareForBackupFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPostSnapshotFailureMsg(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPostSnapshotFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPostSnapshotFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAuthoritativeRestore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthoritativeRestore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthoritativeRestore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRollForward(&self, prolltype: *mut VSS_ROLLFORWARD_TYPE, pbstrpoint: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRollForward)(::windows_core::Interface::as_raw(self), prolltype, ::core::mem::transmute(pbstrpoint)).ok() } pub unsafe fn GetRestoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -513,7 +513,7 @@ impl IVssComponentEx2 { } pub unsafe fn GetAlternateLocationMapping(&self, imapping: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAlternateLocationMapping)(::windows_core::Interface::as_raw(self), imapping, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBackupMetadata(&self, wszdata: P0) -> ::windows_core::Result<()> where @@ -550,7 +550,7 @@ impl IVssComponentEx2 { } pub unsafe fn GetNewTarget(&self, inewtarget: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNewTarget)(::windows_core::Interface::as_raw(self), inewtarget, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddDirectedTarget(&self, wszsourcepath: P0, wszsourcefilename: P1, wszsourcerangelist: P2, wszdestinationpath: P3, wszdestinationfilename: P4, wszdestinationrangelist: P5) -> ::windows_core::Result<()> where @@ -666,22 +666,22 @@ impl IVssComponentEx2 { } pub unsafe fn GetPrepareForBackupFailureMsg(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrepareForBackupFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrepareForBackupFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPostSnapshotFailureMsg(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPostSnapshotFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPostSnapshotFailureMsg)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAuthoritativeRestore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAuthoritativeRestore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAuthoritativeRestore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRollForward(&self, prolltype: *mut VSS_ROLLFORWARD_TYPE, pbstrpoint: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRollForward)(::windows_core::Interface::as_raw(self), prolltype, ::core::mem::transmute(pbstrpoint)).ok() } pub unsafe fn GetRestoreName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRestoreName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRestoreName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFailure(&self, hr: ::windows_core::HRESULT, hrapplication: ::windows_core::HRESULT, wszapplicationmessage: P0, dwreserved: u32) -> ::windows_core::Result<()> where @@ -749,7 +749,7 @@ impl IVssCreateExpressWriterMetadata { } pub unsafe fn SaveAsXML(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveAsXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveAsXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -847,7 +847,7 @@ impl IVssCreateWriterMetadata { #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn GetDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveAsXML(&self, pbstrxml: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SaveAsXML)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrxml)).ok() @@ -883,19 +883,19 @@ impl IVssDifferentialSoftwareSnapshotMgmt { } pub unsafe fn QueryVolumesSupportedForDiffAreas(&self, pwszoriginalvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasOnVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForSnapshot(&self, snapshotid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -920,19 +920,19 @@ impl IVssDifferentialSoftwareSnapshotMgmt2 { } pub unsafe fn QueryVolumesSupportedForDiffAreas(&self, pwszoriginalvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasOnVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForSnapshot(&self, snapshotid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ChangeDiffAreaMaximumSizeEx(&self, pwszvolumename: *const u16, pwszdiffareavolumename: *const u16, llmaximumdiffspace: i64, bvolatile: P0) -> ::windows_core::Result<()> where @@ -945,7 +945,7 @@ impl IVssDifferentialSoftwareSnapshotMgmt2 { } pub unsafe fn QueryMigrationStatus(&self, pwszvolumename: *const u16, pwszdiffareavolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMigrationStatus)(::windows_core::Interface::as_raw(self), pwszvolumename, pwszdiffareavolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMigrationStatus)(::windows_core::Interface::as_raw(self), pwszvolumename, pwszdiffareavolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSnapshotPriority(&self, idsnapshot: ::windows_core::GUID, priority: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSnapshotPriority)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(idsnapshot), priority).ok() @@ -971,19 +971,19 @@ impl IVssDifferentialSoftwareSnapshotMgmt3 { } pub unsafe fn QueryVolumesSupportedForDiffAreas(&self, pwszoriginalvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryVolumesSupportedForDiffAreas)(::windows_core::Interface::as_raw(self), pwszoriginalvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasForVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasOnVolume(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasOnVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryDiffAreasForSnapshot(&self, snapshotid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryDiffAreasForSnapshot)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(snapshotid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ChangeDiffAreaMaximumSizeEx(&self, pwszvolumename: *const u16, pwszdiffareavolumename: *const u16, llmaximumdiffspace: i64, bvolatile: P0) -> ::windows_core::Result<()> where @@ -996,7 +996,7 @@ impl IVssDifferentialSoftwareSnapshotMgmt3 { } pub unsafe fn QueryMigrationStatus(&self, pwszvolumename: *const u16, pwszdiffareavolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryMigrationStatus)(::windows_core::Interface::as_raw(self), pwszvolumename, pwszdiffareavolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryMigrationStatus)(::windows_core::Interface::as_raw(self), pwszvolumename, pwszdiffareavolumename, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSnapshotPriority(&self, idsnapshot: ::windows_core::GUID, priority: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSnapshotPriority)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(idsnapshot), priority).ok() @@ -1085,7 +1085,7 @@ impl IVssExpressWriter { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadata)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(writerid), writername.into_param().abi(), usagetype, versionmajor, versionminor, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadata)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(writerid), writername.into_param().abi(), usagetype, versionmajor, versionminor, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadMetadata(&self, metadata: P0, reserved: u32) -> ::windows_core::Result<()> where @@ -1120,7 +1120,7 @@ impl IVssFileShareSnapshotProvider { } pub unsafe fn Query(&self, queriedobjectid: ::windows_core::GUID, equeriedobjecttype: VSS_OBJECT_TYPE, ereturnedobjectstype: VSS_OBJECT_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queriedobjectid), equeriedobjecttype, ereturnedobjectstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queriedobjectid), equeriedobjecttype, ereturnedobjectstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteSnapshots(&self, sourceobjectid: ::windows_core::GUID, esourceobjecttype: VSS_OBJECT_TYPE, bforcedelete: P0, pldeletedsnapshots: *mut i32, pnondeletedsnapshotid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1133,7 +1133,7 @@ impl IVssFileShareSnapshotProvider { } pub unsafe fn IsPathSupported(&self, pwszsharepath: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPathSupported)(::windows_core::Interface::as_raw(self), pwszsharepath, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPathSupported)(::windows_core::Interface::as_raw(self), pwszsharepath, &mut result__).map(|| result__) } pub unsafe fn IsPathSnapshotted(&self, pwszsharepath: *const u16, pbsnapshotspresent: *mut super::super::Foundation::BOOL, plsnapshotcompatibility: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPathSnapshotted)(::windows_core::Interface::as_raw(self), pwszsharepath, pbsnapshotspresent, plsnapshotcompatibility).ok() @@ -1244,7 +1244,7 @@ impl IVssHardwareSnapshotProviderEx { } pub unsafe fn GetProviderCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_VirtualDiskService")] pub unsafe fn OnLunStateChange(&self, psnapshotluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, poriginalluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, dwcount: u32, dwflags: u32) -> ::windows_core::Result<()> { @@ -1253,7 +1253,7 @@ impl IVssHardwareSnapshotProviderEx { #[cfg(feature = "Win32_Storage_VirtualDiskService")] pub unsafe fn ResyncLuns(&self, psourceluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, ptargetluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, dwcount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResyncLuns)(::windows_core::Interface::as_raw(self), psourceluns, ptargetluns, dwcount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResyncLuns)(::windows_core::Interface::as_raw(self), psourceluns, ptargetluns, dwcount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_VirtualDiskService")] pub unsafe fn OnReuseLuns(&self, psnapshotluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, poriginalluns: *const super::VirtualDiskService::VDS_LUN_INFORMATION, dwcount: u32) -> ::windows_core::Result<()> { @@ -1343,15 +1343,15 @@ pub struct IVssProviderNotifications_Vtbl { impl IVssSnapshotMgmt { pub unsafe fn GetProviderMgmtInterface(&self, providerid: ::windows_core::GUID, interfaceid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderMgmtInterface)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), interfaceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderMgmtInterface)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), interfaceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryVolumesSupportedForSnapshots(&self, providerid: ::windows_core::GUID, lcontext: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryVolumesSupportedForSnapshots)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), lcontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryVolumesSupportedForSnapshots)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(providerid), lcontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuerySnapshotsByVolume(&self, pwszvolumename: *const u16, providerid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySnapshotsByVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, ::core::mem::transmute(providerid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySnapshotsByVolume)(::windows_core::Interface::as_raw(self), pwszvolumename, ::core::mem::transmute(providerid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1367,7 +1367,7 @@ pub struct IVssSnapshotMgmt_Vtbl { impl IVssSnapshotMgmt2 { pub unsafe fn GetMinDiffAreaSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinDiffAreaSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinDiffAreaSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1387,7 +1387,7 @@ impl IVssSoftwareSnapshotProvider { } pub unsafe fn Query(&self, queriedobjectid: ::windows_core::GUID, equeriedobjecttype: VSS_OBJECT_TYPE, ereturnedobjectstype: VSS_OBJECT_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queriedobjectid), equeriedobjecttype, ereturnedobjectstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queriedobjectid), equeriedobjecttype, ereturnedobjectstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteSnapshots(&self, sourceobjectid: ::windows_core::GUID, esourceobjecttype: VSS_OBJECT_TYPE, bforcedelete: P0, pldeletedsnapshots: *mut i32, pnondeletedsnapshotid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -1400,7 +1400,7 @@ impl IVssSoftwareSnapshotProvider { } pub unsafe fn IsVolumeSupported(&self, pwszvolumename: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsVolumeSupported)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsVolumeSupported)(::windows_core::Interface::as_raw(self), pwszvolumename, &mut result__).map(|| result__) } pub unsafe fn IsVolumeSnapshotted(&self, pwszvolumename: *const u16, pbsnapshotspresent: *mut super::super::Foundation::BOOL, plsnapshotcompatibility: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsVolumeSnapshotted)(::windows_core::Interface::as_raw(self), pwszvolumename, pbsnapshotspresent, plsnapshotcompatibility).ok() @@ -1416,7 +1416,7 @@ impl IVssSoftwareSnapshotProvider { } pub unsafe fn QueryRevertStatus(&self, pwszvolume: *const u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryRevertStatus)(::windows_core::Interface::as_raw(self), pwszvolume, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryRevertStatus)(::windows_core::Interface::as_raw(self), pwszvolume, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1460,23 +1460,23 @@ pub struct IVssWMDependency_Vtbl { impl IVssWMFiledesc { pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilespec(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilespec)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilespec)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecursive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecursive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecursive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAlternateLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlternateLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlternateLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBackupTypeMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackupTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackupTypeMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1499,7 +1499,7 @@ impl IVssWriterComponents { } pub unsafe fn GetComponent(&self, icomponent: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponent)(::windows_core::Interface::as_raw(self), icomponent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponent)(::windows_core::Interface::as_raw(self), icomponent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Xps/Printing/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Xps/Printing/mod.rs index 032645ab58..fdd52b3aae 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Xps/Printing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Xps/Printing/mod.rs @@ -51,7 +51,7 @@ impl IPrintDocumentPackageTarget { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPackageTarget)(::windows_core::Interface::as_raw(self), guidtargettype, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageTarget)(::windows_core::Interface::as_raw(self), guidtargettype, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self)).ok() @@ -70,14 +70,14 @@ pub struct IPrintDocumentPackageTarget_Vtbl { impl IPrintDocumentPackageTarget2 { pub unsafe fn GetIsTargetIppPrinter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsTargetIppPrinter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsTargetIppPrinter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTargetIppPrintDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetTargetIppPrintDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetIppPrintDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -99,7 +99,7 @@ impl IPrintDocumentPackageTargetFactory { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocumentPackageTargetForPrintJob)(::windows_core::Interface::as_raw(self), printername.into_param().abi(), jobname.into_param().abi(), joboutputstream.into_param().abi(), jobprintticketstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocumentPackageTargetForPrintJob)(::windows_core::Interface::as_raw(self), printername.into_param().abi(), jobname.into_param().abi(), joboutputstream.into_param().abi(), jobprintticketstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Storage/Xps/mod.rs b/crates/libs/windows/src/Windows/Win32/Storage/Xps/mod.rs index 27aa9500f1..fe480beebe 100644 --- a/crates/libs/windows/src/Windows/Win32/Storage/Xps/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Storage/Xps/mod.rs @@ -121,15 +121,15 @@ impl IXpsDocumentPackageTarget { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsOMPackageWriter)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsOMPackageWriter)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXpsOMFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsOMFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsOMFactory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXpsType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -155,11 +155,11 @@ impl IXpsDocumentPackageTarget3D { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsOMPackageWriter3D)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), discardcontrolpartname.into_param().abi(), modelpartname.into_param().abi(), modeldata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsOMPackageWriter3D)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), discardcontrolpartname.into_param().abi(), modelpartname.into_param().abi(), modeldata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXpsOMFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXpsOMFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXpsOMFactory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -177,15 +177,15 @@ pub struct IXpsDocumentPackageTarget3D_Vtbl { impl IXpsOMBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() @@ -203,19 +203,19 @@ pub struct IXpsOMBrush_Vtbl { impl IXpsOMCanvas { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, matrixtransform: P0) -> ::windows_core::Result<()> where @@ -225,7 +225,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -235,11 +235,11 @@ impl IXpsOMCanvas { } pub unsafe fn GetClipGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClipGeometryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipGeometryLocal(&self, clipgeometry: P0) -> ::windows_core::Result<()> where @@ -249,7 +249,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetClipGeometryLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipGeometryLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -259,18 +259,18 @@ impl IXpsOMCanvas { } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetOpacityMaskBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOpacityMaskBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOpacityMaskBrushLocal(&self, opacitymaskbrush: P0) -> ::windows_core::Result<()> where @@ -280,7 +280,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetOpacityMaskBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacityMaskBrushLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -290,7 +290,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -300,7 +300,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlink: P0) -> ::windows_core::Result<()> where @@ -311,7 +311,7 @@ impl IXpsOMCanvas { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHyperlinkNavigateUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHyperlinkNavigateUri(&self, hyperlinkuri: P0) -> ::windows_core::Result<()> @@ -322,7 +322,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -332,11 +332,11 @@ impl IXpsOMCanvas { } pub unsafe fn GetVisuals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUseAliasedEdgeMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUseAliasedEdgeMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUseAliasedEdgeMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseAliasedEdgeMode(&self, usealiasededgemode: P0) -> ::windows_core::Result<()> where @@ -346,7 +346,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetAccessibilityShortDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessibilityShortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessibilityShortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccessibilityShortDescription(&self, shortdescription: P0) -> ::windows_core::Result<()> where @@ -356,7 +356,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetAccessibilityLongDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessibilityLongDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessibilityLongDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccessibilityLongDescription(&self, longdescription: P0) -> ::windows_core::Result<()> where @@ -366,11 +366,11 @@ impl IXpsOMCanvas { } pub unsafe fn GetDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDictionaryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryLocal(&self, resourcedictionary: P0) -> ::windows_core::Result<()> where @@ -380,7 +380,7 @@ impl IXpsOMCanvas { } pub unsafe fn GetDictionaryResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryResource(&self, remotedictionaryresource: P0) -> ::windows_core::Result<()> where @@ -390,7 +390,7 @@ impl IXpsOMCanvas { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -417,7 +417,7 @@ impl IXpsOMColorProfileResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -429,7 +429,7 @@ impl IXpsOMColorProfileResource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, partname: P1) -> ::windows_core::Result<()> @@ -458,11 +458,11 @@ pub struct IXpsOMColorProfileResource_Vtbl { impl IXpsOMColorProfileResourceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, object: P0) -> ::windows_core::Result<()> where @@ -491,7 +491,7 @@ impl IXpsOMColorProfileResourceCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -515,7 +515,7 @@ impl IXpsOMCoreProperties { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -526,11 +526,11 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCategory(&self, category: P0) -> ::windows_core::Result<()> where @@ -540,7 +540,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetContentStatus(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContentStatus(&self, contentstatus: P0) -> ::windows_core::Result<()> where @@ -550,7 +550,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetContentType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContentType(&self, contenttype: P0) -> ::windows_core::Result<()> where @@ -560,14 +560,14 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetCreated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCreated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCreated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreated(&self, created: *const super::super::Foundation::SYSTEMTIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCreated)(::windows_core::Interface::as_raw(self), created).ok() } pub unsafe fn GetCreator(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreator(&self, creator: P0) -> ::windows_core::Result<()> where @@ -577,7 +577,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -587,7 +587,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetIdentifier(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIdentifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIdentifier(&self, identifier: P0) -> ::windows_core::Result<()> where @@ -597,7 +597,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetKeywords(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeywords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeywords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeywords(&self, keywords: P0) -> ::windows_core::Result<()> where @@ -607,7 +607,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -617,7 +617,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetLastModifiedBy(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastModifiedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastModifiedBy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastModifiedBy(&self, lastmodifiedby: P0) -> ::windows_core::Result<()> where @@ -627,21 +627,21 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetLastPrinted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPrinted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPrinted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastPrinted(&self, lastprinted: *const super::super::Foundation::SYSTEMTIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLastPrinted)(::windows_core::Interface::as_raw(self), lastprinted).ok() } pub unsafe fn GetModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModified(&self, modified: *const super::super::Foundation::SYSTEMTIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetModified)(::windows_core::Interface::as_raw(self), modified).ok() } pub unsafe fn GetRevision(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRevision)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRevision(&self, revision: P0) -> ::windows_core::Result<()> where @@ -651,7 +651,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetSubject(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubject)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubject(&self, subject: P0) -> ::windows_core::Result<()> where @@ -661,7 +661,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetTitle(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, title: P0) -> ::windows_core::Result<()> where @@ -671,7 +671,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn GetVersion(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVersion(&self, version: P0) -> ::windows_core::Result<()> where @@ -681,7 +681,7 @@ impl IXpsOMCoreProperties { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -728,11 +728,11 @@ pub struct IXpsOMCoreProperties_Vtbl { impl IXpsOMDashCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn InsertAt(&self, index: u32, dash: *const XPS_DASH) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertAt)(::windows_core::Interface::as_raw(self), index, dash).ok() @@ -763,15 +763,15 @@ pub struct IXpsOMDashCollection_Vtbl { impl IXpsOMDictionary { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32, key: *mut ::windows_core::PWSTR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetByKey(&self, key: P0, beforeentry: P1) -> ::windows_core::Result where @@ -779,14 +779,14 @@ impl IXpsOMDictionary { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByKey)(::windows_core::Interface::as_raw(self), key.into_param().abi(), beforeentry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByKey)(::windows_core::Interface::as_raw(self), key.into_param().abi(), beforeentry.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndex(&self, entry: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), entry.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), entry.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Append(&self, key: P0, entry: P1) -> ::windows_core::Result<()> where @@ -814,7 +814,7 @@ impl IXpsOMDictionary { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -838,7 +838,7 @@ impl IXpsOMDocument { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -849,15 +849,15 @@ impl IXpsOMDocument { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPageReferences(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageReferences)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageReferences)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrintTicketResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicketResource(&self, printticketresource: P0) -> ::windows_core::Result<()> where @@ -867,7 +867,7 @@ impl IXpsOMDocument { } pub unsafe fn GetDocumentStructureResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentStructureResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentStructureResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentStructureResource(&self, documentstructureresource: P0) -> ::windows_core::Result<()> where @@ -877,11 +877,11 @@ impl IXpsOMDocument { } pub unsafe fn GetSignatureBlockResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureBlockResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureBlockResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -902,11 +902,11 @@ pub struct IXpsOMDocument_Vtbl { impl IXpsOMDocumentCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, document: P0) -> ::windows_core::Result<()> where @@ -947,7 +947,7 @@ impl IXpsOMDocumentSequence { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -958,15 +958,15 @@ impl IXpsOMDocumentSequence { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocuments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrintTicketResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicketResource(&self, printticketresource: P0) -> ::windows_core::Result<()> where @@ -990,7 +990,7 @@ impl IXpsOMDocumentStructureResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -1001,12 +1001,12 @@ impl IXpsOMDocumentStructureResource { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, partname: P1) -> ::windows_core::Result<()> @@ -1037,7 +1037,7 @@ impl IXpsOMFontResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -1049,7 +1049,7 @@ impl IXpsOMFontResource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, embeddingoption: XPS_FONT_EMBEDDING, partname: P1) -> ::windows_core::Result<()> @@ -1061,7 +1061,7 @@ impl IXpsOMFontResource { } pub unsafe fn GetEmbeddingOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbeddingOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbeddingOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1083,11 +1083,11 @@ pub struct IXpsOMFontResource_Vtbl { impl IXpsOMFontResourceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAt(&self, index: u32, value: P0) -> ::windows_core::Result<()> where @@ -1116,7 +1116,7 @@ impl IXpsOMFontResourceCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1139,30 +1139,30 @@ pub struct IXpsOMFontResourceCollection_Vtbl { impl IXpsOMGeometry { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFigures(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFigures)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFigures)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFillRule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillRule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFillRule(&self, fillrule: XPS_FILL_RULE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFillRule)(::windows_core::Interface::as_raw(self), fillrule).ok() } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -1172,7 +1172,7 @@ impl IXpsOMGeometry { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, lookup: P0) -> ::windows_core::Result<()> where @@ -1182,7 +1182,7 @@ impl IXpsOMGeometry { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1204,7 +1204,7 @@ pub struct IXpsOMGeometry_Vtbl { impl IXpsOMGeometryFigure { pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSegmentData(&self, datacount: *mut u32, segmentdata: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSegmentData)(::windows_core::Interface::as_raw(self), datacount, segmentdata).ok() @@ -1220,14 +1220,14 @@ impl IXpsOMGeometryFigure { } pub unsafe fn GetStartPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartPoint(&self, startpoint: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartPoint)(::windows_core::Interface::as_raw(self), startpoint).ok() } pub unsafe fn GetIsClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsClosed(&self, isclosed: P0) -> ::windows_core::Result<()> where @@ -1237,7 +1237,7 @@ impl IXpsOMGeometryFigure { } pub unsafe fn GetIsFilled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsFilled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsFilled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsFilled(&self, isfilled: P0) -> ::windows_core::Result<()> where @@ -1247,19 +1247,19 @@ impl IXpsOMGeometryFigure { } pub unsafe fn GetSegmentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSegmentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSegmentDataCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSegmentDataCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSegmentDataCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSegmentStrokePattern(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSegmentStrokePattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSegmentStrokePattern)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1287,11 +1287,11 @@ pub struct IXpsOMGeometryFigure_Vtbl { impl IXpsOMGeometryFigureCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, geometryfigure: P0) -> ::windows_core::Result<()> where @@ -1331,19 +1331,19 @@ pub struct IXpsOMGeometryFigureCollection_Vtbl { impl IXpsOMGlyphs { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, matrixtransform: P0) -> ::windows_core::Result<()> where @@ -1353,7 +1353,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1363,11 +1363,11 @@ impl IXpsOMGlyphs { } pub unsafe fn GetClipGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClipGeometryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipGeometryLocal(&self, clipgeometry: P0) -> ::windows_core::Result<()> where @@ -1377,7 +1377,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetClipGeometryLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipGeometryLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1387,18 +1387,18 @@ impl IXpsOMGlyphs { } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetOpacityMaskBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOpacityMaskBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOpacityMaskBrushLocal(&self, opacitymaskbrush: P0) -> ::windows_core::Result<()> where @@ -1408,7 +1408,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetOpacityMaskBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacityMaskBrushLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1418,7 +1418,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1428,7 +1428,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlink: P0) -> ::windows_core::Result<()> where @@ -1439,7 +1439,7 @@ impl IXpsOMGlyphs { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHyperlinkNavigateUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHyperlinkNavigateUri(&self, hyperlinkuri: P0) -> ::windows_core::Result<()> @@ -1450,7 +1450,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -1460,65 +1460,65 @@ impl IXpsOMGlyphs { } pub unsafe fn GetUnicodeString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnicodeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnicodeString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlyphIndexCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphIndexCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphIndexCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlyphIndices(&self, indexcount: *mut u32, glyphindices: *mut XPS_GLYPH_INDEX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGlyphIndices)(::windows_core::Interface::as_raw(self), indexcount, glyphindices).ok() } pub unsafe fn GetGlyphMappingCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphMappingCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphMappingCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlyphMappings(&self, glyphmappingcount: *mut u32, glyphmappings: *mut XPS_GLYPH_MAPPING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGlyphMappings)(::windows_core::Interface::as_raw(self), glyphmappingcount, glyphmappings).ok() } pub unsafe fn GetProhibitedCaretStopCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProhibitedCaretStopCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProhibitedCaretStopCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProhibitedCaretStops(&self, prohibitedcaretstopcount: *mut u32, prohibitedcaretstops: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProhibitedCaretStops)(::windows_core::Interface::as_raw(self), prohibitedcaretstopcount, prohibitedcaretstops).ok() } pub unsafe fn GetBidiLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBidiLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBidiLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIsSideways(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsSideways)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsSideways)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDeviceFontName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceFontName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceFontName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStyleSimulations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyleSimulations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyleSimulations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStyleSimulations(&self, stylesimulations: XPS_STYLE_SIMULATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStyleSimulations)(::windows_core::Interface::as_raw(self), stylesimulations).ok() } pub unsafe fn GetOrigin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOrigin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOrigin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOrigin(&self, origin: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOrigin)(::windows_core::Interface::as_raw(self), origin).ok() } pub unsafe fn GetFontRenderingEmSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontRenderingEmSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontRenderingEmSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFontRenderingEmSize(&self, fontrenderingemsize: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFontRenderingEmSize)(::windows_core::Interface::as_raw(self), fontrenderingemsize).ok() } pub unsafe fn GetFontResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFontResource(&self, fontresource: P0) -> ::windows_core::Result<()> where @@ -1528,18 +1528,18 @@ impl IXpsOMGlyphs { } pub unsafe fn GetFontFaceIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontFaceIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontFaceIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFontFaceIndex(&self, fontfaceindex: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFontFaceIndex)(::windows_core::Interface::as_raw(self), fontfaceindex).ok() } pub unsafe fn GetFillBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFillBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFillBrushLocal(&self, fillbrush: P0) -> ::windows_core::Result<()> where @@ -1549,7 +1549,7 @@ impl IXpsOMGlyphs { } pub unsafe fn GetFillBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFillBrushLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1559,11 +1559,11 @@ impl IXpsOMGlyphs { } pub unsafe fn GetGlyphsEditor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphsEditor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphsEditor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1606,7 +1606,7 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetUnicodeString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnicodeString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnicodeString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnicodeString(&self, unicodestring: P0) -> ::windows_core::Result<()> where @@ -1616,7 +1616,7 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetGlyphIndexCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphIndexCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphIndexCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlyphIndices(&self, indexcount: *mut u32, glyphindices: *mut XPS_GLYPH_INDEX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGlyphIndices)(::windows_core::Interface::as_raw(self), indexcount, glyphindices).ok() @@ -1626,7 +1626,7 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetGlyphMappingCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlyphMappingCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlyphMappingCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGlyphMappings(&self, glyphmappingcount: *mut u32, glyphmappings: *mut XPS_GLYPH_MAPPING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGlyphMappings)(::windows_core::Interface::as_raw(self), glyphmappingcount, glyphmappings).ok() @@ -1636,7 +1636,7 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetProhibitedCaretStopCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProhibitedCaretStopCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProhibitedCaretStopCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProhibitedCaretStops(&self, count: *mut u32, prohibitedcaretstops: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProhibitedCaretStops)(::windows_core::Interface::as_raw(self), count, prohibitedcaretstops).ok() @@ -1646,14 +1646,14 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetBidiLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBidiLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBidiLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBidiLevel(&self, bidilevel: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBidiLevel)(::windows_core::Interface::as_raw(self), bidilevel).ok() } pub unsafe fn GetIsSideways(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsSideways)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsSideways)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsSideways(&self, issideways: P0) -> ::windows_core::Result<()> where @@ -1663,7 +1663,7 @@ impl IXpsOMGlyphsEditor { } pub unsafe fn GetDeviceFontName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceFontName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceFontName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeviceFontName(&self, devicefontname: P0) -> ::windows_core::Result<()> where @@ -1700,30 +1700,30 @@ pub struct IXpsOMGlyphsEditor_Vtbl { impl IXpsOMGradientBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetGradientStops(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -1733,7 +1733,7 @@ impl IXpsOMGradientBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1743,14 +1743,14 @@ impl IXpsOMGradientBrush { } pub unsafe fn GetSpreadMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpreadMethod(&self, spreadmethod: XPS_SPREAD_METHOD) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpreadMethod)(::windows_core::Interface::as_raw(self), spreadmethod).ok() } pub unsafe fn GetColorInterpolationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorInterpolationMode(&self, colorinterpolationmode: XPS_COLOR_INTERPOLATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColorInterpolationMode)(::windows_core::Interface::as_raw(self), colorinterpolationmode).ok() @@ -1776,18 +1776,18 @@ pub struct IXpsOMGradientBrush_Vtbl { impl IXpsOMGradientStop { pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOffset(&self, offset: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetColor(&self, color: *mut XPS_COLOR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), color, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), color, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetColor(&self, color: *const XPS_COLOR, colorprofile: P0) -> ::windows_core::Result<()> where @@ -1797,7 +1797,7 @@ impl IXpsOMGradientStop { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1816,11 +1816,11 @@ pub struct IXpsOMGradientStop_Vtbl { impl IXpsOMGradientStopCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, stop: P0) -> ::windows_core::Result<()> where @@ -1860,26 +1860,26 @@ pub struct IXpsOMGradientStopCollection_Vtbl { impl IXpsOMImageBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -1889,7 +1889,7 @@ impl IXpsOMImageBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -1899,28 +1899,28 @@ impl IXpsOMImageBrush { } pub unsafe fn GetViewbox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewbox(&self, viewbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetViewbox)(::windows_core::Interface::as_raw(self), viewbox).ok() } pub unsafe fn GetViewport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewport(&self, viewport: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetViewport)(::windows_core::Interface::as_raw(self), viewport).ok() } pub unsafe fn GetTileMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTileMode(&self, tilemode: XPS_TILE_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTileMode)(::windows_core::Interface::as_raw(self), tilemode).ok() } pub unsafe fn GetImageResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetImageResource(&self, imageresource: P0) -> ::windows_core::Result<()> where @@ -1930,7 +1930,7 @@ impl IXpsOMImageBrush { } pub unsafe fn GetColorProfileResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorProfileResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorProfileResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetColorProfileResource(&self, colorprofileresource: P0) -> ::windows_core::Result<()> where @@ -1940,7 +1940,7 @@ impl IXpsOMImageBrush { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1959,7 +1959,7 @@ impl IXpsOMImageResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -1971,7 +1971,7 @@ impl IXpsOMImageResource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, imagetype: XPS_IMAGE_TYPE, partname: P1) -> ::windows_core::Result<()> @@ -1983,7 +1983,7 @@ impl IXpsOMImageResource { } pub unsafe fn GetImageType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2005,11 +2005,11 @@ pub struct IXpsOMImageResource_Vtbl { impl IXpsOMImageResourceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, object: P0) -> ::windows_core::Result<()> where @@ -2038,7 +2038,7 @@ impl IXpsOMImageResourceCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2061,30 +2061,30 @@ pub struct IXpsOMImageResourceCollection_Vtbl { impl IXpsOMLinearGradientBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetGradientStops(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -2094,7 +2094,7 @@ impl IXpsOMLinearGradientBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -2104,35 +2104,35 @@ impl IXpsOMLinearGradientBrush { } pub unsafe fn GetSpreadMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpreadMethod(&self, spreadmethod: XPS_SPREAD_METHOD) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpreadMethod)(::windows_core::Interface::as_raw(self), spreadmethod).ok() } pub unsafe fn GetColorInterpolationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorInterpolationMode(&self, colorinterpolationmode: XPS_COLOR_INTERPOLATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetColorInterpolationMode)(::windows_core::Interface::as_raw(self), colorinterpolationmode).ok() } pub unsafe fn GetStartPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartPoint(&self, startpoint: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartPoint)(::windows_core::Interface::as_raw(self), startpoint).ok() } pub unsafe fn GetEndPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEndPoint(&self, endpoint: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEndPoint)(::windows_core::Interface::as_raw(self), endpoint).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2150,22 +2150,22 @@ pub struct IXpsOMLinearGradientBrush_Vtbl { impl IXpsOMMatrixTransform { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatrix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatrix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatrix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMatrix(&self, matrix: *const XPS_MATRIX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMatrix)(::windows_core::Interface::as_raw(self), matrix).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2181,11 +2181,11 @@ pub struct IXpsOMMatrixTransform_Vtbl { impl IXpsOMNameCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } } #[repr(C)] @@ -2200,7 +2200,7 @@ pub struct IXpsOMNameCollection_Vtbl { impl IXpsOMObjectFactory { pub unsafe fn CreatePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePackageFromFile(&self, filename: P0, reuseobjects: P1) -> ::windows_core::Result where @@ -2208,7 +2208,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePackageFromStream(&self, stream: P0, reuseobjects: P1) -> ::windows_core::Result @@ -2217,7 +2217,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateStoryFragmentsResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2226,7 +2226,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStoryFragmentsResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStoryFragmentsResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocumentStructureResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2235,7 +2235,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocumentStructureResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocumentStructureResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateSignatureBlockResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2244,7 +2244,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSignatureBlockResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSignatureBlockResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateRemoteDictionaryResource(&self, dictionary: P0, parturi: P1) -> ::windows_core::Result @@ -2253,7 +2253,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResource)(::windows_core::Interface::as_raw(self), dictionary.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResource)(::windows_core::Interface::as_raw(self), dictionary.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateRemoteDictionaryResourceFromStream(&self, dictionarymarkupstream: P0, dictionaryparturi: P1, resources: P2) -> ::windows_core::Result @@ -2263,11 +2263,11 @@ impl IXpsOMObjectFactory { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResourceFromStream)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), dictionaryparturi.into_param().abi(), resources.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResourceFromStream)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), dictionaryparturi.into_param().abi(), resources.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePartResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocumentSequence(&self, parturi: P0) -> ::windows_core::Result @@ -2275,7 +2275,7 @@ impl IXpsOMObjectFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocumentSequence)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocumentSequence)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocument(&self, parturi: P0) -> ::windows_core::Result @@ -2283,11 +2283,11 @@ impl IXpsOMObjectFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocument)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocument)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePageReference(&self, advisorypagedimensions: *const XPS_SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePageReference)(::windows_core::Interface::as_raw(self), advisorypagedimensions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePageReference)(::windows_core::Interface::as_raw(self), advisorypagedimensions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePage(&self, pagedimensions: *const XPS_SIZE, language: P0, parturi: P1) -> ::windows_core::Result @@ -2296,7 +2296,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePage)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePage)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePageFromStream(&self, pagemarkupstream: P0, parturi: P1, resources: P2, reuseobjects: P3) -> ::windows_core::Result @@ -2307,41 +2307,41 @@ impl IXpsOMObjectFactory { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePageFromStream)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePageFromStream)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCanvas(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCanvas)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCanvas)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphs(&self, fontresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGlyphs)(::windows_core::Interface::as_raw(self), fontresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGlyphs)(::windows_core::Interface::as_raw(self), fontresource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePath(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGeometryFigure(&self, startpoint: *const XPS_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGeometryFigure)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGeometryFigure)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self, matrix: *const XPS_MATRIX) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), matrix, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMatrixTransform)(::windows_core::Interface::as_raw(self), matrix, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSolidColorBrush(&self, color: *const XPS_COLOR, colorprofile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateColorProfileResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2350,18 +2350,18 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateColorProfileResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateColorProfileResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateImageBrush(&self, image: P0, viewbox: *const XPS_RECT, viewport: *const XPS_RECT) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), viewbox, viewport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), viewbox, viewport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVisualBrush(&self, viewbox: *const XPS_RECT, viewport: *const XPS_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVisualBrush)(::windows_core::Interface::as_raw(self), viewbox, viewport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVisualBrush)(::windows_core::Interface::as_raw(self), viewbox, viewport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateImageResource(&self, acquiredstream: P0, contenttype: XPS_IMAGE_TYPE, parturi: P1) -> ::windows_core::Result @@ -2370,7 +2370,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), contenttype, parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), contenttype, parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePrintTicketResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2379,7 +2379,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePrintTicketResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePrintTicketResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateFontResource(&self, acquiredstream: P0, fontembedding: XPS_FONT_EMBEDDING, parturi: P1, isobfsourcestream: P2) -> ::windows_core::Result @@ -2389,14 +2389,14 @@ impl IXpsOMObjectFactory { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), fontembedding, parturi.into_param().abi(), isobfsourcestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFontResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), fontembedding, parturi.into_param().abi(), isobfsourcestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGradientStop(&self, color: *const XPS_COLOR, colorprofile: P0, offset: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGradientStop)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGradientStop)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearGradientBrush(&self, gradstop1: P0, gradstop2: P1, startpoint: *const XPS_POINT, endpoint: *const XPS_POINT) -> ::windows_core::Result where @@ -2404,7 +2404,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), startpoint, endpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), startpoint, endpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRadialGradientBrush(&self, gradstop1: P0, gradstop2: P1, centerpoint: *const XPS_POINT, gradientorigin: *const XPS_POINT, radiisizes: *const XPS_SIZE) -> ::windows_core::Result where @@ -2412,7 +2412,7 @@ impl IXpsOMObjectFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), centerpoint, gradientorigin, radiisizes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), centerpoint, gradientorigin, radiisizes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateCoreProperties(&self, parturi: P0) -> ::windows_core::Result @@ -2420,15 +2420,15 @@ impl IXpsOMObjectFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCoreProperties)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCoreProperties)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePartUriCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartUriCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartUriCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Security", feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePackageWriterOnFile(&self, filename: P0, securityattributes: *const super::super::Security::SECURITY_ATTRIBUTES, flagsandattributes: u32, optimizemarkupsize: P1, interleaving: XPS_INTERLEAVING, documentsequencepartname: P2, coreproperties: P3, packagethumbnail: P4, documentsequenceprintticket: P5, discardcontrolpartname: P6) -> ::windows_core::Result @@ -2442,7 +2442,7 @@ impl IXpsOMObjectFactory { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageWriterOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageWriterOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePackageWriterOnStream(&self, outputstream: P0, optimizemarkupsize: P1, interleaving: XPS_INTERLEAVING, documentsequencepartname: P2, coreproperties: P3, packagethumbnail: P4, documentsequenceprintticket: P5, discardcontrolpartname: P6) -> ::windows_core::Result @@ -2456,7 +2456,7 @@ impl IXpsOMObjectFactory { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageWriterOnStream)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageWriterOnStream)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePartUri(&self, uri: P0) -> ::windows_core::Result @@ -2464,7 +2464,7 @@ impl IXpsOMObjectFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePartUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePartUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateReadOnlyStreamOnFile(&self, filename: P0) -> ::windows_core::Result @@ -2472,7 +2472,7 @@ impl IXpsOMObjectFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReadOnlyStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReadOnlyStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2579,7 +2579,7 @@ pub struct IXpsOMObjectFactory_Vtbl { impl IXpsOMObjectFactory1 { pub unsafe fn CreatePackage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePackage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePackageFromFile(&self, filename: P0, reuseobjects: P1) -> ::windows_core::Result where @@ -2587,7 +2587,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePackageFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePackageFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePackageFromStream(&self, stream: P0, reuseobjects: P1) -> ::windows_core::Result @@ -2596,7 +2596,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePackageFromStream)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateStoryFragmentsResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2605,7 +2605,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStoryFragmentsResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStoryFragmentsResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocumentStructureResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2614,7 +2614,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDocumentStructureResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDocumentStructureResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateSignatureBlockResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2623,7 +2623,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSignatureBlockResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSignatureBlockResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateRemoteDictionaryResource(&self, dictionary: P0, parturi: P1) -> ::windows_core::Result @@ -2632,7 +2632,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRemoteDictionaryResource)(::windows_core::Interface::as_raw(self), dictionary.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRemoteDictionaryResource)(::windows_core::Interface::as_raw(self), dictionary.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateRemoteDictionaryResourceFromStream(&self, dictionarymarkupstream: P0, dictionaryparturi: P1, resources: P2) -> ::windows_core::Result @@ -2642,11 +2642,11 @@ impl IXpsOMObjectFactory1 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRemoteDictionaryResourceFromStream)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), dictionaryparturi.into_param().abi(), resources.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRemoteDictionaryResourceFromStream)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), dictionaryparturi.into_param().abi(), resources.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePartResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePartResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePartResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocumentSequence(&self, parturi: P0) -> ::windows_core::Result @@ -2654,7 +2654,7 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDocumentSequence)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDocumentSequence)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateDocument(&self, parturi: P0) -> ::windows_core::Result @@ -2662,11 +2662,11 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDocument)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDocument)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePageReference(&self, advisorypagedimensions: *const XPS_SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePageReference)(::windows_core::Interface::as_raw(self), advisorypagedimensions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePageReference)(::windows_core::Interface::as_raw(self), advisorypagedimensions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePage(&self, pagedimensions: *const XPS_SIZE, language: P0, parturi: P1) -> ::windows_core::Result @@ -2675,7 +2675,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePage)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePage)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePageFromStream(&self, pagemarkupstream: P0, parturi: P1, resources: P2, reuseobjects: P3) -> ::windows_core::Result @@ -2686,41 +2686,41 @@ impl IXpsOMObjectFactory1 { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePageFromStream)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePageFromStream)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCanvas(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCanvas)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCanvas)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGlyphs(&self, fontresource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGlyphs)(::windows_core::Interface::as_raw(self), fontresource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGlyphs)(::windows_core::Interface::as_raw(self), fontresource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePath(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGeometryFigure(&self, startpoint: *const XPS_POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGeometryFigure)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGeometryFigure)(::windows_core::Interface::as_raw(self), startpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMatrixTransform(&self, matrix: *const XPS_MATRIX) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), matrix, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMatrixTransform)(::windows_core::Interface::as_raw(self), matrix, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSolidColorBrush(&self, color: *const XPS_COLOR, colorprofile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSolidColorBrush)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateColorProfileResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2729,18 +2729,18 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateColorProfileResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateColorProfileResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateImageBrush(&self, image: P0, viewbox: *const XPS_RECT, viewport: *const XPS_RECT) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), viewbox, viewport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateImageBrush)(::windows_core::Interface::as_raw(self), image.into_param().abi(), viewbox, viewport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateVisualBrush(&self, viewbox: *const XPS_RECT, viewport: *const XPS_RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateVisualBrush)(::windows_core::Interface::as_raw(self), viewbox, viewport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateVisualBrush)(::windows_core::Interface::as_raw(self), viewbox, viewport, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateImageResource(&self, acquiredstream: P0, contenttype: XPS_IMAGE_TYPE, parturi: P1) -> ::windows_core::Result @@ -2749,7 +2749,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateImageResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), contenttype, parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateImageResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), contenttype, parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePrintTicketResource(&self, acquiredstream: P0, parturi: P1) -> ::windows_core::Result @@ -2758,7 +2758,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePrintTicketResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePrintTicketResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateFontResource(&self, acquiredstream: P0, fontembedding: XPS_FONT_EMBEDDING, parturi: P1, isobfsourcestream: P2) -> ::windows_core::Result @@ -2768,14 +2768,14 @@ impl IXpsOMObjectFactory1 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), fontembedding, parturi.into_param().abi(), isobfsourcestream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFontResource)(::windows_core::Interface::as_raw(self), acquiredstream.into_param().abi(), fontembedding, parturi.into_param().abi(), isobfsourcestream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateGradientStop(&self, color: *const XPS_COLOR, colorprofile: P0, offset: f32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGradientStop)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGradientStop)(::windows_core::Interface::as_raw(self), color, colorprofile.into_param().abi(), offset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearGradientBrush(&self, gradstop1: P0, gradstop2: P1, startpoint: *const XPS_POINT, endpoint: *const XPS_POINT) -> ::windows_core::Result where @@ -2783,7 +2783,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), startpoint, endpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateLinearGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), startpoint, endpoint, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRadialGradientBrush(&self, gradstop1: P0, gradstop2: P1, centerpoint: *const XPS_POINT, gradientorigin: *const XPS_POINT, radiisizes: *const XPS_SIZE) -> ::windows_core::Result where @@ -2791,7 +2791,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), centerpoint, gradientorigin, radiisizes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateRadialGradientBrush)(::windows_core::Interface::as_raw(self), gradstop1.into_param().abi(), gradstop2.into_param().abi(), centerpoint, gradientorigin, radiisizes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateCoreProperties(&self, parturi: P0) -> ::windows_core::Result @@ -2799,15 +2799,15 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCoreProperties)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCoreProperties)(::windows_core::Interface::as_raw(self), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePartUriCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePartUriCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePartUriCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Security", feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePackageWriterOnFile(&self, filename: P0, securityattributes: *const super::super::Security::SECURITY_ATTRIBUTES, flagsandattributes: u32, optimizemarkupsize: P1, interleaving: XPS_INTERLEAVING, documentsequencepartname: P2, coreproperties: P3, packagethumbnail: P4, documentsequenceprintticket: P5, discardcontrolpartname: P6) -> ::windows_core::Result @@ -2821,7 +2821,7 @@ impl IXpsOMObjectFactory1 { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePackageWriterOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePackageWriterOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePackageWriterOnStream(&self, outputstream: P0, optimizemarkupsize: P1, interleaving: XPS_INTERLEAVING, documentsequencepartname: P2, coreproperties: P3, packagethumbnail: P4, documentsequenceprintticket: P5, discardcontrolpartname: P6) -> ::windows_core::Result @@ -2835,7 +2835,7 @@ impl IXpsOMObjectFactory1 { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePackageWriterOnStream)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePackageWriterOnStream)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePartUri(&self, uri: P0) -> ::windows_core::Result @@ -2843,7 +2843,7 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePartUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePartUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateReadOnlyStreamOnFile(&self, filename: P0) -> ::windows_core::Result @@ -2851,14 +2851,14 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateReadOnlyStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateReadOnlyStreamOnFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentTypeFromFile(&self, filename: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentTypeFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentTypeFromFile)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocumentTypeFromStream(&self, xpsdocumentstream: P0) -> ::windows_core::Result @@ -2866,7 +2866,7 @@ impl IXpsOMObjectFactory1 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentTypeFromStream)(::windows_core::Interface::as_raw(self), xpsdocumentstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentTypeFromStream)(::windows_core::Interface::as_raw(self), xpsdocumentstream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ConvertHDPhotoToJpegXR(&self, imageresource: P0) -> ::windows_core::Result<()> where @@ -2892,7 +2892,7 @@ impl IXpsOMObjectFactory1 { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageWriterOnFile1)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), documenttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageWriterOnFile1)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), securityattributes, flagsandattributes, optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), documenttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePackageWriterOnStream1(&self, outputstream: P0, optimizemarkupsize: P1, interleaving: XPS_INTERLEAVING, documentsequencepartname: P2, coreproperties: P3, packagethumbnail: P4, documentsequenceprintticket: P5, discardcontrolpartname: P6, documenttype: XPS_DOCUMENT_TYPE) -> ::windows_core::Result @@ -2906,11 +2906,11 @@ impl IXpsOMObjectFactory1 { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageWriterOnStream1)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), documenttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageWriterOnStream1)(::windows_core::Interface::as_raw(self), outputstream.into_param().abi(), optimizemarkupsize.into_param().abi(), interleaving, documentsequencepartname.into_param().abi(), coreproperties.into_param().abi(), packagethumbnail.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), documenttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePackage1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackage1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackage1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePackageFromStream1(&self, stream: P0, reuseobjects: P1) -> ::windows_core::Result @@ -2919,7 +2919,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageFromStream1)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageFromStream1)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePackageFromFile1(&self, filename: P0, reuseobjects: P1) -> ::windows_core::Result where @@ -2927,7 +2927,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePackageFromFile1)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePackageFromFile1)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePage1(&self, pagedimensions: *const XPS_SIZE, language: P0, parturi: P1) -> ::windows_core::Result @@ -2936,7 +2936,7 @@ impl IXpsOMObjectFactory1 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePage1)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePage1)(::windows_core::Interface::as_raw(self), pagedimensions, language.into_param().abi(), parturi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreatePageFromStream1(&self, pagemarkupstream: P0, parturi: P1, resources: P2, reuseobjects: P3) -> ::windows_core::Result @@ -2947,7 +2947,7 @@ impl IXpsOMObjectFactory1 { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePageFromStream1)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePageFromStream1)(::windows_core::Interface::as_raw(self), pagemarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), reuseobjects.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn CreateRemoteDictionaryResourceFromStream1(&self, dictionarymarkupstream: P0, parturi: P1, resources: P2) -> ::windows_core::Result @@ -2957,7 +2957,7 @@ impl IXpsOMObjectFactory1 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResourceFromStream1)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRemoteDictionaryResourceFromStream1)(::windows_core::Interface::as_raw(self), dictionarymarkupstream.into_param().abi(), parturi.into_param().abi(), resources.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3003,7 +3003,7 @@ pub struct IXpsOMObjectFactory1_Vtbl { impl IXpsOMPackage { pub unsafe fn GetDocumentSequence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentSequence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentSequence)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentSequence(&self, documentsequence: P0) -> ::windows_core::Result<()> where @@ -3013,7 +3013,7 @@ impl IXpsOMPackage { } pub unsafe fn GetCoreProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCoreProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCoreProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCoreProperties(&self, coreproperties: P0) -> ::windows_core::Result<()> where @@ -3024,7 +3024,7 @@ impl IXpsOMPackage { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetDiscardControlPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiscardControlPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiscardControlPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetDiscardControlPartName(&self, discardcontrolparturi: P0) -> ::windows_core::Result<()> @@ -3035,7 +3035,7 @@ impl IXpsOMPackage { } pub unsafe fn GetThumbnailResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbnailResource(&self, imageresource: P0) -> ::windows_core::Result<()> where @@ -3092,7 +3092,7 @@ pub struct IXpsOMPackage_Vtbl { impl IXpsOMPackage1 { pub unsafe fn GetDocumentSequence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocumentSequence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocumentSequence)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentSequence(&self, documentsequence: P0) -> ::windows_core::Result<()> where @@ -3102,7 +3102,7 @@ impl IXpsOMPackage1 { } pub unsafe fn GetCoreProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCoreProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCoreProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCoreProperties(&self, coreproperties: P0) -> ::windows_core::Result<()> where @@ -3113,7 +3113,7 @@ impl IXpsOMPackage1 { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetDiscardControlPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDiscardControlPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDiscardControlPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetDiscardControlPartName(&self, discardcontrolparturi: P0) -> ::windows_core::Result<()> @@ -3124,7 +3124,7 @@ impl IXpsOMPackage1 { } pub unsafe fn GetThumbnailResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbnailResource(&self, imageresource: P0) -> ::windows_core::Result<()> where @@ -3150,7 +3150,7 @@ impl IXpsOMPackage1 { } pub unsafe fn GetDocumentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security")] pub unsafe fn WriteToFile1(&self, filename: P0, securityattributes: *const super::super::Security::SECURITY_ATTRIBUTES, flagsandattributes: u32, optimizemarkupsize: P1, documenttype: XPS_DOCUMENT_TYPE) -> ::windows_core::Result<()> @@ -3194,7 +3194,7 @@ impl IXpsOMPackageTarget { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateXpsOMPackageWriter)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateXpsOMPackageWriter)(::windows_core::Interface::as_raw(self), documentsequencepartname.into_param().abi(), documentsequenceprintticket.into_param().abi(), discardcontrolpartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3241,7 +3241,7 @@ impl IXpsOMPackageWriter { } pub unsafe fn IsClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3292,7 +3292,7 @@ impl IXpsOMPackageWriter3D { } pub unsafe fn IsClosed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsClosed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn AddModelTexture(&self, texturepartname: P0, texturedata: P1) -> ::windows_core::Result<()> @@ -3330,7 +3330,7 @@ impl IXpsOMPage { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -3341,36 +3341,36 @@ impl IXpsOMPage { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisuals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPageDimensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPageDimensions(&self, pagedimensions: *const XPS_SIZE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPageDimensions)(::windows_core::Interface::as_raw(self), pagedimensions).ok() } pub unsafe fn GetContentBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentBox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContentBox(&self, contentbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetContentBox)(::windows_core::Interface::as_raw(self), contentbox).ok() } pub unsafe fn GetBleedBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBleedBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBleedBox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBleedBox(&self, bleedbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBleedBox)(::windows_core::Interface::as_raw(self), bleedbox).ok() } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -3380,7 +3380,7 @@ impl IXpsOMPage { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3390,7 +3390,7 @@ impl IXpsOMPage { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlinktarget: P0) -> ::windows_core::Result<()> where @@ -3400,11 +3400,11 @@ impl IXpsOMPage { } pub unsafe fn GetDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDictionaryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryLocal(&self, resourcedictionary: P0) -> ::windows_core::Result<()> where @@ -3414,7 +3414,7 @@ impl IXpsOMPage { } pub unsafe fn GetDictionaryResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryResource(&self, remotedictionaryresource: P0) -> ::windows_core::Result<()> where @@ -3432,11 +3432,11 @@ impl IXpsOMPage { } pub unsafe fn GenerateUnusedLookupKey(&self, r#type: XPS_OBJECT_TYPE) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateUnusedLookupKey)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateUnusedLookupKey)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3475,7 +3475,7 @@ impl IXpsOMPage1 { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -3486,36 +3486,36 @@ impl IXpsOMPage1 { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisuals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisuals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPageDimensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPageDimensions(&self, pagedimensions: *const XPS_SIZE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPageDimensions)(::windows_core::Interface::as_raw(self), pagedimensions).ok() } pub unsafe fn GetContentBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContentBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContentBox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetContentBox(&self, contentbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetContentBox)(::windows_core::Interface::as_raw(self), contentbox).ok() } pub unsafe fn GetBleedBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBleedBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBleedBox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBleedBox(&self, bleedbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBleedBox)(::windows_core::Interface::as_raw(self), bleedbox).ok() } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -3525,7 +3525,7 @@ impl IXpsOMPage1 { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3535,7 +3535,7 @@ impl IXpsOMPage1 { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlinktarget: P0) -> ::windows_core::Result<()> where @@ -3545,11 +3545,11 @@ impl IXpsOMPage1 { } pub unsafe fn GetDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDictionaryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDictionaryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryLocal(&self, resourcedictionary: P0) -> ::windows_core::Result<()> where @@ -3559,7 +3559,7 @@ impl IXpsOMPage1 { } pub unsafe fn GetDictionaryResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDictionaryResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionaryResource(&self, remotedictionaryresource: P0) -> ::windows_core::Result<()> where @@ -3577,15 +3577,15 @@ impl IXpsOMPage1 { } pub unsafe fn GenerateUnusedLookupKey(&self, r#type: XPS_OBJECT_TYPE) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenerateUnusedLookupKey)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenerateUnusedLookupKey)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Write1(&self, stream: P0, optimizemarkupsize: P1, documenttype: XPS_DOCUMENT_TYPE) -> ::windows_core::Result<()> @@ -3611,11 +3611,11 @@ pub struct IXpsOMPage1_Vtbl { impl IXpsOMPageReference { pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPage(&self, page: P0) -> ::windows_core::Result<()> where @@ -3628,18 +3628,18 @@ impl IXpsOMPageReference { } pub unsafe fn IsPageLoaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPageLoaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPageLoaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAdvisoryPageDimensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdvisoryPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdvisoryPageDimensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAdvisoryPageDimensions(&self, pagedimensions: *const XPS_SIZE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAdvisoryPageDimensions)(::windows_core::Interface::as_raw(self), pagedimensions).ok() } pub unsafe fn GetStoryFragmentsResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryFragmentsResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryFragmentsResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStoryFragmentsResource(&self, storyfragmentsresource: P0) -> ::windows_core::Result<()> where @@ -3649,7 +3649,7 @@ impl IXpsOMPageReference { } pub unsafe fn GetPrintTicketResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrintTicketResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrintTicketResource(&self, printticketresource: P0) -> ::windows_core::Result<()> where @@ -3659,7 +3659,7 @@ impl IXpsOMPageReference { } pub unsafe fn GetThumbnailResource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnailResource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetThumbnailResource(&self, imageresource: P0) -> ::windows_core::Result<()> where @@ -3669,19 +3669,19 @@ impl IXpsOMPageReference { } pub unsafe fn CollectLinkTargets(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectLinkTargets)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectLinkTargets)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CollectPartResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectPartResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectPartResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasRestrictedFonts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasRestrictedFonts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasRestrictedFonts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3711,11 +3711,11 @@ pub struct IXpsOMPageReference_Vtbl { impl IXpsOMPageReferenceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, pagereference: P0) -> ::windows_core::Result<()> where @@ -3756,7 +3756,7 @@ impl IXpsOMPart { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -3784,19 +3784,19 @@ pub struct IXpsOMPart_Vtbl { impl IXpsOMPartResources { pub unsafe fn GetFontResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImageResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColorProfileResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColorProfileResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColorProfileResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRemoteDictionaryResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteDictionaryResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteDictionaryResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3813,12 +3813,12 @@ pub struct IXpsOMPartResources_Vtbl { impl IXpsOMPartUriCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn InsertAt(&self, index: u32, parturi: P0) -> ::windows_core::Result<()> @@ -3873,19 +3873,19 @@ pub struct IXpsOMPartUriCollection_Vtbl { impl IXpsOMPath { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, matrixtransform: P0) -> ::windows_core::Result<()> where @@ -3895,7 +3895,7 @@ impl IXpsOMPath { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -3905,11 +3905,11 @@ impl IXpsOMPath { } pub unsafe fn GetClipGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClipGeometryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipGeometryLocal(&self, clipgeometry: P0) -> ::windows_core::Result<()> where @@ -3919,7 +3919,7 @@ impl IXpsOMPath { } pub unsafe fn GetClipGeometryLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipGeometryLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -3929,18 +3929,18 @@ impl IXpsOMPath { } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetOpacityMaskBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOpacityMaskBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOpacityMaskBrushLocal(&self, opacitymaskbrush: P0) -> ::windows_core::Result<()> where @@ -3950,7 +3950,7 @@ impl IXpsOMPath { } pub unsafe fn GetOpacityMaskBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacityMaskBrushLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -3960,7 +3960,7 @@ impl IXpsOMPath { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3970,7 +3970,7 @@ impl IXpsOMPath { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlink: P0) -> ::windows_core::Result<()> where @@ -3981,7 +3981,7 @@ impl IXpsOMPath { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHyperlinkNavigateUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHyperlinkNavigateUri(&self, hyperlinkuri: P0) -> ::windows_core::Result<()> @@ -3992,7 +3992,7 @@ impl IXpsOMPath { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -4002,11 +4002,11 @@ impl IXpsOMPath { } pub unsafe fn GetGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGeometryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGeometryLocal(&self, geometry: P0) -> ::windows_core::Result<()> where @@ -4016,7 +4016,7 @@ impl IXpsOMPath { } pub unsafe fn GetGeometryLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGeometryLookup(&self, lookup: P0) -> ::windows_core::Result<()> where @@ -4026,7 +4026,7 @@ impl IXpsOMPath { } pub unsafe fn GetAccessibilityShortDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessibilityShortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessibilityShortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccessibilityShortDescription(&self, shortdescription: P0) -> ::windows_core::Result<()> where @@ -4036,7 +4036,7 @@ impl IXpsOMPath { } pub unsafe fn GetAccessibilityLongDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccessibilityLongDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccessibilityLongDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccessibilityLongDescription(&self, longdescription: P0) -> ::windows_core::Result<()> where @@ -4046,7 +4046,7 @@ impl IXpsOMPath { } pub unsafe fn GetSnapsToPixels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapsToPixels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapsToPixels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSnapsToPixels(&self, snapstopixels: P0) -> ::windows_core::Result<()> where @@ -4056,11 +4056,11 @@ impl IXpsOMPath { } pub unsafe fn GetStrokeBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStrokeBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStrokeBrushLocal(&self, brush: P0) -> ::windows_core::Result<()> where @@ -4070,7 +4070,7 @@ impl IXpsOMPath { } pub unsafe fn GetStrokeBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeBrushLookup(&self, lookup: P0) -> ::windows_core::Result<()> where @@ -4080,64 +4080,64 @@ impl IXpsOMPath { } pub unsafe fn GetStrokeDashes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeDashes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeDashes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStrokeDashCap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeDashCap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeDashCap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeDashCap(&self, strokedashcap: XPS_DASH_CAP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeDashCap)(::windows_core::Interface::as_raw(self), strokedashcap).ok() } pub unsafe fn GetStrokeDashOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeDashOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeDashOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeDashOffset(&self, strokedashoffset: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeDashOffset)(::windows_core::Interface::as_raw(self), strokedashoffset).ok() } pub unsafe fn GetStrokeStartLineCap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeStartLineCap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeStartLineCap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeStartLineCap(&self, strokestartlinecap: XPS_LINE_CAP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeStartLineCap)(::windows_core::Interface::as_raw(self), strokestartlinecap).ok() } pub unsafe fn GetStrokeEndLineCap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeEndLineCap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeEndLineCap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeEndLineCap(&self, strokeendlinecap: XPS_LINE_CAP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeEndLineCap)(::windows_core::Interface::as_raw(self), strokeendlinecap).ok() } pub unsafe fn GetStrokeLineJoin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeLineJoin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeLineJoin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeLineJoin(&self, strokelinejoin: XPS_LINE_JOIN) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeLineJoin)(::windows_core::Interface::as_raw(self), strokelinejoin).ok() } pub unsafe fn GetStrokeMiterLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeMiterLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeMiterLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeMiterLimit(&self, strokemiterlimit: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeMiterLimit)(::windows_core::Interface::as_raw(self), strokemiterlimit).ok() } pub unsafe fn GetStrokeThickness(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokeThickness)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokeThickness)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrokeThickness(&self, strokethickness: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrokeThickness)(::windows_core::Interface::as_raw(self), strokethickness).ok() } pub unsafe fn GetFillBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFillBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFillBrushLocal(&self, brush: P0) -> ::windows_core::Result<()> where @@ -4147,7 +4147,7 @@ impl IXpsOMPath { } pub unsafe fn GetFillBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFillBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFillBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFillBrushLookup(&self, lookup: P0) -> ::windows_core::Result<()> where @@ -4157,7 +4157,7 @@ impl IXpsOMPath { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4208,7 +4208,7 @@ impl IXpsOMPrintTicketResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4220,7 +4220,7 @@ impl IXpsOMPrintTicketResource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, partname: P1) -> ::windows_core::Result<()> @@ -4249,30 +4249,30 @@ pub struct IXpsOMPrintTicketResource_Vtbl { impl IXpsOMRadialGradientBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetGradientStops(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGradientStops)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -4282,7 +4282,7 @@ impl IXpsOMRadialGradientBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -4292,42 +4292,42 @@ impl IXpsOMRadialGradientBrush { } pub unsafe fn GetSpreadMethod(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpreadMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpreadMethod(&self, spreadmethod: XPS_SPREAD_METHOD) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpreadMethod)(::windows_core::Interface::as_raw(self), spreadmethod).ok() } pub unsafe fn GetColorInterpolationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColorInterpolationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColorInterpolationMode(&self, colorinterpolationmode: XPS_COLOR_INTERPOLATION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetColorInterpolationMode)(::windows_core::Interface::as_raw(self), colorinterpolationmode).ok() } pub unsafe fn GetCenter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCenter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCenter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCenter(&self, center: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCenter)(::windows_core::Interface::as_raw(self), center).ok() } pub unsafe fn GetRadiiSizes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadiiSizes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadiiSizes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadiiSizes(&self, radiisizes: *const XPS_SIZE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadiiSizes)(::windows_core::Interface::as_raw(self), radiisizes).ok() } pub unsafe fn GetGradientOrigin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGradientOrigin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGradientOrigin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGradientOrigin(&self, origin: *const XPS_POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGradientOrigin)(::windows_core::Interface::as_raw(self), origin).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4348,7 +4348,7 @@ impl IXpsOMRemoteDictionaryResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4359,7 +4359,7 @@ impl IXpsOMRemoteDictionaryResource { } pub unsafe fn GetDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionary(&self, dictionary: P0) -> ::windows_core::Result<()> where @@ -4381,7 +4381,7 @@ impl IXpsOMRemoteDictionaryResource1 { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4392,7 +4392,7 @@ impl IXpsOMRemoteDictionaryResource1 { } pub unsafe fn GetDictionary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDictionary)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDictionary(&self, dictionary: P0) -> ::windows_core::Result<()> where @@ -4402,7 +4402,7 @@ impl IXpsOMRemoteDictionaryResource1 { } pub unsafe fn GetDocumentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Write1(&self, stream: P0, documenttype: XPS_DOCUMENT_TYPE) -> ::windows_core::Result<()> @@ -4427,11 +4427,11 @@ pub struct IXpsOMRemoteDictionaryResource1_Vtbl { impl IXpsOMRemoteDictionaryResourceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, object: P0) -> ::windows_core::Result<()> where @@ -4460,7 +4460,7 @@ impl IXpsOMRemoteDictionaryResourceCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4484,7 +4484,7 @@ impl IXpsOMResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4504,11 +4504,11 @@ pub struct IXpsOMResource_Vtbl { impl IXpsOMShareable { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4524,7 +4524,7 @@ impl IXpsOMSignatureBlockResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4535,12 +4535,12 @@ impl IXpsOMSignatureBlockResource { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, partname: P1) -> ::windows_core::Result<()> @@ -4570,11 +4570,11 @@ pub struct IXpsOMSignatureBlockResource_Vtbl { impl IXpsOMSignatureBlockResourceCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, signatureblockresource: P0) -> ::windows_core::Result<()> where @@ -4603,7 +4603,7 @@ impl IXpsOMSignatureBlockResourceCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetByPartName)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4626,22 +4626,22 @@ pub struct IXpsOMSignatureBlockResourceCollection_Vtbl { impl IXpsOMSolidColorBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetColor(&self, color: *mut XPS_COLOR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), color, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), color, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetColor(&self, color: *const XPS_COLOR, colorprofile: P0) -> ::windows_core::Result<()> where @@ -4651,7 +4651,7 @@ impl IXpsOMSolidColorBrush { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4668,7 +4668,7 @@ impl IXpsOMStoryFragmentsResource { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetPartName(&self, parturi: P0) -> ::windows_core::Result<()> @@ -4679,12 +4679,12 @@ impl IXpsOMStoryFragmentsResource { } pub unsafe fn GetOwner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetContent(&self, sourcestream: P0, partname: P1) -> ::windows_core::Result<()> @@ -4719,7 +4719,7 @@ impl IXpsOMThumbnailGenerator { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateThumbnail)(::windows_core::Interface::as_raw(self), page.into_param().abi(), thumbnailtype, thumbnailsize, imageresourcepartname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateThumbnail)(::windows_core::Interface::as_raw(self), page.into_param().abi(), thumbnailtype, thumbnailsize, imageresourcepartname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4736,26 +4736,26 @@ pub struct IXpsOMThumbnailGenerator_Vtbl { impl IXpsOMTileBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -4765,7 +4765,7 @@ impl IXpsOMTileBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -4775,21 +4775,21 @@ impl IXpsOMTileBrush { } pub unsafe fn GetViewbox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewbox(&self, viewbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetViewbox)(::windows_core::Interface::as_raw(self), viewbox).ok() } pub unsafe fn GetViewport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewport(&self, viewport: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetViewport)(::windows_core::Interface::as_raw(self), viewport).ok() } pub unsafe fn GetTileMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTileMode(&self, tilemode: XPS_TILE_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTileMode)(::windows_core::Interface::as_raw(self), tilemode).ok() @@ -4816,19 +4816,19 @@ pub struct IXpsOMTileBrush_Vtbl { impl IXpsOMVisual { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, matrixtransform: P0) -> ::windows_core::Result<()> where @@ -4838,7 +4838,7 @@ impl IXpsOMVisual { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -4848,11 +4848,11 @@ impl IXpsOMVisual { } pub unsafe fn GetClipGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClipGeometryLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipGeometryLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClipGeometryLocal(&self, clipgeometry: P0) -> ::windows_core::Result<()> where @@ -4862,7 +4862,7 @@ impl IXpsOMVisual { } pub unsafe fn GetClipGeometryLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipGeometryLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipGeometryLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -4872,18 +4872,18 @@ impl IXpsOMVisual { } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetOpacityMaskBrush(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpacityMaskBrush)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOpacityMaskBrushLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpacityMaskBrushLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOpacityMaskBrushLocal(&self, opacitymaskbrush: P0) -> ::windows_core::Result<()> where @@ -4893,7 +4893,7 @@ impl IXpsOMVisual { } pub unsafe fn GetOpacityMaskBrushLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpacityMaskBrushLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacityMaskBrushLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -4903,7 +4903,7 @@ impl IXpsOMVisual { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4913,7 +4913,7 @@ impl IXpsOMVisual { } pub unsafe fn GetIsHyperlinkTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIsHyperlinkTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHyperlinkTarget(&self, ishyperlink: P0) -> ::windows_core::Result<()> where @@ -4924,7 +4924,7 @@ impl IXpsOMVisual { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHyperlinkNavigateUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHyperlinkNavigateUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHyperlinkNavigateUri(&self, hyperlinkuri: P0) -> ::windows_core::Result<()> @@ -4935,7 +4935,7 @@ impl IXpsOMVisual { } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguage(&self, language: P0) -> ::windows_core::Result<()> where @@ -4985,26 +4985,26 @@ pub struct IXpsOMVisual_Vtbl { impl IXpsOMVisualBrush { pub unsafe fn GetOwner(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOwner)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOpacity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOpacity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOpacity(&self, opacity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetOpacity)(::windows_core::Interface::as_raw(self), opacity).ok() } pub unsafe fn GetTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransformLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTransformLocal(&self, transform: P0) -> ::windows_core::Result<()> where @@ -5014,7 +5014,7 @@ impl IXpsOMVisualBrush { } pub unsafe fn GetTransformLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransformLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransformLookup(&self, key: P0) -> ::windows_core::Result<()> where @@ -5024,32 +5024,32 @@ impl IXpsOMVisualBrush { } pub unsafe fn GetViewbox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewbox)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewbox(&self, viewbox: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetViewbox)(::windows_core::Interface::as_raw(self), viewbox).ok() } pub unsafe fn GetViewport(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewport)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewport(&self, viewport: *const XPS_RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetViewport)(::windows_core::Interface::as_raw(self), viewport).ok() } pub unsafe fn GetTileMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTileMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTileMode(&self, tilemode: XPS_TILE_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTileMode)(::windows_core::Interface::as_raw(self), tilemode).ok() } pub unsafe fn GetVisual(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisual)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisual)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisualLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisualLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisualLocal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetVisualLocal(&self, visual: P0) -> ::windows_core::Result<()> where @@ -5059,7 +5059,7 @@ impl IXpsOMVisualBrush { } pub unsafe fn GetVisualLookup(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisualLookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisualLookup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisualLookup(&self, lookup: P0) -> ::windows_core::Result<()> where @@ -5069,7 +5069,7 @@ impl IXpsOMVisualBrush { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5088,11 +5088,11 @@ pub struct IXpsOMVisualBrush_Vtbl { impl IXpsOMVisualCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, index: u32, object: P0) -> ::windows_core::Result<()> where @@ -5132,7 +5132,7 @@ pub struct IXpsOMVisualCollection_Vtbl { impl IXpsSignature { pub unsafe fn GetSignatureId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignatureValue(&self, signaturehashvalue: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSignatureValue)(::windows_core::Interface::as_raw(self), signaturehashvalue, count).ok() @@ -5140,40 +5140,40 @@ impl IXpsSignature { #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCertificateEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSigningTime(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetSigningTimeFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetSignaturePartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security_Cryptography")] pub unsafe fn Verify(&self, x509certificate: *const super::super::Security::Cryptography::CERT_CONTEXT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Verify)(::windows_core::Interface::as_raw(self), x509certificate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Verify)(::windows_core::Interface::as_raw(self), x509certificate, &mut result__).map(|| result__) } pub unsafe fn GetPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCustomObjectEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomObjectEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomObjectEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCustomReferenceEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomReferenceEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureXml(&self, signaturexml: *mut *mut u8, count: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSignatureXml)(::windows_core::Interface::as_raw(self), signaturexml, count).ok() @@ -5222,28 +5222,28 @@ pub struct IXpsSignature_Vtbl { impl IXpsSignatureBlock { pub unsafe fn GetRequests(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequests)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequests)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetDocumentName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRequest(&self, requestid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), requestid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRequest)(::windows_core::Interface::as_raw(self), requestid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5267,11 +5267,11 @@ pub struct IXpsSignatureBlock_Vtbl { impl IXpsSignatureBlockCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveAt(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveAt)(::windows_core::Interface::as_raw(self), index).ok() @@ -5290,11 +5290,11 @@ pub struct IXpsSignatureBlockCollection_Vtbl { impl IXpsSignatureCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveAt(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveAt)(::windows_core::Interface::as_raw(self), index).ok() @@ -5330,12 +5330,12 @@ impl IXpsSignatureManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Sign)(::windows_core::Interface::as_raw(self), signoptions.into_param().abi(), x509certificate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Sign)(::windows_core::Interface::as_raw(self), signoptions.into_param().abi(), x509certificate, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetSignatureOriginPartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureOriginPartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureOriginPartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetSignatureOriginPartName(&self, signatureoriginpartname: P0) -> ::windows_core::Result<()> @@ -5346,7 +5346,7 @@ impl IXpsSignatureManager { } pub unsafe fn GetSignatures(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatures)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatures)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn AddSignatureBlock(&self, partname: P0, fixeddocumentindex: u32) -> ::windows_core::Result @@ -5354,15 +5354,15 @@ impl IXpsSignatureManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSignatureBlock)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), fixeddocumentindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSignatureBlock)(::windows_core::Interface::as_raw(self), partname.into_param().abi(), fixeddocumentindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSignatureBlocks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureBlocks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureBlocks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSigningOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSigningOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSigningOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] pub unsafe fn SavePackageToFile(&self, filename: P0, securityattributes: *const super::super::Security::SECURITY_ATTRIBUTES, flagsandattributes: u32) -> ::windows_core::Result<()> @@ -5421,7 +5421,7 @@ pub struct IXpsSignatureManager_Vtbl { impl IXpsSignatureRequest { pub unsafe fn GetIntent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIntent(&self, intent: P0) -> ::windows_core::Result<()> where @@ -5431,7 +5431,7 @@ impl IXpsSignatureRequest { } pub unsafe fn GetRequestedSigner(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestedSigner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestedSigner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestedSigner(&self, signername: P0) -> ::windows_core::Result<()> where @@ -5441,7 +5441,7 @@ impl IXpsSignatureRequest { } pub unsafe fn GetRequestSignByDate(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestSignByDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestSignByDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRequestSignByDate(&self, datestring: P0) -> ::windows_core::Result<()> where @@ -5451,7 +5451,7 @@ impl IXpsSignatureRequest { } pub unsafe fn GetSigningLocale(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSigningLocale(&self, place: P0) -> ::windows_core::Result<()> where @@ -5468,11 +5468,11 @@ impl IXpsSignatureRequest { } pub unsafe fn GetRequestId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSignature(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignature)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5500,11 +5500,11 @@ pub struct IXpsSignatureRequest_Vtbl { impl IXpsSignatureRequestCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveAt(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveAt)(::windows_core::Interface::as_raw(self), index).ok() @@ -5523,7 +5523,7 @@ pub struct IXpsSignatureRequestCollection_Vtbl { impl IXpsSigningOptions { pub unsafe fn GetSignatureId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignatureId(&self, signatureid: P0) -> ::windows_core::Result<()> where @@ -5533,7 +5533,7 @@ impl IXpsSigningOptions { } pub unsafe fn GetSignatureMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignatureMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSignatureMethod(&self, signaturemethod: P0) -> ::windows_core::Result<()> where @@ -5543,7 +5543,7 @@ impl IXpsSigningOptions { } pub unsafe fn GetDigestMethod(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDigestMethod)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDigestMethod(&self, digestmethod: P0) -> ::windows_core::Result<()> where @@ -5554,7 +5554,7 @@ impl IXpsSigningOptions { #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn GetSignaturePartName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSignaturePartName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Storage_Packaging_Opc", feature = "Win32_System_Com"))] pub unsafe fn SetSignaturePartName(&self, signaturepartname: P0) -> ::windows_core::Result<()> @@ -5565,7 +5565,7 @@ impl IXpsSigningOptions { } pub unsafe fn GetPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPolicy(&self, policy: XPS_SIGN_POLICY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPolicy)(::windows_core::Interface::as_raw(self), policy).ok() @@ -5573,7 +5573,7 @@ impl IXpsSigningOptions { #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetSigningTimeFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSigningTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSigningTimeFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn SetSigningTimeFormat(&self, timeformat: super::Packaging::Opc::OPC_SIGNATURE_TIME_FORMAT) -> ::windows_core::Result<()> { @@ -5582,21 +5582,21 @@ impl IXpsSigningOptions { #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCustomObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCustomReferences(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomReferences)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomReferences)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_Packaging_Opc")] pub unsafe fn GetCertificateSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCertificateSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCertificateSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: XPS_SIGN_FLAGS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/AddressBook/mod.rs b/crates/libs/windows/src/Windows/Win32/System/AddressBook/mod.rs index 0bacc24c8d..0a46bb6f08 100644 --- a/crates/libs/windows/src/Windows/Win32/System/AddressBook/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/AddressBook/mod.rs @@ -178,7 +178,7 @@ where { ::windows_targets::link!("mapi32.dll" "system" fn HrThisThreadAdviseSink(lpadvisesink : * mut::core::ffi::c_void, lppadvisesink : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HrThisThreadAdviseSink(lpadvisesink.into_param().abi(), &mut result__).from_abi(result__) + HrThisThreadAdviseSink(lpadvisesink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -213,7 +213,7 @@ pub unsafe fn MAPIInitIdle(lpvreserved: *mut ::core::ffi::c_void) -> i32 { pub unsafe fn OpenStreamOnFile(lpallocatebuffer: LPALLOCATEBUFFER, lpfreebuffer: LPFREEBUFFER, ulflags: u32, lpszfilename: *const i8, lpszprefix: ::core::option::Option<*const i8>) -> ::windows_core::Result { ::windows_targets::link!("mapi32.dll" "system" fn OpenStreamOnFile(lpallocatebuffer : LPALLOCATEBUFFER, lpfreebuffer : LPFREEBUFFER, ulflags : u32, lpszfilename : *const i8, lpszprefix : *const i8, lppstream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OpenStreamOnFile(lpallocatebuffer, lpfreebuffer, ulflags, lpszfilename, ::core::mem::transmute(lpszprefix.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + OpenStreamOnFile(lpallocatebuffer, lpfreebuffer, ulflags, lpszfilename, ::core::mem::transmute(lpszprefix.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -347,7 +347,7 @@ where { ::windows_targets::link!("mapi32.dll" "system" fn WrapCompressedRTFStream(lpcompressedrtfstream : * mut::core::ffi::c_void, ulflags : u32, lpuncompressedrtfstream : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WrapCompressedRTFStream(lpcompressedrtfstream.into_param().abi(), ulflags, &mut result__).from_abi(result__) + WrapCompressedRTFStream(lpcompressedrtfstream.into_param().abi(), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WrapStoreEntryID(ulflags: u32, lpszdllname: *const i8, cborigentry: u32, lporigentry: *const ENTRYID, lpcbwrappedentry: *mut u32, lppwrappedentry: *mut *mut ENTRYID) -> ::windows_core::Result<()> { @@ -400,11 +400,11 @@ impl IABContainer { } pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows_core::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OpenEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, lpinterface, ulflags, lpulobjtype, ::core::mem::transmute(lppunk)).ok() @@ -419,7 +419,7 @@ impl IABContainer { } pub unsafe fn CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulcreateflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulcreateflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyEntries(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: P0, ulflags: u32) -> ::windows_core::Result<()> where @@ -433,7 +433,7 @@ impl IABContainer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResolveNames(&self, lpproptagarray: ::core::option::Option<*const SPropTagArray>, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResolveNames)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpproptagarray.unwrap_or(::std::ptr::null())), ulflags, lpadrlist, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResolveNames)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpproptagarray.unwrap_or(::std::ptr::null())), ulflags, lpadrlist, &mut result__).map(|| result__) } } #[repr(C)] @@ -697,11 +697,11 @@ impl IDistList { } pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows_core::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OpenEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, lpinterface, ulflags, lpulobjtype, ::core::mem::transmute(lppunk)).ok() @@ -716,7 +716,7 @@ impl IDistList { } pub unsafe fn CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulcreateflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulcreateflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyEntries(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: P0, ulflags: u32) -> ::windows_core::Result<()> where @@ -730,7 +730,7 @@ impl IDistList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResolveNames(&self, lpproptagarray: ::core::option::Option<*const SPropTagArray>, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResolveNames)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpproptagarray.unwrap_or(::std::ptr::null())), ulflags, lpadrlist, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResolveNames)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpproptagarray.unwrap_or(::std::ptr::null())), ulflags, lpadrlist, &mut result__).map(|| result__) } } #[repr(C)] @@ -808,11 +808,11 @@ impl IMAPIContainer { } pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows_core::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OpenEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, lpinterface, ulflags, lpulobjtype, ::core::mem::transmute(lppunk)).ok() @@ -847,7 +847,7 @@ pub struct IMAPIContainer_Vtbl { impl IMAPIControl { pub unsafe fn GetLastError(&self, hresult: ::windows_core::HRESULT, ulflags: u32) -> ::windows_core::Result<*mut MAPIERROR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), hresult, ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), hresult, ulflags, &mut result__).map(|| result__) } pub unsafe fn Activate(&self, ulflags: u32, uluiparam: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), ulflags, uluiparam).ok() @@ -910,11 +910,11 @@ impl IMAPIFolder { } pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContentsTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHierarchyTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows_core::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OpenEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, lpinterface, ulflags, lpulobjtype, ::core::mem::transmute(lppunk)).ok() @@ -944,7 +944,7 @@ impl IMAPIFolder { } pub unsafe fn CreateFolder(&self, ulfoldertype: u32, lpszfoldername: *const i8, lpszfoldercomment: ::core::option::Option<*const i8>, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFolder)(::windows_core::Interface::as_raw(self), ulfoldertype, lpszfoldername, ::core::mem::transmute(lpszfoldercomment.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFolder)(::windows_core::Interface::as_raw(self), ulfoldertype, lpszfoldername, ::core::mem::transmute(lpszfoldercomment.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyFolder(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, lpdestfolder: *const ::core::ffi::c_void, lpsznewfoldername: *const i8, uluiparam: usize, lpprogress: P0, ulflags: u32) -> ::windows_core::Result<()> where @@ -966,11 +966,11 @@ impl IMAPIFolder { } pub unsafe fn GetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMessageStatus)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMessageStatus)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulflags, &mut result__).map(|| result__) } pub unsafe fn SetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulnewstatus: u32, ulnewstatusmask: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetMessageStatus)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulnewstatus, ulnewstatusmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetMessageStatus)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ulnewstatus, ulnewstatusmask, &mut result__).map(|| result__) } pub unsafe fn SaveContentsSort(&self, lpsortcriteria: *const SSortOrderSet, ulflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SaveContentsSort)(::windows_core::Interface::as_raw(self), lpsortcriteria, ulflags).ok() @@ -1376,11 +1376,11 @@ impl IMessage { } pub unsafe fn GetAttachmentTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttachmentTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttachmentTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenAttach(&self, ulattachmentnum: u32, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenAttach)(::windows_core::Interface::as_raw(self), ulattachmentnum, ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenAttach)(::windows_core::Interface::as_raw(self), ulattachmentnum, ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAttach(&self, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, ulflags: u32, lpulattachmentnum: *mut u32, lppattach: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateAttach)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, lpulattachmentnum, ::core::mem::transmute(lppattach)).ok() @@ -1393,7 +1393,7 @@ impl IMessage { } pub unsafe fn GetRecipientTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecipientTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecipientTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModifyRecipients(&self, ulflags: u32, lpmods: *const ADRLIST) -> ::windows_core::Result<()> { @@ -1471,14 +1471,14 @@ impl IMsgStore { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), cbentryid, ::core::mem::transmute(lpentryid.unwrap_or(::std::ptr::null())), uleventmask, lpadvisesink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), cbentryid, ::core::mem::transmute(lpentryid.unwrap_or(::std::ptr::null())), uleventmask, lpadvisesink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, ulconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), ulconnection).ok() } pub unsafe fn CompareEntryIDs(&self, cbentryid1: u32, lpentryid1: *const ENTRYID, cbentryid2: u32, lpentryid2: *const ENTRYID, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareEntryIDs)(::windows_core::Interface::as_raw(self), cbentryid1, lpentryid1, cbentryid2, lpentryid2, ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareEntryIDs)(::windows_core::Interface::as_raw(self), cbentryid1, lpentryid1, cbentryid2, lpentryid2, ulflags, &mut result__).map(|| result__) } pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, ulflags: u32, lpulobjtype: *mut u32, ppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OpenEntry)(::windows_core::Interface::as_raw(self), cbentryid, lpentryid, ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, lpulobjtype, ::core::mem::transmute(ppunk)).ok() @@ -1491,7 +1491,7 @@ impl IMsgStore { } pub unsafe fn GetReceiveFolderTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReceiveFolderTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReceiveFolderTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StoreLogoff(&self, lpulflags: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StoreLogoff)(::windows_core::Interface::as_raw(self), lpulflags).ok() @@ -1501,7 +1501,7 @@ impl IMsgStore { } pub unsafe fn GetOutgoingQueue(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutgoingQueue)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutgoingQueue)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLockState(&self, lpmessage: P0, ullockstate: u32) -> ::windows_core::Result<()> where @@ -1659,23 +1659,23 @@ pub struct IPropData_Vtbl { impl IProviderAdmin { pub unsafe fn GetLastError(&self, hresult: ::windows_core::HRESULT, ulflags: u32) -> ::windows_core::Result<*mut MAPIERROR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), hresult, ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastError)(::windows_core::Interface::as_raw(self), hresult, ulflags, &mut result__).map(|| result__) } pub unsafe fn GetProviderTable(&self, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderTable)(::windows_core::Interface::as_raw(self), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateProvider(&self, lpszprovider: *const i8, lpprops: &[SPropValue], uluiparam: usize, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), lpszprovider, lpprops.len().try_into().unwrap(), ::core::mem::transmute(lpprops.as_ptr()), uluiparam, ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), lpszprovider, lpprops.len().try_into().unwrap(), ::core::mem::transmute(lpprops.as_ptr()), uluiparam, ulflags, &mut result__).map(|| result__) } pub unsafe fn DeleteProvider(&self, lpuid: *const MAPIUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteProvider)(::windows_core::Interface::as_raw(self), lpuid).ok() } pub unsafe fn OpenProfileSection(&self, lpuid: ::core::option::Option<*const MAPIUID>, lpinterface: ::core::option::Option<*const ::windows_core::GUID>, ulflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenProfileSection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenProfileSection)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(lpuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpinterface.unwrap_or(::std::ptr::null())), ulflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1830,7 +1830,7 @@ impl IWABObject { P2: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LDAPUrl)(::windows_core::Interface::as_raw(self), lpiab.into_param().abi(), hwnd.into_param().abi(), ulflags, lpszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LDAPUrl)(::windows_core::Interface::as_raw(self), lpiab.into_param().abi(), hwnd.into_param().abi(), ulflags, lpszurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VCardCreate(&self, lpiab: P0, ulflags: u32, lpszvcard: P1, lpmailuser: P2) -> ::windows_core::Result<()> where @@ -1846,7 +1846,7 @@ impl IWABObject { P1: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VCardRetrieve)(::windows_core::Interface::as_raw(self), lpiab.into_param().abi(), ulflags, lpszvcard.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VCardRetrieve)(::windows_core::Interface::as_raw(self), lpiab.into_param().abi(), ulflags, lpszvcard.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMe(&self, lpiab: P0, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: P1) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/Antimalware/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Antimalware/mod.rs index 95fd62fbda..d40e3ccbd5 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Antimalware/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Antimalware/mod.rs @@ -14,7 +14,7 @@ where { ::windows_targets::link!("amsi.dll" "system" fn AmsiInitialize(appname : ::windows_core::PCWSTR, amsicontext : *mut HAMSICONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AmsiInitialize(appname.into_param().abi(), &mut result__).from_abi(result__) + AmsiInitialize(appname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AmsiNotifyOperation(amsicontext: P0, buffer: *const ::core::ffi::c_void, length: u32, contentname: P1) -> ::windows_core::Result @@ -24,7 +24,7 @@ where { ::windows_targets::link!("amsi.dll" "system" fn AmsiNotifyOperation(amsicontext : HAMSICONTEXT, buffer : *const ::core::ffi::c_void, length : u32, contentname : ::windows_core::PCWSTR, result : *mut AMSI_RESULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AmsiNotifyOperation(amsicontext.into_param().abi(), buffer, length, contentname.into_param().abi(), &mut result__).from_abi(result__) + AmsiNotifyOperation(amsicontext.into_param().abi(), buffer, length, contentname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AmsiOpenSession(amsicontext: P0) -> ::windows_core::Result @@ -33,7 +33,7 @@ where { ::windows_targets::link!("amsi.dll" "system" fn AmsiOpenSession(amsicontext : HAMSICONTEXT, amsisession : *mut HAMSISESSION) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AmsiOpenSession(amsicontext.into_param().abi(), &mut result__).from_abi(result__) + AmsiOpenSession(amsicontext.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AmsiScanBuffer(amsicontext: P0, buffer: *const ::core::ffi::c_void, length: u32, contentname: P1, amsisession: P2) -> ::windows_core::Result @@ -44,7 +44,7 @@ where { ::windows_targets::link!("amsi.dll" "system" fn AmsiScanBuffer(amsicontext : HAMSICONTEXT, buffer : *const ::core::ffi::c_void, length : u32, contentname : ::windows_core::PCWSTR, amsisession : HAMSISESSION, result : *mut AMSI_RESULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AmsiScanBuffer(amsicontext.into_param().abi(), buffer, length, contentname.into_param().abi(), amsisession.into_param().abi(), &mut result__).from_abi(result__) + AmsiScanBuffer(amsicontext.into_param().abi(), buffer, length, contentname.into_param().abi(), amsisession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AmsiScanString(amsicontext: P0, string: P1, contentname: P2, amsisession: P3) -> ::windows_core::Result @@ -56,7 +56,7 @@ where { ::windows_targets::link!("amsi.dll" "system" fn AmsiScanString(amsicontext : HAMSICONTEXT, string : ::windows_core::PCWSTR, contentname : ::windows_core::PCWSTR, amsisession : HAMSISESSION, result : *mut AMSI_RESULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AmsiScanString(amsicontext.into_param().abi(), string.into_param().abi(), contentname.into_param().abi(), amsisession.into_param().abi(), &mut result__).from_abi(result__) + AmsiScanString(amsicontext.into_param().abi(), string.into_param().abi(), contentname.into_param().abi(), amsisession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AmsiUninitialize(amsicontext: P0) @@ -129,7 +129,7 @@ impl IAntimalware2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), buffer, length, contentname.into_param().abi(), appname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), buffer, length, contentname.into_param().abi(), appname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -146,14 +146,14 @@ impl IAntimalwareProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scan)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scan)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CloseSession(&self, session: u64) { (::windows_core::Interface::vtable(self).CloseSession)(::windows_core::Interface::as_raw(self), session) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -172,14 +172,14 @@ impl IAntimalwareProvider2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Scan)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Scan)(::windows_core::Interface::as_raw(self), stream.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CloseSession(&self, session: u64) { (::windows_core::Interface::vtable(self).base__.CloseSession)(::windows_core::Interface::as_raw(self), session) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Notify(&self, buffer: *const ::core::ffi::c_void, length: u32, contentname: P0, appname: P1) -> ::windows_core::Result where @@ -187,7 +187,7 @@ impl IAntimalwareProvider2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), buffer, length, contentname.into_param().abi(), appname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), buffer, length, contentname.into_param().abi(), appname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -201,11 +201,11 @@ pub struct IAntimalwareProvider2_Vtbl { impl IAntimalwareUacProvider { pub unsafe fn UacScan(&self, context: *const AMSI_UAC_REQUEST_CONTEXT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UacScan)(::windows_core::Interface::as_raw(self), context, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UacScan)(::windows_core::Interface::as_raw(self), context, &mut result__).map(|| result__) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/ApplicationInstallationAndServicing/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ApplicationInstallationAndServicing/mod.rs index d88dfba619..6122d9cfa4 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ApplicationInstallationAndServicing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ApplicationInstallationAndServicing/mod.rs @@ -2896,7 +2896,7 @@ impl IAssemblyCache { } pub unsafe fn Reserved(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Reserved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Reserved)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InstallAssembly(&self, dwflags: u32, pszmanifestfilepath: P0, prefdata: *mut FUSION_INSTALL_REFERENCE) -> ::windows_core::Result<()> where @@ -2980,7 +2980,7 @@ impl IAssemblyName { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3012,7 +3012,7 @@ impl IEnumMsmDependency { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3042,7 +3042,7 @@ impl IEnumMsmError { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3071,7 +3071,7 @@ impl IEnumMsmString { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3092,14 +3092,14 @@ impl IMsmDependencies { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self, count: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3160,7 +3160,7 @@ impl IMsmError { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DatabaseKeys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DatabaseKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DatabaseKeys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModuleTable(&self, errortable: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ModuleTable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(errortable)).ok() @@ -3168,7 +3168,7 @@ impl IMsmError { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModuleKeys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleKeys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3199,14 +3199,14 @@ impl IMsmErrors { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self, count: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3230,7 +3230,7 @@ impl IMsmGetFiles { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModuleFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModuleFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModuleFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3288,12 +3288,12 @@ impl IMsmMerge { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Errors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Errors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Errors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Dependencies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dependencies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Merge(&self, feature: P0, redirectdir: P1) -> ::windows_core::Result<()> where @@ -3360,7 +3360,7 @@ impl IMsmStrings { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3377,15 +3377,15 @@ pub struct IMsmStrings_Vtbl { impl IPMApplicationInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstanceID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstanceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstanceID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OfferID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfferID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfferID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultTask(&self, pdefaulttask: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DefaultTask)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdefaulttask)).ok() @@ -3398,39 +3398,39 @@ impl IPMApplicationInfo { } pub unsafe fn NotificationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotificationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotificationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AppInstallType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppInstallType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppInstallType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsRevoked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRevoked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRevoked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstallDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsThemable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThemable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThemable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsTrial(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTrial)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTrial)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstallPath(&self, pinstallpath: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InstallPath)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pinstallpath)).ok() @@ -3440,7 +3440,7 @@ impl IPMApplicationInfo { } pub unsafe fn Genre(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Genre)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Genre)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Publisher(&self, ppublisher: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Publisher)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppublisher)).ok() @@ -3459,30 +3459,30 @@ impl IPMApplicationInfo { } pub unsafe fn AppPlatMajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppPlatMajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppPlatMajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AppPlatMinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppPlatMinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppPlatMinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PublisherID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMultiCore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMultiCore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMultiCore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SID(&self, psid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psid)).ok() } pub unsafe fn AppPlatMajorVersionLightUp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppPlatMajorVersionLightUp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppPlatMajorVersionLightUp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AppPlatMinorVersionLightUp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppPlatMinorVersionLightUp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppPlatMinorVersionLightUp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_UpdateAvailable(&self, isupdateavailable: P0) -> ::windows_core::Result<()> where @@ -3510,23 +3510,23 @@ impl IPMApplicationInfo { } pub unsafe fn IsPinableOnKidZone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPinableOnKidZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPinableOnKidZone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOriginallyPreInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOriginallyPreInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOriginallyPreInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsInstallOnSD(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInstallOnSD)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInstallOnSD)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOptoutOnSD(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOptoutOnSD)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOptoutOnSD)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOptoutBackupRestore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOptoutBackupRestore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOptoutBackupRestore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_EnterpriseDisabled(&self, isdisabled: P0) -> ::windows_core::Result<()> where @@ -3542,50 +3542,50 @@ impl IPMApplicationInfo { } pub unsafe fn EnterpriseDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnterpriseDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnterpriseDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnterpriseUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnterpriseUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnterpriseUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsVisibleOnAppList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsVisibleOnAppList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsVisibleOnAppList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsInboxApp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInboxApp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInboxApp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StorageID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StorageID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StorageID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartAppBlob(&self, pblob: *mut PM_STARTAPPBLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartAppBlob)(::windows_core::Interface::as_raw(self), pblob).ok() } pub unsafe fn IsMovable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMovable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMovable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeploymentAppEnumerationHubFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeploymentAppEnumerationHubFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeploymentAppEnumerationHubFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModifiedDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifiedDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOriginallyRestored(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOriginallyRestored)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOriginallyRestored)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShouldDeferMdilBind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShouldDeferMdilBind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShouldDeferMdilBind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFullyPreInstall(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFullyPreInstall)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFullyPreInstall)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_IsMdilMaintenanceNeeded(&self, fismdilmaintenanceneeded: P0) -> ::windows_core::Result<()> where @@ -3665,7 +3665,7 @@ pub struct IPMApplicationInfo_Vtbl { impl IPMApplicationInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3679,14 +3679,14 @@ pub struct IPMApplicationInfoEnumerator_Vtbl { impl IPMBackgroundServiceAgentInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TaskID(&self, ptaskid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TaskID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptaskid)).ok() } pub unsafe fn BSAID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BSAID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BSAID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BGSpecifier(&self, pbgspecifier: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BGSpecifier)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbgspecifier)).ok() @@ -3702,22 +3702,22 @@ impl IPMBackgroundServiceAgentInfo { } pub unsafe fn IsPeriodic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPeriodic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPeriodic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsScheduled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsScheduled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsScheduled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsScheduleAllowed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsScheduleAllowed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsScheduleAllowed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self, pdescription: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdescription)).ok() } pub unsafe fn IsLaunchOnBoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLaunchOnBoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLaunchOnBoot)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_IsScheduled(&self, isscheduled: P0) -> ::windows_core::Result<()> where @@ -3756,7 +3756,7 @@ pub struct IPMBackgroundServiceAgentInfo_Vtbl { impl IPMBackgroundServiceAgentInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3770,7 +3770,7 @@ pub struct IPMBackgroundServiceAgentInfoEnumerator_Vtbl { impl IPMBackgroundWorkerInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TaskID(&self, ptaskid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TaskID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptaskid)).ok() @@ -3780,15 +3780,15 @@ impl IPMBackgroundWorkerInfo { } pub unsafe fn MaxStartupLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxStartupLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxStartupLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExpectedRuntime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpectedRuntime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpectedRuntime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsBootWorker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBootWorker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBootWorker)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3807,7 +3807,7 @@ pub struct IPMBackgroundWorkerInfo_Vtbl { impl IPMBackgroundWorkerInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3923,7 +3923,7 @@ impl IPMDeploymentManager { } pub unsafe fn SetApplicationsNeedMaintenance(&self, requiredmaintenanceoperations: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetApplicationsNeedMaintenance)(::windows_core::Interface::as_raw(self), requiredmaintenanceoperations, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetApplicationsNeedMaintenance)(::windows_core::Interface::as_raw(self), requiredmaintenanceoperations, &mut result__).map(|| result__) } pub unsafe fn UpdateChamberProfile(&self, productid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateChamberProfile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid)).ok() @@ -3933,7 +3933,7 @@ impl IPMDeploymentManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnterprisePolicyIsApplicationAllowed)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), publishername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnterprisePolicyIsApplicationAllowed)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), publishername.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn BeginUpdateDeployedPackage(&self, pupdateinfo: *const PM_UPDATEINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginUpdateDeployedPackage)(::windows_core::Interface::as_raw(self), pupdateinfo).ok() @@ -4041,47 +4041,47 @@ impl IPMEnumerationManager { } pub unsafe fn get_ApplicationInfo(&self, productid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ApplicationInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ApplicationInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_TileInfo(&self, productid: ::windows_core::GUID, tileid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TileInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), tileid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TileInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), tileid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_TaskInfo(&self, productid: ::windows_core::GUID, taskid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TaskInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), taskid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TaskInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), taskid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_TaskInfoEx(&self, productid: ::windows_core::GUID, taskid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_TaskInfoEx)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), taskid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_TaskInfoEx)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), taskid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_BackgroundServiceAgentInfo(&self, bsaid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_BackgroundServiceAgentInfo)(::windows_core::Interface::as_raw(self), bsaid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_BackgroundServiceAgentInfo)(::windows_core::Interface::as_raw(self), bsaid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllLiveTileJobs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllLiveTileJobs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllLiveTileJobs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_LiveTileJob(&self, productid: ::windows_core::GUID, tileid: P0, recurrencetype: PM_LIVETILE_RECURRENCE_TYPE) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_LiveTileJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), tileid.into_param().abi(), recurrencetype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_LiveTileJob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), tileid.into_param().abi(), recurrencetype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ApplicationInfoExternal(&self, productid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ApplicationInfoExternal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ApplicationInfoExternal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(productid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_FileHandlerGenericLogo(&self, filetype: P0, logosize: PM_LOGO_SIZE, plogo: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> where @@ -4095,7 +4095,7 @@ impl IPMEnumerationManager { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ApplicationInfoFromAccessClaims)(::windows_core::Interface::as_raw(self), sysappid0.into_param().abi(), sysappid1.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ApplicationInfoFromAccessClaims)(::windows_core::Interface::as_raw(self), sysappid0.into_param().abi(), sysappid1.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_StartTileEnumeratorBlob(&self, filter: PM_ENUM_FILTER, pctiles: *mut u32, pptileblobs: *mut *mut PM_STARTTILEBLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_StartTileEnumeratorBlob)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(filter), pctiles, pptileblobs).ok() @@ -4132,7 +4132,7 @@ pub struct IPMEnumerationManager_Vtbl { impl IPMExtensionCachedFileUpdaterInfo { pub unsafe fn SupportsUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4205,7 +4205,7 @@ impl IPMExtensionFileOpenPickerInfo { } pub unsafe fn SupportsAllFileTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4223,7 +4223,7 @@ impl IPMExtensionFileSavePickerInfo { } pub unsafe fn SupportsAllFileTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4238,7 +4238,7 @@ pub struct IPMExtensionFileSavePickerInfo_Vtbl { impl IPMExtensionInfo { pub unsafe fn SupplierPID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupplierPID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupplierPID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SupplierTaskID(&self, psuppliertid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SupplierTaskID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psuppliertid)).ok() @@ -4272,7 +4272,7 @@ pub struct IPMExtensionInfo_Vtbl { impl IPMExtensionInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4309,7 +4309,7 @@ impl IPMExtensionShareTargetInfo { } pub unsafe fn SupportsAllFileTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportsAllFileTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4325,35 +4325,35 @@ pub struct IPMExtensionShareTargetInfo_Vtbl { impl IPMLiveTileJobInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TileID(&self, ptileid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TileID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptileid)).ok() } pub unsafe fn NextSchedule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextSchedule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextSchedule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_NextSchedule(&self, ftnextschedule: super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_NextSchedule)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ftnextschedule)).ok() } pub unsafe fn StartSchedule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSchedule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSchedule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_StartSchedule(&self, ftstartschedule: super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_StartSchedule)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ftstartschedule)).ok() } pub unsafe fn IntervalDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IntervalDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IntervalDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_IntervalDuration(&self, ulintervalduration: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_IntervalDuration)(::windows_core::Interface::as_raw(self), ulintervalduration).ok() } pub unsafe fn RunForever(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunForever)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunForever)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_RunForever(&self, frunforever: P0) -> ::windows_core::Result<()> where @@ -4363,21 +4363,21 @@ impl IPMLiveTileJobInfo { } pub unsafe fn MaxRunCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxRunCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxRunCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_MaxRunCount(&self, ulmaxruncount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_MaxRunCount)(::windows_core::Interface::as_raw(self), ulmaxruncount).ok() } pub unsafe fn RunCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_RunCount(&self, ulruncount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_RunCount)(::windows_core::Interface::as_raw(self), ulruncount).ok() } pub unsafe fn RecurrenceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecurrenceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecurrenceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_RecurrenceType(&self, ulrecurrencetype: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_RecurrenceType)(::windows_core::Interface::as_raw(self), ulrecurrencetype).ok() @@ -4396,14 +4396,14 @@ impl IPMLiveTileJobInfo { } pub unsafe fn AttemptCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttemptCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttemptCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_AttemptCount(&self, ulattemptcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_AttemptCount)(::windows_core::Interface::as_raw(self), ulattemptcount).ok() } pub unsafe fn DownloadState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_DownloadState(&self, uldownloadstate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_DownloadState)(::windows_core::Interface::as_raw(self), uldownloadstate).ok() @@ -4443,7 +4443,7 @@ pub struct IPMLiveTileJobInfo_Vtbl { impl IPMLiveTileJobInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4457,7 +4457,7 @@ pub struct IPMLiveTileJobInfoEnumerator_Vtbl { impl IPMTaskInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TaskID(&self, ptaskid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TaskID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptaskid)).ok() @@ -4467,19 +4467,19 @@ impl IPMTaskInfo { } pub unsafe fn TaskTransition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskTransition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskTransition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RuntimeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RuntimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RuntimeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ActivationPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivationPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivationPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TaskType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_InvocationInfo(&self, pimageurn: *mut ::windows_core::BSTR, pparameters: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_InvocationInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pimageurn), ::core::mem::transmute(pparameters)).ok() @@ -4498,37 +4498,37 @@ impl IPMTaskInfo { } pub unsafe fn IsSingleInstanceHost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSingleInstanceHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSingleInstanceHost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsInteropEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInteropEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInteropEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ApplicationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstallType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Version(&self, ptargetmajorversion: *mut u8, ptargetminorversion: *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_Version)(::windows_core::Interface::as_raw(self), ptargetmajorversion, ptargetminorversion).ok() } pub unsafe fn BitsPerPixel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BitsPerPixel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SuppressesDehydration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuppressesDehydration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuppressesDehydration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BackgroundExecutionAbilities(&self, pbackgroundexecutionabilities: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BackgroundExecutionAbilities)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbackgroundexecutionabilities)).ok() } pub unsafe fn IsOptedForExtendedMem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOptedForExtendedMem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOptedForExtendedMem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4562,7 +4562,7 @@ pub struct IPMTaskInfo_Vtbl { impl IPMTaskInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4576,56 +4576,56 @@ pub struct IPMTaskInfoEnumerator_Vtbl { impl IPMTileInfo { pub unsafe fn ProductID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TileID(&self, ptileid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TileID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptileid)).ok() } pub unsafe fn TemplateType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemplateType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemplateType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_HubPinnedState(&self, hubtype: PM_TILE_HUBTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_HubPinnedState)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_HubPinnedState)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).map(|| result__) } pub unsafe fn get_HubPosition(&self, hubtype: PM_TILE_HUBTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_HubPosition)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_HubPosition)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).map(|| result__) } pub unsafe fn IsNotified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsNotified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsNotified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TaskID(&self, ptaskid: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TaskID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptaskid)).ok() } pub unsafe fn TileType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TileType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TileType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsThemable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThemable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThemable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_PropertyById(&self, propid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PropertyById)(::windows_core::Interface::as_raw(self), propid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PropertyById)(::windows_core::Interface::as_raw(self), propid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_InvocationInfo(&self, pimageurn: *mut ::windows_core::BSTR, pparameters: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_InvocationInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pimageurn), ::core::mem::transmute(pparameters)).ok() } pub unsafe fn PropertyEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_HubTileSize(&self, hubtype: PM_TILE_HUBTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_HubTileSize)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_HubTileSize)(::windows_core::Interface::as_raw(self), hubtype, &mut result__).map(|| result__) } pub unsafe fn set_HubPosition(&self, hubtype: PM_TILE_HUBTYPE, position: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).set_HubPosition)(::windows_core::Interface::as_raw(self), hubtype, position).ok() @@ -4657,11 +4657,11 @@ impl IPMTileInfo { } pub unsafe fn IsRestoring(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRestoring)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRestoring)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsAutoRestoreDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAutoRestoreDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAutoRestoreDisabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn set_IsRestoring(&self, restoring: P0) -> ::windows_core::Result<()> where @@ -4710,7 +4710,7 @@ pub struct IPMTileInfo_Vtbl { impl IPMTileInfoEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4724,7 +4724,7 @@ pub struct IPMTileInfoEnumerator_Vtbl { impl IPMTilePropertyEnumerator { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4738,7 +4738,7 @@ pub struct IPMTilePropertyEnumerator_Vtbl { impl IPMTilePropertyInfo { pub unsafe fn PropertyID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyValue(&self, ppropvalue: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PropertyValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvalue)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/AssessmentTool/mod.rs b/crates/libs/windows/src/Windows/Win32/System/AssessmentTool/mod.rs index 48b2facca5..dfab392b4d 100644 --- a/crates/libs/windows/src/Windows/Win32/System/AssessmentTool/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/AssessmentTool/mod.rs @@ -7,12 +7,12 @@ impl IAccessibleWinSAT { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Accessibility"))] pub unsafe fn accParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accChildCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accChildCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accChildCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Accessibility"))] pub unsafe fn get_accChild(&self, varchild: P0) -> ::windows_core::Result @@ -20,7 +20,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accChild)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accChild)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accName(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -28,7 +28,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accName)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accName)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accValue(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -36,7 +36,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accValue)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accValue)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accDescription(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -44,7 +44,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accDescription)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accDescription)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accRole(&self, varchild: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -52,7 +52,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accRole)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accRole)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accState(&self, varchild: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -60,7 +60,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accState)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accState)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accHelp(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -68,7 +68,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accHelp)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accHelp)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accHelpTopic(&self, pszhelpfile: *mut ::windows_core::BSTR, varchild: P0) -> ::windows_core::Result @@ -76,7 +76,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accHelpTopic)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszhelpfile), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accHelpTopic)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszhelpfile), varchild.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accKeyboardShortcut(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -84,17 +84,17 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accKeyboardShortcut)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accKeyboardShortcut)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accFocus(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accSelection(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn get_accDefaultAction(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -102,7 +102,7 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_accDefaultAction)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_accDefaultAction)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accSelect(&self, flagsselect: i32, varchild: P0) -> ::windows_core::Result<()> @@ -124,12 +124,12 @@ impl IAccessibleWinSAT { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accNavigate)(::windows_core::Interface::as_raw(self), navdir, varstart.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accNavigate)(::windows_core::Interface::as_raw(self), navdir, varstart.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accHitTest(&self, xleft: i32, ytop: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.accHitTest)(::windows_core::Interface::as_raw(self), xleft, ytop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.accHitTest)(::windows_core::Interface::as_raw(self), xleft, ytop, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Accessibility")] pub unsafe fn accDoDefaultAction(&self, varchild: P0) -> ::windows_core::Result<()> @@ -208,15 +208,15 @@ pub struct IInitiateWinSATAssessment_Vtbl { impl IProvideWinSATAssessmentInfo { pub unsafe fn Score(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Score)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Score)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -237,23 +237,23 @@ impl IProvideWinSATResultsInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAssessmentInfo(&self, assessment: WINSAT_ASSESSMENT_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssessmentInfo)(::windows_core::Interface::as_raw(self), assessment, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssessmentInfo)(::windows_core::Interface::as_raw(self), assessment, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AssessmentState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssessmentState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssessmentState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AssessmentDateTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssessmentDateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssessmentDateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SystemRating(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemRating)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemRating)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RatingStateDesc(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RatingStateDesc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RatingStateDesc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -276,7 +276,7 @@ impl IProvideWinSATVisuals { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn get_Bitmap(&self, bitmapsize: WINSAT_BITMAP_SIZE, state: WINSAT_ASSESSMENT_STATE, rating: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Bitmap)(::windows_core::Interface::as_raw(self), bitmapsize, state, rating, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Bitmap)(::windows_core::Interface::as_raw(self), bitmapsize, state, rating, &mut result__).map(|| result__) } } #[repr(C)] @@ -301,7 +301,7 @@ impl IQueryAllWinSATAssessments { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AllXML)(::windows_core::Interface::as_raw(self), xpath.into_param().abi(), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AllXML)(::windows_core::Interface::as_raw(self), xpath.into_param().abi(), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -319,7 +319,7 @@ pub struct IQueryAllWinSATAssessments_Vtbl { impl IQueryOEMWinSATCustomization { pub unsafe fn GetOEMPrePopulationInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOEMPrePopulationInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOEMPrePopulationInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -341,12 +341,12 @@ impl IQueryRecentWinSATAssessment { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_XML)(::windows_core::Interface::as_raw(self), xpath.into_param().abi(), namespaces.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_XML)(::windows_core::Interface::as_raw(self), xpath.into_param().abi(), namespaces.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Info(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Info)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Info)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/ClrHosting/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ClrHosting/mod.rs index e70bf721a8..b36c623bcb 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ClrHosting/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ClrHosting/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("mscoree.dll" "system" fn CLRCreateInstance(clsid : *const ::windows_core::GUID, riid : *const ::windows_core::GUID, ppinterface : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CLRCreateInstance(clsid, &T::IID, &mut result__).from_abi(result__) + CLRCreateInstance(clsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CallFunctionShim(szdllname: P0, szfunctionname: P1, lpvargument1: *mut ::core::ffi::c_void, lpvargument2: *mut ::core::ffi::c_void, szversion: P2, pvreserved: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -96,13 +96,13 @@ where { ::windows_targets::link!("mscoree.dll" "system" fn CreateDebuggingInterfaceFromVersion(idebuggerversion : i32, szdebuggeeversion : ::windows_core::PCWSTR, ppcordb : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDebuggingInterfaceFromVersion(idebuggerversion, szdebuggeeversion.into_param().abi(), &mut result__).from_abi(result__) + CreateDebuggingInterfaceFromVersion(idebuggerversion, szdebuggeeversion.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn GetCLRIdentityManager(riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("mscoree.dll" "system" fn GetCLRIdentityManager(riid : *const ::windows_core::GUID, ppmanager : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetCLRIdentityManager(riid, &mut result__).from_abi(result__) + GetCLRIdentityManager(riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn GetCORRequiredVersion(pbuffer: &mut [u16], dwlength: *mut u32) -> ::windows_core::Result<()> { @@ -281,7 +281,7 @@ pub struct ICLRAppDomainResourceMonitor_Vtbl { impl ICLRAssemblyIdentityManager { pub unsafe fn GetCLRAssemblyReferenceList(&self, ppwzassemblyreferences: *const ::windows_core::PCWSTR, dwnumofreferences: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCLRAssemblyReferenceList)(::windows_core::Interface::as_raw(self), ppwzassemblyreferences, dwnumofreferences, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCLRAssemblyReferenceList)(::windows_core::Interface::as_raw(self), ppwzassemblyreferences, dwnumofreferences, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBindingIdentityFromFile(&self, pwzfilepath: P0, dwflags: u32, pwzbuffer: ::windows_core::PWSTR, pcchbuffersize: *mut u32) -> ::windows_core::Result<()> where @@ -302,7 +302,7 @@ impl ICLRAssemblyIdentityManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReferencedAssembliesFromFile)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), dwflags, pexcludeassemblieslist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReferencedAssembliesFromFile)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), dwflags, pexcludeassemblieslist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetReferencedAssembliesFromStream(&self, pstream: P0, dwflags: u32, pexcludeassemblieslist: P1) -> ::windows_core::Result @@ -311,21 +311,21 @@ impl ICLRAssemblyIdentityManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReferencedAssembliesFromStream)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), dwflags, pexcludeassemblieslist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReferencedAssembliesFromStream)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), dwflags, pexcludeassemblieslist.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProbingAssembliesFromReference(&self, dwmachinetype: u32, dwflags: u32, pwzreferenceidentity: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProbingAssembliesFromReference)(::windows_core::Interface::as_raw(self), dwmachinetype, dwflags, pwzreferenceidentity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProbingAssembliesFromReference)(::windows_core::Interface::as_raw(self), dwmachinetype, dwflags, pwzreferenceidentity.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsStronglyNamed(&self, pwzassemblyidentity: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsStronglyNamed)(::windows_core::Interface::as_raw(self), pwzassemblyidentity.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsStronglyNamed)(::windows_core::Interface::as_raw(self), pwzassemblyidentity.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -412,11 +412,11 @@ impl ICLRDebugManager { #[cfg(feature = "Win32_Security")] pub unsafe fn GetDacl(&self) -> ::windows_core::Result<*mut super::super::Security::ACL> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDacl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDacl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDebuggerAttached(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDebuggerAttached)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDebuggerAttached)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSymbolReadingPolicy(&self, policy: ESymbolReadingPolicy) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSymbolReadingPolicy)(::windows_core::Interface::as_raw(self), policy).ok() @@ -472,7 +472,7 @@ impl ICLRDebuggingLibraryProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProvideLibrary)(::windows_core::Interface::as_raw(self), pwszfilename.into_param().abi(), dwtimestamp, dwsizeofimage, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProvideLibrary)(::windows_core::Interface::as_raw(self), pwszfilename.into_param().abi(), dwtimestamp, dwsizeofimage, &mut result__).map(|| result__) } } #[repr(C)] @@ -642,7 +642,7 @@ impl ICLRMetaHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetRuntime)(::windows_core::Interface::as_raw(self), pwzversion.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuntime)(::windows_core::Interface::as_raw(self), pwzversion.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVersionFromFile(&self, pwzfilepath: P0, pwzbuffer: ::windows_core::PWSTR, pcchbuffer: *mut u32) -> ::windows_core::Result<()> where @@ -653,7 +653,7 @@ impl ICLRMetaHost { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateInstalledRuntimes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateInstalledRuntimes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateInstalledRuntimes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateLoadedRuntimes(&self, hndprocess: P0) -> ::windows_core::Result @@ -661,7 +661,7 @@ impl ICLRMetaHost { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateLoadedRuntimes)(::windows_core::Interface::as_raw(self), hndprocess.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateLoadedRuntimes)(::windows_core::Interface::as_raw(self), hndprocess.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestRuntimeLoadedNotification(&self, pcallbackfunction: RuntimeLoadedCallbackFnPtr) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestRuntimeLoadedNotification)(::windows_core::Interface::as_raw(self), pcallbackfunction).ok() @@ -671,7 +671,7 @@ impl ICLRMetaHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).QueryLegacyV2RuntimeBinding)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryLegacyV2RuntimeBinding)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExitProcess(&self, iexitcode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ExitProcess)(::windows_core::Interface::as_raw(self), iexitcode).ok() @@ -706,7 +706,7 @@ impl ICLRMetaHostPolicy { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetRequestedRuntime)(::windows_core::Interface::as_raw(self), dwpolicyflags, pwzbinary.into_param().abi(), pcfgstream.into_param().abi(), ::core::mem::transmute(pwzversion), pcchversion, ::core::mem::transmute(pwzimageversion), pcchimageversion, pdwconfigflags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRequestedRuntime)(::windows_core::Interface::as_raw(self), dwpolicyflags, pwzbinary.into_param().abi(), pcfgstream.into_param().abi(), ::core::mem::transmute(pwzversion), pcchversion, ::core::mem::transmute(pwzimageversion), pcchimageversion, pdwconfigflags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -833,7 +833,7 @@ impl ICLRRuntimeHost { } pub unsafe fn GetCLRControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCLRControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCLRControl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnloadAppDomain(&self, dwappdomainid: u32, fwaituntildone: P0) -> ::windows_core::Result<()> where @@ -846,14 +846,14 @@ impl ICLRRuntimeHost { } pub unsafe fn GetCurrentAppDomainId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentAppDomainId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentAppDomainId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExecuteApplication(&self, pwzappfullname: P0, dwmanifestpaths: u32, ppwzmanifestpaths: *const ::windows_core::PCWSTR, dwactivationdata: u32, ppwzactivationdata: *const ::windows_core::PCWSTR) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecuteApplication)(::windows_core::Interface::as_raw(self), pwzappfullname.into_param().abi(), dwmanifestpaths, ppwzmanifestpaths, dwactivationdata, ppwzactivationdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecuteApplication)(::windows_core::Interface::as_raw(self), pwzappfullname.into_param().abi(), dwmanifestpaths, ppwzmanifestpaths, dwactivationdata, ppwzactivationdata, &mut result__).map(|| result__) } pub unsafe fn ExecuteInDefaultAppDomain(&self, pwzassemblypath: P0, pwztypename: P1, pwzmethodname: P2, pwzargument: P3) -> ::windows_core::Result where @@ -863,7 +863,7 @@ impl ICLRRuntimeHost { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecuteInDefaultAppDomain)(::windows_core::Interface::as_raw(self), pwzassemblypath.into_param().abi(), pwztypename.into_param().abi(), pwzmethodname.into_param().abi(), pwzargument.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecuteInDefaultAppDomain)(::windows_core::Interface::as_raw(self), pwzassemblypath.into_param().abi(), pwztypename.into_param().abi(), pwzmethodname.into_param().abi(), pwzargument.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -894,7 +894,7 @@ impl ICLRRuntimeInfo { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLoaded)(::windows_core::Interface::as_raw(self), hndprocess.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLoaded)(::windows_core::Interface::as_raw(self), hndprocess.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn LoadErrorString(&self, iresourceid: u32, pwzbuffer: ::windows_core::PWSTR, pcchbuffer: *mut u32, ilocaleid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LoadErrorString)(::windows_core::Interface::as_raw(self), iresourceid, ::core::mem::transmute(pwzbuffer), pcchbuffer, ilocaleid).ok() @@ -904,25 +904,25 @@ impl ICLRRuntimeInfo { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadLibraryA)(::windows_core::Interface::as_raw(self), pwzdllname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadLibraryA)(::windows_core::Interface::as_raw(self), pwzdllname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetProcAddress(&self, pszprocname: P0) -> ::windows_core::Result<*mut ::core::ffi::c_void> where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcAddress)(::windows_core::Interface::as_raw(self), pszprocname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcAddress)(::windows_core::Interface::as_raw(self), pszprocname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetInterface(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), rclsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsLoadable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLoadable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLoadable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultStartupFlags(&self, dwstartupflags: u32, pwzhostconfigfile: P0) -> ::windows_core::Result<()> where @@ -999,7 +999,7 @@ impl ICLRStrongName { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameCompareAssemblies)(::windows_core::Interface::as_raw(self), pwzassembly1.into_param().abi(), pwzassembly2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameCompareAssemblies)(::windows_core::Interface::as_raw(self), pwzassembly1.into_param().abi(), pwzassembly2.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StrongNameFreeBuffer(&self, pbmemory: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StrongNameFreeBuffer)(::windows_core::Interface::as_raw(self), pbmemory).ok() @@ -1021,7 +1021,7 @@ impl ICLRStrongName { } pub unsafe fn StrongNameHashSize(&self, ulhashalg: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameHashSize)(::windows_core::Interface::as_raw(self), ulhashalg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameHashSize)(::windows_core::Interface::as_raw(self), ulhashalg, &mut result__).map(|| result__) } pub unsafe fn StrongNameKeyDelete(&self, pwzkeycontainer: P0) -> ::windows_core::Result<()> where @@ -1069,7 +1069,7 @@ impl ICLRStrongName { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameSignatureVerification)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), dwinflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameSignatureVerification)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), dwinflags, &mut result__).map(|| result__) } pub unsafe fn StrongNameSignatureVerificationEx(&self, pwzfilepath: P0, fforceverification: P1) -> ::windows_core::Result where @@ -1077,11 +1077,11 @@ impl ICLRStrongName { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationEx)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), fforceverification.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationEx)(::windows_core::Interface::as_raw(self), pwzfilepath.into_param().abi(), fforceverification.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StrongNameSignatureVerificationFromImage(&self, pbbase: *const u8, dwlength: u32, dwinflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationFromImage)(::windows_core::Interface::as_raw(self), pbbase, dwlength, dwinflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationFromImage)(::windows_core::Interface::as_raw(self), pbbase, dwlength, dwinflags, &mut result__).map(|| result__) } pub unsafe fn StrongNameTokenFromAssembly(&self, pwzfilepath: P0, ppbstrongnametoken: *mut *mut u8, pcbstrongnametoken: *mut u32) -> ::windows_core::Result<()> where @@ -1144,7 +1144,7 @@ impl ICLRStrongName2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationEx2)(::windows_core::Interface::as_raw(self), wszfilepath.into_param().abi(), fforceverification.into_param().abi(), pbecmapublickey, cbecmapublickey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrongNameSignatureVerificationEx2)(::windows_core::Interface::as_raw(self), wszfilepath.into_param().abi(), fforceverification.into_param().abi(), pbecmapublickey, cbecmapublickey, &mut result__).map(|| result__) } } #[repr(C)] @@ -1189,15 +1189,15 @@ pub struct ICLRStrongName3_Vtbl { impl ICLRSyncManager { pub unsafe fn GetMonitorOwner(&self, cookie: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitorOwner)(::windows_core::Interface::as_raw(self), cookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitorOwner)(::windows_core::Interface::as_raw(self), cookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRWLockOwnerIterator(&self, cookie: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRWLockOwnerIterator)(::windows_core::Interface::as_raw(self), cookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRWLockOwnerIterator)(::windows_core::Interface::as_raw(self), cookie, &mut result__).map(|| result__) } pub unsafe fn GetRWLockOwnerNext(&self, iterator: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRWLockOwnerNext)(::windows_core::Interface::as_raw(self), iterator, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRWLockOwnerNext)(::windows_core::Interface::as_raw(self), iterator, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteRWLockOwnerIterator(&self, iterator: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteRWLockOwnerIterator)(::windows_core::Interface::as_raw(self), iterator).ok() @@ -1226,7 +1226,7 @@ impl ICLRTask { } pub unsafe fn GetMemStats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMemStats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMemStats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, ffull: P0) -> ::windows_core::Result<()> where @@ -1245,14 +1245,14 @@ impl ICLRTask { } pub unsafe fn NeedsPriorityScheduling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NeedsPriorityScheduling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NeedsPriorityScheduling)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn YieldTask(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).YieldTask)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn LocksHeld(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocksHeld)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocksHeld)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTaskIdentifier(&self, asked: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTaskIdentifier)(::windows_core::Interface::as_raw(self), asked).ok() @@ -1288,7 +1288,7 @@ impl ICLRTask2 { } pub unsafe fn GetMemStats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMemStats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMemStats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, ffull: P0) -> ::windows_core::Result<()> where @@ -1307,14 +1307,14 @@ impl ICLRTask2 { } pub unsafe fn NeedsPriorityScheduling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NeedsPriorityScheduling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NeedsPriorityScheduling)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn YieldTask(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.YieldTask)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn LocksHeld(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocksHeld)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocksHeld)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTaskIdentifier(&self, asked: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTaskIdentifier)(::windows_core::Interface::as_raw(self), asked).ok() @@ -1338,11 +1338,11 @@ pub struct ICLRTask2_Vtbl { impl ICLRTaskManager { pub unsafe fn CreateTask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentTask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTask)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUILocale(&self, lcid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUILocale)(::windows_core::Interface::as_raw(self), lcid).ok() @@ -1352,7 +1352,7 @@ impl ICLRTaskManager { } pub unsafe fn GetCurrentTaskType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTaskType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTaskType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1430,22 +1430,22 @@ impl ICorRuntimeHost { } pub unsafe fn SwitchOutLogicalThreadState(&self) -> ::windows_core::Result<*mut u32> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SwitchOutLogicalThreadState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SwitchOutLogicalThreadState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocksHeldByLogicalThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocksHeldByLogicalThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocksHeldByLogicalThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MapFile(&self, hfile: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapFile)(::windows_core::Interface::as_raw(self), hfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapFile)(::windows_core::Interface::as_raw(self), hfile.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetConfiguration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self)).ok() @@ -1459,18 +1459,18 @@ impl ICorRuntimeHost { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDomain)(::windows_core::Interface::as_raw(self), pwzfriendlyname.into_param().abi(), pidentityarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDomain)(::windows_core::Interface::as_raw(self), pwzfriendlyname.into_param().abi(), pidentityarray.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultDomain(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDomains(&self, henum: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumDomains)(::windows_core::Interface::as_raw(self), henum).ok() } pub unsafe fn NextDomain(&self, henum: *const ::core::ffi::c_void) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextDomain)(::windows_core::Interface::as_raw(self), henum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextDomain)(::windows_core::Interface::as_raw(self), henum, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloseEnum(&self, henum: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CloseEnum)(::windows_core::Interface::as_raw(self), henum).ok() @@ -1482,15 +1482,15 @@ impl ICorRuntimeHost { P2: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDomainEx)(::windows_core::Interface::as_raw(self), pwzfriendlyname.into_param().abi(), psetup.into_param().abi(), pevidence.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDomainEx)(::windows_core::Interface::as_raw(self), pwzfriendlyname.into_param().abi(), psetup.into_param().abi(), pevidence.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDomainSetup(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDomainSetup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDomainSetup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEvidence(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEvidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEvidence)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnloadDomain(&self, pappdomain: P0) -> ::windows_core::Result<()> where @@ -1500,7 +1500,7 @@ impl ICorRuntimeHost { } pub unsafe fn CurrentDomain(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1537,7 +1537,7 @@ impl ICorThreadpool { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorRegisterWaitForSingleObject)(::windows_core::Interface::as_raw(self), phnewwaitobject, hwaitobject.into_param().abi(), callback, context, timeout, executeonlyonce.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorRegisterWaitForSingleObject)(::windows_core::Interface::as_raw(self), phnewwaitobject, hwaitobject.into_param().abi(), callback, context, timeout, executeonlyonce.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CorUnregisterWait(&self, hwaitobject: P0, completionevent: P1) -> ::windows_core::Result where @@ -1545,7 +1545,7 @@ impl ICorThreadpool { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorUnregisterWait)(::windows_core::Interface::as_raw(self), hwaitobject.into_param().abi(), completionevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorUnregisterWait)(::windows_core::Interface::as_raw(self), hwaitobject.into_param().abi(), completionevent.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Threading")] pub unsafe fn CorQueueUserWorkItem(&self, function: super::Threading::LPTHREAD_START_ROUTINE, context: *const ::core::ffi::c_void, executeonlyonce: P0) -> ::windows_core::Result @@ -1553,19 +1553,19 @@ impl ICorThreadpool { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorQueueUserWorkItem)(::windows_core::Interface::as_raw(self), function, context, executeonlyonce.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorQueueUserWorkItem)(::windows_core::Interface::as_raw(self), function, context, executeonlyonce.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Threading")] pub unsafe fn CorCreateTimer(&self, phnewtimer: *const super::super::Foundation::HANDLE, callback: super::Threading::WAITORTIMERCALLBACK, parameter: *const ::core::ffi::c_void, duetime: u32, period: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorCreateTimer)(::windows_core::Interface::as_raw(self), phnewtimer, callback, parameter, duetime, period, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorCreateTimer)(::windows_core::Interface::as_raw(self), phnewtimer, callback, parameter, duetime, period, &mut result__).map(|| result__) } pub unsafe fn CorChangeTimer(&self, timer: P0, duetime: u32, period: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorChangeTimer)(::windows_core::Interface::as_raw(self), timer.into_param().abi(), duetime, period, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorChangeTimer)(::windows_core::Interface::as_raw(self), timer.into_param().abi(), duetime, period, &mut result__).map(|| result__) } pub unsafe fn CorDeleteTimer(&self, timer: P0, completionevent: P1) -> ::windows_core::Result where @@ -1573,7 +1573,7 @@ impl ICorThreadpool { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorDeleteTimer)(::windows_core::Interface::as_raw(self), timer.into_param().abi(), completionevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorDeleteTimer)(::windows_core::Interface::as_raw(self), timer.into_param().abi(), completionevent.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_IO")] pub unsafe fn CorBindIoCompletionCallback(&self, filehandle: P0, callback: super::IO::LPOVERLAPPED_COMPLETION_ROUTINE) -> ::windows_core::Result<()> @@ -1585,7 +1585,7 @@ impl ICorThreadpool { #[cfg(feature = "Win32_System_Threading")] pub unsafe fn CorCallOrQueueUserWorkItem(&self, function: super::Threading::LPTHREAD_START_ROUTINE, context: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorCallOrQueueUserWorkItem)(::windows_core::Interface::as_raw(self), function, context, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorCallOrQueueUserWorkItem)(::windows_core::Interface::as_raw(self), function, context, &mut result__).map(|| result__) } pub unsafe fn CorSetMaxThreads(&self, maxworkerthreads: u32, maxiocompletionthreads: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CorSetMaxThreads)(::windows_core::Interface::as_raw(self), maxworkerthreads, maxiocompletionthreads).ok() @@ -1633,7 +1633,7 @@ pub struct ICorThreadpool_Vtbl { impl IDebuggerInfo { pub unsafe fn IsDebuggerAttached(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDebuggerAttached)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDebuggerAttached)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1759,11 +1759,11 @@ pub struct IGCThreadControl_Vtbl { impl IHostAssemblyManager { pub unsafe fn GetNonHostStoreAssemblies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNonHostStoreAssemblies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNonHostStoreAssemblies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAssemblyStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1846,7 +1846,7 @@ impl IHostCrst { } pub unsafe fn TryEnter(&self, option: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TryEnter)(::windows_core::Interface::as_raw(self), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TryEnter)(::windows_core::Interface::as_raw(self), option, &mut result__).map(|| result__) } pub unsafe fn SetSpinCount(&self, dwspincount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpinCount)(::windows_core::Interface::as_raw(self), dwspincount).ok() @@ -1887,7 +1887,7 @@ pub struct IHostGCManager_Vtbl { impl IHostIoCompletionManager { pub unsafe fn CreateIoCompletionPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIoCompletionPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIoCompletionPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CloseIoCompletionPort(&self, hport: P0) -> ::windows_core::Result<()> where @@ -1900,15 +1900,15 @@ impl IHostIoCompletionManager { } pub unsafe fn GetMaxThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHostOverlappedSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostOverlappedSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostOverlappedSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCLRIoCompletionManager(&self, pmanager: P0) -> ::windows_core::Result<()> where @@ -1931,7 +1931,7 @@ impl IHostIoCompletionManager { } pub unsafe fn GetMinThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1997,7 +1997,7 @@ pub struct IHostManualEvent_Vtbl { impl IHostMemoryManager { pub unsafe fn CreateMalloc(&self, dwmalloctype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMalloc)(::windows_core::Interface::as_raw(self), dwmalloctype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMalloc)(::windows_core::Interface::as_raw(self), dwmalloctype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VirtualAlloc(&self, paddress: *const ::core::ffi::c_void, dwsize: usize, flallocationtype: u32, flprotect: u32, ecriticallevel: EMemoryCriticalLevel, ppmem: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).VirtualAlloc)(::windows_core::Interface::as_raw(self), paddress, dwsize, flallocationtype, flprotect, ecriticallevel, ppmem).ok() @@ -2010,7 +2010,7 @@ impl IHostMemoryManager { } pub unsafe fn VirtualProtect(&self, lpaddress: *const ::core::ffi::c_void, dwsize: usize, flnewprotect: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualProtect)(::windows_core::Interface::as_raw(self), lpaddress, dwsize, flnewprotect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualProtect)(::windows_core::Interface::as_raw(self), lpaddress, dwsize, flnewprotect, &mut result__).map(|| result__) } pub unsafe fn GetMemoryLoad(&self, pmemoryload: *mut u32, pavailablebytes: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMemoryLoad)(::windows_core::Interface::as_raw(self), pmemoryload, pavailablebytes).ok() @@ -2072,7 +2072,7 @@ pub struct IHostPolicyManager_Vtbl { impl IHostSecurityContext { pub unsafe fn Capture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2098,7 +2098,7 @@ impl IHostSecurityManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenThreadToken)(::windows_core::Interface::as_raw(self), dwdesiredaccess, bopenasself.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenThreadToken)(::windows_core::Interface::as_raw(self), dwdesiredaccess, bopenasself.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetThreadToken(&self, htoken: P0) -> ::windows_core::Result<()> where @@ -2108,7 +2108,7 @@ impl IHostSecurityManager { } pub unsafe fn GetSecurityContext(&self, econtexttype: EContextType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityContext)(::windows_core::Interface::as_raw(self), econtexttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityContext)(::windows_core::Interface::as_raw(self), econtexttype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityContext(&self, econtexttype: EContextType, psecuritycontext: P0) -> ::windows_core::Result<()> where @@ -2136,7 +2136,7 @@ impl IHostSemaphore { } pub unsafe fn ReleaseSemaphore(&self, lreleasecount: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReleaseSemaphore)(::windows_core::Interface::as_raw(self), lreleasecount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReleaseSemaphore)(::windows_core::Interface::as_raw(self), lreleasecount, &mut result__).map(|| result__) } } #[repr(C)] @@ -2157,41 +2157,41 @@ impl IHostSyncManager { } pub unsafe fn CreateCrst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCrst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCrst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCrstWithSpinCount(&self, dwspincount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCrstWithSpinCount)(::windows_core::Interface::as_raw(self), dwspincount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCrstWithSpinCount)(::windows_core::Interface::as_raw(self), dwspincount, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAutoEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAutoEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAutoEvent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateManualEvent(&self, binitialstate: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateManualEvent)(::windows_core::Interface::as_raw(self), binitialstate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateManualEvent)(::windows_core::Interface::as_raw(self), binitialstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateMonitorEvent(&self, cookie: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMonitorEvent)(::windows_core::Interface::as_raw(self), cookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMonitorEvent)(::windows_core::Interface::as_raw(self), cookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRWLockWriterEvent(&self, cookie: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRWLockWriterEvent)(::windows_core::Interface::as_raw(self), cookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRWLockWriterEvent)(::windows_core::Interface::as_raw(self), cookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRWLockReaderEvent(&self, binitialstate: P0, cookie: usize) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRWLockReaderEvent)(::windows_core::Interface::as_raw(self), binitialstate.into_param().abi(), cookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRWLockReaderEvent)(::windows_core::Interface::as_raw(self), binitialstate.into_param().abi(), cookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSemaphoreA(&self, dwinitial: u32, dwmax: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSemaphoreA)(::windows_core::Interface::as_raw(self), dwinitial, dwmax, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSemaphoreA)(::windows_core::Interface::as_raw(self), dwinitial, dwmax, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2225,7 +2225,7 @@ impl IHostTask { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCLRTask(&self, pclrtask: P0) -> ::windows_core::Result<()> where @@ -2250,12 +2250,12 @@ pub struct IHostTask_Vtbl { impl IHostTaskManager { pub unsafe fn GetCurrentTask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTask)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Threading")] pub unsafe fn CreateTask(&self, dwstacksize: u32, pstartaddress: super::Threading::LPTHREAD_START_ROUTINE, pparameter: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), dwstacksize, pstartaddress, pparameter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTask)(::windows_core::Interface::as_raw(self), dwstacksize, pstartaddress, pparameter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Sleep(&self, dwmilliseconds: u32, option: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Sleep)(::windows_core::Interface::as_raw(self), dwmilliseconds, option).ok() @@ -2271,7 +2271,7 @@ impl IHostTaskManager { } pub unsafe fn CallNeedsHostHook(&self, target: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallNeedsHostHook)(::windows_core::Interface::as_raw(self), target, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallNeedsHostHook)(::windows_core::Interface::as_raw(self), target, &mut result__).map(|| result__) } pub unsafe fn LeaveRuntime(&self, target: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LeaveRuntime)(::windows_core::Interface::as_raw(self), target).ok() @@ -2302,7 +2302,7 @@ impl IHostTaskManager { } pub unsafe fn GetStackGuarantee(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackGuarantee)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackGuarantee)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCLRTaskManager(&self, ppmanager: P0) -> ::windows_core::Result<()> where @@ -2349,18 +2349,18 @@ impl IHostThreadpoolManager { } pub unsafe fn GetMaxThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAvailableThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAvailableThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAvailableThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinThreads(&self, dwminiocompletionthreads: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinThreads)(::windows_core::Interface::as_raw(self), dwminiocompletionthreads).ok() } pub unsafe fn GetMinThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2382,7 +2382,7 @@ pub struct IHostThreadpoolManager_Vtbl { impl IManagedObject { pub unsafe fn GetSerializedBuffer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSerializedBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSerializedBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectIdentity(&self, pbstrguid: *mut ::windows_core::BSTR, appdomainid: *mut i32, pccw: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetObjectIdentity)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrguid), appdomainid, pccw).ok() @@ -2400,7 +2400,7 @@ pub struct IManagedObject_Vtbl { impl IObjectHandle { pub unsafe fn Unwrap(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Unwrap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Unwrap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2414,31 +2414,31 @@ pub struct IObjectHandle_Vtbl { impl ITypeName { pub unsafe fn GetNameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNames(&self, count: u32, rgbsznames: *mut ::windows_core::BSTR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(rgbsznames), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(rgbsznames), &mut result__).map(|| result__) } pub unsafe fn GetTypeArgumentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeArguments(&self, count: u32, rgparguments: *mut ::core::option::Option) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeArguments)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(rgparguments), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeArguments)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(rgparguments), &mut result__).map(|| result__) } pub unsafe fn GetModifierLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModifierLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModifierLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetModifiers(&self, count: u32, rgmodifiers: *mut u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModifiers)(::windows_core::Interface::as_raw(self), count, rgmodifiers, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModifiers)(::windows_core::Interface::as_raw(self), count, rgmodifiers, &mut result__).map(|| result__) } pub unsafe fn GetAssemblyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2494,7 +2494,7 @@ impl ITypeNameBuilder { } pub unsafe fn ToString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ToString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ToString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -2525,11 +2525,11 @@ impl ITypeNameFactory { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseTypeName)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), perror, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseTypeName)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), perror, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTypeNameBuilder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeNameBuilder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeNameBuilder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/CallObj/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/CallObj/mod.rs index b62afa8146..fcb8b6c9bd 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/CallObj/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/CallObj/mod.rs @@ -41,21 +41,21 @@ impl ICallFrame { } pub unsafe fn GetParamInfo(&self, iparam: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParamInfo)(::windows_core::Interface::as_raw(self), iparam, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParamInfo)(::windows_core::Interface::as_raw(self), iparam, &mut result__).map(|| result__) } pub unsafe fn SetParam(&self, iparam: u32, pvar: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetParam)(::windows_core::Interface::as_raw(self), iparam, ::core::mem::transmute(pvar)).ok() } pub unsafe fn GetParam(&self, iparam: u32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParam)(::windows_core::Interface::as_raw(self), iparam, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParam)(::windows_core::Interface::as_raw(self), iparam, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copy(&self, copycontrol: CALLFRAME_COPY, pwalker: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), copycontrol, pwalker.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), copycontrol, pwalker.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Free(&self, pframeargsdest: P0, pwalkerdestfree: P1, pwalkercopy: P2, freeflags: u32, pwalkerfree: P3, nullflags: u32) -> ::windows_core::Result<()> where @@ -80,14 +80,14 @@ impl ICallFrame { } pub unsafe fn GetMarshalSizeMax(&self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), pmshlcontext, mshlflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), pmshlcontext, mshlflags, &mut result__).map(|| result__) } pub unsafe fn Marshal(&self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS, pbuffer: &[u8], pcbbufferused: *mut u32, pdatarep: *mut u32, prpcflags: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Marshal)(::windows_core::Interface::as_raw(self), pmshlcontext, mshlflags, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), pcbbufferused, pdatarep, prpcflags).ok() } pub unsafe fn Unmarshal(&self, pbuffer: &[u8], datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Unmarshal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), datarep, pcontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Unmarshal)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), datarep, pcontext, &mut result__).map(|| result__) } pub unsafe fn ReleaseMarshalData(&self, pbuffer: &[u8], ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseMarshalData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len().try_into().unwrap(), ibfirstrelease, datarep, pcontext).ok() @@ -164,7 +164,7 @@ impl ICallIndirect { } pub unsafe fn GetStackSize(&self, imethod: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackSize)(::windows_core::Interface::as_raw(self), imethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackSize)(::windows_core::Interface::as_raw(self), imethod, &mut result__).map(|| result__) } pub unsafe fn GetIID(&self, piid: ::core::option::Option<*mut ::windows_core::GUID>, pfderivesfromidispatch: ::core::option::Option<*mut super::super::super::Foundation::BOOL>, pcmethod: ::core::option::Option<*mut u32>, pwszinterface: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(piid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pfderivesfromidispatch.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcmethod.unwrap_or(::std::ptr::null_mut())), pwszinterface).ok() @@ -190,7 +190,7 @@ impl ICallInterceptor { } pub unsafe fn GetStackSize(&self, imethod: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStackSize)(::windows_core::Interface::as_raw(self), imethod, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStackSize)(::windows_core::Interface::as_raw(self), imethod, &mut result__).map(|| result__) } pub unsafe fn GetIID(&self, piid: ::core::option::Option<*mut ::windows_core::GUID>, pfderivesfromidispatch: ::core::option::Option<*mut super::super::super::Foundation::BOOL>, pcmethod: ::core::option::Option<*mut u32>, pwszinterface: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(piid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pfderivesfromidispatch.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcmethod.unwrap_or(::std::ptr::null_mut())), pwszinterface).ok() @@ -203,7 +203,7 @@ impl ICallInterceptor { } pub unsafe fn GetRegisteredSink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisteredSink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisteredSink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -241,7 +241,7 @@ impl IInterfaceRelated { } pub unsafe fn GetIID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/Events/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/Events/mod.rs index 64fe791f2a..9144a7f890 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/Events/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/Events/mod.rs @@ -11,7 +11,7 @@ pub struct IDontSupportEventSubscription_Vtbl { impl IEnumEventObject { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppinterface: &mut [::core::option::Option<::windows_core::IUnknown>], cretelem: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppinterface.len().try_into().unwrap(), ::core::mem::transmute(ppinterface.as_ptr()), cretelem).ok() @@ -37,7 +37,7 @@ pub struct IEnumEventObject_Vtbl { impl IEventClass { pub unsafe fn EventClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventClassID(&self, bstreventclassid: P0) -> ::windows_core::Result<()> where @@ -47,7 +47,7 @@ impl IEventClass { } pub unsafe fn EventClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventClassName(&self, bstreventclassname: P0) -> ::windows_core::Result<()> where @@ -57,7 +57,7 @@ impl IEventClass { } pub unsafe fn OwnerSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwnerSID(&self, bstrownersid: P0) -> ::windows_core::Result<()> where @@ -67,7 +67,7 @@ impl IEventClass { } pub unsafe fn FiringInterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FiringInterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FiringInterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFiringInterfaceID(&self, bstrfiringinterfaceid: P0) -> ::windows_core::Result<()> where @@ -77,7 +77,7 @@ impl IEventClass { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -87,7 +87,7 @@ impl IEventClass { } pub unsafe fn CustomConfigCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CustomConfigCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CustomConfigCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomConfigCLSID(&self, bstrcustomconfigclsid: P0) -> ::windows_core::Result<()> where @@ -97,7 +97,7 @@ impl IEventClass { } pub unsafe fn TypeLib(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TypeLib)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TypeLib)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTypeLib(&self, bstrtypelib: P0) -> ::windows_core::Result<()> where @@ -130,7 +130,7 @@ pub struct IEventClass_Vtbl { impl IEventClass2 { pub unsafe fn EventClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventClassID(&self, bstreventclassid: P0) -> ::windows_core::Result<()> where @@ -140,7 +140,7 @@ impl IEventClass2 { } pub unsafe fn EventClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventClassName(&self, bstreventclassname: P0) -> ::windows_core::Result<()> where @@ -150,7 +150,7 @@ impl IEventClass2 { } pub unsafe fn OwnerSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwnerSID(&self, bstrownersid: P0) -> ::windows_core::Result<()> where @@ -160,7 +160,7 @@ impl IEventClass2 { } pub unsafe fn FiringInterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FiringInterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FiringInterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFiringInterfaceID(&self, bstrfiringinterfaceid: P0) -> ::windows_core::Result<()> where @@ -170,7 +170,7 @@ impl IEventClass2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -180,7 +180,7 @@ impl IEventClass2 { } pub unsafe fn CustomConfigCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CustomConfigCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CustomConfigCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCustomConfigCLSID(&self, bstrcustomconfigclsid: P0) -> ::windows_core::Result<()> where @@ -190,7 +190,7 @@ impl IEventClass2 { } pub unsafe fn TypeLib(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TypeLib)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TypeLib)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTypeLib(&self, bstrtypelib: P0) -> ::windows_core::Result<()> where @@ -200,7 +200,7 @@ impl IEventClass2 { } pub unsafe fn PublisherID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPublisherID(&self, bstrpublisherid: P0) -> ::windows_core::Result<()> where @@ -210,7 +210,7 @@ impl IEventClass2 { } pub unsafe fn MultiInterfacePublisherFilterCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultiInterfacePublisherFilterCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultiInterfacePublisherFilterCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMultiInterfacePublisherFilterCLSID(&self, bstrpubfilclsid: P0) -> ::windows_core::Result<()> where @@ -220,7 +220,7 @@ impl IEventClass2 { } pub unsafe fn AllowInprocActivation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInprocActivation(&self, fallowinprocactivation: P0) -> ::windows_core::Result<()> where @@ -230,7 +230,7 @@ impl IEventClass2 { } pub unsafe fn FireInParallel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FireInParallel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FireInParallel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFireInParallel(&self, ffireinparallel: P0) -> ::windows_core::Result<()> where @@ -264,7 +264,7 @@ impl IEventControl { } pub unsafe fn AllowInprocActivation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInprocActivation(&self, fallowinprocactivation: P0) -> ::windows_core::Result<()> where @@ -278,7 +278,7 @@ impl IEventControl { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscriptions)(::windows_core::Interface::as_raw(self), methodname.into_param().abi(), optionalcriteria.into_param().abi(), optionalerrorindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscriptions)(::windows_core::Interface::as_raw(self), methodname.into_param().abi(), optionalcriteria.into_param().abi(), optionalerrorindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultQuery(&self, methodname: P0, criteria: P1) -> ::windows_core::Result where @@ -286,7 +286,7 @@ impl IEventControl { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetDefaultQuery)(::windows_core::Interface::as_raw(self), methodname.into_param().abi(), criteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetDefaultQuery)(::windows_core::Interface::as_raw(self), methodname.into_param().abi(), criteria.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -351,22 +351,22 @@ pub struct IEventObjectChange2_Vtbl { impl IEventObjectCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Item(&self, objectid: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), objectid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), objectid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Add(&self, item: *const ::windows_core::VARIANT, objectid: P0) -> ::windows_core::Result<()> where @@ -397,7 +397,7 @@ pub struct IEventObjectCollection_Vtbl { impl IEventProperty { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, propertyname: P0) -> ::windows_core::Result<()> where @@ -407,7 +407,7 @@ impl IEventProperty { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, propertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propertyvalue)).ok() @@ -427,7 +427,7 @@ pub struct IEventProperty_Vtbl { impl IEventPublisher { pub unsafe fn PublisherID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPublisherID(&self, bstrpublisherid: P0) -> ::windows_core::Result<()> where @@ -437,7 +437,7 @@ impl IEventPublisher { } pub unsafe fn PublisherName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPublisherName(&self, bstrpublishername: P0) -> ::windows_core::Result<()> where @@ -447,7 +447,7 @@ impl IEventPublisher { } pub unsafe fn PublisherType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPublisherType(&self, bstrpublishertype: P0) -> ::windows_core::Result<()> where @@ -457,7 +457,7 @@ impl IEventPublisher { } pub unsafe fn OwnerSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwnerSID(&self, bstrownersid: P0) -> ::windows_core::Result<()> where @@ -467,7 +467,7 @@ impl IEventPublisher { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -480,7 +480,7 @@ impl IEventPublisher { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutDefaultProperty(&self, bstrpropertyname: P0, propertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -496,7 +496,7 @@ impl IEventPublisher { } pub unsafe fn GetDefaultPropertyCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -523,7 +523,7 @@ pub struct IEventPublisher_Vtbl { impl IEventSubscription { pub unsafe fn SubscriptionID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriptionID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriptionID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubscriptionID(&self, bstrsubscriptionid: P0) -> ::windows_core::Result<()> where @@ -533,7 +533,7 @@ impl IEventSubscription { } pub unsafe fn SubscriptionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriptionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriptionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubscriptionName(&self, bstrsubscriptionname: P0) -> ::windows_core::Result<()> where @@ -543,7 +543,7 @@ impl IEventSubscription { } pub unsafe fn PublisherID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PublisherID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPublisherID(&self, bstrpublisherid: P0) -> ::windows_core::Result<()> where @@ -553,7 +553,7 @@ impl IEventSubscription { } pub unsafe fn EventClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventClassID(&self, bstreventclassid: P0) -> ::windows_core::Result<()> where @@ -563,7 +563,7 @@ impl IEventSubscription { } pub unsafe fn MethodName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MethodName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MethodName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMethodName(&self, bstrmethodname: P0) -> ::windows_core::Result<()> where @@ -573,7 +573,7 @@ impl IEventSubscription { } pub unsafe fn SubscriberCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriberCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriberCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubscriberCLSID(&self, bstrsubscriberclsid: P0) -> ::windows_core::Result<()> where @@ -583,7 +583,7 @@ impl IEventSubscription { } pub unsafe fn SubscriberInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriberInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriberInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubscriberInterface(&self, psubscriberinterface: P0) -> ::windows_core::Result<()> where @@ -593,7 +593,7 @@ impl IEventSubscription { } pub unsafe fn PerUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPerUser(&self, fperuser: P0) -> ::windows_core::Result<()> where @@ -603,7 +603,7 @@ impl IEventSubscription { } pub unsafe fn OwnerSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OwnerSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOwnerSID(&self, bstrownersid: P0) -> ::windows_core::Result<()> where @@ -613,7 +613,7 @@ impl IEventSubscription { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -623,7 +623,7 @@ impl IEventSubscription { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bstrdescription: P0) -> ::windows_core::Result<()> where @@ -633,7 +633,7 @@ impl IEventSubscription { } pub unsafe fn MachineName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MachineName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MachineName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMachineName(&self, bstrmachinename: P0) -> ::windows_core::Result<()> where @@ -646,7 +646,7 @@ impl IEventSubscription { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisherProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisherProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutPublisherProperty(&self, bstrpropertyname: P0, propertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -662,14 +662,14 @@ impl IEventSubscription { } pub unsafe fn GetPublisherPropertyCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPublisherPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPublisherPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSubscriberProperty(&self, bstrpropertyname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscriberProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscriberProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutSubscriberProperty(&self, bstrpropertyname: P0, propertyvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -685,11 +685,11 @@ impl IEventSubscription { } pub unsafe fn GetSubscriberPropertyCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscriberPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscriberPropertyCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InterfaceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterfaceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInterfaceID(&self, bstrinterfaceid: P0) -> ::windows_core::Result<()> where @@ -746,7 +746,7 @@ impl IEventSystem { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), errorindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), errorindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Store(&self, progid: P0, pinterface: P1) -> ::windows_core::Result<()> where @@ -761,11 +761,11 @@ impl IEventSystem { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventObjectChangeEventClassID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventObjectChangeEventClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventObjectChangeEventClassID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryS(&self, progid: P0, querycriteria: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -773,7 +773,7 @@ impl IEventSystem { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryS)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryS)(::windows_core::Interface::as_raw(self), progid.into_param().abi(), querycriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveS(&self, progid: P0, querycriteria: P1) -> ::windows_core::Result<()> where @@ -825,7 +825,7 @@ impl IMultiInterfaceEventControl { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscriptions)(::windows_core::Interface::as_raw(self), eventiid, bstrmethodname.into_param().abi(), optionalcriteria.into_param().abi(), optionalerrorindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscriptions)(::windows_core::Interface::as_raw(self), eventiid, bstrmethodname.into_param().abi(), optionalcriteria.into_param().abi(), optionalerrorindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultQuery(&self, eventiid: *const ::windows_core::GUID, bstrmethodname: P0, bstrcriteria: P1) -> ::windows_core::Result where @@ -833,11 +833,11 @@ impl IMultiInterfaceEventControl { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetDefaultQuery)(::windows_core::Interface::as_raw(self), eventiid, bstrmethodname.into_param().abi(), bstrcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetDefaultQuery)(::windows_core::Interface::as_raw(self), eventiid, bstrmethodname.into_param().abi(), bstrcriteria.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AllowInprocActivation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowInprocActivation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowInprocActivation(&self, fallowinprocactivation: P0) -> ::windows_core::Result<()> where @@ -847,7 +847,7 @@ impl IMultiInterfaceEventControl { } pub unsafe fn FireInParallel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FireInParallel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FireInParallel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFireInParallel(&self, ffireinparallel: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/Marshal/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/Marshal/mod.rs index 31cf14bb9a..ea8972d7b7 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/Marshal/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/Marshal/mod.rs @@ -93,7 +93,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetStandardMarshal(riid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, dwdestcontext : u32, pvdestcontext : *const ::core::ffi::c_void, mshlflags : u32, ppmarshal : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetStandardMarshal(riid, punk.into_param().abi(), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).from_abi(result__) + CoGetStandardMarshal(riid, punk.into_param().abi(), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetStdMarshalEx(punkouter: P0, smexflags: u32) -> ::windows_core::Result<::windows_core::IUnknown> @@ -102,7 +102,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetStdMarshalEx(punkouter : * mut::core::ffi::c_void, smexflags : u32, ppunkinner : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetStdMarshalEx(punkouter.into_param().abi(), smexflags, &mut result__).from_abi(result__) + CoGetStdMarshalEx(punkouter.into_param().abi(), smexflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoMarshalHresult(pstm: P0, hresult: ::windows_core::HRESULT) -> ::windows_core::Result<()> @@ -119,7 +119,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoMarshalInterThreadInterfaceInStream(riid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, ppstm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoMarshalInterThreadInterfaceInStream(riid, punk.into_param().abi(), &mut result__).from_abi(result__) + CoMarshalInterThreadInterfaceInStream(riid, punk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoMarshalInterface(pstm: P0, riid: *const ::windows_core::GUID, punk: P1, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result<()> @@ -145,7 +145,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoUnmarshalHresult(pstm : * mut::core::ffi::c_void, phresult : *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoUnmarshalHresult(pstm.into_param().abi(), &mut result__).from_abi(result__) + CoUnmarshalHresult(pstm.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CoUnmarshalInterface(pstm: P0) -> ::windows_core::Result @@ -155,7 +155,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoUnmarshalInterface(pstm : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoUnmarshalInterface(pstm.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + CoUnmarshalInterface(pstm.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] #[inline] @@ -658,11 +658,11 @@ pub unsafe fn STGMEDIUM_UserUnmarshal64(param0: *const u32, param1: *const u8, p impl IMarshal { pub unsafe fn GetUnmarshalClass(&self, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnmarshalClass)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnmarshalClass)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).map(|| result__) } pub unsafe fn GetMarshalSizeMax(&self, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).map(|| result__) } pub unsafe fn MarshalInterface(&self, pstm: P0, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result<()> where @@ -702,11 +702,11 @@ pub struct IMarshal_Vtbl { impl IMarshal2 { pub unsafe fn GetUnmarshalClass(&self, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUnmarshalClass)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnmarshalClass)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).map(|| result__) } pub unsafe fn GetMarshalSizeMax(&self, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMarshalSizeMax)(::windows_core::Interface::as_raw(self), riid, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null())), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), mshlflags, &mut result__).map(|| result__) } pub unsafe fn MarshalInterface(&self, pstm: P0, riid: *const ::windows_core::GUID, pv: ::core::option::Option<*const ::core::ffi::c_void>, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>, mshlflags: u32) -> ::windows_core::Result<()> where @@ -773,11 +773,11 @@ impl IMarshalingStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMarshalingContextAttribute(&self, attribute: super::CO_MARSHALING_CONTEXT_ATTRIBUTES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMarshalingContextAttribute)(::windows_core::Interface::as_raw(self), attribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMarshalingContextAttribute)(::windows_core::Interface::as_raw(self), attribute, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/StructuredStorage/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/StructuredStorage/mod.rs index 675653e230..b61467bb26 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/StructuredStorage/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/StructuredStorage/mod.rs @@ -29,7 +29,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetInterfaceAndReleaseStream(pstm : * mut::core::ffi::c_void, iid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetInterfaceAndReleaseStream(pstm.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + CoGetInterfaceAndReleaseStream(pstm.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateILockBytesOnHGlobal(hglobal: P0, fdeleteonrelease: P1) -> ::windows_core::Result @@ -39,7 +39,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateILockBytesOnHGlobal(hglobal : super::super::super::Foundation:: HGLOBAL, fdeleteonrelease : super::super::super::Foundation:: BOOL, pplkbyt : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateILockBytesOnHGlobal(hglobal.into_param().abi(), fdeleteonrelease.into_param().abi(), &mut result__).from_abi(result__) + CreateILockBytesOnHGlobal(hglobal.into_param().abi(), fdeleteonrelease.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateStreamOnHGlobal(hglobal: P0, fdeleteonrelease: P1) -> ::windows_core::Result @@ -49,7 +49,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateStreamOnHGlobal(hglobal : super::super::super::Foundation:: HGLOBAL, fdeleteonrelease : super::super::super::Foundation:: BOOL, ppstm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateStreamOnHGlobal(hglobal.into_param().abi(), fdeleteonrelease.into_param().abi(), &mut result__).from_abi(result__) + CreateStreamOnHGlobal(hglobal.into_param().abi(), fdeleteonrelease.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn FmtIdToPropStgName(pfmtid: *const ::windows_core::GUID, oszname: ::windows_core::PWSTR) -> ::windows_core::Result<()> { @@ -76,7 +76,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn GetHGlobalFromILockBytes(plkbyt : * mut::core::ffi::c_void, phglobal : *mut super::super::super::Foundation:: HGLOBAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetHGlobalFromILockBytes(plkbyt.into_param().abi(), &mut result__).from_abi(result__) + GetHGlobalFromILockBytes(plkbyt.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetHGlobalFromStream(pstm: P0) -> ::windows_core::Result @@ -85,73 +85,73 @@ where { ::windows_targets::link!("ole32.dll" "system" fn GetHGlobalFromStream(pstm : * mut::core::ffi::c_void, phglobal : *mut super::super::super::Foundation:: HGLOBAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetHGlobalFromStream(pstm.into_param().abi(), &mut result__).from_abi(result__) + GetHGlobalFromStream(pstm.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn InitPropVariantFromBooleanVector(prgf: ::core::option::Option<&[super::super::super::Foundation::BOOL]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromBooleanVector(prgf : *const super::super::super::Foundation:: BOOL, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromBooleanVector(::core::mem::transmute(prgf.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgf.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromBooleanVector(::core::mem::transmute(prgf.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgf.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromBuffer(pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromBuffer(pv : *const ::core::ffi::c_void, cb : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromBuffer(pv, cb, &mut result__).from_abi(result__) + InitPropVariantFromBuffer(pv, cb, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromCLSID(clsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromCLSID(clsid : *const ::windows_core::GUID, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromCLSID(clsid, &mut result__).from_abi(result__) + InitPropVariantFromCLSID(clsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromDoubleVector(prgn: ::core::option::Option<&[f64]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromDoubleVector(prgn : *const f64, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromDoubleVector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromDoubleVector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromFileTime(pftin: *const super::super::super::Foundation::FILETIME) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromFileTime(pftin : *const super::super::super::Foundation:: FILETIME, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromFileTime(pftin, &mut result__).from_abi(result__) + InitPropVariantFromFileTime(pftin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromFileTimeVector(prgft: ::core::option::Option<&[super::super::super::Foundation::FILETIME]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromFileTimeVector(prgft : *const super::super::super::Foundation:: FILETIME, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromFileTimeVector(::core::mem::transmute(prgft.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgft.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromFileTimeVector(::core::mem::transmute(prgft.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgft.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromGUIDAsString(guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromGUIDAsString(guid : *const ::windows_core::GUID, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromGUIDAsString(guid, &mut result__).from_abi(result__) + InitPropVariantFromGUIDAsString(guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromInt16Vector(prgn: ::core::option::Option<&[i16]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromInt16Vector(prgn : *const i16, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromInt16Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromInt16Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromInt32Vector(prgn: ::core::option::Option<&[i32]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromInt32Vector(prgn : *const i32, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromInt32Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromInt32Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromInt64Vector(prgn: ::core::option::Option<&[i64]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromInt64Vector(prgn : *const i64, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromInt64Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromInt64Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromPropVariantVectorElem(propvarin: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromPropVariantVectorElem(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromPropVariantVectorElem(::core::mem::transmute(propvarin), ielem, &mut result__).from_abi(result__) + InitPropVariantFromPropVariantVectorElem(::core::mem::transmute(propvarin), ielem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromResource(hinst: P0, id: u32) -> ::windows_core::Result<::windows_core::PROPVARIANT> @@ -160,7 +160,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromResource(hinst : super::super::super::Foundation:: HINSTANCE, id : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromResource(hinst.into_param().abi(), id, &mut result__).from_abi(result__) + InitPropVariantFromResource(hinst.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromStringAsVector(psz: P0) -> ::windows_core::Result<::windows_core::PROPVARIANT> @@ -169,37 +169,37 @@ where { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromStringAsVector(psz : ::windows_core::PCWSTR, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromStringAsVector(psz.into_param().abi(), &mut result__).from_abi(result__) + InitPropVariantFromStringAsVector(psz.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromStringVector(prgsz: ::core::option::Option<&[::windows_core::PCWSTR]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromStringVector(prgsz : *const ::windows_core::PCWSTR, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromStringVector(::core::mem::transmute(prgsz.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgsz.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromStringVector(::core::mem::transmute(prgsz.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgsz.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromUInt16Vector(prgn: ::core::option::Option<&[u16]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromUInt16Vector(prgn : *const u16, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromUInt16Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromUInt16Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromUInt32Vector(prgn: ::core::option::Option<&[u32]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromUInt32Vector(prgn : *const u32, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromUInt32Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromUInt32Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantFromUInt64Vector(prgn: ::core::option::Option<&[u64]>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantFromUInt64Vector(prgn : *const u64, celems : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantFromUInt64Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitPropVariantFromUInt64Vector(::core::mem::transmute(prgn.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgn.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitPropVariantVectorFromPropVariant(propvarsingle: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitPropVariantVectorFromPropVariant(propvarsingle : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ppropvarvector : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitPropVariantVectorFromPropVariant(::core::mem::transmute(propvarsingle), &mut result__).from_abi(result__) + InitPropVariantVectorFromPropVariant(::core::mem::transmute(propvarsingle), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OleConvertIStorageToOLESTREAM(pstg: P0) -> ::windows_core::Result @@ -208,7 +208,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn OleConvertIStorageToOLESTREAM(pstg : * mut::core::ffi::c_void, lpolestream : *mut OLESTREAM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleConvertIStorageToOLESTREAM(pstg.into_param().abi(), &mut result__).from_abi(result__) + OleConvertIStorageToOLESTREAM(pstg.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -218,7 +218,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn OleConvertIStorageToOLESTREAMEx(pstg : * mut::core::ffi::c_void, cfformat : u16, lwidth : i32, lheight : i32, dwsize : u32, pmedium : *const super:: STGMEDIUM, polestm : *mut OLESTREAM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleConvertIStorageToOLESTREAMEx(pstg.into_param().abi(), cfformat, lwidth, lheight, dwsize, pmedium, &mut result__).from_abi(result__) + OleConvertIStorageToOLESTREAMEx(pstg.into_param().abi(), cfformat, lwidth, lheight, dwsize, pmedium, &mut result__).map(|| result__) } #[inline] pub unsafe fn OleConvertOLESTREAMToIStorage(lpolestream: *const OLESTREAM, pstg: P0, ptd: *const super::DVTARGETDEVICE) -> ::windows_core::Result<()> @@ -244,7 +244,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn PropStgNameToFmtId(oszname : ::windows_core::PCWSTR, pfmtid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropStgNameToFmtId(oszname.into_param().abi(), &mut result__).from_abi(result__) + PropStgNameToFmtId(oszname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Variant")] #[inline] @@ -271,13 +271,13 @@ pub unsafe fn PropVariantCopy(pvardest: *mut ::windows_core::PROPVARIANT, pvarsr pub unsafe fn PropVariantGetBooleanElem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetBooleanElem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pfval : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetBooleanElem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetBooleanElem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetDoubleElem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetDoubleElem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetDoubleElem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetDoubleElem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetElementCount(propvar: *const ::windows_core::PROPVARIANT) -> u32 { @@ -288,61 +288,61 @@ pub unsafe fn PropVariantGetElementCount(propvar: *const ::windows_core::PROPVAR pub unsafe fn PropVariantGetFileTimeElem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetFileTimeElem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pftval : *mut super::super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetFileTimeElem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetFileTimeElem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetInt16Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetInt16Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetInt16Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetInt16Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetInt32Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetInt32Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetInt32Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetInt32Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetInt64Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetInt64Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetInt64Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetInt64Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetStringElem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetStringElem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, ppszval : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetStringElem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetStringElem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetUInt16Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetUInt16Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetUInt16Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetUInt16Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetUInt32Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetUInt32Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetUInt32Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetUInt32Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantGetUInt64Elem(propvar: *const ::windows_core::PROPVARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantGetUInt64Elem(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ielem : u32, pnval : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantGetUInt64Elem(::core::mem::transmute(propvar), ielem, &mut result__).from_abi(result__) + PropVariantGetUInt64Elem(::core::mem::transmute(propvar), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToBSTR(propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToBSTR(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToBSTR(::core::mem::transmute(propvar), &mut result__).from_abi(result__) + PropVariantToBSTR(::core::mem::transmute(propvar), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PropVariantToBoolean(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToBoolean(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pfret : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToBoolean(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToBoolean(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToBooleanVector(propvar: *const ::windows_core::PROPVARIANT, prgf: &mut [super::super::super::Foundation::BOOL], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -371,7 +371,7 @@ pub unsafe fn PropVariantToBuffer(propvar: *const ::windows_core::PROPVARIANT, p pub unsafe fn PropVariantToDouble(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToDouble(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pdblret : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToDouble(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToDouble(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToDoubleVector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [f64], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -393,7 +393,7 @@ pub unsafe fn PropVariantToDoubleWithDefault(propvarin: *const ::windows_core::P pub unsafe fn PropVariantToFileTime(propvar: *const ::windows_core::PROPVARIANT, pstfout: super::super::Variant::PSTIME_FLAGS) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToFileTime(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pstfout : super::super::Variant:: PSTIME_FLAGS, pftout : *mut super::super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToFileTime(::core::mem::transmute(propvar), pstfout, &mut result__).from_abi(result__) + PropVariantToFileTime(::core::mem::transmute(propvar), pstfout, &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToFileTimeVector(propvar: *const ::windows_core::PROPVARIANT, prgft: &mut [super::super::super::Foundation::FILETIME], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -409,13 +409,13 @@ pub unsafe fn PropVariantToFileTimeVectorAlloc(propvar: *const ::windows_core::P pub unsafe fn PropVariantToGUID(propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToGUID(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToGUID(::core::mem::transmute(propvar), &mut result__).from_abi(result__) + PropVariantToGUID(::core::mem::transmute(propvar), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToInt16(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToInt16(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, piret : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToInt16(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToInt16(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToInt16Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [i16], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -436,7 +436,7 @@ pub unsafe fn PropVariantToInt16WithDefault(propvarin: *const ::windows_core::PR pub unsafe fn PropVariantToInt32(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToInt32(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, plret : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToInt32(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToInt32(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToInt32Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [i32], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ pub unsafe fn PropVariantToInt32WithDefault(propvarin: *const ::windows_core::PR pub unsafe fn PropVariantToInt64(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToInt64(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pllret : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToInt64(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToInt64(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToInt64Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [i64], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -483,7 +483,7 @@ pub unsafe fn PropVariantToString(propvar: *const ::windows_core::PROPVARIANT, p pub unsafe fn PropVariantToStringAlloc(propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToStringAlloc(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ppszout : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToStringAlloc(::core::mem::transmute(propvar), &mut result__).from_abi(result__) + PropVariantToStringAlloc(::core::mem::transmute(propvar), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToStringVector(propvar: *const ::windows_core::PROPVARIANT, prgsz: &mut [::windows_core::PWSTR], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -507,7 +507,7 @@ where pub unsafe fn PropVariantToUInt16(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToUInt16(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, puiret : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToUInt16(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToUInt16(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToUInt16Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [u16], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -528,7 +528,7 @@ pub unsafe fn PropVariantToUInt16WithDefault(propvarin: *const ::windows_core::P pub unsafe fn PropVariantToUInt32(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToUInt32(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pulret : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToUInt32(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToUInt32(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToUInt32Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [u32], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -549,7 +549,7 @@ pub unsafe fn PropVariantToUInt32WithDefault(propvarin: *const ::windows_core::P pub unsafe fn PropVariantToUInt64(propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToUInt64(propvarin : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pullret : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToUInt64(::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + PropVariantToUInt64(::core::mem::transmute(propvarin), &mut result__).map(|| result__) } #[inline] pub unsafe fn PropVariantToUInt64Vector(propvar: *const ::windows_core::PROPVARIANT, prgn: &mut [u64], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -570,7 +570,7 @@ pub unsafe fn PropVariantToUInt64WithDefault(propvarin: *const ::windows_core::P pub unsafe fn PropVariantToVariant(ppropvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToVariant(ppropvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PropVariantToVariant(::core::mem::transmute(ppropvar), &mut result__).from_abi(result__) + PropVariantToVariant(::core::mem::transmute(ppropvar), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PropVariantToWinRTPropertyValue(propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result @@ -579,7 +579,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PropVariantToWinRTPropertyValue(propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - PropVariantToWinRTPropertyValue(::core::mem::transmute(propvar), &T::IID, &mut result__).from_abi(result__) + PropVariantToWinRTPropertyValue(::core::mem::transmute(propvar), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn ReadClassStg(pstg: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -588,7 +588,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn ReadClassStg(pstg : * mut::core::ffi::c_void, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ReadClassStg(pstg.into_param().abi(), &mut result__).from_abi(result__) + ReadClassStg(pstg.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn ReadClassStm(pstm: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -597,7 +597,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn ReadClassStm(pstm : * mut::core::ffi::c_void, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ReadClassStm(pstm.into_param().abi(), &mut result__).from_abi(result__) + ReadClassStm(pstm.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn ReadFmtUserTypeStg(pstg: P0, pcf: *mut u16, lplpszusertype: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> @@ -631,7 +631,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgCreateDocfile(pwcsname : ::windows_core::PCWSTR, grfmode : super:: STGM, reserved : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgCreateDocfile(pwcsname.into_param().abi(), grfmode, reserved, &mut result__).from_abi(result__) + StgCreateDocfile(pwcsname.into_param().abi(), grfmode, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgCreateDocfileOnILockBytes(plkbyt: P0, grfmode: super::STGM, reserved: u32) -> ::windows_core::Result @@ -640,7 +640,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgCreateDocfileOnILockBytes(plkbyt : * mut::core::ffi::c_void, grfmode : super:: STGM, reserved : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgCreateDocfileOnILockBytes(plkbyt.into_param().abi(), grfmode, reserved, &mut result__).from_abi(result__) + StgCreateDocfileOnILockBytes(plkbyt.into_param().abi(), grfmode, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgCreatePropSetStg(pstorage: P0, dwreserved: u32) -> ::windows_core::Result @@ -649,7 +649,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgCreatePropSetStg(pstorage : * mut::core::ffi::c_void, dwreserved : u32, pppropsetstg : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgCreatePropSetStg(pstorage.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + StgCreatePropSetStg(pstorage.into_param().abi(), dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgCreatePropStg(punk: P0, fmtid: *const ::windows_core::GUID, pclsid: *const ::windows_core::GUID, grfflags: u32, dwreserved: u32) -> ::windows_core::Result @@ -658,7 +658,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgCreatePropStg(punk : * mut::core::ffi::c_void, fmtid : *const ::windows_core::GUID, pclsid : *const ::windows_core::GUID, grfflags : u32, dwreserved : u32, pppropstg : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgCreatePropStg(punk.into_param().abi(), fmtid, pclsid, grfflags, dwreserved, &mut result__).from_abi(result__) + StgCreatePropStg(punk.into_param().abi(), fmtid, pclsid, grfflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] #[inline] @@ -674,7 +674,7 @@ where pub unsafe fn StgDeserializePropVariant(pprop: *const SERIALIZEDPROPERTYVALUE, cbmax: u32) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn StgDeserializePropVariant(pprop : *const SERIALIZEDPROPERTYVALUE, cbmax : u32, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgDeserializePropVariant(pprop, cbmax, &mut result__).from_abi(result__) + StgDeserializePropVariant(pprop, cbmax, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgGetIFillLockBytesOnFile(pwcsname: P0) -> ::windows_core::Result @@ -683,7 +683,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgGetIFillLockBytesOnFile(pwcsname : ::windows_core::PCWSTR, ppflb : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgGetIFillLockBytesOnFile(pwcsname.into_param().abi(), &mut result__).from_abi(result__) + StgGetIFillLockBytesOnFile(pwcsname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgGetIFillLockBytesOnILockBytes(pilb: P0) -> ::windows_core::Result @@ -692,7 +692,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgGetIFillLockBytesOnILockBytes(pilb : * mut::core::ffi::c_void, ppflb : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgGetIFillLockBytesOnILockBytes(pilb.into_param().abi(), &mut result__).from_abi(result__) + StgGetIFillLockBytesOnILockBytes(pilb.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgIsStorageFile(pwcsname: P0) -> ::windows_core::Result<()> @@ -717,7 +717,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgOpenAsyncDocfileOnIFillLockBytes(pflb : * mut::core::ffi::c_void, grfmode : u32, asyncflags : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgOpenAsyncDocfileOnIFillLockBytes(pflb.into_param().abi(), grfmode, asyncflags, &mut result__).from_abi(result__) + StgOpenAsyncDocfileOnIFillLockBytes(pflb.into_param().abi(), grfmode, asyncflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgOpenLayoutDocfile(pwcsdfname: P0, grfmode: u32, reserved: u32) -> ::windows_core::Result @@ -726,7 +726,7 @@ where { ::windows_targets::link!("dflayout.dll" "system" fn StgOpenLayoutDocfile(pwcsdfname : ::windows_core::PCWSTR, grfmode : u32, reserved : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgOpenLayoutDocfile(pwcsdfname.into_param().abi(), grfmode, reserved, &mut result__).from_abi(result__) + StgOpenLayoutDocfile(pwcsdfname.into_param().abi(), grfmode, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgOpenPropStg(punk: P0, fmtid: *const ::windows_core::GUID, grfflags: u32, dwreserved: u32) -> ::windows_core::Result @@ -735,7 +735,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgOpenPropStg(punk : * mut::core::ffi::c_void, fmtid : *const ::windows_core::GUID, grfflags : u32, dwreserved : u32, pppropstg : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgOpenPropStg(punk.into_param().abi(), fmtid, grfflags, dwreserved, &mut result__).from_abi(result__) + StgOpenPropStg(punk.into_param().abi(), fmtid, grfflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgOpenStorage(pwcsname: P0, pstgpriority: P1, grfmode: super::STGM, snbexclude: ::core::option::Option<*const *const u16>, reserved: u32) -> ::windows_core::Result @@ -745,7 +745,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgOpenStorage(pwcsname : ::windows_core::PCWSTR, pstgpriority : * mut::core::ffi::c_void, grfmode : super:: STGM, snbexclude : *const *const u16, reserved : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgOpenStorage(pwcsname.into_param().abi(), pstgpriority.into_param().abi(), grfmode, ::core::mem::transmute(snbexclude.unwrap_or(::std::ptr::null())), reserved, &mut result__).from_abi(result__) + StgOpenStorage(pwcsname.into_param().abi(), pstgpriority.into_param().abi(), grfmode, ::core::mem::transmute(snbexclude.unwrap_or(::std::ptr::null())), reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Security")] #[inline] @@ -765,7 +765,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn StgOpenStorageOnILockBytes(plkbyt : * mut::core::ffi::c_void, pstgpriority : * mut::core::ffi::c_void, grfmode : super:: STGM, snbexclude : *const *const u16, reserved : u32, ppstgopen : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StgOpenStorageOnILockBytes(plkbyt.into_param().abi(), pstgpriority.into_param().abi(), grfmode, ::core::mem::transmute(snbexclude.unwrap_or(::std::ptr::null())), reserved, &mut result__).from_abi(result__) + StgOpenStorageOnILockBytes(plkbyt.into_param().abi(), pstgpriority.into_param().abi(), grfmode, ::core::mem::transmute(snbexclude.unwrap_or(::std::ptr::null())), reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StgPropertyLengthAsVariant(pprop: *const SERIALIZEDPROPERTYVALUE, cbprop: u32, codepage: u16, breserved: u8) -> u32 { @@ -789,7 +789,7 @@ where pub unsafe fn VariantToPropVariant(pvar: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::PROPVARIANT> { ::windows_targets::link!("propsys.dll" "system" fn VariantToPropVariant(pvar : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToPropVariant(::core::mem::transmute(pvar), &mut result__).from_abi(result__) + VariantToPropVariant(::core::mem::transmute(pvar), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WinRTPropertyValueToPropVariant(punkpropertyvalue: P0) -> ::windows_core::Result<::windows_core::PROPVARIANT> @@ -798,7 +798,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn WinRTPropertyValueToPropVariant(punkpropertyvalue : * mut::core::ffi::c_void, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WinRTPropertyValueToPropVariant(punkpropertyvalue.into_param().abi(), &mut result__).from_abi(result__) + WinRTPropertyValueToPropVariant(punkpropertyvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WriteClassStg(pstg: P0, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> @@ -860,7 +860,7 @@ impl IEnumSTATPROPSETSTG { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -887,7 +887,7 @@ impl IEnumSTATPROPSTG { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -916,7 +916,7 @@ impl IEnumSTATSTG { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -933,11 +933,11 @@ pub struct IEnumSTATSTG_Vtbl { impl IFillLockBytes { pub unsafe fn FillAppend(&self, pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillAppend)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillAppend)(::windows_core::Interface::as_raw(self), pv, cb, &mut result__).map(|| result__) } pub unsafe fn FillAt(&self, uloffset: u64, pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillAt)(::windows_core::Interface::as_raw(self), uloffset, pv, cb, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillAt)(::windows_core::Interface::as_raw(self), uloffset, pv, cb, &mut result__).map(|| result__) } pub unsafe fn SetFillSize(&self, ulsize: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFillSize)(::windows_core::Interface::as_raw(self), ulsize).ok() @@ -1035,7 +1035,7 @@ pub struct ILockBytes_Vtbl { impl IPersistStorage { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -1120,7 +1120,7 @@ impl IPropertyBag2 { } pub unsafe fn CountProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Variant")] pub unsafe fn GetPropertyInfo(&self, iproperty: u32, ppropbag: &mut [PROPBAG2], pcproperties: *mut u32) -> ::windows_core::Result<()> { @@ -1159,18 +1159,18 @@ pub struct IPropertyBag2_Vtbl { impl IPropertySetStorage { pub unsafe fn Create(&self, rfmtid: *const ::windows_core::GUID, pclsid: *const ::windows_core::GUID, grfflags: u32, grfmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), rfmtid, pclsid, grfflags, grfmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), rfmtid, pclsid, grfflags, grfmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, rfmtid: *const ::windows_core::GUID, grfmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), rfmtid, grfmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), rfmtid, grfmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, rfmtid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), rfmtid).ok() } pub unsafe fn Enum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1211,7 +1211,7 @@ impl IPropertyStorage { } pub unsafe fn Enum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTimes(&self, pctime: *const super::super::super::Foundation::FILETIME, patime: *const super::super::super::Foundation::FILETIME, pmtime: *const super::super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimes)(::windows_core::Interface::as_raw(self), pctime, patime, pmtime).ok() @@ -1264,21 +1264,21 @@ impl IStorage { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, reserved1, reserved2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStream)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, reserved1, reserved2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenStream(&self, pwcsname: P0, reserved1: ::core::option::Option<*const ::core::ffi::c_void>, grfmode: super::STGM, reserved2: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenStream)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), ::core::mem::transmute(reserved1.unwrap_or(::std::ptr::null())), grfmode, reserved2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenStream)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), ::core::mem::transmute(reserved1.unwrap_or(::std::ptr::null())), grfmode, reserved2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStorage(&self, pwcsname: P0, grfmode: super::STGM, reserved1: u32, reserved2: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStorage)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, reserved1, reserved2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStorage)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, reserved1, reserved2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenStorage(&self, pwcsname: P0, pstgpriority: P1, grfmode: super::STGM, snbexclude: *const *const u16, reserved: u32) -> ::windows_core::Result where @@ -1286,7 +1286,7 @@ impl IStorage { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenStorage)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), pstgpriority.into_param().abi(), grfmode, snbexclude, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenStorage)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), pstgpriority.into_param().abi(), grfmode, snbexclude, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CopyTo(&self, rgiidexclude: ::core::option::Option<&[::windows_core::GUID]>, snbexclude: ::core::option::Option<*const *const u16>, pstgdest: P0) -> ::windows_core::Result<()> where @@ -1310,7 +1310,7 @@ impl IStorage { } pub unsafe fn EnumElements(&self, reserved1: u32, reserved2: ::core::option::Option<*const ::core::ffi::c_void>, reserved3: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumElements)(::windows_core::Interface::as_raw(self), reserved1, ::core::mem::transmute(reserved2.unwrap_or(::std::ptr::null())), reserved3, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumElements)(::windows_core::Interface::as_raw(self), reserved1, ::core::mem::transmute(reserved2.unwrap_or(::std::ptr::null())), reserved3, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DestroyElement(&self, pwcsname: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/Urlmon/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/Urlmon/mod.rs index afa0f0aea9..d1a171c55d 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/Urlmon/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/Urlmon/mod.rs @@ -175,7 +175,7 @@ pub unsafe fn CopyBindInfo(pcbisrc: *const super::BINDINFO, pbidest: *mut super: pub unsafe fn CopyStgMedium(pcstgmedsrc: *const super::STGMEDIUM) -> ::windows_core::Result { ::windows_targets::link!("urlmon.dll" "system" fn CopyStgMedium(pcstgmedsrc : *const super:: STGMEDIUM, pstgmeddest : *mut super:: STGMEDIUM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CopyStgMedium(pcstgmedsrc, &mut result__).from_abi(result__) + CopyStgMedium(pcstgmedsrc, &mut result__).map(|| result__) } #[inline] pub unsafe fn CreateAsyncBindCtx(reserved: u32, pbscb: P0, pefetc: P1) -> ::windows_core::Result @@ -185,7 +185,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateAsyncBindCtx(reserved : u32, pbscb : * mut::core::ffi::c_void, pefetc : * mut::core::ffi::c_void, ppbc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateAsyncBindCtx(reserved, pbscb.into_param().abi(), pefetc.into_param().abi(), &mut result__).from_abi(result__) + CreateAsyncBindCtx(reserved, pbscb.into_param().abi(), pefetc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateAsyncBindCtxEx(pbc: P0, dwoptions: u32, pbscb: P1, penum: P2, ppbc: *mut ::core::option::Option, reserved: u32) -> ::windows_core::Result<()> @@ -201,7 +201,7 @@ where pub unsafe fn CreateFormatEnumerator(rgfmtetc: &[super::FORMATETC]) -> ::windows_core::Result { ::windows_targets::link!("urlmon.dll" "system" fn CreateFormatEnumerator(cfmtetc : u32, rgfmtetc : *const super:: FORMATETC, ppenumfmtetc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateFormatEnumerator(rgfmtetc.len().try_into().unwrap(), ::core::mem::transmute(rgfmtetc.as_ptr()), &mut result__).from_abi(result__) + CreateFormatEnumerator(rgfmtetc.len().try_into().unwrap(), ::core::mem::transmute(rgfmtetc.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateURLMoniker(pmkctx: P0, szurl: P1) -> ::windows_core::Result @@ -211,7 +211,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateURLMoniker(pmkctx : * mut::core::ffi::c_void, szurl : ::windows_core::PCWSTR, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateURLMoniker(pmkctx.into_param().abi(), szurl.into_param().abi(), &mut result__).from_abi(result__) + CreateURLMoniker(pmkctx.into_param().abi(), szurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateURLMonikerEx(pmkctx: P0, szurl: P1, ppmk: *mut ::core::option::Option, dwflags: u32) -> ::windows_core::Result<()> @@ -246,7 +246,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn FindMediaType(rgsztypes : ::windows_core::PCSTR, rgcftypes : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - FindMediaType(rgsztypes.into_param().abi(), &mut result__).from_abi(result__) + FindMediaType(rgsztypes.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn FindMediaTypeClass(pbc: P0, sztype: P1, pclsid: *mut ::windows_core::GUID, reserved: u32) -> ::windows_core::Result<()> @@ -276,7 +276,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn GetClassFileOrMime(pbc : * mut::core::ffi::c_void, szfilename : ::windows_core::PCWSTR, pbuffer : *const ::core::ffi::c_void, cbsize : u32, szmime : ::windows_core::PCWSTR, dwreserved : u32, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetClassFileOrMime(pbc.into_param().abi(), szfilename.into_param().abi(), ::core::mem::transmute(pbuffer.unwrap_or(::std::ptr::null())), cbsize, szmime.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + GetClassFileOrMime(pbc.into_param().abi(), szfilename.into_param().abi(), ::core::mem::transmute(pbuffer.unwrap_or(::std::ptr::null())), cbsize, szmime.into_param().abi(), dwreserved, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetClassURL(szurl: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -285,13 +285,13 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn GetClassURL(szurl : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetClassURL(szurl.into_param().abi(), &mut result__).from_abi(result__) + GetClassURL(szurl.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetComponentIDFromCLSSPEC(pclassspec: *const super::uCLSSPEC) -> ::windows_core::Result<::windows_core::PSTR> { ::windows_targets::link!("urlmon.dll" "system" fn GetComponentIDFromCLSSPEC(pclassspec : *const super:: uCLSSPEC, ppszcomponentid : *mut ::windows_core::PSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetComponentIDFromCLSSPEC(pclassspec, &mut result__).from_abi(result__) + GetComponentIDFromCLSSPEC(pclassspec, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetSoftwareUpdateInfo(szdistunit: P0, psdi: *mut SOFTDISTINFO) -> ::windows_core::Result<()> @@ -370,7 +370,7 @@ pub unsafe fn IEGetUserPrivateNamespaceName() -> ::windows_core::PWSTR { pub unsafe fn IEInstallScope() -> ::windows_core::Result { ::windows_targets::link!("urlmon.dll" "system" fn IEInstallScope(pdwscope : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IEInstallScope(&mut result__).from_abi(result__) + IEInstallScope(&mut result__).map(|| result__) } #[inline] pub unsafe fn IsAsyncMoniker(pmk: P0) -> ::windows_core::Result<()> @@ -615,7 +615,7 @@ impl IBindCallbackRedirect { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Redirect)(::windows_core::Interface::as_raw(self), lpcurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Redirect)(::windows_core::Interface::as_raw(self), lpcurl.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -629,7 +629,7 @@ pub struct IBindCallbackRedirect_Vtbl { impl IBindHttpSecurity { pub unsafe fn GetIgnoreCertMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIgnoreCertMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIgnoreCertMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -647,7 +647,7 @@ impl IBindProtocol { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBinding)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), pbc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBinding)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), pbc.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -661,7 +661,7 @@ pub struct IBindProtocol_Vtbl { impl ICatalogFileInfo { pub unsafe fn GetCatalogFile(&self) -> ::windows_core::Result<::windows_core::PSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCatalogFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCatalogFile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetJavaTrust(&self, ppjavatrust: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetJavaTrust)(::windows_core::Interface::as_raw(self), ppjavatrust).ok() @@ -679,7 +679,7 @@ pub struct ICatalogFileInfo_Vtbl { impl ICodeInstall { pub unsafe fn GetWindow(&self, rguidreason: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).map(|| result__) } pub unsafe fn OnCodeInstallProblem(&self, ulstatuscode: u32, szdestination: P0, szsource: P1, dwreserved: u32) -> ::windows_core::Result<()> where @@ -725,7 +725,7 @@ impl IEncodingFilterFactory { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindBestFilter)(::windows_core::Interface::as_raw(self), pwzcodein.into_param().abi(), pwzcodeout.into_param().abi(), ::core::mem::transmute(info), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindBestFilter)(::windows_core::Interface::as_raw(self), pwzcodein.into_param().abi(), pwzcodeout.into_param().abi(), ::core::mem::transmute(info), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultFilter(&self, pwzcodein: P0, pwzcodeout: P1) -> ::windows_core::Result where @@ -733,7 +733,7 @@ impl IEncodingFilterFactory { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultFilter)(::windows_core::Interface::as_raw(self), pwzcodein.into_param().abi(), pwzcodeout.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultFilter)(::windows_core::Interface::as_raw(self), pwzcodein.into_param().abi(), pwzcodeout.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -748,7 +748,7 @@ pub struct IEncodingFilterFactory_Vtbl { impl IGetBindHandle { pub unsafe fn GetBindHandle(&self, enumrequestedhandle: BINDHANDLETYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBindHandle)(::windows_core::Interface::as_raw(self), enumrequestedhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBindHandle)(::windows_core::Interface::as_raw(self), enumrequestedhandle, &mut result__).map(|| result__) } } #[repr(C)] @@ -766,7 +766,7 @@ impl IHttpNegotiate { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).map(|| result__) } pub unsafe fn OnResponse(&self, dwresponsecode: u32, szresponseheaders: P0, szrequestheaders: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -774,7 +774,7 @@ impl IHttpNegotiate { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -793,7 +793,7 @@ impl IHttpNegotiate2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).map(|| result__) } pub unsafe fn OnResponse(&self, dwresponsecode: u32, szresponseheaders: P0, szrequestheaders: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -801,7 +801,7 @@ impl IHttpNegotiate2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRootSecurityId(&self, pbsecurityid: *mut u8, pcbsecurityid: *mut u32, dwreserved: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRootSecurityId)(::windows_core::Interface::as_raw(self), pbsecurityid, pcbsecurityid, dwreserved).ok() @@ -822,7 +822,7 @@ impl IHttpNegotiate3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BeginningTransaction)(::windows_core::Interface::as_raw(self), szurl.into_param().abi(), szheaders.into_param().abi(), dwreserved, &mut result__).map(|| result__) } pub unsafe fn OnResponse(&self, dwresponsecode: u32, szresponseheaders: P0, szrequestheaders: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -830,7 +830,7 @@ impl IHttpNegotiate3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OnResponse)(::windows_core::Interface::as_raw(self), dwresponsecode, szresponseheaders.into_param().abi(), szrequestheaders.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetRootSecurityId(&self, pbsecurityid: *mut u8, pcbsecurityid: *mut u32, dwreserved: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRootSecurityId)(::windows_core::Interface::as_raw(self), pbsecurityid, pcbsecurityid, dwreserved).ok() @@ -850,7 +850,7 @@ pub struct IHttpNegotiate3_Vtbl { impl IHttpSecurity { pub unsafe fn GetWindow(&self, rguidreason: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).map(|| result__) } pub unsafe fn OnSecurityProblem(&self, dwproblem: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnSecurityProblem)(::windows_core::Interface::as_raw(self), dwproblem).ok() @@ -944,7 +944,7 @@ impl IInternetPriority { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -986,7 +986,7 @@ impl IInternetProtocol { } pub unsafe fn Seek(&self, dlibmove: i64, dworigin: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), dlibmove, dworigin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), dlibmove, dworigin, &mut result__).map(|| result__) } pub unsafe fn LockRequest(&self, dwoptions: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LockRequest)(::windows_core::Interface::as_raw(self), dwoptions).ok() @@ -1036,7 +1036,7 @@ impl IInternetProtocolEx { } pub unsafe fn Seek(&self, dlibmove: i64, dworigin: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), dlibmove, dworigin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Seek)(::windows_core::Interface::as_raw(self), dlibmove, dworigin, &mut result__).map(|| result__) } pub unsafe fn LockRequest(&self, dwoptions: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.LockRequest)(::windows_core::Interface::as_raw(self), dwoptions).ok() @@ -1205,7 +1205,7 @@ impl IInternetSecurityManager { } pub unsafe fn GetSecuritySite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MapUrlToZone(&self, pwszurl: P0, pdwzone: *mut u32, dwflags: u32) -> ::windows_core::Result<()> where @@ -1265,7 +1265,7 @@ impl IInternetSecurityManagerEx { } pub unsafe fn GetSecuritySite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MapUrlToZone(&self, pwszurl: P0, pdwzone: *mut u32, dwflags: u32) -> ::windows_core::Result<()> where @@ -1324,7 +1324,7 @@ impl IInternetSecurityManagerEx2 { } pub unsafe fn GetSecuritySite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSecuritySite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MapUrlToZone(&self, pwszurl: P0, pdwzone: *mut u32, dwflags: u32) -> ::windows_core::Result<()> where @@ -1404,7 +1404,7 @@ pub struct IInternetSecurityManagerEx2_Vtbl { impl IInternetSecurityMgrSite { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableModeless(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -1536,7 +1536,7 @@ impl IInternetZoneManager { } pub unsafe fn GetZoneAt(&self, dwenum: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).map(|| result__) } pub unsafe fn DestroyZoneEnumerator(&self, dwenum: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DestroyZoneEnumerator)(::windows_core::Interface::as_raw(self), dwenum).ok() @@ -1603,7 +1603,7 @@ impl IInternetZoneManagerEx { } pub unsafe fn GetZoneAt(&self, dwenum: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).map(|| result__) } pub unsafe fn DestroyZoneEnumerator(&self, dwenum: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DestroyZoneEnumerator)(::windows_core::Interface::as_raw(self), dwenum).ok() @@ -1666,7 +1666,7 @@ impl IInternetZoneManagerEx2 { } pub unsafe fn GetZoneAt(&self, dwenum: u32, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetZoneAt)(::windows_core::Interface::as_raw(self), dwenum, dwindex, &mut result__).map(|| result__) } pub unsafe fn DestroyZoneEnumerator(&self, dwenum: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.DestroyZoneEnumerator)(::windows_core::Interface::as_raw(self), dwenum).ok() @@ -1730,7 +1730,7 @@ pub struct IMonikerProp_Vtbl { impl IPersistMoniker { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -1760,7 +1760,7 @@ impl IPersistMoniker { } pub unsafe fn GetCurMoniker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurMoniker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurMoniker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1815,11 +1815,11 @@ pub struct ISoftDistExt_Vtbl { impl IUriBuilderFactory { pub unsafe fn CreateIUriBuilder(&self, dwflags: u32, dwreserved: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIUriBuilder)(::windows_core::Interface::as_raw(self), dwflags, dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIUriBuilder)(::windows_core::Interface::as_raw(self), dwflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInitializedIUriBuilder(&self, dwflags: u32, dwreserved: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInitializedIUriBuilder)(::windows_core::Interface::as_raw(self), dwflags, dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInitializedIUriBuilder)(::windows_core::Interface::as_raw(self), dwflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1834,7 +1834,7 @@ pub struct IUriBuilderFactory_Vtbl { impl IUriContainer { pub unsafe fn GetIUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1945,7 +1945,7 @@ pub struct IWinInetInfo_Vtbl { impl IWindowForBindingUI { pub unsafe fn GetWindow(&self, rguidreason: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), rguidreason, &mut result__).map(|| result__) } } #[repr(C)] @@ -1972,7 +1972,7 @@ pub struct IWrappedProtocol_Vtbl { impl IZoneIdentifier { pub unsafe fn GetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetId(&self, dwzone: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetId)(::windows_core::Interface::as_raw(self), dwzone).ok() @@ -1994,7 +1994,7 @@ pub struct IZoneIdentifier_Vtbl { impl IZoneIdentifier2 { pub unsafe fn GetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetId(&self, dwzone: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetId)(::windows_core::Interface::as_raw(self), dwzone).ok() @@ -2004,7 +2004,7 @@ impl IZoneIdentifier2 { } pub unsafe fn GetLastWriterPackageFamilyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastWriterPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastWriterPackageFamilyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLastWriterPackageFamilyName(&self, packagefamilyname: P0) -> ::windows_core::Result<()> where @@ -2017,7 +2017,7 @@ impl IZoneIdentifier2 { } pub unsafe fn GetAppZoneId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppZoneId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppZoneId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppZoneId(&self, zone: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppZoneId)(::windows_core::Interface::as_raw(self), zone).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Com/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Com/mod.rs index fdca79eb4d..021d8b9432 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Com/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Com/mod.rs @@ -20,7 +20,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn BindMoniker(pmk : * mut::core::ffi::c_void, grfopt : u32, iidresult : *const ::windows_core::GUID, ppvresult : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - BindMoniker(pmk.into_param().abi(), grfopt, &T::IID, &mut result__).from_abi(result__) + BindMoniker(pmk.into_param().abi(), grfopt, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CLSIDFromProgID(lpszprogid: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -29,7 +29,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromProgID(lpszprogid : ::windows_core::PCWSTR, lpclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CLSIDFromProgID(lpszprogid.into_param().abi(), &mut result__).from_abi(result__) + CLSIDFromProgID(lpszprogid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CLSIDFromProgIDEx(lpszprogid: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -38,7 +38,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromProgIDEx(lpszprogid : ::windows_core::PCWSTR, lpclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CLSIDFromProgIDEx(lpszprogid.into_param().abi(), &mut result__).from_abi(result__) + CLSIDFromProgIDEx(lpszprogid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CLSIDFromString(lpsz: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -47,7 +47,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromString(lpsz : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CLSIDFromString(lpsz.into_param().abi(), &mut result__).from_abi(result__) + CLSIDFromString(lpsz.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CoAddRefServerProcess() -> u32 { @@ -84,7 +84,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoCopyProxy(pproxy : * mut::core::ffi::c_void, ppcopy : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoCopyProxy(pproxy.into_param().abi(), &mut result__).from_abi(result__) + CoCopyProxy(pproxy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoCreateFreeThreadedMarshaler(punkouter: P0) -> ::windows_core::Result<::windows_core::IUnknown> @@ -93,13 +93,13 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoCreateFreeThreadedMarshaler(punkouter : * mut::core::ffi::c_void, ppunkmarshal : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoCreateFreeThreadedMarshaler(punkouter.into_param().abi(), &mut result__).from_abi(result__) + CoCreateFreeThreadedMarshaler(punkouter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoCreateGuid() -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("ole32.dll" "system" fn CoCreateGuid(pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoCreateGuid(&mut result__).from_abi(result__) + CoCreateGuid(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoCreateInstance(rclsid: *const ::windows_core::GUID, punkouter: P0, dwclscontext: CLSCTX) -> ::windows_core::Result @@ -109,7 +109,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoCreateInstance(rclsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, dwclscontext : CLSCTX, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoCreateInstance(rclsid, punkouter.into_param().abi(), dwclscontext, &T::IID, &mut result__).from_abi(result__) + CoCreateInstance(rclsid, punkouter.into_param().abi(), dwclscontext, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoCreateInstanceEx(clsid: *const ::windows_core::GUID, punkouter: P0, dwclsctx: CLSCTX, pserverinfo: ::core::option::Option<*const COSERVERINFO>, presults: &mut [MULTI_QI]) -> ::windows_core::Result<()> @@ -167,7 +167,7 @@ pub unsafe fn CoEnableCallCancellation(preserved: ::core::option::Option<*const pub unsafe fn CoFileTimeNow() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoFileTimeNow(lpfiletime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoFileTimeNow(&mut result__).from_abi(result__) + CoFileTimeNow(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoFileTimeToDosDateTime(lpfiletime: *const super::super::Foundation::FILETIME, lpdosdate: *mut u16, lpdostime: *mut u16) -> super::super::Foundation::BOOL { @@ -209,13 +209,13 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetCallContext(riid : *const ::windows_core::GUID, ppinterface : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetCallContext(&T::IID, &mut result__).from_abi(result__) + CoGetCallContext(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetCallerTID() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoGetCallerTID(lpdwtid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetCallerTID(&mut result__).from_abi(result__) + CoGetCallerTID(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoGetCancelObject(dwthreadid: u32) -> ::windows_core::Result @@ -224,7 +224,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetCancelObject(dwthreadid : u32, iid : *const ::windows_core::GUID, ppunk : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetCancelObject(dwthreadid, &T::IID, &mut result__).from_abi(result__) + CoGetCancelObject(dwthreadid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetClassObject(rclsid: *const ::windows_core::GUID, dwclscontext: CLSCTX, pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result @@ -233,19 +233,19 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetClassObject(rclsid : *const ::windows_core::GUID, dwclscontext : u32, pvreserved : *const ::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetClassObject(rclsid, dwclscontext.0 as _, ::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + CoGetClassObject(rclsid, dwclscontext.0 as _, ::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetContextToken() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoGetContextToken(ptoken : *mut usize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetContextToken(&mut result__).from_abi(result__) + CoGetContextToken(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoGetCurrentLogicalThreadId() -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("ole32.dll" "system" fn CoGetCurrentLogicalThreadId(pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetCurrentLogicalThreadId(&mut result__).from_abi(result__) + CoGetCurrentLogicalThreadId(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoGetCurrentProcess() -> u32 { @@ -256,7 +256,7 @@ pub unsafe fn CoGetCurrentProcess() -> u32 { pub unsafe fn CoGetMalloc(dwmemcontext: u32) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoGetMalloc(dwmemcontext : u32, ppmalloc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetMalloc(dwmemcontext, &mut result__).from_abi(result__) + CoGetMalloc(dwmemcontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetObject(pszname: P0, pbindoptions: ::core::option::Option<*const BIND_OPTS>) -> ::windows_core::Result @@ -266,7 +266,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetObject(pszname : ::windows_core::PCWSTR, pbindoptions : *const BIND_OPTS, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetObject(pszname.into_param().abi(), ::core::mem::transmute(pbindoptions.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + CoGetObject(pszname.into_param().abi(), ::core::mem::transmute(pbindoptions.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetObjectContext() -> ::windows_core::Result @@ -275,13 +275,13 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoGetObjectContext(riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CoGetObjectContext(&T::IID, &mut result__).from_abi(result__) + CoGetObjectContext(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoGetPSClsid(riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("ole32.dll" "system" fn CoGetPSClsid(riid : *const ::windows_core::GUID, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoGetPSClsid(riid, &mut result__).from_abi(result__) + CoGetPSClsid(riid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security")] #[inline] @@ -303,7 +303,7 @@ pub unsafe fn CoImpersonateClient() -> ::windows_core::Result<()> { pub unsafe fn CoIncrementMTAUsage() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoIncrementMTAUsage(pcookie : *mut CO_MTA_USAGE_COOKIE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoIncrementMTAUsage(&mut result__).from_abi(result__) + CoIncrementMTAUsage(&mut result__).map(|| result__) } #[inline] pub unsafe fn CoInitialize(pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::HRESULT { @@ -433,7 +433,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoRegisterClassObject(rclsid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, dwclscontext : CLSCTX, flags : u32, lpdwregister : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoRegisterClassObject(rclsid, punk.into_param().abi(), dwclscontext, flags.0 as _, &mut result__).from_abi(result__) + CoRegisterClassObject(rclsid, punk.into_param().abi(), dwclscontext, flags.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn CoRegisterDeviceCatalog(deviceinstanceid: P0) -> ::windows_core::Result @@ -442,7 +442,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoRegisterDeviceCatalog(deviceinstanceid : ::windows_core::PCWSTR, cookie : *mut CO_DEVICE_CATALOG_COOKIE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoRegisterDeviceCatalog(deviceinstanceid.into_param().abi(), &mut result__).from_abi(result__) + CoRegisterDeviceCatalog(deviceinstanceid.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CoRegisterInitializeSpy(pspy: P0) -> ::windows_core::Result @@ -451,7 +451,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoRegisterInitializeSpy(pspy : * mut::core::ffi::c_void, pulicookie : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoRegisterInitializeSpy(pspy.into_param().abi(), &mut result__).from_abi(result__) + CoRegisterInitializeSpy(pspy.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CoRegisterMallocSpy(pmallocspy: P0) -> ::windows_core::Result<()> @@ -541,7 +541,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CoSwitchCallContext(pnewobject : * mut::core::ffi::c_void, ppoldobject : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoSwitchCallContext(pnewobject.into_param().abi(), &mut result__).from_abi(result__) + CoSwitchCallContext(pnewobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CoTaskMemAlloc(cb: usize) -> *mut ::core::ffi::c_void { @@ -577,37 +577,37 @@ pub unsafe fn CoUninitialize() { pub unsafe fn CoWaitForMultipleHandles(dwflags: u32, dwtimeout: u32, phandles: &[super::super::Foundation::HANDLE]) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoWaitForMultipleHandles(dwflags : u32, dwtimeout : u32, chandles : u32, phandles : *const super::super::Foundation:: HANDLE, lpdwindex : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoWaitForMultipleHandles(dwflags, dwtimeout, phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__) + CoWaitForMultipleHandles(dwflags, dwtimeout, phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn CoWaitForMultipleObjects(dwflags: u32, dwtimeout: u32, phandles: &[super::super::Foundation::HANDLE]) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoWaitForMultipleObjects(dwflags : u32, dwtimeout : u32, chandles : u32, phandles : *const super::super::Foundation:: HANDLE, lpdwindex : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoWaitForMultipleObjects(dwflags, dwtimeout, phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__) + CoWaitForMultipleObjects(dwflags, dwtimeout, phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).map(|| result__) } #[inline] pub unsafe fn CreateAntiMoniker() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CreateAntiMoniker(ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateAntiMoniker(&mut result__).from_abi(result__) + CreateAntiMoniker(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateBindCtx(reserved: u32) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CreateBindCtx(reserved : u32, ppbc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateBindCtx(reserved, &mut result__).from_abi(result__) + CreateBindCtx(reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateClassMoniker(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CreateClassMoniker(rclsid : *const ::windows_core::GUID, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateClassMoniker(rclsid, &mut result__).from_abi(result__) + CreateClassMoniker(rclsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateDataAdviseHolder() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CreateDataAdviseHolder(ppdaholder : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDataAdviseHolder(&mut result__).from_abi(result__) + CreateDataAdviseHolder(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateDataCache(punkouter: P0, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result @@ -617,7 +617,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateDataCache(punkouter : * mut::core::ffi::c_void, rclsid : *const ::windows_core::GUID, iid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateDataCache(punkouter.into_param().abi(), rclsid, &T::IID, &mut result__).from_abi(result__) + CreateDataCache(punkouter.into_param().abi(), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateFileMoniker(lpszpathname: P0) -> ::windows_core::Result @@ -626,7 +626,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateFileMoniker(lpszpathname : ::windows_core::PCWSTR, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateFileMoniker(lpszpathname.into_param().abi(), &mut result__).from_abi(result__) + CreateFileMoniker(lpszpathname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateGenericComposite(pmkfirst: P0, pmkrest: P1) -> ::windows_core::Result @@ -636,7 +636,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateGenericComposite(pmkfirst : * mut::core::ffi::c_void, pmkrest : * mut::core::ffi::c_void, ppmkcomposite : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateGenericComposite(pmkfirst.into_param().abi(), pmkrest.into_param().abi(), &mut result__).from_abi(result__) + CreateGenericComposite(pmkfirst.into_param().abi(), pmkrest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateIUriBuilder(piuri: P0, dwflags: u32, dwreserved: usize) -> ::windows_core::Result @@ -645,7 +645,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateIUriBuilder(piuri : * mut::core::ffi::c_void, dwflags : u32, dwreserved : usize, ppiuribuilder : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateIUriBuilder(piuri.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__) + CreateIUriBuilder(piuri.into_param().abi(), dwflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateItemMoniker(lpszdelim: P0, lpszitem: P1) -> ::windows_core::Result @@ -655,7 +655,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateItemMoniker(lpszdelim : ::windows_core::PCWSTR, lpszitem : ::windows_core::PCWSTR, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateItemMoniker(lpszdelim.into_param().abi(), lpszitem.into_param().abi(), &mut result__).from_abi(result__) + CreateItemMoniker(lpszdelim.into_param().abi(), lpszitem.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateObjrefMoniker(punk: P0) -> ::windows_core::Result @@ -664,7 +664,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateObjrefMoniker(punk : * mut::core::ffi::c_void, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateObjrefMoniker(punk.into_param().abi(), &mut result__).from_abi(result__) + CreateObjrefMoniker(punk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreatePointerMoniker(punk: P0) -> ::windows_core::Result @@ -673,7 +673,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreatePointerMoniker(punk : * mut::core::ffi::c_void, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreatePointerMoniker(punk.into_param().abi(), &mut result__).from_abi(result__) + CreatePointerMoniker(punk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateStdProgressIndicator(hwndparent: P0, psztitle: P1, pibsccaller: P2) -> ::windows_core::Result @@ -684,7 +684,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn CreateStdProgressIndicator(hwndparent : super::super::Foundation:: HWND, psztitle : ::windows_core::PCWSTR, pibsccaller : * mut::core::ffi::c_void, ppibsc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateStdProgressIndicator(hwndparent.into_param().abi(), psztitle.into_param().abi(), pibsccaller.into_param().abi(), &mut result__).from_abi(result__) + CreateStdProgressIndicator(hwndparent.into_param().abi(), psztitle.into_param().abi(), pibsccaller.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateUri(pwzuri: P0, dwflags: URI_CREATE_FLAGS, dwreserved: usize) -> ::windows_core::Result @@ -693,7 +693,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateUri(pwzuri : ::windows_core::PCWSTR, dwflags : URI_CREATE_FLAGS, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateUri(pwzuri.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__) + CreateUri(pwzuri.into_param().abi(), dwflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateUriFromMultiByteString(pszansiinputuri: P0, dwencodingflags: u32, dwcodepage: u32, dwcreateflags: u32, dwreserved: usize) -> ::windows_core::Result @@ -702,7 +702,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateUriFromMultiByteString(pszansiinputuri : ::windows_core::PCSTR, dwencodingflags : u32, dwcodepage : u32, dwcreateflags : u32, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateUriFromMultiByteString(pszansiinputuri.into_param().abi(), dwencodingflags, dwcodepage, dwcreateflags, dwreserved, &mut result__).from_abi(result__) + CreateUriFromMultiByteString(pszansiinputuri.into_param().abi(), dwencodingflags, dwcodepage, dwcreateflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateUriWithFragment(pwzuri: P0, pwzfragment: P1, dwflags: u32, dwreserved: usize) -> ::windows_core::Result @@ -712,7 +712,7 @@ where { ::windows_targets::link!("urlmon.dll" "system" fn CreateUriWithFragment(pwzuri : ::windows_core::PCWSTR, pwzfragment : ::windows_core::PCWSTR, dwflags : u32, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateUriWithFragment(pwzuri.into_param().abi(), pwzfragment.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__) + CreateUriWithFragment(pwzuri.into_param().abi(), pwzfragment.into_param().abi(), dwflags, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DcomChannelSetHResult(pvreserved: ::core::option::Option<*const ::core::ffi::c_void>, pulreserved: ::core::option::Option<*const u32>, appshr: ::windows_core::HRESULT) -> ::windows_core::Result<()> { @@ -726,19 +726,19 @@ where { ::windows_targets::link!("ole32.dll" "system" fn GetClassFile(szfilename : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetClassFile(szfilename.into_param().abi(), &mut result__).from_abi(result__) + GetClassFile(szfilename.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetErrorInfo(dwreserved: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn GetErrorInfo(dwreserved : u32, pperrinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetErrorInfo(dwreserved, &mut result__).from_abi(result__) + GetErrorInfo(dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn GetRunningObjectTable(reserved: u32) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn GetRunningObjectTable(reserved : u32, pprot : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetRunningObjectTable(reserved, &mut result__).from_abi(result__) + GetRunningObjectTable(reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn IIDFromString(lpsz: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -747,7 +747,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn IIDFromString(lpsz : ::windows_core::PCWSTR, lpiid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IIDFromString(lpsz.into_param().abi(), &mut result__).from_abi(result__) + IIDFromString(lpsz.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn MkParseDisplayName(pbc: P0, szusername: P1, pcheaten: *mut u32, ppmk: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -766,7 +766,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn MonikerCommonPrefixWith(pmkthis : * mut::core::ffi::c_void, pmkother : * mut::core::ffi::c_void, ppmkcommon : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MonikerCommonPrefixWith(pmkthis.into_param().abi(), pmkother.into_param().abi(), &mut result__).from_abi(result__) + MonikerCommonPrefixWith(pmkthis.into_param().abi(), pmkother.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MonikerRelativePathTo(pmksrc: P0, pmkdest: P1, ppmkrelpath: *mut ::core::option::Option, dwreserved: P2) -> ::windows_core::Result<()> @@ -782,7 +782,7 @@ where pub unsafe fn ProgIDFromCLSID(clsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("ole32.dll" "system" fn ProgIDFromCLSID(clsid : *const ::windows_core::GUID, lplpszprogid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ProgIDFromCLSID(clsid, &mut result__).from_abi(result__) + ProgIDFromCLSID(clsid, &mut result__).map(|| result__) } #[inline] pub unsafe fn SetErrorInfo(dwreserved: u32, perrinfo: P0) -> ::windows_core::Result<()> @@ -796,7 +796,7 @@ where pub unsafe fn StringFromCLSID(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("ole32.dll" "system" fn StringFromCLSID(rclsid : *const ::windows_core::GUID, lplpsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StringFromCLSID(rclsid, &mut result__).from_abi(result__) + StringFromCLSID(rclsid, &mut result__).map(|| result__) } #[inline] pub unsafe fn StringFromGUID2(rguid: *const ::windows_core::GUID, lpsz: &mut [u16]) -> i32 { @@ -807,7 +807,7 @@ pub unsafe fn StringFromGUID2(rguid: *const ::windows_core::GUID, lpsz: &mut [u1 pub unsafe fn StringFromIID(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("ole32.dll" "system" fn StringFromIID(rclsid : *const ::windows_core::GUID, lplpsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - StringFromIID(rclsid, &mut result__).from_abi(result__) + StringFromIID(rclsid, &mut result__).map(|| result__) } ::windows_core::imp::com_interface!(AsyncIAdviseSink, AsyncIAdviseSink_Vtbl, 0x00000150_0000_0000_c000_000000000046); ::windows_core::imp::interface_hierarchy!(AsyncIAdviseSink, ::windows_core::IUnknown); @@ -1049,7 +1049,7 @@ pub struct AsyncIUnknown_Vtbl { impl IActivationFilter { pub unsafe fn HandleActivation(&self, dwactivationtype: u32, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandleActivation)(::windows_core::Interface::as_raw(self), dwactivationtype, rclsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandleActivation)(::windows_core::Interface::as_raw(self), dwactivationtype, rclsid, &mut result__).map(|| result__) } } #[repr(C)] @@ -1185,7 +1185,7 @@ impl IAsyncManager { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1216,7 +1216,7 @@ impl IAsyncRpcChannelBuffer { } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Send(&self, pmsg: *mut RPCOLEMESSAGE, psync: P0, pulstatus: *mut u32) -> ::windows_core::Result<()> where @@ -1294,7 +1294,7 @@ impl IBindCtx { } pub unsafe fn GetRunningObjectTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningObjectTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningObjectTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterObjectParam(&self, pszkey: P0, punk: P1) -> ::windows_core::Result<()> where @@ -1308,11 +1308,11 @@ impl IBindCtx { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectParam)(::windows_core::Interface::as_raw(self), pszkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectParam)(::windows_core::Interface::as_raw(self), pszkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumObjectParam(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumObjectParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumObjectParam)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RevokeObjectParam(&self, pszkey: P0) -> ::windows_core::Result<()> where @@ -1382,7 +1382,7 @@ impl IBindStatusCallback { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnLowResource)(::windows_core::Interface::as_raw(self), reserved).ok() @@ -1444,7 +1444,7 @@ impl IBindStatusCallbackEx { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnLowResource)(::windows_core::Interface::as_raw(self), reserved).ok() @@ -1506,7 +1506,7 @@ impl IBinding { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBindResult(&self, pclsidprotocol: *mut ::windows_core::GUID, pdwresult: *mut u32, pszresult: *mut ::windows_core::PWSTR, pdwreserved: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBindResult)(::windows_core::Interface::as_raw(self), pclsidprotocol, pdwresult, pszresult, pdwreserved).ok() @@ -1548,7 +1548,7 @@ impl ICallFactory { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCall)(::windows_core::Interface::as_raw(self), riid, pctrlunk.into_param().abi(), riid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCall)(::windows_core::Interface::as_raw(self), riid, pctrlunk.into_param().abi(), riid2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1579,26 +1579,26 @@ pub struct ICancelMethodCalls_Vtbl { impl ICatInformation { pub unsafe fn EnumCategories(&self, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCategories)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCategories)(::windows_core::Interface::as_raw(self), lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCategoryDesc(&self, rcatid: *const ::windows_core::GUID, lcid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategoryDesc)(::windows_core::Interface::as_raw(self), rcatid, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategoryDesc)(::windows_core::Interface::as_raw(self), rcatid, lcid, &mut result__).map(|| result__) } pub unsafe fn EnumClassesOfCategories(&self, rgcatidimpl: &[::windows_core::GUID], rgcatidreq: &[::windows_core::GUID]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumClassesOfCategories)(::windows_core::Interface::as_raw(self), rgcatidimpl.len().try_into().unwrap(), ::core::mem::transmute(rgcatidimpl.as_ptr()), rgcatidreq.len().try_into().unwrap(), ::core::mem::transmute(rgcatidreq.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumClassesOfCategories)(::windows_core::Interface::as_raw(self), rgcatidimpl.len().try_into().unwrap(), ::core::mem::transmute(rgcatidimpl.as_ptr()), rgcatidreq.len().try_into().unwrap(), ::core::mem::transmute(rgcatidreq.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsClassOfCategories(&self, rclsid: *const ::windows_core::GUID, rgcatidimpl: &[::windows_core::GUID], rgcatidreq: &[::windows_core::GUID]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsClassOfCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatidimpl.len().try_into().unwrap(), ::core::mem::transmute(rgcatidimpl.as_ptr()), rgcatidreq.len().try_into().unwrap(), ::core::mem::transmute(rgcatidreq.as_ptr())).ok() } pub unsafe fn EnumImplCategoriesOfClass(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumImplCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumImplCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumReqCategoriesOfClass(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumReqCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumReqCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1651,7 +1651,7 @@ impl IChannelHook { pub unsafe fn ClientGetSize(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> u32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).ClientGetSize)(::windows_core::Interface::as_raw(self), uextent, riid, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn ClientFillBuffer(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void) { (::windows_core::Interface::vtable(self).ClientFillBuffer)(::windows_core::Interface::as_raw(self), uextent, riid, pdatasize, pdatabuffer) @@ -1665,7 +1665,7 @@ impl IChannelHook { pub unsafe fn ServerGetSize(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, hrfault: ::windows_core::HRESULT) -> u32 { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(self).ServerGetSize)(::windows_core::Interface::as_raw(self), uextent, riid, hrfault, &mut result__); - ::std::mem::transmute(result__) + result__ } pub unsafe fn ServerFillBuffer(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void, hrfault: ::windows_core::HRESULT) { (::windows_core::Interface::vtable(self).ServerFillBuffer)(::windows_core::Interface::as_raw(self), uextent, riid, pdatasize, pdatabuffer, hrfault) @@ -1690,7 +1690,7 @@ impl IClassActivator { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetClassObject)(::windows_core::Interface::as_raw(self), rclsid, dwclasscontext, locale, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassObject)(::windows_core::Interface::as_raw(self), rclsid, dwclasscontext, locale, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1708,7 +1708,7 @@ impl IClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockServer(&self, flock: P0) -> ::windows_core::Result<()> where @@ -1745,7 +1745,7 @@ impl IClientSecurity { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyProxy)(::windows_core::Interface::as_raw(self), pproxy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyProxy)(::windows_core::Interface::as_raw(self), pproxy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1761,15 +1761,15 @@ pub struct IClientSecurity_Vtbl { impl IComThreadingInfo { pub unsafe fn GetCurrentApartmentType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentApartmentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentApartmentType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentLogicalThreadId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLogicalThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLogicalThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentLogicalThreadId(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentLogicalThreadId)(::windows_core::Interface::as_raw(self), rguid).ok() @@ -1789,25 +1789,25 @@ pub struct IComThreadingInfo_Vtbl { impl IConnectionPoint { pub unsafe fn GetConnectionInterface(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnectionPointContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionPointContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionPointContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Advise(&self, punksink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), punksink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), punksink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() } pub unsafe fn EnumConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumConnections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1825,11 +1825,11 @@ pub struct IConnectionPoint_Vtbl { impl IConnectionPointContainer { pub unsafe fn EnumConnectionPoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumConnectionPoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumConnectionPoints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindConnectionPoint(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1856,7 +1856,7 @@ impl IContext { } pub unsafe fn EnumContextProps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumContextProps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumContextProps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1893,14 +1893,14 @@ impl IDataAdviseHolder { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), pfetc, advf, padvise.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), pfetc, advf, padvise.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok() } pub unsafe fn EnumAdvise(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendOnDataChange(&self, pdataobject: P0, dwreserved: u32, advf: u32) -> ::windows_core::Result<()> where @@ -1924,7 +1924,7 @@ impl IDataObject { #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe fn GetData(&self, pformatetcin: *const FORMATETC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), pformatetcin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), pformatetcin, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe fn GetDataHere(&self, pformatetc: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows_core::Result<()> { @@ -1945,21 +1945,21 @@ impl IDataObject { } pub unsafe fn EnumFormatEtc(&self, dwdirection: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFormatEtc)(::windows_core::Interface::as_raw(self), dwdirection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFormatEtc)(::windows_core::Interface::as_raw(self), dwdirection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DAdvise(&self, pformatetc: *const FORMATETC, advf: u32, padvsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DAdvise)(::windows_core::Interface::as_raw(self), pformatetc, advf, padvsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DAdvise)(::windows_core::Interface::as_raw(self), pformatetc, advf, padvsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DUnadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DUnadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok() } pub unsafe fn EnumDAdvise(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDAdvise)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1990,11 +1990,11 @@ pub struct IDataObject_Vtbl { impl IDispatch { pub unsafe fn GetTypeInfoCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), itinfo, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), itinfo, lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows_core::GUID, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, rgdispid).ok() @@ -2026,7 +2026,7 @@ impl IEnumCATEGORYINFO { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2052,7 +2052,7 @@ impl IEnumConnectionPoints { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2078,7 +2078,7 @@ impl IEnumConnections { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2104,11 +2104,11 @@ impl IEnumContextProps { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2135,7 +2135,7 @@ impl IEnumFORMATETC { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2161,7 +2161,7 @@ impl IEnumGUID { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2187,7 +2187,7 @@ impl IEnumMoniker { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2213,7 +2213,7 @@ impl IEnumSTATDATA { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2239,7 +2239,7 @@ impl IEnumString { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2265,7 +2265,7 @@ impl IEnumUnknown { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2282,23 +2282,23 @@ pub struct IEnumUnknown_Vtbl { impl IErrorInfo { pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHelpFile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHelpContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2376,7 +2376,7 @@ impl IGlobalInterfaceTable { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterInterfaceInGlobal)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterInterfaceInGlobal)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), riid, &mut result__).map(|| result__) } pub unsafe fn RevokeInterfaceFromGlobal(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RevokeInterfaceFromGlobal)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -2401,7 +2401,7 @@ impl IGlobalOptions { } pub unsafe fn Query(&self, dwproperty: GLOBALOPT_PROPERTIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).map(|| result__) } } #[repr(C)] @@ -2458,7 +2458,7 @@ impl IMachineGlobalObjectTable { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), object.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), object.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetObject(&self, clsid: *const ::windows_core::GUID, identifier: P0) -> ::windows_core::Result where @@ -2466,7 +2466,7 @@ impl IMachineGlobalObjectTable { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RevokeObject(&self, token: P0) -> ::windows_core::Result<()> where @@ -2602,7 +2602,7 @@ pub struct IMallocSpy_Vtbl { impl IMoniker { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).base__.IsDirty)(::windows_core::Interface::as_raw(self)) @@ -2622,7 +2622,7 @@ impl IMoniker { } pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BindToObject(&self, pbc: P0, pmktoleft: P1, riidresult: *const ::windows_core::GUID, ppvresult: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -2650,14 +2650,14 @@ impl IMoniker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComposeWith)(::windows_core::Interface::as_raw(self), pmkright.into_param().abi(), fonlyifnotgeneric.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComposeWith)(::windows_core::Interface::as_raw(self), pmkright.into_param().abi(), fonlyifnotgeneric.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enum(&self, fforward: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), fforward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), fforward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEqual(&self, pmkothermoniker: P0) -> ::windows_core::HRESULT where @@ -2667,7 +2667,7 @@ impl IMoniker { } pub unsafe fn Hash(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsRunning(&self, pbc: P0, pmktoleft: P1, pmknewlyrunning: P2) -> ::windows_core::Result<()> where @@ -2683,25 +2683,25 @@ impl IMoniker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Inverse(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Inverse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Inverse)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommonPrefixWith(&self, pmkother: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommonPrefixWith)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommonPrefixWith)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RelativePathTo(&self, pmkother: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RelativePathTo)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RelativePathTo)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayName(&self, pbc: P0, pmktoleft: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -2709,7 +2709,7 @@ impl IMoniker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ParseDisplayName(&self, pbc: P0, pmktoleft: P1, pszdisplayname: P2, pcheaten: *mut u32, ppmkout: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -2721,7 +2721,7 @@ impl IMoniker { } pub unsafe fn IsSystemMoniker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSystemMoniker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSystemMoniker)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2774,7 +2774,7 @@ impl IOplockStorage { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenStorageEx(&self, pwcsname: P0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows_core::Result where @@ -2782,7 +2782,7 @@ impl IOplockStorage { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2806,7 +2806,7 @@ impl IPSFactoryBuffer { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStub)(::windows_core::Interface::as_raw(self), riid, punkserver.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStub)(::windows_core::Interface::as_raw(self), riid, punkserver.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2821,7 +2821,7 @@ pub struct IPSFactoryBuffer_Vtbl { impl IPersist { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2835,7 +2835,7 @@ pub struct IPersist_Vtbl { impl IPersistFile { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -2861,7 +2861,7 @@ impl IPersistFile { } pub unsafe fn GetCurFile(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurFile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2879,7 +2879,7 @@ pub struct IPersistFile_Vtbl { impl IPersistMemory { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -2895,7 +2895,7 @@ impl IPersistMemory { } pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -2916,7 +2916,7 @@ pub struct IPersistMemory_Vtbl { impl IPersistStream { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -2936,7 +2936,7 @@ impl IPersistStream { } pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2953,7 +2953,7 @@ pub struct IPersistStream_Vtbl { impl IPersistStreamInit { pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self)) @@ -2973,7 +2973,7 @@ impl IPersistStreamInit { } pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -3165,7 +3165,7 @@ impl IRpcChannelBuffer2 { } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3194,7 +3194,7 @@ impl IRpcChannelBuffer3 { } pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Send(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Send)(::windows_core::Interface::as_raw(self), pmsg, pulstatus).ok() @@ -3213,7 +3213,7 @@ impl IRpcChannelBuffer3 { } pub unsafe fn GetState(&self, pmsg: *const RPCOLEMESSAGE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), pmsg, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), pmsg, &mut result__).map(|| result__) } pub unsafe fn RegisterAsync(&self, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: P0) -> ::windows_core::Result<()> where @@ -3239,11 +3239,11 @@ pub struct IRpcChannelBuffer3_Vtbl { impl IRpcHelper { pub unsafe fn GetDCOMProtocolVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDCOMProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDCOMProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIIDFromOBJREF(&self, pobjref: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut ::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIIDFromOBJREF)(::windows_core::Interface::as_raw(self), pobjref, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIIDFromOBJREF)(::windows_core::Interface::as_raw(self), pobjref, &mut result__).map(|| result__) } } #[repr(C)] @@ -3267,7 +3267,7 @@ impl IRpcOptions { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pprx.into_param().abi(), dwproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pprx.into_param().abi(), dwproperty, &mut result__).map(|| result__) } } #[repr(C)] @@ -3358,7 +3358,7 @@ pub struct IRpcSyntaxNegotiate_Vtbl { impl IRunnableObject { pub unsafe fn GetRunningClass(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Run(&self, pbc: P0) -> ::windows_core::Result<()> where @@ -3402,7 +3402,7 @@ impl IRunningObjectTable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), grfflags, punkobject.into_param().abi(), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), grfflags, punkobject.into_param().abi(), pmkobjectname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Revoke(&self, dwregister: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Revoke)(::windows_core::Interface::as_raw(self), dwregister).ok() @@ -3418,7 +3418,7 @@ impl IRunningObjectTable { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NoteChangeTime(&self, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NoteChangeTime)(::windows_core::Interface::as_raw(self), dwregister, pfiletime).ok() @@ -3428,11 +3428,11 @@ impl IRunningObjectTable { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnumRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRunning)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3497,7 +3497,7 @@ impl IServiceProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryService)(::windows_core::Interface::as_raw(self), guidservice, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3511,7 +3511,7 @@ pub struct IServiceProvider_Vtbl { impl IStdMarshalInfo { pub unsafe fn GetClassForHandler(&self, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassForHandler)(::windows_core::Interface::as_raw(self), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassForHandler)(::windows_core::Interface::as_raw(self), dwdestcontext, ::core::mem::transmute(pvdestcontext.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } } #[repr(C)] @@ -3558,7 +3558,7 @@ impl IStream { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3621,7 +3621,7 @@ impl ISurrogateService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Init)(::windows_core::Interface::as_raw(self), rguidprocessid, pprocesslock.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Init)(::windows_core::Interface::as_raw(self), rguidprocessid, pprocesslock.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ApplicationLaunch(&self, rguidapplid: *const ::windows_core::GUID, apptype: ApplicationType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ApplicationLaunch)(::windows_core::Interface::as_raw(self), rguidapplid, apptype).ok() @@ -3678,7 +3678,7 @@ impl ISynchronizeContainer { } pub unsafe fn WaitMultiple(&self, dwflags: u32, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), dwflags, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), dwflags, dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3693,7 +3693,7 @@ pub struct ISynchronizeContainer_Vtbl { impl ISynchronizeEvent { pub unsafe fn GetHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventHandle(&self, ph: *const super::super::Foundation::HANDLE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventHandle)(::windows_core::Interface::as_raw(self), ph).ok() @@ -3710,7 +3710,7 @@ pub struct ISynchronizeEvent_Vtbl { impl ISynchronizeHandle { pub unsafe fn GetHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3787,32 +3787,32 @@ impl ITypeInfo { #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetTypeAttr(&self) -> ::windows_core::Result<*mut TYPEATTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetFuncDesc(&self, index: u32) -> ::windows_core::Result<*mut FUNCDESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetVarDesc(&self, index: u32) -> ::windows_core::Result<*mut VARDESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetNames(&self, memid: i32, rgbstrnames: &mut [::windows_core::BSTR], pcnames: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(rgbstrnames.as_ptr()), rgbstrnames.len().try_into().unwrap(), pcnames).ok() } pub unsafe fn GetRefTypeOfImplType(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetImplTypeFlags(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetIDsOfNames(&self, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, pmemid: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIDsOfNames)(::windows_core::Interface::as_raw(self), rgsznames, cnames, pmemid).ok() @@ -3828,7 +3828,7 @@ impl ITypeInfo { } pub unsafe fn GetRefTypeInfo(&self, hreftype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddressOfMember(&self, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddressOfMember)(::windows_core::Interface::as_raw(self), memid, invkind, ppv).ok() @@ -3839,11 +3839,11 @@ impl ITypeInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMops(&self, memid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingTypeLib(&self, pptlib: *mut ::core::option::Option, pindex: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetContainingTypeLib)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pptlib), pindex).ok() @@ -3909,32 +3909,32 @@ impl ITypeInfo2 { #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetTypeAttr(&self) -> ::windows_core::Result<*mut TYPEATTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetFuncDesc(&self, index: u32) -> ::windows_core::Result<*mut FUNCDESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetVarDesc(&self, index: u32) -> ::windows_core::Result<*mut VARDESC> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetNames(&self, memid: i32, rgbstrnames: &mut [::windows_core::BSTR], pcnames: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetNames)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(rgbstrnames.as_ptr()), rgbstrnames.len().try_into().unwrap(), pcnames).ok() } pub unsafe fn GetRefTypeOfImplType(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetImplTypeFlags(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetIDsOfNames(&self, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, pmemid: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIDsOfNames)(::windows_core::Interface::as_raw(self), rgsznames, cnames, pmemid).ok() @@ -3950,7 +3950,7 @@ impl ITypeInfo2 { } pub unsafe fn GetRefTypeInfo(&self, hreftype: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddressOfMember(&self, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AddressOfMember)(::windows_core::Interface::as_raw(self), memid, invkind, ppv).ok() @@ -3961,11 +3961,11 @@ impl ITypeInfo2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMops(&self, memid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingTypeLib(&self, pptlib: *mut ::core::option::Option, pindex: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetContainingTypeLib)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pptlib), pindex).ok() @@ -3984,62 +3984,62 @@ impl ITypeInfo2 { } pub unsafe fn GetTypeKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFuncIndexOfMemId(&self, memid: i32, invkind: INVOKEKIND) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFuncIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, invkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFuncIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, invkind, &mut result__).map(|| result__) } pub unsafe fn GetVarIndexOfMemId(&self, memid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVarIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVarIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, &mut result__).map(|| result__) } pub unsafe fn GetCustData(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFuncCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFuncCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFuncCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParamCustData(&self, indexfunc: u32, indexparam: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVarCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVarCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVarCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetImplTypeCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplTypeCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplTypeCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentation2(&self, memid: i32, lcid: u32, pbstrhelpstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpstringcontext: *mut u32, pbstrhelpstringdll: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDocumentation2)(::windows_core::Interface::as_raw(self), memid, lcid, ::core::mem::transmute(pbstrhelpstring.unwrap_or(::std::ptr::null_mut())), pdwhelpstringcontext, ::core::mem::transmute(pbstrhelpstringdll.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetAllCustData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAllFuncCustData(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllFuncCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllFuncCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetAllParamCustData(&self, indexfunc: u32, indexparam: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, &mut result__).map(|| result__) } pub unsafe fn GetAllVarCustData(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllVarCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllVarCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetAllImplTypeCustData(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllImplTypeCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllImplTypeCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } } #[repr(C)] @@ -4070,23 +4070,23 @@ impl ITypeLib { } pub unsafe fn GetTypeInfo(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTypeInfoType(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetTypeInfoOfGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLibAttr(&self) -> ::windows_core::Result<*mut TLIBATTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentation(&self, index: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDocumentation)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4124,23 +4124,23 @@ impl ITypeLib2 { } pub unsafe fn GetTypeInfo(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTypeInfoType(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetTypeInfoOfGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLibAttr(&self) -> ::windows_core::Result<*mut TLIBATTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentation(&self, index: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDocumentation)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4156,7 +4156,7 @@ impl ITypeLib2 { } pub unsafe fn GetCustData(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLibStatistics(&self, pcuniquenames: *mut u32, pcchuniquenames: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLibStatistics)(::windows_core::Interface::as_raw(self), pcuniquenames, pcchuniquenames).ok() @@ -4166,7 +4166,7 @@ impl ITypeLib2 { } pub unsafe fn GetAllCustData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4183,35 +4183,35 @@ pub struct ITypeLib2_Vtbl { impl ITypeLibRegistration { pub unsafe fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLcid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLcid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLcid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWin32Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWin32Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWin32Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWin64Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWin64Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWin64Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHelpDir(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpDir)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4232,7 +4232,7 @@ pub struct ITypeLibRegistration_Vtbl { impl ITypeLibRegistrationReader { pub unsafe fn EnumTypeLibRegistrations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTypeLibRegistrations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTypeLibRegistrations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4255,94 +4255,94 @@ impl IUri { } pub unsafe fn HasProperty(&self, uriprop: Uri_PROPERTY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).map(|| result__) } pub unsafe fn GetAbsoluteUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAuthority(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFragment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHost(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHost)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPassword(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPathAndQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRawUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSchemeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHostType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScheme(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetZone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetZone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, puri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -4380,19 +4380,19 @@ pub struct IUri_Vtbl { impl IUriBuilder { pub unsafe fn CreateUriSimple(&self, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUriSimple)(::windows_core::Interface::as_raw(self), dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUriSimple)(::windows_core::Interface::as_raw(self), dwallowencodingpropertymask, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateUri(&self, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUri)(::windows_core::Interface::as_raw(self), dwcreateflags, dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUri)(::windows_core::Interface::as_raw(self), dwcreateflags, dwallowencodingpropertymask, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateUriWithFlags(&self, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUriWithFlags)(::windows_core::Interface::as_raw(self), dwcreateflags, dwuribuilderflags, dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUriWithFlags)(::windows_core::Interface::as_raw(self), dwcreateflags, dwuribuilderflags, dwallowencodingpropertymask, dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIUri(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIUri(&self, piuri: P0) -> ::windows_core::Result<()> where @@ -4477,7 +4477,7 @@ impl IUriBuilder { } pub unsafe fn HasBeenModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasBeenModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasBeenModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4532,7 +4532,7 @@ pub struct IUrlMon_Vtbl { impl IWaitMultiple { pub unsafe fn WaitMultiple(&self, timeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), timeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), timeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSynchronize(&self, psync: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/ComponentServices/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ComponentServices/mod.rs index 6c6a5de2d4..2e349b6ae4 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ComponentServices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ComponentServices/mod.rs @@ -32,7 +32,7 @@ where pub unsafe fn GetDispenserManager() -> ::windows_core::Result { ::windows_targets::link!("mtxdm.dll" "cdecl" fn GetDispenserManager(param0 : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetDispenserManager(&mut result__).from_abi(result__) + GetDispenserManager(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn GetManagedExtensions(dwexts: *mut u32) -> ::windows_core::Result<()> { @@ -65,23 +65,23 @@ where impl ContextInfo { pub unsafe fn IsInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransaction(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransactionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransactionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -103,35 +103,35 @@ pub struct ContextInfo_Vtbl { impl ContextInfo2 { pub unsafe fn IsInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransaction(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransactionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransactionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetActivityId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetActivityId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContextId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContextId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartitionId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartitionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartitionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetApplicationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetApplicationInstanceId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -184,7 +184,7 @@ impl IAssemblyLocator { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModules)(::windows_core::Interface::as_raw(self), applicationdir.into_param().abi(), applicationname.into_param().abi(), assemblyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModules)(::windows_core::Interface::as_raw(self), applicationdir.into_param().abi(), applicationname.into_param().abi(), assemblyname.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -222,7 +222,7 @@ impl ICOMAdminCatalog { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Connect(&self, bstrcatalogservername: P0) -> ::windows_core::Result @@ -230,15 +230,15 @@ impl ICOMAdminCatalog { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), bstrcatalogservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), bstrcatalogservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCollectionByQuery(&self, bstrcollname: P0, ppsavarquery: *const *const super::Com::SAFEARRAY) -> ::windows_core::Result @@ -246,7 +246,7 @@ impl ICOMAdminCatalog { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), ppsavarquery, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), ppsavarquery, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImportComponent(&self, bstrapplidorname: P0, bstrclsidorprogid: P1) -> ::windows_core::Result<()> where @@ -346,7 +346,7 @@ impl ICOMAdminCatalog { } pub unsafe fn ServiceCheck(&self, lservice: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceCheck)(::windows_core::Interface::as_raw(self), lservice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceCheck)(::windows_core::Interface::as_raw(self), lservice, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallMultipleEventClasses(&self, bstrapplidorname: P0, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -440,7 +440,7 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Connect(&self, bstrcatalogservername: P0) -> ::windows_core::Result @@ -448,15 +448,15 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Connect)(::windows_core::Interface::as_raw(self), bstrcatalogservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Connect)(::windows_core::Interface::as_raw(self), bstrcatalogservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCollectionByQuery(&self, bstrcollname: P0, ppsavarquery: *const *const super::Com::SAFEARRAY) -> ::windows_core::Result @@ -464,7 +464,7 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), ppsavarquery, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCollectionByQuery)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), ppsavarquery, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImportComponent(&self, bstrapplidorname: P0, bstrclsidorprogid: P1) -> ::windows_core::Result<()> where @@ -564,7 +564,7 @@ impl ICOMAdminCatalog2 { } pub unsafe fn ServiceCheck(&self, lservice: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceCheck)(::windows_core::Interface::as_raw(self), lservice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceCheck)(::windows_core::Interface::as_raw(self), lservice, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallMultipleEventClasses(&self, bstrapplidorname: P0, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -595,11 +595,11 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCollectionByQuery2)(::windows_core::Interface::as_raw(self), bstrcollectionname.into_param().abi(), ::core::mem::transmute(pvarquerystrings), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCollectionByQuery2)(::windows_core::Interface::as_raw(self), bstrcollectionname.into_param().abi(), ::core::mem::transmute(pvarquerystrings), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetApplicationInstanceIDFromProcessID(&self, lprocessid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationInstanceIDFromProcessID)(::windows_core::Interface::as_raw(self), lprocessid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationInstanceIDFromProcessID)(::windows_core::Interface::as_raw(self), lprocessid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShutdownApplicationInstances(&self, pvarapplicationinstanceid: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShutdownApplicationInstances)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarapplicationinstanceid)).ok() @@ -615,7 +615,7 @@ impl ICOMAdminCatalog2 { } pub unsafe fn AreApplicationInstancesPaused(&self, pvarapplicationinstanceid: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreApplicationInstancesPaused)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarapplicationinstanceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreApplicationInstancesPaused)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarapplicationinstanceid), &mut result__).map(|| result__) } pub unsafe fn DumpApplicationInstance(&self, bstrapplicationinstanceid: P0, bstrdirectory: P1, lmaximages: i32) -> ::windows_core::Result<::windows_core::BSTR> where @@ -623,11 +623,11 @@ impl ICOMAdminCatalog2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DumpApplicationInstance)(::windows_core::Interface::as_raw(self), bstrapplicationinstanceid.into_param().abi(), bstrdirectory.into_param().abi(), lmaximages, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DumpApplicationInstance)(::windows_core::Interface::as_raw(self), bstrapplicationinstanceid.into_param().abi(), bstrdirectory.into_param().abi(), lmaximages, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsApplicationInstanceDumpSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsApplicationInstanceDumpSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsApplicationInstanceDumpSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateServiceForApplication(&self, bstrapplicationidorname: P0, bstrservicename: P1, bstrstarttype: P2, bstrerrorcontrol: P3, bstrdependencies: P4, bstrrunas: P5, bstrpassword: P6, bdesktopok: P7) -> ::windows_core::Result<()> where @@ -653,14 +653,14 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartitionID)(::windows_core::Interface::as_raw(self), bstrapplicationidorname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartitionID)(::windows_core::Interface::as_raw(self), bstrapplicationidorname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPartitionName(&self, bstrapplicationidorname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPartitionName)(::windows_core::Interface::as_raw(self), bstrapplicationidorname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPartitionName)(::windows_core::Interface::as_raw(self), bstrapplicationidorname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentPartition(&self, bstrpartitionidorname: P0) -> ::windows_core::Result<()> where @@ -670,15 +670,15 @@ impl ICOMAdminCatalog2 { } pub unsafe fn CurrentPartitionID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPartitionID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPartitionID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentPartitionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPartitionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPartitionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GlobalPartitionID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GlobalPartitionID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GlobalPartitionID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FlushPartitionCache(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FlushPartitionCache)(::windows_core::Interface::as_raw(self)).ok() @@ -719,7 +719,7 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSafeToDelete)(::windows_core::Interface::as_raw(self), bstrdllname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSafeToDelete)(::windows_core::Interface::as_raw(self), bstrdllname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ImportUnconfiguredComponents(&self, bstrapplicationidorname: P0, pvarclsidorprogid: *const ::windows_core::VARIANT, pvarcomponenttype: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -741,7 +741,7 @@ impl ICOMAdminCatalog2 { } pub unsafe fn Is64BitCatalogServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Is64BitCatalogServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Is64BitCatalogServer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExportPartition(&self, bstrpartitionidorname: P0, bstrpartitionfilename: P1, loptions: COMAdminApplicationExportOptions) -> ::windows_core::Result<()> where @@ -766,14 +766,14 @@ impl ICOMAdminCatalog2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryApplicationFile2)(::windows_core::Interface::as_raw(self), bstrapplicationfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryApplicationFile2)(::windows_core::Interface::as_raw(self), bstrapplicationfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetComponentVersionCount(&self, bstrclsidorprogid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentVersionCount)(::windows_core::Interface::as_raw(self), bstrclsidorprogid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentVersionCount)(::windows_core::Interface::as_raw(self), bstrclsidorprogid.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -852,16 +852,16 @@ pub struct ICOMLBArguments_Vtbl { impl ICatalogCollection { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Remove(&self, lindex: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), lindex).ok() @@ -869,14 +869,14 @@ impl ICatalogCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Populate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Populate)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn SaveChanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveChanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveChanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCollection(&self, bstrcollname: P0, varobjectkey: P1) -> ::windows_core::Result @@ -885,32 +885,32 @@ impl ICatalogCollection { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), varobjectkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), varobjectkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoveEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoveEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUtilInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUtilInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUtilInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DataStoreMajorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataStoreMajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataStoreMajorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DataStoreMinorVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataStoreMinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataStoreMinorVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PopulateByKey(&self, psakeys: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -971,7 +971,7 @@ impl ICatalogObject { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Value(&self, bstrpropname: P0, val: P1) -> ::windows_core::Result<()> where @@ -982,29 +982,29 @@ impl ICatalogObject { } pub unsafe fn Key(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPropertyReadOnly(&self, bstrpropname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPropertyReadOnly)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPropertyReadOnly)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Valid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Valid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPropertyWriteOnly(&self, bstrpropname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPropertyWriteOnly)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPropertyWriteOnly)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1356,14 +1356,14 @@ impl IComMtaThreadPoolKnobs { } pub unsafe fn MTAGetMaxThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MTAGetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MTAGetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MTASetThrottleValue(&self, dwthrottle: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MTASetThrottleValue)(::windows_core::Interface::as_raw(self), dwthrottle).ok() } pub unsafe fn MTAGetThrottleValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MTAGetThrottleValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MTAGetThrottleValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1634,36 +1634,36 @@ impl IComStaThreadPoolKnobs { } pub unsafe fn GetMinThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMinThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMinThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxThreadCount(&self, maxthreads: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxThreadCount)(::windows_core::Interface::as_raw(self), maxthreads).ok() } pub unsafe fn GetMaxThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActivityPerThread(&self, activitiesperthread: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActivityPerThread)(::windows_core::Interface::as_raw(self), activitiesperthread).ok() } pub unsafe fn GetActivityPerThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityPerThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityPerThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActivityRatio(&self, activityratio: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActivityRatio)(::windows_core::Interface::as_raw(self), activityratio).ok() } pub unsafe fn GetActivityRatio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityRatio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityRatio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQueueDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQueueDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQueueDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueueDepth(&self, dwqdepth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQueueDepth)(::windows_core::Interface::as_raw(self), dwqdepth).ok() @@ -1693,50 +1693,50 @@ impl IComStaThreadPoolKnobs2 { } pub unsafe fn GetMinThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMinThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMinThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxThreadCount(&self, maxthreads: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxThreadCount)(::windows_core::Interface::as_raw(self), maxthreads).ok() } pub unsafe fn GetMaxThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMaxThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActivityPerThread(&self, activitiesperthread: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetActivityPerThread)(::windows_core::Interface::as_raw(self), activitiesperthread).ok() } pub unsafe fn GetActivityPerThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetActivityPerThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetActivityPerThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActivityRatio(&self, activityratio: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetActivityRatio)(::windows_core::Interface::as_raw(self), activityratio).ok() } pub unsafe fn GetActivityRatio(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetActivityRatio)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetActivityRatio)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThreadCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetQueueDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQueueDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQueueDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueueDepth(&self, dwqdepth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetQueueDepth)(::windows_core::Interface::as_raw(self), dwqdepth).ok() } pub unsafe fn GetMaxCPULoad(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxCPULoad)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxCPULoad)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxCPULoad(&self, pdwload: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxCPULoad)(::windows_core::Interface::as_raw(self), pdwload).ok() } pub unsafe fn GetCPUMetricEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCPUMetricEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCPUMetricEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCPUMetricEnabled(&self, bmetricenabled: P0) -> ::windows_core::Result<()> where @@ -1746,7 +1746,7 @@ impl IComStaThreadPoolKnobs2 { } pub unsafe fn GetCreateThreadsAggressively(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCreateThreadsAggressively)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCreateThreadsAggressively)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreateThreadsAggressively(&self, bmetricenabled: P0) -> ::windows_core::Result<()> where @@ -1756,14 +1756,14 @@ impl IComStaThreadPoolKnobs2 { } pub unsafe fn GetMaxCSR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxCSR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxCSR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxCSR(&self, dwcsr: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxCSR)(::windows_core::Interface::as_raw(self), dwcsr).ok() } pub unsafe fn GetWaitTimeForThreadCleanup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWaitTimeForThreadCleanup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWaitTimeForThreadCleanup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWaitTimeForThreadCleanup(&self, dwthreadcleanupwaittime: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWaitTimeForThreadCleanup)(::windows_core::Interface::as_raw(self), dwthreadcleanupwaittime).ok() @@ -1842,11 +1842,11 @@ pub struct IComThreadEvents_Vtbl { impl IComTrackingInfoCollection { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Item(&self, ulindex: u32, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ulindex, riid, ppv).ok() @@ -1884,7 +1884,7 @@ impl IComTrackingInfoObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), szpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), szpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1898,11 +1898,11 @@ pub struct IComTrackingInfoObject_Vtbl { impl IComTrackingInfoProperties { pub unsafe fn PropCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropName(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropName)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropName)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -2001,7 +2001,7 @@ impl IContextProperties { } pub unsafe fn EnumNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, name: P0, property: P1) -> ::windows_core::Result<()> where @@ -2100,7 +2100,7 @@ impl ICreateWithTipTransactionEx { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), bstrtipurl.into_param().abi(), rclsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), bstrtipurl.into_param().abi(), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2119,7 +2119,7 @@ impl ICreateWithTransactionEx { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), ptransaction.into_param().abi(), rclsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), ptransaction.into_param().abi(), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2146,11 +2146,11 @@ impl ICrmCompensator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PrepareRecord(&self, crmlogrec: CrmLogRecordRead) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrepareRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrepareRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).map(|| result__) } pub unsafe fn EndPrepare(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndPrepare)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndPrepare)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginCommit(&self, frecovery: P0) -> ::windows_core::Result<()> where @@ -2161,7 +2161,7 @@ impl ICrmCompensator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CommitRecord(&self, crmlogrec: CrmLogRecordRead) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).map(|| result__) } pub unsafe fn EndCommit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndCommit)(::windows_core::Interface::as_raw(self)).ok() @@ -2175,7 +2175,7 @@ impl ICrmCompensator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AbortRecord(&self, crmlogrec: CrmLogRecordRead) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AbortRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AbortRecord)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).map(|| result__) } pub unsafe fn EndAbort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndAbort)(::windows_core::Interface::as_raw(self)).ok() @@ -2219,11 +2219,11 @@ impl ICrmCompensatorVariants { } pub unsafe fn PrepareRecordVariants(&self, plogrecord: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrepareRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrepareRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).map(|| result__) } pub unsafe fn EndPrepareVariants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndPrepareVariants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndPrepareVariants)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginCommitVariants(&self, brecovery: P0) -> ::windows_core::Result<()> where @@ -2233,7 +2233,7 @@ impl ICrmCompensatorVariants { } pub unsafe fn CommitRecordVariants(&self, plogrecord: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).map(|| result__) } pub unsafe fn EndCommitVariants(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndCommitVariants)(::windows_core::Interface::as_raw(self)).ok() @@ -2246,7 +2246,7 @@ impl ICrmCompensatorVariants { } pub unsafe fn AbortRecordVariants(&self, plogrecord: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AbortRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AbortRecordVariants)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plogrecord), &mut result__).map(|| result__) } pub unsafe fn EndAbortVariants(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndAbortVariants)(::windows_core::Interface::as_raw(self)).ok() @@ -2272,23 +2272,23 @@ pub struct ICrmCompensatorVariants_Vtbl { impl ICrmFormatLogRecords { pub unsafe fn GetColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnHeaders(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetColumn(&self, crmlogrec: CrmLogRecordRead) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(crmlogrec), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColumnVariants(&self, logrecord: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnVariants)(::windows_core::Interface::as_raw(self), logrecord.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnVariants)(::windows_core::Interface::as_raw(self), logrecord.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2308,7 +2308,7 @@ pub struct ICrmFormatLogRecords_Vtbl { impl ICrmLogControl { pub unsafe fn TransactionUOW(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionUOW)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionUOW)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterCompensator(&self, lpcwstrprogidcompensator: P0, lpcwstrdescription: P1, lcrmregflags: i32) -> ::windows_core::Result<()> where @@ -2355,14 +2355,14 @@ impl ICrmMonitor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClerks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClerks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClerks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HoldClerk(&self, index: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HoldClerk)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HoldClerk)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2386,43 +2386,43 @@ impl ICrmMonitorClerks { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProgIdCompensator(&self, index: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProgIdCompensator)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProgIdCompensator)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self, index: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionUOW(&self, index: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionUOW)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionUOW)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivityId(&self, index: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivityId)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivityId)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2443,15 +2443,15 @@ pub struct ICrmMonitorClerks_Vtbl { impl ICrmMonitorLogRecords { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransactionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StructuredRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StructuredRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StructuredRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetLogRecord(&self, dwindex: u32, pcrmlogrec: *mut CrmLogRecordRead) -> ::windows_core::Result<()> { @@ -2462,7 +2462,7 @@ impl ICrmMonitorLogRecords { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogRecordVariants)(::windows_core::Interface::as_raw(self), indexnumber.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogRecordVariants)(::windows_core::Interface::as_raw(self), indexnumber.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2523,7 +2523,7 @@ impl IDispenserManager { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterDispenser)(::windows_core::Interface::as_raw(self), __midl__idispensermanager0000.into_param().abi(), szdispensername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterDispenser)(::windows_core::Interface::as_raw(self), __midl__idispensermanager0000.into_param().abi(), szdispensername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContext(&self, __midl__idispensermanager0002: *mut usize, __midl__idispensermanager0003: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), __midl__idispensermanager0002, __midl__idispensermanager0003).ok() @@ -2550,7 +2550,7 @@ impl IEnumNames { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2615,11 +2615,11 @@ impl IGetAppTrackerData { } pub unsafe fn GetTrackerDataAsCollectionObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrackerDataAsCollectionObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrackerDataAsCollectionObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSuggestedPollingInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSuggestedPollingInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSuggestedPollingInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2648,7 +2648,7 @@ impl IGetContextProperties { } pub unsafe fn EnumNames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumNames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2668,7 +2668,7 @@ impl IGetSecurityCallContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityCallContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityCallContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityCallContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2817,7 +2817,7 @@ pub struct IMTSCall_Vtbl { impl IMTSLocator { pub unsafe fn GetEventDispatcher(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventDispatcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventDispatcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2856,11 +2856,11 @@ pub struct IManagedActivationEvents_Vtbl { impl IManagedObjectInfo { pub unsafe fn GetIUnknown(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIUnknown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIUnknown)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIObjectControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIObjectControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIObjectControl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInPool(&self, binpool: P0, ppooledobj: P1) -> ::windows_core::Result<()> where @@ -2922,7 +2922,7 @@ pub struct IManagedPooledObj_Vtbl { impl IMessageMover { pub unsafe fn SourcePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourcePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourcePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSourcePath(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2932,7 +2932,7 @@ impl IMessageMover { } pub unsafe fn DestPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDestPath(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2942,14 +2942,14 @@ impl IMessageMover { } pub unsafe fn CommitBatchSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommitBatchSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommitBatchSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCommitBatchSize(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCommitBatchSize)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn MoveMessages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveMessages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveMessages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2973,26 +2973,26 @@ pub struct IMessageMover_Vtbl { impl IMtsEventInfo { pub unsafe fn Names(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Names)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Names)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EventID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Value(&self, skey: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), skey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), skey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3014,22 +3014,22 @@ pub struct IMtsEventInfo_Vtbl { impl IMtsEvents { pub unsafe fn PackageName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PackageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PackageName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PackageGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PackageGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PackageGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PostEvent(&self, vevent: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PostEvent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(vevent)).ok() } pub unsafe fn FireEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FireEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FireEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3051,11 +3051,11 @@ pub struct IMtsEvents_Vtbl { impl IMtsGrp { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -3212,7 +3212,7 @@ impl IObjectContextInfo { } pub unsafe fn GetTransaction(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransactionId(&self, pguid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransactionId)(::windows_core::Interface::as_raw(self), pguid).ok() @@ -3242,7 +3242,7 @@ impl IObjectContextInfo2 { } pub unsafe fn GetTransaction(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransactionId(&self, pguid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetTransactionId)(::windows_core::Interface::as_raw(self), pguid).ok() @@ -3370,36 +3370,36 @@ pub struct IProcessInitializer_Vtbl { impl ISecurityCallContext { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCallerInRole(&self, bstrrole: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCallerInRole)(::windows_core::Interface::as_raw(self), bstrrole.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCallerInRole)(::windows_core::Interface::as_raw(self), bstrrole.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSecurityEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUserInRole(&self, puser: *const ::windows_core::VARIANT, bstrrole: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUserInRole)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(puser), bstrrole.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUserInRole)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(puser), bstrrole.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3422,16 +3422,16 @@ pub struct ISecurityCallContext_Vtbl { impl ISecurityCallersColl { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3454,18 +3454,18 @@ pub struct ISecurityCallersColl_Vtbl { impl ISecurityIdentityColl { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3710,7 +3710,7 @@ impl IServicePoolConfig { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClassFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassFactory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3936,7 +3936,7 @@ pub struct IServiceTransactionConfigBase_Vtbl { impl ISharedProperty { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, val: P0) -> ::windows_core::Result<()> where @@ -3966,7 +3966,7 @@ impl ISharedPropertyGroup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_PropertyByPosition(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PropertyByPosition)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PropertyByPosition)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateProperty(&self, name: P0, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppprop: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -3981,7 +3981,7 @@ impl ISharedPropertyGroup { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4025,11 +4025,11 @@ impl ISharedPropertyGroupManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Group)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Group)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4127,7 +4127,7 @@ impl ITransactionContext { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pszprogid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), pszprogid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -4153,7 +4153,7 @@ impl ITransactionContextEx { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), rclsid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), rclsid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Commit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self)).ok() @@ -4202,7 +4202,7 @@ impl ITransactionProperty { } pub unsafe fn GetTransactionResourcePool(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransactionResourcePool)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransactionResourcePool)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reserved10(&self) { (::windows_core::Interface::vtable(self).Reserved10)(::windows_core::Interface::as_raw(self)) @@ -4264,7 +4264,7 @@ impl ITransactionProxy { #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn Promote(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Promote)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Promote)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn CreateVoter(&self, ptxasync: P0) -> ::windows_core::Result @@ -4272,7 +4272,7 @@ impl ITransactionProxy { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVoter)(::windows_core::Interface::as_raw(self), ptxasync.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVoter)(::windows_core::Interface::as_raw(self), ptxasync.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsolationLevel(&self, __midl__itransactionproxy0000: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIsolationLevel)(::windows_core::Interface::as_raw(self), __midl__itransactionproxy0000).ok() @@ -4317,7 +4317,7 @@ impl ITransactionResourcePool { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), ppool.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResource)(::windows_core::Interface::as_raw(self), ppool.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4368,7 +4368,7 @@ impl ObjectContext { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), bstrprogid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), bstrprogid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetComplete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetComplete)(::windows_core::Interface::as_raw(self)).ok() @@ -4384,43 +4384,43 @@ impl ObjectContext { } pub unsafe fn IsInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSecurityEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsCallerInRole(&self, bstrrole: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCallerInRole)(::windows_core::Interface::as_raw(self), bstrrole.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCallerInRole)(::windows_core::Interface::as_raw(self), bstrrole.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ContextInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContextInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContextInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4477,19 +4477,19 @@ pub struct ObjectControl_Vtbl { impl SecurityProperty { pub unsafe fn GetDirectCallerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectCallerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectCallerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDirectCreatorName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDirectCreatorName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDirectCreatorName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginalCallerName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalCallerName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalCallerName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginalCreatorName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalCreatorName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalCreatorName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/Console/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Console/mod.rs index 5c1e18d7dd..c484ef061c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Console/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Console/mod.rs @@ -56,7 +56,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn CreatePseudoConsole(size : COORD, hinput : super::super::Foundation:: HANDLE, houtput : super::super::Foundation:: HANDLE, dwflags : u32, phpc : *mut HPCON) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreatePseudoConsole(::core::mem::transmute(size), hinput.into_param().abi(), houtput.into_param().abi(), dwflags, &mut result__).from_abi(result__) + CreatePseudoConsole(::core::mem::transmute(size), hinput.into_param().abi(), houtput.into_param().abi(), dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn ExpungeConsoleCommandHistoryA(exename: P0) diff --git a/crates/libs/windows/src/Windows/Win32/System/Contacts/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Contacts/mod.rs index 5f60f65c62..58a88813ab 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Contacts/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Contacts/mod.rs @@ -27,7 +27,7 @@ impl IContactAggregationAggregate { } pub unsafe fn GetComponentItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Link(&self, paggregateid: P0) -> ::windows_core::Result<()> where @@ -37,11 +37,11 @@ impl IContactAggregationAggregate { } pub unsafe fn get_Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Groups)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Groups)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AntiLink(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntiLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntiLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAntiLink(&self, pantilink: P0) -> ::windows_core::Result<()> where @@ -51,14 +51,14 @@ impl IContactAggregationAggregate { } pub unsafe fn FavoriteOrder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FavoriteOrder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FavoriteOrder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFavoriteOrder)(::windows_core::Interface::as_raw(self), favoriteorder).ok() } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -80,22 +80,22 @@ pub struct IContactAggregationAggregate_Vtbl { impl IContactAggregationAggregateCollection { pub unsafe fn FindFirst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByAntiLinkId(&self, pantilinkid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByAntiLinkId)(::windows_core::Interface::as_raw(self), pantilinkid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByAntiLinkId)(::windows_core::Interface::as_raw(self), pantilinkid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -127,7 +127,7 @@ impl IContactAggregationContact { } pub unsafe fn AccountId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccountId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccountId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountId(&self, paccountid: P0) -> ::windows_core::Result<()> where @@ -137,30 +137,30 @@ impl IContactAggregationContact { } pub unsafe fn AggregateId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AggregateId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AggregateId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMe(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMe)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMe)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsExternal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsExternal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsExternal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NetworkSourceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkSourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkSourceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkSourceId(&self, networksourceid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNetworkSourceId)(::windows_core::Interface::as_raw(self), networksourceid).ok() } pub unsafe fn NetworkSourceIdString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkSourceIdString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkSourceIdString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkSourceIdString(&self, pnetworksourceid: P0) -> ::windows_core::Result<()> where @@ -170,14 +170,14 @@ impl IContactAggregationContact { } pub unsafe fn RemoteObjectId(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteObjectId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRemoteObjectId)(::windows_core::Interface::as_raw(self), premoteobjectid).ok() } pub unsafe fn SyncIdentityHash(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncIdentityHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncIdentityHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncIdentityHash)(::windows_core::Interface::as_raw(self), psyncidentityhash).ok() @@ -211,11 +211,11 @@ pub struct IContactAggregationContact_Vtbl { impl IContactAggregationContactCollection { pub unsafe fn FindFirst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByIdentityHash(&self, psourcetype: P0, paccountid: P1, pidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result where @@ -223,11 +223,11 @@ impl IContactAggregationContactCollection { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByIdentityHash)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), pidentityhash, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByIdentityHash)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), pidentityhash, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirstByRemoteId(&self, psourcetype: P0, paccountid: P1, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result where @@ -235,7 +235,7 @@ impl IContactAggregationContactCollection { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByRemoteId)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), premoteobjectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByRemoteId)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), premoteobjectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -271,22 +271,22 @@ impl IContactAggregationGroup { } pub unsafe fn Members(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Members)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GlobalObjectId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GlobalObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GlobalObjectId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGlobalObjectId(&self, pglobalobjectid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGlobalObjectId)(::windows_core::Interface::as_raw(self), pglobalobjectid).ok() } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetName(&self, pname: P0) -> ::windows_core::Result<()> where @@ -315,19 +315,19 @@ pub struct IContactAggregationGroup_Vtbl { impl IContactAggregationGroupCollection { pub unsafe fn FindFirst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByGlobalObjectId(&self, pglobalobjectid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByGlobalObjectId)(::windows_core::Interface::as_raw(self), pglobalobjectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByGlobalObjectId)(::windows_core::Interface::as_raw(self), pglobalobjectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -350,7 +350,7 @@ impl IContactAggregationLink { } pub unsafe fn AccountId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccountId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccountId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountId(&self, paccountid: P0) -> ::windows_core::Result<()> where @@ -360,11 +360,11 @@ impl IContactAggregationLink { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLinkResolved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLinkResolved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLinkResolved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsLinkResolved(&self, islinkresolved: P0) -> ::windows_core::Result<()> where @@ -374,7 +374,7 @@ impl IContactAggregationLink { } pub unsafe fn NetworkSourceIdString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkSourceIdString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkSourceIdString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkSourceIdString(&self, pnetworksourceid: P0) -> ::windows_core::Result<()> where @@ -384,14 +384,14 @@ impl IContactAggregationLink { } pub unsafe fn RemoteObjectId(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteObjectId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRemoteObjectId)(::windows_core::Interface::as_raw(self), premoteobjectid).ok() } pub unsafe fn ServerPerson(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerPerson)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerPerson)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerPerson(&self, pserverpersonid: P0) -> ::windows_core::Result<()> where @@ -401,7 +401,7 @@ impl IContactAggregationLink { } pub unsafe fn ServerPersonBaseline(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerPersonBaseline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerPersonBaseline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerPersonBaseline(&self, pserverpersonid: P0) -> ::windows_core::Result<()> where @@ -411,7 +411,7 @@ impl IContactAggregationLink { } pub unsafe fn SyncIdentityHash(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SyncIdentityHash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SyncIdentityHash)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncIdentityHash)(::windows_core::Interface::as_raw(self), psyncidentityhash).ok() @@ -444,7 +444,7 @@ pub struct IContactAggregationLink_Vtbl { impl IContactAggregationLinkCollection { pub unsafe fn FindFirst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByRemoteId(&self, psourcetype: P0, paccountid: P1, premoteid: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result where @@ -452,15 +452,15 @@ impl IContactAggregationLinkCollection { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByRemoteId)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), premoteid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByRemoteId)(::windows_core::Interface::as_raw(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), premoteid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -483,19 +483,19 @@ impl IContactAggregationManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOrOpenGroup)(::windows_core::Interface::as_raw(self), pgroupname.into_param().abi(), options, pcreatedgroup, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOrOpenGroup)(::windows_core::Interface::as_raw(self), pgroupname.into_param().abi(), options, pcreatedgroup, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateExternalContact(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateExternalContact)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateExternalContact)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateServerPerson(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateServerPerson)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateServerPerson)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateServerContactLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateServerContactLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateServerContactLink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Flush(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Flush)(::windows_core::Interface::as_raw(self)).ok() @@ -505,51 +505,51 @@ impl IContactAggregationManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenAggregateContact)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenAggregateContact)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenContact(&self, pitemid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenContact)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenContact)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenServerContactLink(&self, pitemid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenServerContactLink)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenServerContactLink)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenServerPerson(&self, pitemid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenServerPerson)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenServerPerson)(::windows_core::Interface::as_raw(self), pitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Contacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Contacts)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Contacts)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_AggregateContacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AggregateContacts)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AggregateContacts)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Groups)(::windows_core::Interface::as_raw(self), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Groups)(::windows_core::Interface::as_raw(self), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServerPersons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerPersons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerPersons)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ServerContactLinks(&self, ppersonitemid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ServerContactLinks)(::windows_core::Interface::as_raw(self), ppersonitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ServerContactLinks)(::windows_core::Interface::as_raw(self), ppersonitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -583,7 +583,7 @@ impl IContactAggregationServerPerson { } pub unsafe fn AggregateId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AggregateId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AggregateId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAggregateId(&self, paggregateid: P0) -> ::windows_core::Result<()> where @@ -593,7 +593,7 @@ impl IContactAggregationServerPerson { } pub unsafe fn AntiLink(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntiLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntiLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAntiLink(&self, pantilink: P0) -> ::windows_core::Result<()> where @@ -603,7 +603,7 @@ impl IContactAggregationServerPerson { } pub unsafe fn AntiLinkBaseline(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntiLinkBaseline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntiLinkBaseline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAntiLinkBaseline(&self, pantilink: P0) -> ::windows_core::Result<()> where @@ -613,39 +613,39 @@ impl IContactAggregationServerPerson { } pub unsafe fn FavoriteOrder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FavoriteOrder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FavoriteOrder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFavoriteOrder)(::windows_core::Interface::as_raw(self), favoriteorder).ok() } pub unsafe fn FavoriteOrderBaseline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FavoriteOrderBaseline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FavoriteOrderBaseline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFavoriteOrderBaseline(&self, favoriteorder: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFavoriteOrderBaseline)(::windows_core::Interface::as_raw(self), favoriteorder).ok() } pub unsafe fn Groups(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroups(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGroups)(::windows_core::Interface::as_raw(self), pgroups).ok() } pub unsafe fn GroupsBaseline(&self) -> ::windows_core::Result<*mut CONTACT_AGGREGATION_BLOB> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupsBaseline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupsBaseline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGroupsBaseline(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGroupsBaseline)(::windows_core::Interface::as_raw(self), pgroups).ok() } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsTombstone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTombstone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTombstone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsTombstone(&self, istombstone: P0) -> ::windows_core::Result<()> where @@ -655,7 +655,7 @@ impl IContactAggregationServerPerson { } pub unsafe fn LinkedAggregateId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LinkedAggregateId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LinkedAggregateId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLinkedAggregateId(&self, plinkedaggregateid: P0) -> ::windows_core::Result<()> where @@ -665,7 +665,7 @@ impl IContactAggregationServerPerson { } pub unsafe fn ObjectId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetObjectId(&self, pobjectid: P0) -> ::windows_core::Result<()> where @@ -707,36 +707,36 @@ pub struct IContactAggregationServerPerson_Vtbl { impl IContactAggregationServerPersonCollection { pub unsafe fn FindFirst(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByServerId(&self, pserverid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByServerId)(::windows_core::Interface::as_raw(self), pserverid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByServerId)(::windows_core::Interface::as_raw(self), pserverid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByAggregateId(&self, paggregateid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByAggregateId)(::windows_core::Interface::as_raw(self), paggregateid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByAggregateId)(::windows_core::Interface::as_raw(self), paggregateid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstByLinkedAggregateId(&self, paggregateid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstByLinkedAggregateId)(::windows_core::Interface::as_raw(self), paggregateid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstByLinkedAggregateId)(::windows_core::Interface::as_raw(self), paggregateid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -761,7 +761,7 @@ impl IContactCollection { } pub unsafe fn GetCurrent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -787,7 +787,7 @@ impl IContactManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), pszcontactid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), pszcontactid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MergeContactIDs(&self, psznewcontactid: P0, pszoldcontactid: P1) -> ::windows_core::Result<()> where @@ -798,7 +798,7 @@ impl IContactManager { } pub unsafe fn GetMeContact(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMeContact)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMeContact)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMeContact(&self, pmecontact: P0) -> ::windows_core::Result<()> where @@ -808,7 +808,7 @@ impl IContactManager { } pub unsafe fn GetContactCollection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContactCollection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContactCollection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/DeploymentServices/mod.rs b/crates/libs/windows/src/Windows/Win32/System/DeploymentServices/mod.rs index 35dad39531..fd8f2af0c2 100644 --- a/crates/libs/windows/src/Windows/Win32/System/DeploymentServices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/DeploymentServices/mod.rs @@ -283,7 +283,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliCreateSession(pwszserver : ::windows_core::PCWSTR, pcred : *const WDS_CLI_CRED, phsession : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliCreateSession(pwszserver.into_param().abi(), ::core::mem::transmute(pcred.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WdsCliCreateSession(pwszserver.into_param().abi(), ::core::mem::transmute(pcred.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliFindFirstImage(hsession: P0) -> ::windows_core::Result @@ -292,7 +292,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliFindFirstImage(hsession : super::super::Foundation:: HANDLE, phfindhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliFindFirstImage(hsession.into_param().abi(), &mut result__).from_abi(result__) + WdsCliFindFirstImage(hsession.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliFindNextImage(handle: P0) -> ::windows_core::Result<()> @@ -314,7 +314,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetDriverQueryXml(pwszwindirpath : ::windows_core::PCWSTR, ppwszdriverquery : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetDriverQueryXml(pwszwindirpath.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetDriverQueryXml(pwszwindirpath.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetEnumerationFlags(handle: P0) -> ::windows_core::Result @@ -323,7 +323,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetEnumerationFlags(handle : super::super::Foundation:: HANDLE, pdwflags : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetEnumerationFlags(handle.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetEnumerationFlags(handle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageArchitecture(hifh: P0) -> ::windows_core::Result @@ -332,7 +332,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageArchitecture(hifh : super::super::Foundation:: HANDLE, pdwvalue : *mut CPU_ARCHITECTURE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageArchitecture(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageArchitecture(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageDescription(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -341,7 +341,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageDescription(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageDescription(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageDescription(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageFiles(hifh: P0, pppwszfiles: *mut *mut ::windows_core::PWSTR, pdwcount: *mut u32) -> ::windows_core::Result<()> @@ -358,7 +358,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageGroup(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageGroup(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageGroup(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageHalName(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -367,7 +367,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageHalName(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageHalName(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageHalName(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageHandleFromFindHandle(findhandle: P0) -> ::windows_core::Result @@ -376,7 +376,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageHandleFromFindHandle(findhandle : super::super::Foundation:: HANDLE, phimagehandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageHandleFromFindHandle(findhandle.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageHandleFromFindHandle(findhandle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageHandleFromTransferHandle(htransfer: P0) -> ::windows_core::Result @@ -385,7 +385,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageHandleFromTransferHandle(htransfer : super::super::Foundation:: HANDLE, phimagehandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageHandleFromTransferHandle(htransfer.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageHandleFromTransferHandle(htransfer.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageIndex(hifh: P0) -> ::windows_core::Result @@ -394,7 +394,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageIndex(hifh : super::super::Foundation:: HANDLE, pdwvalue : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageIndex(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageIndex(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageLanguage(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -403,7 +403,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageLanguage(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageLanguage(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageLanguage(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageLanguages(hifh: P0, pppszvalues: *mut *mut *mut i8, pdwnumvalues: *mut u32) -> ::windows_core::Result<()> @@ -420,7 +420,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageLastModifiedTime(hifh : super::super::Foundation:: HANDLE, ppsystimevalue : *mut *mut super::super::Foundation:: SYSTEMTIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageLastModifiedTime(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageLastModifiedTime(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageName(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -429,7 +429,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageName(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageName(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageName(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageNamespace(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -438,7 +438,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageNamespace(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageNamespace(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageNamespace(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageParameter(hifh: P0, paramtype: WDS_CLI_IMAGE_PARAM_TYPE, presponse: *mut ::core::ffi::c_void, uresponselen: u32) -> ::windows_core::Result<()> @@ -455,7 +455,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImagePath(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImagePath(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImagePath(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageSize(hifh: P0) -> ::windows_core::Result @@ -464,7 +464,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageSize(hifh : super::super::Foundation:: HANDLE, pullvalue : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageSize(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageSize(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageType(hifh: P0) -> ::windows_core::Result @@ -473,7 +473,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageType(hifh : super::super::Foundation:: HANDLE, pimagetype : *mut WDS_CLI_IMAGE_TYPE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageType(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageType(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetImageVersion(hifh: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -482,7 +482,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetImageVersion(hifh : super::super::Foundation:: HANDLE, ppwszvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetImageVersion(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetImageVersion(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliGetTransferSize(hifh: P0) -> ::windows_core::Result @@ -491,7 +491,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliGetTransferSize(hifh : super::super::Foundation:: HANDLE, pullvalue : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliGetTransferSize(hifh.into_param().abi(), &mut result__).from_abi(result__) + WdsCliGetTransferSize(hifh.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliInitializeLog(hsession: P0, ulclientarchitecture: CPU_ARCHITECTURE, pwszclientid: P1, pwszclientaddress: P2) -> ::windows_core::Result<()> @@ -548,7 +548,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliTransferFile(pwszserver : ::windows_core::PCWSTR, pwsznamespace : ::windows_core::PCWSTR, pwszremotefilepath : ::windows_core::PCWSTR, pwszlocalfilepath : ::windows_core::PCWSTR, dwflags : u32, dwreserved : u32, pfnwdsclicallback : PFN_WdsCliCallback, pvuserdata : *const ::core::ffi::c_void, phtransfer : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliTransferFile(pwszserver.into_param().abi(), pwsznamespace.into_param().abi(), pwszremotefilepath.into_param().abi(), pwszlocalfilepath.into_param().abi(), dwflags, dwreserved, pfnwdsclicallback, ::core::mem::transmute(pvuserdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WdsCliTransferFile(pwszserver.into_param().abi(), pwsznamespace.into_param().abi(), pwszremotefilepath.into_param().abi(), pwszlocalfilepath.into_param().abi(), dwflags, dwreserved, pfnwdsclicallback, ::core::mem::transmute(pvuserdata.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliTransferImage(himage: P0, pwszlocalpath: P1, dwflags: u32, dwreserved: u32, pfnwdsclicallback: PFN_WdsCliCallback, pvuserdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result @@ -558,7 +558,7 @@ where { ::windows_targets::link!("wdsclientapi.dll" "system" fn WdsCliTransferImage(himage : super::super::Foundation:: HANDLE, pwszlocalpath : ::windows_core::PCWSTR, dwflags : u32, dwreserved : u32, pfnwdsclicallback : PFN_WdsCliCallback, pvuserdata : *const ::core::ffi::c_void, phtransfer : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WdsCliTransferImage(himage.into_param().abi(), pwszlocalpath.into_param().abi(), dwflags, dwreserved, pfnwdsclicallback, ::core::mem::transmute(pvuserdata.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WdsCliTransferImage(himage.into_param().abi(), pwszlocalpath.into_param().abi(), dwflags, dwreserved, pfnwdsclicallback, ::core::mem::transmute(pvuserdata.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WdsCliWaitForTransfer(htransfer: P0) -> ::windows_core::Result<()> @@ -715,7 +715,7 @@ where impl IWdsTransportCacheable { pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Discard(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Discard)(::windows_core::Interface::as_raw(self)).ok() @@ -746,47 +746,47 @@ impl IWdsTransportClient { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MacAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MacAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MacAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IpAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PercentCompletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PercentCompletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PercentCompletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn JoinDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JoinDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JoinDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CpuUtilization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CpuUtilization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CpuUtilization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MemoryUtilization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MemoryUtilization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MemoryUtilization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NetworkUtilization(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkUtilization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkUtilization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserIdentity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Disconnect(&self, disconnectiontype: WDSTRANSPORT_DISCONNECT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self), disconnectiontype).ok() @@ -821,16 +821,16 @@ pub struct IWdsTransportClient_Vtbl { impl IWdsTransportCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, ulindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -854,19 +854,19 @@ impl IWdsTransportConfigurationManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ServicePolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServicePolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServicePolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DiagnosticsPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiagnosticsPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiagnosticsPolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_WdsTransportServicesRunning(&self, brealtimestatus: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_WdsTransportServicesRunning)(::windows_core::Interface::as_raw(self), brealtimestatus.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_WdsTransportServicesRunning)(::windows_core::Interface::as_raw(self), brealtimestatus.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnableWdsTransportServices(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnableWdsTransportServices)(::windows_core::Interface::as_raw(self)).ok() @@ -917,19 +917,19 @@ impl IWdsTransportConfigurationManager2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ServicePolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServicePolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServicePolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DiagnosticsPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DiagnosticsPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DiagnosticsPolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_WdsTransportServicesRunning(&self, brealtimestatus: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_WdsTransportServicesRunning)(::windows_core::Interface::as_raw(self), brealtimestatus.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_WdsTransportServicesRunning)(::windows_core::Interface::as_raw(self), brealtimestatus.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnableWdsTransportServices(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EnableWdsTransportServices)(::windows_core::Interface::as_raw(self)).ok() @@ -952,7 +952,7 @@ impl IWdsTransportConfigurationManager2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MulticastSessionPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MulticastSessionPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MulticastSessionPolicy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -974,20 +974,20 @@ impl IWdsTransportContent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Namespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveSessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveSessions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Terminate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Terminate)(::windows_core::Interface::as_raw(self)).ok() @@ -1018,19 +1018,19 @@ pub struct IWdsTransportContent_Vtbl { impl IWdsTransportContentProvider { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FilePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializationRoutine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitializationRoutine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitializationRoutine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1051,7 +1051,7 @@ pub struct IWdsTransportContentProvider_Vtbl { impl IWdsTransportDiagnosticsPolicy { pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Discard(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Discard)(::windows_core::Interface::as_raw(self)).ok() @@ -1064,7 +1064,7 @@ impl IWdsTransportDiagnosticsPolicy { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, benabled: P0) -> ::windows_core::Result<()> where @@ -1074,7 +1074,7 @@ impl IWdsTransportDiagnosticsPolicy { } pub unsafe fn Components(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Components)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Components)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetComponents(&self, ulcomponents: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetComponents)(::windows_core::Interface::as_raw(self), ulcomponents).ok() @@ -1102,7 +1102,7 @@ impl IWdsTransportManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWdsTransportServer)(::windows_core::Interface::as_raw(self), bszservername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWdsTransportServer)(::windows_core::Interface::as_raw(self), bszservername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1123,7 +1123,7 @@ pub struct IWdsTransportManager_Vtbl { impl IWdsTransportMulticastSessionPolicy { pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Discard(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Discard)(::windows_core::Interface::as_raw(self)).ok() @@ -1136,28 +1136,28 @@ impl IWdsTransportMulticastSessionPolicy { } pub unsafe fn SlowClientHandling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SlowClientHandling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SlowClientHandling)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSlowClientHandling(&self, slowclienthandling: WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSlowClientHandling)(::windows_core::Interface::as_raw(self), slowclienthandling).ok() } pub unsafe fn AutoDisconnectThreshold(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoDisconnectThreshold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoDisconnectThreshold)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoDisconnectThreshold(&self, ulthreshold: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoDisconnectThreshold)(::windows_core::Interface::as_raw(self), ulthreshold).ok() } pub unsafe fn MultistreamStreamCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultistreamStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultistreamStreamCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultistreamStreamCount(&self, ulstreamcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMultistreamStreamCount)(::windows_core::Interface::as_raw(self), ulstreamcount).ok() } pub unsafe fn SlowClientFallback(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SlowClientFallback)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SlowClientFallback)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSlowClientFallback(&self, bclientfallback: P0) -> ::windows_core::Result<()> where @@ -1188,15 +1188,15 @@ pub struct IWdsTransportMulticastSessionPolicy_Vtbl { impl IWdsTransportNamespace { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bszname: P0) -> ::windows_core::Result<()> where @@ -1206,7 +1206,7 @@ impl IWdsTransportNamespace { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, bszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -1216,7 +1216,7 @@ impl IWdsTransportNamespace { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bszdescription: P0) -> ::windows_core::Result<()> where @@ -1226,7 +1226,7 @@ impl IWdsTransportNamespace { } pub unsafe fn ContentProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContentProvider(&self, bszcontentprovider: P0) -> ::windows_core::Result<()> where @@ -1236,7 +1236,7 @@ impl IWdsTransportNamespace { } pub unsafe fn Configuration(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfiguration(&self, bszconfiguration: P0) -> ::windows_core::Result<()> where @@ -1246,19 +1246,19 @@ impl IWdsTransportNamespace { } pub unsafe fn Registered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Registered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Registered)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Tombstoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TombstoneTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Register(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self)).ok() @@ -1272,7 +1272,7 @@ impl IWdsTransportNamespace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1280,7 +1280,7 @@ impl IWdsTransportNamespace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1324,15 +1324,15 @@ pub struct IWdsTransportNamespace_Vtbl { impl IWdsTransportNamespaceAutoCast { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bszname: P0) -> ::windows_core::Result<()> where @@ -1342,7 +1342,7 @@ impl IWdsTransportNamespaceAutoCast { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, bszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -1352,7 +1352,7 @@ impl IWdsTransportNamespaceAutoCast { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bszdescription: P0) -> ::windows_core::Result<()> where @@ -1362,7 +1362,7 @@ impl IWdsTransportNamespaceAutoCast { } pub unsafe fn ContentProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContentProvider(&self, bszcontentprovider: P0) -> ::windows_core::Result<()> where @@ -1372,7 +1372,7 @@ impl IWdsTransportNamespaceAutoCast { } pub unsafe fn Configuration(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfiguration(&self, bszconfiguration: P0) -> ::windows_core::Result<()> where @@ -1382,19 +1382,19 @@ impl IWdsTransportNamespaceAutoCast { } pub unsafe fn Registered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Tombstoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TombstoneTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Register(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Register)(::windows_core::Interface::as_raw(self)).ok() @@ -1408,7 +1408,7 @@ impl IWdsTransportNamespaceAutoCast { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1416,7 +1416,7 @@ impl IWdsTransportNamespaceAutoCast { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1439,7 +1439,7 @@ impl IWdsTransportNamespaceManager { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNamespace)(::windows_core::Interface::as_raw(self), namespacetype, bsznamespacename.into_param().abi(), bszcontentprovider.into_param().abi(), bszconfiguration.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNamespace)(::windows_core::Interface::as_raw(self), namespacetype, bsznamespacename.into_param().abi(), bszcontentprovider.into_param().abi(), bszconfiguration.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveNamespace(&self, bsznamespacename: P0) -> ::windows_core::Result @@ -1447,7 +1447,7 @@ impl IWdsTransportNamespaceManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveNamespace)(::windows_core::Interface::as_raw(self), bsznamespacename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveNamespace)(::windows_core::Interface::as_raw(self), bsznamespacename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveNamespaces(&self, bszcontentprovider: P0, bsznamespacename: P1, bincludetombstones: P2) -> ::windows_core::Result @@ -1457,7 +1457,7 @@ impl IWdsTransportNamespaceManager { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveNamespaces)(::windows_core::Interface::as_raw(self), bszcontentprovider.into_param().abi(), bsznamespacename.into_param().abi(), bincludetombstones.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveNamespaces)(::windows_core::Interface::as_raw(self), bszcontentprovider.into_param().abi(), bsznamespacename.into_param().abi(), bincludetombstones.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1486,15 +1486,15 @@ pub struct IWdsTransportNamespaceManager_Vtbl { impl IWdsTransportNamespaceScheduledCast { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bszname: P0) -> ::windows_core::Result<()> where @@ -1504,7 +1504,7 @@ impl IWdsTransportNamespaceScheduledCast { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, bszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -1514,7 +1514,7 @@ impl IWdsTransportNamespaceScheduledCast { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bszdescription: P0) -> ::windows_core::Result<()> where @@ -1524,7 +1524,7 @@ impl IWdsTransportNamespaceScheduledCast { } pub unsafe fn ContentProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContentProvider(&self, bszcontentprovider: P0) -> ::windows_core::Result<()> where @@ -1534,7 +1534,7 @@ impl IWdsTransportNamespaceScheduledCast { } pub unsafe fn Configuration(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfiguration(&self, bszconfiguration: P0) -> ::windows_core::Result<()> where @@ -1544,19 +1544,19 @@ impl IWdsTransportNamespaceScheduledCast { } pub unsafe fn Registered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Tombstoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TombstoneTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Register(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Register)(::windows_core::Interface::as_raw(self)).ok() @@ -1570,7 +1570,7 @@ impl IWdsTransportNamespaceScheduledCast { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1578,7 +1578,7 @@ impl IWdsTransportNamespaceScheduledCast { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartTransmission(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartTransmission)(::windows_core::Interface::as_raw(self)).ok() @@ -1599,15 +1599,15 @@ pub struct IWdsTransportNamespaceScheduledCast_Vtbl { impl IWdsTransportNamespaceScheduledCastAutoStart { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bszname: P0) -> ::windows_core::Result<()> where @@ -1617,7 +1617,7 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, bszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -1627,7 +1627,7 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bszdescription: P0) -> ::windows_core::Result<()> where @@ -1637,7 +1637,7 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { } pub unsafe fn ContentProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContentProvider(&self, bszcontentprovider: P0) -> ::windows_core::Result<()> where @@ -1647,7 +1647,7 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { } pub unsafe fn Configuration(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfiguration(&self, bszconfiguration: P0) -> ::windows_core::Result<()> where @@ -1657,19 +1657,19 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { } pub unsafe fn Registered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Tombstoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TombstoneTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Register(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Register)(::windows_core::Interface::as_raw(self)).ok() @@ -1683,7 +1683,7 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1691,21 +1691,21 @@ impl IWdsTransportNamespaceScheduledCastAutoStart { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartTransmission(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.StartTransmission)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn MinimumClients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinimumClients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinimumClients)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumClients(&self, ulminimumclients: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumClients)(::windows_core::Interface::as_raw(self), ulminimumclients).ok() } pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartTime(&self, starttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartTime)(::windows_core::Interface::as_raw(self), starttime).ok() @@ -1729,15 +1729,15 @@ pub struct IWdsTransportNamespaceScheduledCastAutoStart_Vtbl { impl IWdsTransportNamespaceScheduledCastManualStart { pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bszname: P0) -> ::windows_core::Result<()> where @@ -1747,7 +1747,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { } pub unsafe fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FriendlyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFriendlyName(&self, bszfriendlyname: P0) -> ::windows_core::Result<()> where @@ -1757,7 +1757,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bszdescription: P0) -> ::windows_core::Result<()> where @@ -1767,7 +1767,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { } pub unsafe fn ContentProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ContentProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContentProvider(&self, bszcontentprovider: P0) -> ::windows_core::Result<()> where @@ -1777,7 +1777,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { } pub unsafe fn Configuration(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Configuration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConfiguration(&self, bszconfiguration: P0) -> ::windows_core::Result<()> where @@ -1787,19 +1787,19 @@ impl IWdsTransportNamespaceScheduledCastManualStart { } pub unsafe fn Registered(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Registered)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Tombstoned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Tombstoned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TombstoneTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TombstoneTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransmissionStarted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TransmissionStarted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Register(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Register)(::windows_core::Interface::as_raw(self)).ok() @@ -1813,7 +1813,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -1821,7 +1821,7 @@ impl IWdsTransportNamespaceScheduledCastManualStart { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RetrieveContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartTransmission(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.StartTransmission)(::windows_core::Interface::as_raw(self)).ok() @@ -1841,22 +1841,22 @@ pub struct IWdsTransportNamespaceScheduledCastManualStart_Vtbl { impl IWdsTransportServer { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetupManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetupManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetupManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConfigurationManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConfigurationManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConfigurationManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NamespaceManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamespaceManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisconnectClient(&self, ulclientid: u32, disconnectiontype: WDSTRANSPORT_DISCONNECT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectClient)(::windows_core::Interface::as_raw(self), ulclientid, disconnectiontype).ok() @@ -1890,22 +1890,22 @@ pub struct IWdsTransportServer_Vtbl { impl IWdsTransportServer2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetupManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetupManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetupManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConfigurationManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ConfigurationManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ConfigurationManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NamespaceManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NamespaceManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NamespaceManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisconnectClient(&self, ulclientid: u32, disconnectiontype: WDSTRANSPORT_DISCONNECT_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DisconnectClient)(::windows_core::Interface::as_raw(self), ulclientid, disconnectiontype).ok() @@ -1913,7 +1913,7 @@ impl IWdsTransportServer2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TftpManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TftpManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TftpManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1934,7 +1934,7 @@ pub struct IWdsTransportServer2_Vtbl { impl IWdsTransportServicePolicy { pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Discard(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Discard)(::windows_core::Interface::as_raw(self)).ok() @@ -1947,14 +1947,14 @@ impl IWdsTransportServicePolicy { } pub unsafe fn get_IpAddressSource(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).map(|| result__) } pub unsafe fn put_IpAddressSource(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, sourcetype: WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, sourcetype).ok() } pub unsafe fn get_StartIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_StartIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_StartIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_StartIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, bszstartipaddress: P0) -> ::windows_core::Result<()> where @@ -1964,7 +1964,7 @@ impl IWdsTransportServicePolicy { } pub unsafe fn get_EndIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_EndIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_EndIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_EndIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, bszendipaddress: P0) -> ::windows_core::Result<()> where @@ -1974,21 +1974,21 @@ impl IWdsTransportServicePolicy { } pub unsafe fn StartPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartPort(&self, ulstartport: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStartPort)(::windows_core::Interface::as_raw(self), ulstartport).ok() } pub unsafe fn EndPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEndPort(&self, ulendport: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEndPort)(::windows_core::Interface::as_raw(self), ulendport).ok() } pub unsafe fn NetworkProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkProfile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkProfile(&self, profiletype: WDSTRANSPORT_NETWORK_PROFILE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNetworkProfile)(::windows_core::Interface::as_raw(self), profiletype).ok() @@ -2020,7 +2020,7 @@ pub struct IWdsTransportServicePolicy_Vtbl { impl IWdsTransportServicePolicy2 { pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Discard(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Discard)(::windows_core::Interface::as_raw(self)).ok() @@ -2033,14 +2033,14 @@ impl IWdsTransportServicePolicy2 { } pub unsafe fn get_IpAddressSource(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).map(|| result__) } pub unsafe fn put_IpAddressSource(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, sourcetype: WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_IpAddressSource)(::windows_core::Interface::as_raw(self), addresstype, sourcetype).ok() } pub unsafe fn get_StartIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_StartIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_StartIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_StartIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, bszstartipaddress: P0) -> ::windows_core::Result<()> where @@ -2050,7 +2050,7 @@ impl IWdsTransportServicePolicy2 { } pub unsafe fn get_EndIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_EndIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_EndIpAddress)(::windows_core::Interface::as_raw(self), addresstype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_EndIpAddress(&self, addresstype: WDSTRANSPORT_IP_ADDRESS_TYPE, bszendipaddress: P0) -> ::windows_core::Result<()> where @@ -2060,42 +2060,42 @@ impl IWdsTransportServicePolicy2 { } pub unsafe fn StartPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStartPort(&self, ulstartport: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStartPort)(::windows_core::Interface::as_raw(self), ulstartport).ok() } pub unsafe fn EndPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEndPort(&self, ulendport: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEndPort)(::windows_core::Interface::as_raw(self), ulendport).ok() } pub unsafe fn NetworkProfile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkProfile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkProfile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkProfile(&self, profiletype: WDSTRANSPORT_NETWORK_PROFILE_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNetworkProfile)(::windows_core::Interface::as_raw(self), profiletype).ok() } pub unsafe fn UdpPortPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UdpPortPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UdpPortPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUdpPortPolicy(&self, udpportpolicy: WDSTRANSPORT_UDP_PORT_POLICY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUdpPortPolicy)(::windows_core::Interface::as_raw(self), udpportpolicy).ok() } pub unsafe fn TftpMaximumBlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TftpMaximumBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TftpMaximumBlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTftpMaximumBlockSize(&self, ultftpmaximumblocksize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTftpMaximumBlockSize)(::windows_core::Interface::as_raw(self), ultftpmaximumblocksize).ok() } pub unsafe fn EnableTftpVariableWindowExtension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableTftpVariableWindowExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableTftpVariableWindowExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableTftpVariableWindowExtension(&self, benabletftpvariablewindowextension: P0) -> ::windows_core::Result<()> where @@ -2125,32 +2125,32 @@ impl IWdsTransportSession { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Content(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Content)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NetworkInterfaceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkInterfaceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkInterfaceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NetworkInterfaceAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkInterfaceAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkInterfaceAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransferRate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransferRate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransferRate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MasterClientId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MasterClientId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MasterClientId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveClients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveClients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveClients)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Terminate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Terminate)(::windows_core::Interface::as_raw(self)).ok() @@ -2184,15 +2184,15 @@ pub struct IWdsTransportSession_Vtbl { impl IWdsTransportSetupManager { pub unsafe fn Version(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstalledFeatures(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstalledFeatures)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstalledFeatures)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Protocols(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocols)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocols)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterContentProvider(&self, bszname: P0, bszdescription: P1, bszfilepath: P2, bszinitializationroutine: P3) -> ::windows_core::Result<()> where @@ -2229,15 +2229,15 @@ pub struct IWdsTransportSetupManager_Vtbl { impl IWdsTransportSetupManager2 { pub unsafe fn Version(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Version)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InstalledFeatures(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InstalledFeatures)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InstalledFeatures)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Protocols(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Protocols)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Protocols)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterContentProvider(&self, bszname: P0, bszdescription: P1, bszfilepath: P2, bszinitializationroutine: P3) -> ::windows_core::Result<()> where @@ -2256,12 +2256,12 @@ impl IWdsTransportSetupManager2 { } pub unsafe fn TftpCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TftpCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TftpCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ContentProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2283,31 +2283,31 @@ pub struct IWdsTransportSetupManager2_Vtbl { impl IWdsTransportTftpClient { pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IpAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IpAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IpAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Timeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFileOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFileOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFileOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BlockSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BlockSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WindowSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2332,7 +2332,7 @@ impl IWdsTransportTftpManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RetrieveTftpClients(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveTftpClients)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveTftpClients)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/DesktopSharing/mod.rs b/crates/libs/windows/src/Windows/Win32/System/DesktopSharing/mod.rs index caff13230c..4ea63127a2 100644 --- a/crates/libs/windows/src/Windows/Win32/System/DesktopSharing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/DesktopSharing/mod.rs @@ -7,15 +7,15 @@ impl IRDPSRAPIApplication { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Shared(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shared)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shared)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShared(&self, newval: P0) -> ::windows_core::Result<()> where @@ -25,11 +25,11 @@ impl IRDPSRAPIApplication { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -56,16 +56,16 @@ impl IRDPSRAPIApplicationFilter { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Applications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Applications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Applications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, newval: P0) -> ::windows_core::Result<()> where @@ -98,12 +98,12 @@ pub struct IRDPSRAPIApplicationFilter_Vtbl { impl IRDPSRAPIApplicationList { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -125,15 +125,15 @@ pub struct IRDPSRAPIApplicationList_Vtbl { impl IRDPSRAPIAttendee { pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoteName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControlLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControlLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetControlLevel(&self, pnewval: CTRL_LEVEL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControlLevel)(::windows_core::Interface::as_raw(self), pnewval).ok() @@ -141,18 +141,18 @@ impl IRDPSRAPIAttendee { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Invitation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Invitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Invitation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TerminateConnection(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TerminateConnection)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConnectivityInfo(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectivityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectivityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -181,15 +181,15 @@ impl IRDPSRAPIAttendeeDisconnectInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Attendee(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attendee)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attendee)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Reason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Reason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Code(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Code)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Code)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -212,12 +212,12 @@ pub struct IRDPSRAPIAttendeeDisconnectInfo_Vtbl { impl IRDPSRAPIAttendeeManager { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, id: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -236,7 +236,7 @@ pub struct IRDPSRAPIAttendeeManager_Vtbl { impl IRDPSRAPIAudioStream { pub unsafe fn Initialize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Start(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Start)(::windows_core::Interface::as_raw(self)).ok() @@ -270,7 +270,7 @@ impl IRDPSRAPIClipboardUseEvents { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnPasteFromClipboard)(::windows_core::Interface::as_raw(self), clipboardformat, pattendee.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnPasteFromClipboard)(::windows_core::Interface::as_raw(self), clipboardformat, pattendee.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -293,7 +293,7 @@ impl IRDPSRAPIDebug { } pub unsafe fn CLXCmdLine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CLXCmdLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CLXCmdLine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -311,20 +311,20 @@ pub struct IRDPSRAPIDebug_Vtbl { impl IRDPSRAPIFrameBuffer { pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Bpp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bpp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bpp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFrameBufferBits(&self, x: i32, y: i32, width: i32, heigth: i32) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameBufferBits)(::windows_core::Interface::as_raw(self), x, y, width, heigth, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameBufferBits)(::windows_core::Interface::as_raw(self), x, y, width, heigth, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -348,26 +348,26 @@ pub struct IRDPSRAPIFrameBuffer_Vtbl { impl IRDPSRAPIInvitation { pub unsafe fn ConnectionString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GroupName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Password(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttendeeLimit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttendeeLimit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttendeeLimit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttendeeLimit(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttendeeLimit)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn Revoked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Revoked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Revoked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRevoked(&self, newval: P0) -> ::windows_core::Result<()> where @@ -397,7 +397,7 @@ pub struct IRDPSRAPIInvitation_Vtbl { impl IRDPSRAPIInvitationManager { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: P0) -> ::windows_core::Result @@ -405,11 +405,11 @@ impl IRDPSRAPIInvitationManager { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateInvitation(&self, bstrauthstring: P0, bstrgroupname: P1, bstrpassword: P2, attendeelimit: i32) -> ::windows_core::Result @@ -419,7 +419,7 @@ impl IRDPSRAPIInvitationManager { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInvitation)(::windows_core::Interface::as_raw(self), bstrauthstring.into_param().abi(), bstrgroupname.into_param().abi(), bstrpassword.into_param().abi(), attendeelimit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInvitation)(::windows_core::Interface::as_raw(self), bstrauthstring.into_param().abi(), bstrgroupname.into_param().abi(), bstrpassword.into_param().abi(), attendeelimit, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -459,7 +459,7 @@ impl IRDPSRAPIPerfCounterLoggingManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLogger)(::windows_core::Interface::as_raw(self), bstrcountername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLogger)(::windows_core::Interface::as_raw(self), bstrcountername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -479,7 +479,7 @@ impl IRDPSRAPISessionProperties { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Property(&self, propertyname: P0, newval: P1) -> ::windows_core::Result<()> where @@ -514,32 +514,32 @@ impl IRDPSRAPISharingSession { } pub unsafe fn ColorDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColorDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColorDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Attendees(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attendees)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attendees)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Invitations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Invitations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Invitations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VirtualChannelManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -612,32 +612,32 @@ impl IRDPSRAPISharingSession2 { } pub unsafe fn ColorDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ColorDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ColorDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Attendees(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Attendees)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Attendees)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Invitations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Invitations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Invitations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VirtualChannelManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -668,7 +668,7 @@ impl IRDPSRAPISharingSession2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FrameBuffer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FrameBuffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FrameBuffer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SendControlLevelChangeResponse(&self, pattendee: P0, requestedlevel: CTRL_LEVEL, reasoncode: i32) -> ::windows_core::Result<()> @@ -701,23 +701,23 @@ pub struct IRDPSRAPISharingSession2_Vtbl { impl IRDPSRAPITcpConnectionInfo { pub unsafe fn Protocol(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Protocol)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalIP(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalIP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalIP)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PeerPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeerPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeerPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PeerIP(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeerIP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeerIP)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -736,7 +736,7 @@ pub struct IRDPSRAPITcpConnectionInfo_Vtbl { impl IRDPSRAPITransportStream { pub unsafe fn AllocBuffer(&self, maxpayload: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocBuffer)(::windows_core::Interface::as_raw(self), maxpayload, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocBuffer)(::windows_core::Interface::as_raw(self), maxpayload, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FreeBuffer(&self, pbuffer: P0) -> ::windows_core::Result<()> where @@ -782,36 +782,36 @@ pub struct IRDPSRAPITransportStream_Vtbl { impl IRDPSRAPITransportStreamBuffer { pub unsafe fn Storage(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Storage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Storage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StorageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StorageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StorageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PayloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PayloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PayloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPayloadSize(&self, lval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPayloadSize)(::windows_core::Interface::as_raw(self), lval).ok() } pub unsafe fn PayloadOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PayloadOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PayloadOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPayloadOffset(&self, lretval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPayloadOffset)(::windows_core::Interface::as_raw(self), lretval).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), lflags).ok() } pub unsafe fn Context(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContext(&self, pcontext: P0) -> ::windows_core::Result<()> where @@ -882,22 +882,22 @@ impl IRDPSRAPIViewer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Attendees(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attendees)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attendees)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Invitations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Invitations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Invitations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ApplicationFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn VirtualChannelManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualChannelManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSmartSizing(&self, vbsmartsizing: P0) -> ::windows_core::Result<()> where @@ -907,7 +907,7 @@ impl IRDPSRAPIViewer { } pub unsafe fn SmartSizing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmartSizing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmartSizing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestControl(&self, ctrllevel: CTRL_LEVEL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestControl)(::windows_core::Interface::as_raw(self), ctrllevel).ok() @@ -920,7 +920,7 @@ impl IRDPSRAPIViewer { } pub unsafe fn DisconnectedText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisconnectedText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisconnectedText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestColorDepthChange(&self, bpp: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestColorDepthChange)(::windows_core::Interface::as_raw(self), bpp).ok() @@ -928,7 +928,7 @@ impl IRDPSRAPIViewer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartReverseConnectListener(&self, bstrconnectionstring: P0, bstrusername: P1, bstrpassword: P2) -> ::windows_core::Result<::windows_core::BSTR> where @@ -937,7 +937,7 @@ impl IRDPSRAPIViewer { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartReverseConnectListener)(::windows_core::Interface::as_raw(self), bstrconnectionstring.into_param().abi(), bstrusername.into_param().abi(), bstrpassword.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartReverseConnectListener)(::windows_core::Interface::as_raw(self), bstrconnectionstring.into_param().abi(), bstrusername.into_param().abi(), bstrpassword.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -992,15 +992,15 @@ impl IRDPSRAPIVirtualChannel { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1022,7 +1022,7 @@ pub struct IRDPSRAPIVirtualChannel_Vtbl { impl IRDPSRAPIVirtualChannelManager { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: P0) -> ::windows_core::Result @@ -1030,7 +1030,7 @@ impl IRDPSRAPIVirtualChannelManager { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateVirtualChannel(&self, bstrchannelname: P0, priority: CHANNEL_PRIORITY, channelflags: u32) -> ::windows_core::Result @@ -1038,7 +1038,7 @@ impl IRDPSRAPIVirtualChannelManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), bstrchannelname.into_param().abi(), priority, channelflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), bstrchannelname.into_param().abi(), priority, channelflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1064,16 +1064,16 @@ pub struct IRDPSRAPIVirtualChannelManager_Vtbl { impl IRDPSRAPIWindow { pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shared(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shared)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shared)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShared(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1083,14 +1083,14 @@ impl IRDPSRAPIWindow { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Show(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Show)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1117,12 +1117,12 @@ pub struct IRDPSRAPIWindow_Vtbl { impl IRDPSRAPIWindowList { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, item: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), item, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/DeveloperLicensing/mod.rs b/crates/libs/windows/src/Windows/Win32/System/DeveloperLicensing/mod.rs index 0fe38ee9ee..893b67b156 100644 --- a/crates/libs/windows/src/Windows/Win32/System/DeveloperLicensing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/DeveloperLicensing/mod.rs @@ -5,13 +5,13 @@ where { ::windows_targets::link!("wsclient.dll" "system" fn AcquireDeveloperLicense(hwndparent : super::super::Foundation:: HWND, pexpiration : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AcquireDeveloperLicense(hwndparent.into_param().abi(), &mut result__).from_abi(result__) + AcquireDeveloperLicense(hwndparent.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn CheckDeveloperLicense() -> ::windows_core::Result { ::windows_targets::link!("wsclient.dll" "system" fn CheckDeveloperLicense(pexpiration : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CheckDeveloperLicense(&mut result__).from_abi(result__) + CheckDeveloperLicense(&mut result__).map(|| result__) } #[inline] pub unsafe fn RemoveDeveloperLicense(hwndparent: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/ClrProfiling/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/ClrProfiling/mod.rs index 0d82e52d50..009c7b559c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/ClrProfiling/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/ClrProfiling/mod.rs @@ -95,7 +95,7 @@ impl ICorProfilerCallback { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -105,7 +105,7 @@ impl ICorProfilerCallback { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -403,7 +403,7 @@ impl ICorProfilerCallback10 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -413,7 +413,7 @@ impl ICorProfilerCallback10 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -741,7 +741,7 @@ impl ICorProfilerCallback11 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -751,7 +751,7 @@ impl ICorProfilerCallback11 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -1081,7 +1081,7 @@ impl ICorProfilerCallback2 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -1091,7 +1091,7 @@ impl ICorProfilerCallback2 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -1352,7 +1352,7 @@ impl ICorProfilerCallback3 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -1362,7 +1362,7 @@ impl ICorProfilerCallback3 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -1630,7 +1630,7 @@ impl ICorProfilerCallback4 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -1640,7 +1640,7 @@ impl ICorProfilerCallback4 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -1938,7 +1938,7 @@ impl ICorProfilerCallback5 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -1948,7 +1948,7 @@ impl ICorProfilerCallback5 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -2244,7 +2244,7 @@ impl ICorProfilerCallback6 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -2254,7 +2254,7 @@ impl ICorProfilerCallback6 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -2557,7 +2557,7 @@ impl ICorProfilerCallback7 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -2567,7 +2567,7 @@ impl ICorProfilerCallback7 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -2873,7 +2873,7 @@ impl ICorProfilerCallback8 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -2883,7 +2883,7 @@ impl ICorProfilerCallback8 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -3202,7 +3202,7 @@ impl ICorProfilerCallback9 { } pub unsafe fn JITCachedFunctionSearchStarted(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchStarted)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn JITCachedFunctionSearchFinished(&self, functionid: usize, result: COR_PRF_JIT_CACHE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITCachedFunctionSearchFinished)(::windows_core::Interface::as_raw(self), functionid, result).ok() @@ -3212,7 +3212,7 @@ impl ICorProfilerCallback9 { } pub unsafe fn JITInlining(&self, callerid: usize, calleeid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.JITInlining)(::windows_core::Interface::as_raw(self), callerid, calleeid, &mut result__).map(|| result__) } pub unsafe fn ThreadCreated(&self, threadid: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ThreadCreated)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -3485,11 +3485,11 @@ impl ICorProfilerFunctionEnum { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, ids: &mut [COR_PRF_FUNCTION], pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() @@ -3510,34 +3510,34 @@ pub struct ICorProfilerFunctionEnum_Vtbl { impl ICorProfilerInfo { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -3545,11 +3545,11 @@ impl ICorProfilerInfo { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -3574,14 +3574,14 @@ impl ICorProfilerInfo { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -3606,22 +3606,22 @@ impl ICorProfilerInfo { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -3676,34 +3676,34 @@ pub struct ICorProfilerInfo_Vtbl { impl ICorProfilerInfo10 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -3711,11 +3711,11 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -3740,14 +3740,14 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -3772,22 +3772,22 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -3819,26 +3819,26 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -3854,22 +3854,22 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -3894,11 +3894,11 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -3914,7 +3914,7 @@ impl ICorProfilerInfo10 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -3939,11 +3939,11 @@ impl ICorProfilerInfo10 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -3959,14 +3959,14 @@ impl ICorProfilerInfo10 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -4018,34 +4018,34 @@ pub struct ICorProfilerInfo10_Vtbl { impl ICorProfilerInfo11 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -4053,11 +4053,11 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -4082,14 +4082,14 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -4114,22 +4114,22 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -4161,26 +4161,26 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -4196,22 +4196,22 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -4236,11 +4236,11 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -4256,7 +4256,7 @@ impl ICorProfilerInfo11 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -4281,11 +4281,11 @@ impl ICorProfilerInfo11 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -4301,14 +4301,14 @@ impl ICorProfilerInfo11 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -4369,34 +4369,34 @@ pub struct ICorProfilerInfo11_Vtbl { impl ICorProfilerInfo12 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -4404,11 +4404,11 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -4433,14 +4433,14 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -4465,22 +4465,22 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -4512,26 +4512,26 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -4547,22 +4547,22 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -4587,11 +4587,11 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -4607,7 +4607,7 @@ impl ICorProfilerInfo12 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -4632,11 +4632,11 @@ impl ICorProfilerInfo12 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -4652,14 +4652,14 @@ impl ICorProfilerInfo12 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -4712,7 +4712,7 @@ impl ICorProfilerInfo12 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() @@ -4725,7 +4725,7 @@ impl ICorProfilerInfo12 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() @@ -4736,7 +4736,7 @@ impl ICorProfilerInfo12 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() @@ -4759,34 +4759,34 @@ pub struct ICorProfilerInfo12_Vtbl { impl ICorProfilerInfo13 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -4794,11 +4794,11 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -4823,14 +4823,14 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -4855,22 +4855,22 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -4902,26 +4902,26 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -4937,22 +4937,22 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -4977,11 +4977,11 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -4997,7 +4997,7 @@ impl ICorProfilerInfo13 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -5022,11 +5022,11 @@ impl ICorProfilerInfo13 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -5042,14 +5042,14 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -5102,7 +5102,7 @@ impl ICorProfilerInfo13 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() @@ -5115,7 +5115,7 @@ impl ICorProfilerInfo13 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() @@ -5126,7 +5126,7 @@ impl ICorProfilerInfo13 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() @@ -5139,7 +5139,7 @@ impl ICorProfilerInfo13 { } pub unsafe fn GetObjectIDFromHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } } #[repr(C)] @@ -5155,34 +5155,34 @@ pub struct ICorProfilerInfo13_Vtbl { impl ICorProfilerInfo14 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -5190,11 +5190,11 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -5219,14 +5219,14 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -5251,22 +5251,22 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -5298,26 +5298,26 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -5333,22 +5333,22 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -5373,11 +5373,11 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -5393,7 +5393,7 @@ impl ICorProfilerInfo14 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -5418,11 +5418,11 @@ impl ICorProfilerInfo14 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -5438,14 +5438,14 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -5498,7 +5498,7 @@ impl ICorProfilerInfo14 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EventPipeStartSession)(::windows_core::Interface::as_raw(self), pproviderconfigs.len().try_into().unwrap(), ::core::mem::transmute(pproviderconfigs.as_ptr()), requestrundown.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeAddProviderToSession(&self, session: u64, providerconfig: COR_PRF_EVENTPIPE_PROVIDER_CONFIG) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.EventPipeAddProviderToSession)(::windows_core::Interface::as_raw(self), session, ::core::mem::transmute(providerconfig)).ok() @@ -5511,7 +5511,7 @@ impl ICorProfilerInfo14 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EventPipeCreateProvider)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EventPipeGetProviderInfo(&self, provider: usize, pcchname: *mut u32, providername: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.EventPipeGetProviderInfo)(::windows_core::Interface::as_raw(self), provider, providername.len().try_into().unwrap(), pcchname, ::core::mem::transmute(providername.as_ptr())).ok() @@ -5522,7 +5522,7 @@ impl ICorProfilerInfo14 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EventPipeDefineEvent)(::windows_core::Interface::as_raw(self), provider, eventname.into_param().abi(), eventid, keywords, eventversion, level, opcode, needstack.into_param().abi(), pparamdescs.len().try_into().unwrap(), ::core::mem::transmute(pparamdescs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EventPipeWriteEvent(&self, event: usize, data: &[COR_PRF_EVENT_DATA], pactivityid: *const ::windows_core::GUID, prelatedactivityid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.EventPipeWriteEvent)(::windows_core::Interface::as_raw(self), event, data.len().try_into().unwrap(), ::core::mem::transmute(data.as_ptr()), pactivityid, prelatedactivityid).ok() @@ -5535,11 +5535,11 @@ impl ICorProfilerInfo14 { } pub unsafe fn GetObjectIDFromHandle(&self, handle: *const *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectIDFromHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn EnumerateNonGCObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateNonGCObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateNonGCObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNonGCHeapBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_NONGC_HEAP_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNonGCHeapBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() @@ -5549,7 +5549,7 @@ impl ICorProfilerInfo14 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventPipeCreateProvider2)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), pcallback, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventPipeCreateProvider2)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), pcallback, &mut result__).map(|| result__) } } #[repr(C)] @@ -5565,34 +5565,34 @@ pub struct ICorProfilerInfo14_Vtbl { impl ICorProfilerInfo2 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -5600,11 +5600,11 @@ impl ICorProfilerInfo2 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -5629,14 +5629,14 @@ impl ICorProfilerInfo2 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -5661,22 +5661,22 @@ impl ICorProfilerInfo2 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -5708,26 +5708,26 @@ impl ICorProfilerInfo2 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -5743,18 +5743,18 @@ impl ICorProfilerInfo2 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5791,34 +5791,34 @@ pub struct ICorProfilerInfo2_Vtbl { impl ICorProfilerInfo3 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -5826,11 +5826,11 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -5855,14 +5855,14 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -5887,22 +5887,22 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -5934,26 +5934,26 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -5969,22 +5969,22 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -6009,11 +6009,11 @@ impl ICorProfilerInfo3 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -6052,34 +6052,34 @@ pub struct ICorProfilerInfo3_Vtbl { impl ICorProfilerInfo4 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -6087,11 +6087,11 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -6116,14 +6116,14 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -6148,22 +6148,22 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -6195,26 +6195,26 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -6230,22 +6230,22 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -6270,11 +6270,11 @@ impl ICorProfilerInfo4 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -6290,7 +6290,7 @@ impl ICorProfilerInfo4 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -6315,11 +6315,11 @@ impl ICorProfilerInfo4 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } } #[repr(C)] @@ -6342,34 +6342,34 @@ pub struct ICorProfilerInfo4_Vtbl { impl ICorProfilerInfo5 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -6377,11 +6377,11 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -6406,14 +6406,14 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -6438,22 +6438,22 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -6485,26 +6485,26 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -6520,22 +6520,22 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -6560,11 +6560,11 @@ impl ICorProfilerInfo5 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -6580,7 +6580,7 @@ impl ICorProfilerInfo5 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -6605,11 +6605,11 @@ impl ICorProfilerInfo5 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -6630,34 +6630,34 @@ pub struct ICorProfilerInfo5_Vtbl { impl ICorProfilerInfo6 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -6665,11 +6665,11 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -6694,14 +6694,14 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -6726,22 +6726,22 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -6773,26 +6773,26 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -6808,22 +6808,22 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -6848,11 +6848,11 @@ impl ICorProfilerInfo6 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -6868,7 +6868,7 @@ impl ICorProfilerInfo6 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -6893,11 +6893,11 @@ impl ICorProfilerInfo6 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -6920,34 +6920,34 @@ pub struct ICorProfilerInfo6_Vtbl { impl ICorProfilerInfo7 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -6955,11 +6955,11 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -6984,14 +6984,14 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -7016,22 +7016,22 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -7063,26 +7063,26 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -7098,22 +7098,22 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -7138,11 +7138,11 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -7158,7 +7158,7 @@ impl ICorProfilerInfo7 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -7183,11 +7183,11 @@ impl ICorProfilerInfo7 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -7203,7 +7203,7 @@ impl ICorProfilerInfo7 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() @@ -7222,34 +7222,34 @@ pub struct ICorProfilerInfo7_Vtbl { impl ICorProfilerInfo8 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -7257,11 +7257,11 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -7286,14 +7286,14 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -7318,22 +7318,22 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -7365,26 +7365,26 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -7400,22 +7400,22 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -7440,11 +7440,11 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -7460,7 +7460,7 @@ impl ICorProfilerInfo8 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -7485,11 +7485,11 @@ impl ICorProfilerInfo8 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -7505,14 +7505,14 @@ impl ICorProfilerInfo8 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -7534,34 +7534,34 @@ pub struct ICorProfilerInfo8_Vtbl { impl ICorProfilerInfo9 { pub unsafe fn GetClassFromObject(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromObject)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetClassFromToken(&self, moduleid: usize, typedef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassFromToken)(::windows_core::Interface::as_raw(self), moduleid, typedef, &mut result__).map(|| result__) } pub unsafe fn GetCodeInfo(&self, functionid: usize, pstart: *mut *mut u8, pcsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCodeInfo)(::windows_core::Interface::as_raw(self), functionid, pstart, pcsize).ok() } pub unsafe fn GetEventMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetEventMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP(&self, ip: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromIP)(::windows_core::Interface::as_raw(self), ip, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromToken(&self, moduleid: usize, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetFunctionFromToken)(::windows_core::Interface::as_raw(self), moduleid, token, &mut result__).map(|| result__) } pub unsafe fn GetHandleFromThread(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetHandleFromThread)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetObjectSize(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetObjectSize)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WinRT_Metadata")] pub unsafe fn IsArrayClass(&self, classid: usize, pbaseelemtype: *mut super::super::WinRT::Metadata::CorElementType, pbaseclassid: *mut usize, pcrank: *mut u32) -> ::windows_core::Result<()> { @@ -7569,11 +7569,11 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetThreadInfo(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadInfo)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetClassIDInfo(&self, classid: usize, pmoduleid: *mut usize, ptypedeftoken: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClassIDInfo)(::windows_core::Interface::as_raw(self), classid, pmoduleid, ptypedeftoken).ok() @@ -7598,14 +7598,14 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetModuleMetaData(&self, moduleid: usize, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetModuleMetaData)(::windows_core::Interface::as_raw(self), moduleid, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetILFunctionBody(&self, moduleid: usize, methodid: u32, ppmethodheader: *mut *mut u8, pcbmethodsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, ppmethodheader, pcbmethodsize).ok() } pub unsafe fn GetILFunctionBodyAllocator(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetILFunctionBodyAllocator)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetILFunctionBody(&self, moduleid: usize, methodid: u32, pbnewilmethodheader: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetILFunctionBody)(::windows_core::Interface::as_raw(self), moduleid, methodid, pbnewilmethodheader).ok() @@ -7630,22 +7630,22 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetInprocInspectionInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInprocInspectionIThisThread(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetInprocInspectionIThisThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn BeginInprocDebugging(&self, fthisthreadonly: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BeginInprocDebugging)(::windows_core::Interface::as_raw(self), fthisthreadonly.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EndInprocDebugging(&self, dwprofilercontext: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EndInprocDebugging)(::windows_core::Interface::as_raw(self), dwprofilercontext).ok() @@ -7677,26 +7677,26 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetClassFromTokenAndTypeArgs(&self, moduleid: usize, typedef: u32, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClassFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, typedef, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromTokenAndTypeArgs(&self, moduleid: usize, funcdef: u32, classid: usize, typeargs: &[usize]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetFunctionFromTokenAndTypeArgs)(::windows_core::Interface::as_raw(self), moduleid, funcdef, classid, typeargs.len().try_into().unwrap(), ::core::mem::transmute(typeargs.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn EnumModuleFrozenObjects(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumModuleFrozenObjects)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayObjectInfo(&self, objectid: usize, cdimensions: u32, pdimensionsizes: *mut u32, pdimensionlowerbounds: *mut i32, ppdata: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetArrayObjectInfo)(::windows_core::Interface::as_raw(self), objectid, cdimensions, pdimensionsizes, pdimensionlowerbounds, ppdata).ok() } pub unsafe fn GetBoxClassLayout(&self, classid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetBoxClassLayout)(::windows_core::Interface::as_raw(self), classid, &mut result__).map(|| result__) } pub unsafe fn GetThreadAppDomain(&self, threadid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetThreadAppDomain)(::windows_core::Interface::as_raw(self), threadid, &mut result__).map(|| result__) } pub unsafe fn GetRVAStaticAddress(&self, classid: usize, fieldtoken: u32, ppaddress: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRVAStaticAddress)(::windows_core::Interface::as_raw(self), classid, fieldtoken, ppaddress).ok() @@ -7712,22 +7712,22 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetStaticFieldInfo(&self, classid: usize, fieldtoken: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetStaticFieldInfo)(::windows_core::Interface::as_raw(self), classid, fieldtoken, &mut result__).map(|| result__) } pub unsafe fn GetGenerationBounds(&self, pcobjectranges: *mut u32, ranges: &mut [COR_PRF_GC_GENERATION_RANGE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetGenerationBounds)(::windows_core::Interface::as_raw(self), ranges.len().try_into().unwrap(), pcobjectranges, ::core::mem::transmute(ranges.as_ptr())).ok() } pub unsafe fn GetObjectGeneration(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetObjectGeneration)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetNotifiedExceptionClauseInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetNotifiedExceptionClauseInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumJITedFunctions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumJITedFunctions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestProfilerDetach(&self, dwexpectedcompletionmilliseconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RequestProfilerDetach)(::windows_core::Interface::as_raw(self), dwexpectedcompletionmilliseconds).ok() @@ -7752,11 +7752,11 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetFunctionTailcall3Info(&self, functionid: usize, eltinfo: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetFunctionTailcall3Info)(::windows_core::Interface::as_raw(self), functionid, eltinfo, &mut result__).map(|| result__) } pub unsafe fn EnumModules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumModules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRuntimeInformation(&self, pclrinstanceid: *mut u16, pruntimetype: *mut COR_PRF_RUNTIME_TYPE, pmajorversion: *mut u16, pminorversion: *mut u16, pbuildnumber: *mut u16, pqfeversion: *mut u16, pcchversionstring: *mut u32, szversionstring: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRuntimeInformation)(::windows_core::Interface::as_raw(self), pclrinstanceid, pruntimetype, pmajorversion, pminorversion, pbuildnumber, pqfeversion, szversionstring.len().try_into().unwrap(), pcchversionstring, ::core::mem::transmute(szversionstring.as_ptr())).ok() @@ -7772,7 +7772,7 @@ impl ICorProfilerInfo9 { } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeCurrentThread(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InitializeCurrentThread)(::windows_core::Interface::as_raw(self)).ok() @@ -7797,11 +7797,11 @@ impl ICorProfilerInfo9 { } pub unsafe fn EnumJITedFunctions2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumJITedFunctions2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectSize2(&self, objectid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetObjectSize2)(::windows_core::Interface::as_raw(self), objectid, &mut result__).map(|| result__) } pub unsafe fn GetEventMask2(&self, pdweventslow: *mut u32, pdweventshigh: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetEventMask2)(::windows_core::Interface::as_raw(self), pdweventslow, pdweventshigh).ok() @@ -7817,14 +7817,14 @@ impl ICorProfilerInfo9 { } pub unsafe fn GetInMemorySymbolsLength(&self, moduleid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetInMemorySymbolsLength)(::windows_core::Interface::as_raw(self), moduleid, &mut result__).map(|| result__) } pub unsafe fn ReadInMemorySymbols(&self, moduleid: usize, symbolsreadoffset: u32, psymbolbytes: *mut u8, countsymbolbytes: u32, pcountsymbolbytesread: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ReadInMemorySymbols)(::windows_core::Interface::as_raw(self), moduleid, symbolsreadoffset, psymbolbytes, countsymbolbytes, pcountsymbolbytesread).ok() } pub unsafe fn IsFunctionDynamic(&self, functionid: usize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsFunctionDynamic)(::windows_core::Interface::as_raw(self), functionid, &mut result__).map(|| result__) } pub unsafe fn GetFunctionFromIP3(&self, ip: *const u8, functionid: *mut usize, prejitid: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetFunctionFromIP3)(::windows_core::Interface::as_raw(self), ip, functionid, prejitid).ok() @@ -7861,11 +7861,11 @@ impl ICorProfilerMethodEnum { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, elements: &mut [COR_PRF_METHOD], pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), elements.len().try_into().unwrap(), ::core::mem::transmute(elements.as_ptr()), pceltfetched).ok() @@ -7892,11 +7892,11 @@ impl ICorProfilerModuleEnum { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, ids: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() @@ -7923,11 +7923,11 @@ impl ICorProfilerObjectEnum { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, objects: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), objects.len().try_into().unwrap(), ::core::mem::transmute(objects.as_ptr()), pceltfetched).ok() @@ -7954,11 +7954,11 @@ impl ICorProfilerThreadEnum { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Next(&self, ids: &mut [usize], pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr()), pceltfetched).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/ActiveScript/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/ActiveScript/mod.rs index b8dfe54a53..203c53e2ce 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/ActiveScript/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/ActiveScript/mod.rs @@ -62,14 +62,14 @@ impl IActiveScript { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetScriptSite)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptSite)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetScriptState(&self, ss: SCRIPTSTATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScriptState)(::windows_core::Interface::as_raw(self), ss).ok() } pub unsafe fn GetScriptState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -89,19 +89,19 @@ impl IActiveScript { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptDispatch)(::windows_core::Interface::as_raw(self), pstritemname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptDispatch)(::windows_core::Interface::as_raw(self), pstritemname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentScriptThreadID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentScriptThreadID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentScriptThreadID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScriptThreadID(&self, dwwin32threadid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptThreadID)(::windows_core::Interface::as_raw(self), dwwin32threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptThreadID)(::windows_core::Interface::as_raw(self), dwwin32threadid, &mut result__).map(|| result__) } pub unsafe fn GetScriptThreadState(&self, stidthread: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptThreadState)(::windows_core::Interface::as_raw(self), stidthread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptThreadState)(::windows_core::Interface::as_raw(self), stidthread, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InterruptScriptThread(&self, stidthread: u32, pexcepinfo: *const super::super::super::Com::EXCEPINFO, dwflags: u32) -> ::windows_core::Result<()> { @@ -109,7 +109,7 @@ impl IActiveScript { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -182,11 +182,11 @@ impl IActiveScriptAuthor { } pub unsafe fn GetRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguageFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEventHandler(&self, pdisp: P0, pszitem: P1, pszsubitem: P2, pszevent: P3) -> ::windows_core::Result @@ -197,7 +197,7 @@ impl IActiveScriptAuthor { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventHandler)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), pszitem.into_param().abi(), pszsubitem.into_param().abi(), pszevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventHandler)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), pszitem.into_param().abi(), pszsubitem.into_param().abi(), pszevent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveNamedItem(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -213,7 +213,7 @@ impl IActiveScriptAuthor { } pub unsafe fn GetChars(&self, frequestedlist: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChars)(::windows_core::Interface::as_raw(self), frequestedlist, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChars)(::windows_core::Interface::as_raw(self), frequestedlist, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInfoFromContext(&self, pszcode: P0, cchcode: u32, ichcurrentposition: u32, dwlisttypesrequested: u32, pdwlisttypesprovided: *mut u32, pichlistanchorposition: *mut u32, pichfuncanchorposition: *mut u32, pmemid: *mut i32, picurrentparameter: *mut i32, ppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> where @@ -223,7 +223,7 @@ impl IActiveScriptAuthor { } pub unsafe fn IsCommitChar(&self, ch: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCommitChar)(::windows_core::Interface::as_raw(self), ch, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCommitChar)(::windows_core::Interface::as_raw(self), ch, &mut result__).map(|| result__) } } #[repr(C)] @@ -295,7 +295,7 @@ impl IActiveScriptDebug32 { } pub unsafe fn EnumCodeContextsOfPosition(&self, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCodeContextsOfPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCodeContextsOfPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -325,7 +325,7 @@ impl IActiveScriptDebug64 { } pub unsafe fn EnumCodeContextsOfPosition(&self, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCodeContextsOfPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCodeContextsOfPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -375,7 +375,7 @@ impl IActiveScriptError { } pub unsafe fn GetSourceLineText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -401,7 +401,7 @@ impl IActiveScriptError64 { } pub unsafe fn GetSourceLineText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourcePosition64(&self, pdwsourcecontext: *mut u64, pullinenumber: *mut u32, plcharacterposition: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSourcePosition64)(::windows_core::Interface::as_raw(self), pdwsourcecontext, pullinenumber, plcharacterposition).ok() @@ -425,15 +425,15 @@ impl IActiveScriptErrorDebug { } pub unsafe fn GetSourceLineText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStackFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackFrame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -448,7 +448,7 @@ pub struct IActiveScriptErrorDebug_Vtbl { impl IActiveScriptErrorDebug110 { pub unsafe fn GetExceptionThrownKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExceptionThrownKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExceptionThrownKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -587,7 +587,7 @@ impl IActiveScriptParseProcedure2_32 { P5: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -609,7 +609,7 @@ impl IActiveScriptParseProcedure2_64 { P5: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -631,7 +631,7 @@ impl IActiveScriptParseProcedure32 { P5: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -657,7 +657,7 @@ impl IActiveScriptParseProcedure64 { P5: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstrprocedurename.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -682,7 +682,7 @@ impl IActiveScriptParseProcedureOld32 { P4: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -707,7 +707,7 @@ impl IActiveScriptParseProcedureOld64 { P4: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseProcedureText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), pstrformalparams.into_param().abi(), pstritemname.into_param().abi(), punkcontext.into_param().abi(), pstrdelimiter.into_param().abi(), dwsourcecontextcookie, ulstartinglinenumber, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -927,7 +927,7 @@ impl IActiveScriptProfilerControl3 { } pub unsafe fn EnumHeap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -956,7 +956,7 @@ impl IActiveScriptProfilerControl4 { } pub unsafe fn EnumHeap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SummarizeHeap(&self, heapsummary: *mut PROFILER_HEAP_SUMMARY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SummarizeHeap)(::windows_core::Interface::as_raw(self), heapsummary).ok() @@ -988,14 +988,14 @@ impl IActiveScriptProfilerControl5 { } pub unsafe fn EnumHeap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumHeap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SummarizeHeap(&self, heapsummary: *mut PROFILER_HEAP_SUMMARY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SummarizeHeap)(::windows_core::Interface::as_raw(self), heapsummary).ok() } pub unsafe fn EnumHeap2(&self, enumflags: PROFILER_HEAP_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumHeap2)(::windows_core::Interface::as_raw(self), enumflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumHeap2)(::windows_core::Interface::as_raw(self), enumflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1034,7 +1034,7 @@ pub struct IActiveScriptProfilerHeapEnum_Vtbl { impl IActiveScriptProperty { pub unsafe fn GetProperty(&self, dwproperty: u32, pvarindex: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), dwproperty, ::core::mem::transmute(pvarindex), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), dwproperty, ::core::mem::transmute(pvarindex), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, dwproperty: u32, pvarindex: *const ::windows_core::VARIANT, pvarvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), dwproperty, ::core::mem::transmute(pvarindex), ::core::mem::transmute(pvarvalue)).ok() @@ -1052,7 +1052,7 @@ pub struct IActiveScriptProperty_Vtbl { impl IActiveScriptSIPInfo { pub unsafe fn GetSIPOID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSIPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSIPOID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1066,7 +1066,7 @@ pub struct IActiveScriptSIPInfo_Vtbl { impl IActiveScriptSite { pub unsafe fn GetLCID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLCID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLCID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetItemInfo(&self, pstrname: P0, dwreturnmask: u32, ppiunkitem: *mut ::core::option::Option<::windows_core::IUnknown>, ppti: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1077,7 +1077,7 @@ impl IActiveScriptSite { } pub unsafe fn GetDocVersionString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocVersionString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocVersionString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OnScriptTerminate(&self, pvarresult: *const ::windows_core::VARIANT, pexcepinfo: *const super::super::super::Com::EXCEPINFO) -> ::windows_core::Result<()> { @@ -1123,15 +1123,15 @@ pub struct IActiveScriptSite_Vtbl { impl IActiveScriptSiteDebug32 { pub unsafe fn GetDocumentContextFromPosition(&self, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentContextFromPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentContextFromPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnScriptErrorDebug(&self, perrordebug: P0, pfenterdebugger: *mut super::super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -1154,15 +1154,15 @@ pub struct IActiveScriptSiteDebug32_Vtbl { impl IActiveScriptSiteDebug64 { pub unsafe fn GetDocumentContextFromPosition(&self, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentContextFromPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentContextFromPosition)(::windows_core::Interface::as_raw(self), dwsourcecontext, ucharacteroffset, unumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnScriptErrorDebug(&self, perrordebug: P0, pfenterdebugger: *mut super::super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -1188,7 +1188,7 @@ impl IActiveScriptSiteDebugEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnCanNotJITScriptErrorDebug)(::windows_core::Interface::as_raw(self), perrordebug.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnCanNotJITScriptErrorDebug)(::windows_core::Interface::as_raw(self), perrordebug.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1228,7 +1228,7 @@ pub struct IActiveScriptSiteTraceInfo_Vtbl { impl IActiveScriptSiteUIControl { pub unsafe fn GetUIBehavior(&self, uicitem: SCRIPTUICITEM) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUIBehavior)(::windows_core::Interface::as_raw(self), uicitem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUIBehavior)(::windows_core::Interface::as_raw(self), uicitem, &mut result__).map(|| result__) } } #[repr(C)] @@ -1242,7 +1242,7 @@ pub struct IActiveScriptSiteUIControl_Vtbl { impl IActiveScriptSiteWindow { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableModeless(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -1288,7 +1288,7 @@ impl IActiveScriptStringCompare { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StrComp)(::windows_core::Interface::as_raw(self), bszstr1.into_param().abi(), bszstr2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StrComp)(::windows_core::Interface::as_raw(self), bszstr1.into_param().abi(), bszstr2.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1329,19 +1329,19 @@ impl IActiveScriptWinRTErrorDebug { } pub unsafe fn GetSourceLineText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceLineText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRestrictedErrorString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictedErrorString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictedErrorString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRestrictedErrorReference(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictedErrorReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictedErrorReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilitySid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilitySid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilitySid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1363,7 +1363,7 @@ impl IApplicationDebugger { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceAtDebugger)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceAtDebugger)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn onDebugOutput(&self, pstr: P0) -> ::windows_core::Result<()> where @@ -1451,11 +1451,11 @@ impl IDebugApplication11032 { } pub unsafe fn GetCurrentDebuggerOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMainThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SynchronousCallInMainThread(&self, pptc: P0, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows_core::Result<()> where @@ -1471,7 +1471,7 @@ impl IDebugApplication11032 { } pub unsafe fn CallableWaitForHandles(&self, phandles: &[super::super::super::super::Foundation::HANDLE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallableWaitForHandles)(::windows_core::Interface::as_raw(self), phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallableWaitForHandles)(::windows_core::Interface::as_raw(self), phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).map(|| result__) } } #[repr(C)] @@ -1490,11 +1490,11 @@ impl IDebugApplication11064 { } pub unsafe fn GetCurrentDebuggerOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMainThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SynchronousCallInMainThread(&self, pptc: P0, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows_core::Result<()> where @@ -1510,7 +1510,7 @@ impl IDebugApplication11064 { } pub unsafe fn CallableWaitForHandles(&self, phandles: &[super::super::super::super::Foundation::HANDLE]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CallableWaitForHandles)(::windows_core::Interface::as_raw(self), phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CallableWaitForHandles)(::windows_core::Interface::as_raw(self), phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).map(|| result__) } } #[repr(C)] @@ -1544,33 +1544,33 @@ impl IDebugApplication32 { } pub unsafe fn GetDebugger(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceAtApplication(&self, rclsid: *const ::windows_core::GUID, punkouter: P0, dwclscontext: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAlive(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueryAlive)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumGlobalExpressionContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, pstrname: P0) -> ::windows_core::Result<()> where @@ -1592,7 +1592,7 @@ impl IDebugApplication32 { } pub unsafe fn HandleBreakPoint(&self, br: BREAKREASON) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandleBreakPoint)(::windows_core::Interface::as_raw(self), br, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandleBreakPoint)(::windows_core::Interface::as_raw(self), br, &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -1602,21 +1602,21 @@ impl IDebugApplication32 { } pub unsafe fn GetCurrentThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAsyncDebugOperation(&self, psdo: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAsyncDebugOperation)(::windows_core::Interface::as_raw(self), psdo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAsyncDebugOperation)(::windows_core::Interface::as_raw(self), psdo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddStackFrameSniffer(&self, pdsfs: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddStackFrameSniffer)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddStackFrameSniffer)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveStackFrameSniffer(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveStackFrameSniffer)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1632,7 +1632,7 @@ impl IDebugApplication32 { } pub unsafe fn CreateApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FireDebuggerEvent(&self, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result<()> where @@ -1658,7 +1658,7 @@ impl IDebugApplication32 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveGlobalExpressionContextProvider(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1712,33 +1712,33 @@ impl IDebugApplication64 { } pub unsafe fn GetDebugger(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceAtApplication(&self, rclsid: *const ::windows_core::GUID, punkouter: P0, dwclscontext: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAlive(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.QueryAlive)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumGlobalExpressionContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, pstrname: P0) -> ::windows_core::Result<()> where @@ -1760,7 +1760,7 @@ impl IDebugApplication64 { } pub unsafe fn HandleBreakPoint(&self, br: BREAKREASON) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandleBreakPoint)(::windows_core::Interface::as_raw(self), br, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandleBreakPoint)(::windows_core::Interface::as_raw(self), br, &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -1770,21 +1770,21 @@ impl IDebugApplication64 { } pub unsafe fn GetCurrentThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAsyncDebugOperation(&self, psdo: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAsyncDebugOperation)(::windows_core::Interface::as_raw(self), psdo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAsyncDebugOperation)(::windows_core::Interface::as_raw(self), psdo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddStackFrameSniffer(&self, pdsfs: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddStackFrameSniffer)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddStackFrameSniffer)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveStackFrameSniffer(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveStackFrameSniffer)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1800,7 +1800,7 @@ impl IDebugApplication64 { } pub unsafe fn CreateApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FireDebuggerEvent(&self, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result<()> where @@ -1826,7 +1826,7 @@ impl IDebugApplication64 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), pdsfs.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveGlobalExpressionContextProvider(&self, dwcookie: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveGlobalExpressionContextProvider)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -1862,23 +1862,23 @@ pub struct IDebugApplication64_Vtbl { impl IDebugApplicationNode { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDocumentProvider(&self, pddp: P0) -> ::windows_core::Result<()> where @@ -1918,7 +1918,7 @@ impl IDebugApplicationNode100 { } pub unsafe fn GetExcludedDocuments(&self, filter: APPLICATION_NODE_EVENT_FILTER) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExcludedDocuments)(::windows_core::Interface::as_raw(self), filter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExcludedDocuments)(::windows_core::Interface::as_raw(self), filter, &mut result__).map(|| result__) } pub unsafe fn QueryIsChildNode(&self, psearchkey: P0) -> ::windows_core::Result<()> where @@ -1974,15 +1974,15 @@ pub struct IDebugApplicationNodeEvents_Vtbl { impl IDebugApplicationThread { pub unsafe fn GetSystemThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self, pbstrdescription: *mut ::windows_core::BSTR, pbstrstate: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrdescription), ::core::mem::transmute(pbstrstate)).ok() @@ -1996,19 +1996,19 @@ impl IDebugApplicationThread { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Suspend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Suspend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Suspend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Resume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Resume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSuspendCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SynchronousCallIntoThread32(&self, pstcb: P0, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows_core::Result<()> where @@ -2050,15 +2050,15 @@ pub struct IDebugApplicationThread_Vtbl { impl IDebugApplicationThread11032 { pub unsafe fn GetActiveThreadRequestCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveThreadRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveThreadRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSuspendedForBreakPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSuspendedForBreakPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSuspendedForBreakPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsThreadCallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThreadCallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThreadCallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AsynchronousCallIntoThread(&self, pptc: P0, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows_core::Result<()> where @@ -2081,15 +2081,15 @@ pub struct IDebugApplicationThread11032_Vtbl { impl IDebugApplicationThread11064 { pub unsafe fn GetActiveThreadRequestCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveThreadRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveThreadRequestCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSuspendedForBreakPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSuspendedForBreakPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSuspendedForBreakPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsThreadCallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThreadCallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThreadCallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AsynchronousCallIntoThread(&self, pptc: P0, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows_core::Result<()> where @@ -2112,15 +2112,15 @@ pub struct IDebugApplicationThread11064_Vtbl { impl IDebugApplicationThread64 { pub unsafe fn GetSystemThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self, pbstrdescription: *mut ::windows_core::BSTR, pbstrstate: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrdescription), ::core::mem::transmute(pbstrstate)).ok() @@ -2134,19 +2134,19 @@ impl IDebugApplicationThread64 { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Suspend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Suspend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Suspend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Resume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Resume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSuspendCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SynchronousCallIntoThread32(&self, pstcb: P0, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows_core::Result<()> where @@ -2215,7 +2215,7 @@ pub struct IDebugApplicationThreadEvents110_Vtbl { impl IDebugAsyncOperation { pub unsafe fn GetSyncDebugOperation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncDebugOperation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncDebugOperation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Start(&self, padocb: P0) -> ::windows_core::Result<()> where @@ -2261,7 +2261,7 @@ pub struct IDebugAsyncOperationCallBack_Vtbl { impl IDebugCodeContext { pub unsafe fn GetDocumentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBreakPoint(&self, bps: BREAKPOINT_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBreakPoint)(::windows_core::Interface::as_raw(self), bps).ok() @@ -2292,11 +2292,11 @@ pub struct IDebugCookie_Vtbl { impl IDebugDocument { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2309,11 +2309,11 @@ pub struct IDebugDocument_Vtbl { impl IDebugDocumentContext { pub unsafe fn GetDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumCodeContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCodeContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCodeContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2370,7 +2370,7 @@ impl IDebugDocumentHelper32 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefineScriptBlock)(::windows_core::Interface::as_raw(self), ulcharoffset, cchars, pas.into_param().abi(), fscriptlet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefineScriptBlock)(::windows_core::Interface::as_raw(self), ulcharoffset, cchars, pas.into_param().abi(), fscriptlet.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDefaultTextAttr(&self, statextattr: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultTextAttr)(::windows_core::Interface::as_raw(self), statextattr).ok() @@ -2395,14 +2395,14 @@ impl IDebugDocumentHelper32 { } pub unsafe fn GetDebugApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetScriptBlockInfo(&self, dwsourcecontext: u32, ppasd: *mut ::core::option::Option, picharpos: *mut u32, pcchars: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetScriptBlockInfo)(::windows_core::Interface::as_raw(self), dwsourcecontext, ::core::mem::transmute(ppasd), picharpos, pcchars).ok() } pub unsafe fn CreateDebugDocumentContext(&self, icharpos: u32, cchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDebugDocumentContext)(::windows_core::Interface::as_raw(self), icharpos, cchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDebugDocumentContext)(::windows_core::Interface::as_raw(self), icharpos, cchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BringDocumentToTop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BringDocumentToTop)(::windows_core::Interface::as_raw(self)).ok() @@ -2484,7 +2484,7 @@ impl IDebugDocumentHelper64 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefineScriptBlock)(::windows_core::Interface::as_raw(self), ulcharoffset, cchars, pas.into_param().abi(), fscriptlet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefineScriptBlock)(::windows_core::Interface::as_raw(self), ulcharoffset, cchars, pas.into_param().abi(), fscriptlet.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetDefaultTextAttr(&self, statextattr: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultTextAttr)(::windows_core::Interface::as_raw(self), statextattr).ok() @@ -2509,14 +2509,14 @@ impl IDebugDocumentHelper64 { } pub unsafe fn GetDebugApplicationNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugApplicationNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetScriptBlockInfo(&self, dwsourcecontext: u64, ppasd: *mut ::core::option::Option, picharpos: *mut u32, pcchars: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetScriptBlockInfo)(::windows_core::Interface::as_raw(self), dwsourcecontext, ::core::mem::transmute(ppasd), picharpos, pcchars).ok() } pub unsafe fn CreateDebugDocumentContext(&self, icharpos: u32, cchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDebugDocumentContext)(::windows_core::Interface::as_raw(self), icharpos, cchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDebugDocumentContext)(::windows_core::Interface::as_raw(self), icharpos, cchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BringDocumentToTop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BringDocumentToTop)(::windows_core::Interface::as_raw(self)).ok() @@ -2566,14 +2566,14 @@ impl IDebugDocumentHost { } pub unsafe fn OnCreateDocumentContext(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnCreateDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnCreateDocumentContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPathName(&self, pbstrlongname: *mut ::windows_core::BSTR, pfisoriginalfile: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPathName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrlongname), pfisoriginalfile).ok() } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -2595,11 +2595,11 @@ pub struct IDebugDocumentHost_Vtbl { impl IDebugDocumentInfo { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2614,15 +2614,15 @@ pub struct IDebugDocumentInfo_Vtbl { impl IDebugDocumentProvider { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2636,22 +2636,22 @@ pub struct IDebugDocumentProvider_Vtbl { impl IDebugDocumentText { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocumentAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pcnumlines: *mut u32, pcnumchars: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), pcnumlines, pcnumchars).ok() } pub unsafe fn GetPositionOfLine(&self, clinenumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPositionOfLine)(::windows_core::Interface::as_raw(self), clinenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPositionOfLine)(::windows_core::Interface::as_raw(self), clinenumber, &mut result__).map(|| result__) } pub unsafe fn GetLineOfPosition(&self, ccharacterposition: u32, pclinenumber: *mut u32, pccharacteroffsetinline: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLineOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, pclinenumber, pccharacteroffsetinline).ok() @@ -2667,7 +2667,7 @@ impl IDebugDocumentText { } pub unsafe fn GetContextOfPosition(&self, ccharacterposition: u32, cnumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, cnumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, cnumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2687,22 +2687,22 @@ pub struct IDebugDocumentText_Vtbl { impl IDebugDocumentTextAuthor { pub unsafe fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetName)(::windows_core::Interface::as_raw(self), dnt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDocumentClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocumentAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocumentAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocumentAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self, pcnumlines: *mut u32, pcnumchars: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), pcnumlines, pcnumchars).ok() } pub unsafe fn GetPositionOfLine(&self, clinenumber: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPositionOfLine)(::windows_core::Interface::as_raw(self), clinenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPositionOfLine)(::windows_core::Interface::as_raw(self), clinenumber, &mut result__).map(|| result__) } pub unsafe fn GetLineOfPosition(&self, ccharacterposition: u32, pclinenumber: *mut u32, pccharacteroffsetinline: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetLineOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, pclinenumber, pccharacteroffsetinline).ok() @@ -2718,7 +2718,7 @@ impl IDebugDocumentTextAuthor { } pub unsafe fn GetContextOfPosition(&self, ccharacterposition: u32, cnumchars: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContextOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, cnumchars, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContextOfPosition)(::windows_core::Interface::as_raw(self), ccharacterposition, cnumchars, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertText(&self, ccharacterposition: u32, pchartext: &[u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertText)(::windows_core::Interface::as_raw(self), ccharacterposition, pchartext.len().try_into().unwrap(), ::core::mem::transmute(pchartext.as_ptr())).ok() @@ -2779,7 +2779,7 @@ impl IDebugDocumentTextExternalAuthor { } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -2847,7 +2847,7 @@ impl IDebugExpressionContext { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseLanguageText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), nradix, pstrdelimiter.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseLanguageText)(::windows_core::Interface::as_raw(self), pstrcode.into_param().abi(), nradix, pstrdelimiter.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguageInfo(&self, pbstrlanguagename: *mut ::windows_core::BSTR, planguageid: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLanguageInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrlanguagename), planguageid).ok() @@ -2865,19 +2865,19 @@ pub struct IDebugExpressionContext_Vtbl { impl IDebugFormatter { pub unsafe fn GetStringForVariant(&self, pvar: *const ::windows_core::VARIANT, nradix: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringForVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), nradix, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringForVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), nradix, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVariantForString(&self, pwstrvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVariantForString)(::windows_core::Interface::as_raw(self), pwstrvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVariantForString)(::windows_core::Interface::as_raw(self), pwstrvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))] pub unsafe fn GetStringForVarType(&self, vt: super::super::super::Variant::VARENUM, ptdescarraytype: *const super::super::super::Com::TYPEDESC) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringForVarType)(::windows_core::Interface::as_raw(self), vt, ptdescarraytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringForVarType)(::windows_core::Interface::as_raw(self), vt, ptdescarraytype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2900,7 +2900,7 @@ impl IDebugHelper { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyBrowser)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), bstrname.into_param().abi(), pdat.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyBrowser)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), bstrname.into_param().abi(), pdat.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyBrowserEx(&self, pvar: *const ::windows_core::VARIANT, bstrname: P0, pdat: P1, pdf: P2) -> ::windows_core::Result where @@ -2909,7 +2909,7 @@ impl IDebugHelper { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyBrowserEx)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), bstrname.into_param().abi(), pdat.into_param().abi(), pdf.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyBrowserEx)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), bstrname.into_param().abi(), pdat.into_param().abi(), pdf.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSimpleConnectionPoint(&self, pdisp: P0) -> ::windows_core::Result @@ -2917,7 +2917,7 @@ impl IDebugHelper { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSimpleConnectionPoint)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSimpleConnectionPoint)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2952,29 +2952,29 @@ pub struct IDebugSessionProvider_Vtbl { impl IDebugStackFrame { pub unsafe fn GetCodeContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptionString(&self, flong: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescriptionString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescriptionString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguageString(&self, flong: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDebugProperty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2992,37 +2992,37 @@ pub struct IDebugStackFrame_Vtbl { impl IDebugStackFrame110 { pub unsafe fn GetCodeContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodeContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodeContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescriptionString(&self, flong: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescriptionString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescriptionString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguageString(&self, flong: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageString)(::windows_core::Interface::as_raw(self), flong.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDebugProperty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStackFrameType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackFrameType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackFrameType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetScriptInvocationContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScriptInvocationContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScriptInvocationContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3037,7 +3037,7 @@ pub struct IDebugStackFrame110_Vtbl { impl IDebugStackFrameSniffer { pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3051,11 +3051,11 @@ pub struct IDebugStackFrameSniffer_Vtbl { impl IDebugStackFrameSnifferEx32 { pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStackFramesEx32(&self, dwspmin: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStackFramesEx32)(::windows_core::Interface::as_raw(self), dwspmin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStackFramesEx32)(::windows_core::Interface::as_raw(self), dwspmin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3069,11 +3069,11 @@ pub struct IDebugStackFrameSnifferEx32_Vtbl { impl IDebugStackFrameSnifferEx64 { pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStackFramesEx64(&self, dwspmin: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStackFramesEx64)(::windows_core::Interface::as_raw(self), dwspmin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStackFramesEx64)(::windows_core::Interface::as_raw(self), dwspmin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3087,11 +3087,11 @@ pub struct IDebugStackFrameSnifferEx64_Vtbl { impl IDebugSyncOperation { pub unsafe fn GetTargetThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Execute(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InProgressAbort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InProgressAbort)(::windows_core::Interface::as_raw(self)).ok() @@ -3145,7 +3145,7 @@ impl IEnumDebugApplicationNodes { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3171,7 +3171,7 @@ impl IEnumDebugCodeContexts { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3197,7 +3197,7 @@ impl IEnumDebugExpressionContexts { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3223,7 +3223,7 @@ impl IEnumDebugStackFrames { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3249,7 +3249,7 @@ impl IEnumDebugStackFrames64 { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next64(&self, celt: u32, prgdsfd: *mut DebugStackFrameDescriptor64, pceltfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next64)(::windows_core::Interface::as_raw(self), celt, prgdsfd, pceltfetched).ok() @@ -3292,7 +3292,7 @@ impl IEnumRemoteDebugApplicationThreads { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3318,7 +3318,7 @@ impl IEnumRemoteDebugApplications { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3338,7 +3338,7 @@ impl IJsDebug { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenVirtualProcess)(::windows_core::Interface::as_raw(self), processid, runtimejsbaseaddress, pdatatarget.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenVirtualProcess)(::windows_core::Interface::as_raw(self), processid, runtimejsbaseaddress, pdatatarget.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3352,7 +3352,7 @@ pub struct IJsDebug_Vtbl { impl IJsDebugBreakPoint { pub unsafe fn IsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enable(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Enable)(::windows_core::Interface::as_raw(self)).ok() @@ -3388,26 +3388,26 @@ impl IJsDebugDataTarget { } pub unsafe fn AllocateVirtualMemory(&self, address: u64, size: u32, allocationtype: u32, pageprotection: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllocateVirtualMemory)(::windows_core::Interface::as_raw(self), address, size, allocationtype, pageprotection, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllocateVirtualMemory)(::windows_core::Interface::as_raw(self), address, size, allocationtype, pageprotection, &mut result__).map(|| result__) } pub unsafe fn FreeVirtualMemory(&self, address: u64, size: u32, freetype: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FreeVirtualMemory)(::windows_core::Interface::as_raw(self), address, size, freetype).ok() } pub unsafe fn GetTlsValue(&self, threadid: u32, tlsindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTlsValue)(::windows_core::Interface::as_raw(self), threadid, tlsindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTlsValue)(::windows_core::Interface::as_raw(self), threadid, tlsindex, &mut result__).map(|| result__) } pub unsafe fn ReadBSTR(&self, address: u64) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadBSTR)(::windows_core::Interface::as_raw(self), address, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadBSTR)(::windows_core::Interface::as_raw(self), address, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReadNullTerminatedString(&self, address: u64, charactersize: u16, maxcharacters: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadNullTerminatedString)(::windows_core::Interface::as_raw(self), address, charactersize, maxcharacters, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadNullTerminatedString)(::windows_core::Interface::as_raw(self), address, charactersize, maxcharacters, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateStackFrameEnumerator(&self, threadid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStackFrameEnumerator)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStackFrameEnumerator)(::windows_core::Interface::as_raw(self), threadid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadContext(&self, threadid: u32, contextflags: u32, pcontext: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetThreadContext)(::windows_core::Interface::as_raw(self), threadid, contextflags, pcontext.len().try_into().unwrap(), ::core::mem::transmute(pcontext.as_ptr())).ok() @@ -3435,7 +3435,7 @@ impl IJsDebugFrame { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentPositionWithId(&self, pdocumentid: *mut u64, pcharacteroffset: *mut u32, pstatementcharcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDocumentPositionWithId)(::windows_core::Interface::as_raw(self), pdocumentid, pcharacteroffset, pstatementcharcount).ok() @@ -3445,11 +3445,11 @@ impl IJsDebugFrame { } pub unsafe fn GetDebugProperty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugProperty)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReturnAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Evaluate(&self, pexpressiontext: P0, ppdebugproperty: *mut ::core::option::Option, perror: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> where @@ -3475,21 +3475,21 @@ pub struct IJsDebugFrame_Vtbl { impl IJsDebugProcess { pub unsafe fn CreateStackWalker(&self, threadid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStackWalker)(::windows_core::Interface::as_raw(self), threadid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStackWalker)(::windows_core::Interface::as_raw(self), threadid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateBreakPoint(&self, documentid: u64, characteroffset: u32, charactercount: u32, isenabled: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateBreakPoint)(::windows_core::Interface::as_raw(self), documentid, characteroffset, charactercount, isenabled.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBreakPoint)(::windows_core::Interface::as_raw(self), documentid, characteroffset, charactercount, isenabled.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PerformAsyncBreak(&self, threadid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PerformAsyncBreak)(::windows_core::Interface::as_raw(self), threadid).ok() } pub unsafe fn GetExternalStepAddress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExternalStepAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExternalStepAddress)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3509,7 +3509,7 @@ impl IJsDebugProperty { } pub unsafe fn GetMembers(&self, members: JS_PROPERTY_MEMBERS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMembers)(::windows_core::Interface::as_raw(self), members, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMembers)(::windows_core::Interface::as_raw(self), members, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3524,7 +3524,7 @@ pub struct IJsDebugProperty_Vtbl { impl IJsDebugStackWalker { pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3541,7 +3541,7 @@ impl IJsEnumDebugProperty { } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3559,14 +3559,14 @@ impl IMachineDebugManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveApplication(&self, dwappcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveApplication)(::windows_core::Interface::as_raw(self), dwappcookie).ok() } pub unsafe fn EnumApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3585,14 +3585,14 @@ impl IMachineDebugManagerCookie { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), dwdebugappcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), dwdebugappcookie, &mut result__).map(|| result__) } pub unsafe fn RemoveApplication(&self, dwdebugappcookie: u32, dwappcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveApplication)(::windows_core::Interface::as_raw(self), dwdebugappcookie, dwappcookie).ok() } pub unsafe fn EnumApplications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumApplications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumApplications)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3631,18 +3631,18 @@ pub struct IMachineDebugManagerEvents_Vtbl { impl IProcessDebugManager32 { pub unsafe fn CreateApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddApplication(&self, pda: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveApplication(&self, dwappcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveApplication)(::windows_core::Interface::as_raw(self), dwappcookie).ok() @@ -3652,7 +3652,7 @@ impl IProcessDebugManager32 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDebugDocumentHelper)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDebugDocumentHelper)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3670,18 +3670,18 @@ pub struct IProcessDebugManager32_Vtbl { impl IProcessDebugManager64 { pub unsafe fn CreateApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddApplication(&self, pda: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddApplication)(::windows_core::Interface::as_raw(self), pda.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveApplication(&self, dwappcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveApplication)(::windows_core::Interface::as_raw(self), dwappcookie).ok() @@ -3691,7 +3691,7 @@ impl IProcessDebugManager64 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDebugDocumentHelper)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDebugDocumentHelper)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3709,7 +3709,7 @@ pub struct IProcessDebugManager64_Vtbl { impl IProvideExpressionContexts { pub unsafe fn EnumExpressionContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3741,33 +3741,33 @@ impl IRemoteDebugApplication { } pub unsafe fn GetDebugger(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugger)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceAtApplication(&self, rclsid: *const ::windows_core::GUID, punkouter: P0, dwclscontext: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceAtApplication)(::windows_core::Interface::as_raw(self), rclsid, punkouter.into_param().abi(), dwclscontext, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryAlive(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryAlive)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EnumThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumThreads)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumGlobalExpressionContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumGlobalExpressionContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3794,11 +3794,11 @@ impl IRemoteDebugApplication110 { } pub unsafe fn GetCurrentDebuggerOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentDebuggerOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMainThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3887,15 +3887,15 @@ pub struct IRemoteDebugApplicationEvents_Vtbl { impl IRemoteDebugApplicationThread { pub unsafe fn GetSystemThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplication)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumStackFrames(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumStackFrames)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self, pbstrdescription: *mut ::windows_core::BSTR, pbstrstate: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrdescription), ::core::mem::transmute(pbstrstate)).ok() @@ -3909,19 +3909,19 @@ impl IRemoteDebugApplicationThread { } pub unsafe fn GetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Suspend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resume(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSuspendCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSuspendCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3975,34 +3975,34 @@ impl IScriptEntry { } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndexInParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChild(&self, isn: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateChildEntry(&self, isn: u32, dwcookie: u32, pszdelimiter: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateChildHandler(&self, pszdefaultname: P0, prgpsznames: &[::windows_core::PCWSTR], pszevent: P1, pszdelimiter: P2, ptisignature: P3, imethodsignature: u32, isn: u32, dwcookie: u32) -> ::windows_core::Result @@ -4013,11 +4013,11 @@ impl IScriptEntry { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4027,7 +4027,7 @@ impl IScriptEntry { } pub unsafe fn GetBody(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4037,7 +4037,7 @@ impl IScriptEntry { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4047,7 +4047,7 @@ impl IScriptEntry { } pub unsafe fn GetItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItemName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4097,15 +4097,15 @@ pub struct IScriptEntry_Vtbl { impl IScriptInvocationContext { pub unsafe fn GetContextType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContextDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4127,34 +4127,34 @@ impl IScriptNode { } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndexInParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChild(&self, isn: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateChildEntry(&self, isn: u32, dwcookie: u32, pszdelimiter: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateChildHandler(&self, pszdefaultname: P0, prgpsznames: &[::windows_core::PCWSTR], pszevent: P1, pszdelimiter: P2, ptisignature: P3, imethodsignature: u32, isn: u32, dwcookie: u32) -> ::windows_core::Result @@ -4165,7 +4165,7 @@ impl IScriptNode { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4197,34 +4197,34 @@ impl IScriptScriptlet { } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndexInParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetIndexInParent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNumberOfChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChild(&self, isn: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetChild)(::windows_core::Interface::as_raw(self), isn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateChildEntry(&self, isn: u32, dwcookie: u32, pszdelimiter: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateChildEntry)(::windows_core::Interface::as_raw(self), isn, dwcookie, pszdelimiter.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateChildHandler(&self, pszdefaultname: P0, prgpsznames: &[::windows_core::PCWSTR], pszevent: P1, pszdelimiter: P2, ptisignature: P3, imethodsignature: u32, isn: u32, dwcookie: u32) -> ::windows_core::Result @@ -4235,11 +4235,11 @@ impl IScriptScriptlet { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateChildHandler)(::windows_core::Interface::as_raw(self), pszdefaultname.into_param().abi(), ::core::mem::transmute(prgpsznames.as_ptr()), prgpsznames.len().try_into().unwrap(), pszevent.into_param().abi(), pszdelimiter.into_param().abi(), ptisignature.into_param().abi(), imethodsignature, isn, dwcookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4249,7 +4249,7 @@ impl IScriptScriptlet { } pub unsafe fn GetBody(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBody)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBody)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4259,7 +4259,7 @@ impl IScriptScriptlet { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4269,7 +4269,7 @@ impl IScriptScriptlet { } pub unsafe fn GetItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItemName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4293,7 +4293,7 @@ impl IScriptScriptlet { } pub unsafe fn GetSubItemName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubItemName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubItemName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubItemName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4303,7 +4303,7 @@ impl IScriptScriptlet { } pub unsafe fn GetEventName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4313,7 +4313,7 @@ impl IScriptScriptlet { } pub unsafe fn GetSimpleEventName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSimpleEventName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSimpleEventName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSimpleEventName(&self, psz: P0) -> ::windows_core::Result<()> where @@ -4338,7 +4338,7 @@ pub struct IScriptScriptlet_Vtbl { impl ISimpleConnectionPoint { pub unsafe fn GetEventCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DescribeEvents(&self, ievent: u32, cevents: u32, prgid: *mut i32, prgbstr: *mut ::windows_core::BSTR, pceventsfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DescribeEvents)(::windows_core::Interface::as_raw(self), ievent, cevents, prgid, ::core::mem::transmute(prgbstr), pceventsfetched).ok() @@ -4349,7 +4349,7 @@ impl ISimpleConnectionPoint { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pdisp.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -4409,7 +4409,7 @@ pub struct IWebAppDiagnosticsObjectInitialization_Vtbl { impl IWebAppDiagnosticsSetup { pub unsafe fn DiagnosticsSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiagnosticsSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiagnosticsSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateObjectWithSiteAtWebApp(&self, rclsid: *const ::windows_core::GUID, dwclscontext: u32, riid: *const ::windows_core::GUID, hpasstoobject: usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateObjectWithSiteAtWebApp)(::windows_core::Interface::as_raw(self), rclsid, dwclscontext, riid, hpasstoobject).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/Extensions/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/Extensions/mod.rs index 6d35bd9f62..e0d3ef2950 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/Extensions/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/Extensions/mod.rs @@ -5,7 +5,7 @@ where { ::windows_targets::link!("dbgmodel.dll" "system" fn CreateDataModelManager(debughost : * mut::core::ffi::c_void, manager : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDataModelManager(debughost.into_param().abi(), &mut result__).from_abi(result__) + CreateDataModelManager(debughost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DebugConnect(remoteoptions: P0, interfaceid: *const ::windows_core::GUID, interface: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -30,7 +30,7 @@ where { ::windows_targets::link!("dbgeng.dll" "system" fn DebugCreate(interfaceid : *const ::windows_core::GUID, interface : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DebugCreate(&T::IID, &mut result__).from_abi(result__) + DebugCreate(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn DebugCreateEx(dbgengoptions: u32) -> ::windows_core::Result @@ -39,14 +39,14 @@ where { ::windows_targets::link!("dbgeng.dll" "system" fn DebugCreateEx(interfaceid : *const ::windows_core::GUID, dbgengoptions : u32, interface : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - DebugCreateEx(&T::IID, dbgengoptions, &mut result__).from_abi(result__) + DebugCreateEx(&T::IID, dbgengoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(DebugBaseEventCallbacks, DebugBaseEventCallbacks_Vtbl, 0); ::windows_core::imp::interface_hierarchy!(DebugBaseEventCallbacks, ::windows_core::IUnknown, IDebugEventCallbacks); impl DebugBaseEventCallbacks { pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Breakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -112,7 +112,7 @@ pub struct DebugBaseEventCallbacks_Vtbl { impl DebugBaseEventCallbacksWide { pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Breakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -181,7 +181,7 @@ impl ICodeAddressConcept { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainingSymbol)(::windows_core::Interface::as_raw(self), pcontextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainingSymbol)(::windows_core::Interface::as_raw(self), pcontextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -199,7 +199,7 @@ impl IComparableConcept { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareObjects)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), otherobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareObjects)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), otherobject.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -221,7 +221,7 @@ impl IDataModelConcept { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -239,14 +239,14 @@ impl IDataModelManager { } pub unsafe fn CreateNoValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNoValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNoValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateErrorObject(&self, hrerror: ::windows_core::HRESULT, pwszmessage: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateErrorObject)(::windows_core::Interface::as_raw(self), hrerror, pwszmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateErrorObject)(::windows_core::Interface::as_raw(self), hrerror, pwszmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedObject(&self, context: P0, objectlocation: Location, objecttype: P1) -> ::windows_core::Result where @@ -254,7 +254,7 @@ impl IDataModelManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypedObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypedObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedObjectReference(&self, context: P0, objectlocation: Location, objecttype: P1) -> ::windows_core::Result where @@ -262,39 +262,39 @@ impl IDataModelManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypedObjectReference)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypedObjectReference)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSyntheticObject(&self, context: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSyntheticObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSyntheticObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDataModelObject(&self, datamodel: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDataModelObject)(::windows_core::Interface::as_raw(self), datamodel.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDataModelObject)(::windows_core::Interface::as_raw(self), datamodel.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateIntrinsicObject(&self, objectkind: ModelObjectKind, intrinsicdata: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIntrinsicObject)(::windows_core::Interface::as_raw(self), objectkind, ::core::mem::transmute(intrinsicdata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIntrinsicObject)(::windows_core::Interface::as_raw(self), objectkind, ::core::mem::transmute(intrinsicdata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedIntrinsicObject(&self, intrinsicdata: *const ::windows_core::VARIANT, r#type: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypedIntrinsicObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypedIntrinsicObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetModelForTypeSignature(&self, typesignature: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModelForTypeSignature)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModelForTypeSignature)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetModelForType(&self, r#type: P0, datamodel: *mut ::core::option::Option, typesignature: ::core::option::Option<*mut ::core::option::Option>, wildcardmatches: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -335,11 +335,11 @@ impl IDataModelManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMetadataStore)(::windows_core::Interface::as_raw(self), parentstore.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMetadataStore)(::windows_core::Interface::as_raw(self), parentstore.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootNamespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterNamedModel(&self, modelname: P0, modeobject: P1) -> ::windows_core::Result<()> where @@ -359,7 +359,7 @@ impl IDataModelManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AcquireNamedModel)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AcquireNamedModel)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -395,14 +395,14 @@ impl IDataModelManager2 { } pub unsafe fn CreateNoValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateNoValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateNoValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateErrorObject(&self, hrerror: ::windows_core::HRESULT, pwszmessage: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateErrorObject)(::windows_core::Interface::as_raw(self), hrerror, pwszmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateErrorObject)(::windows_core::Interface::as_raw(self), hrerror, pwszmessage.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedObject(&self, context: P0, objectlocation: Location, objecttype: P1) -> ::windows_core::Result where @@ -410,7 +410,7 @@ impl IDataModelManager2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTypedObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTypedObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedObjectReference(&self, context: P0, objectlocation: Location, objecttype: P1) -> ::windows_core::Result where @@ -418,39 +418,39 @@ impl IDataModelManager2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTypedObjectReference)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTypedObjectReference)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(objectlocation), objecttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSyntheticObject(&self, context: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSyntheticObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSyntheticObject)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDataModelObject(&self, datamodel: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDataModelObject)(::windows_core::Interface::as_raw(self), datamodel.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDataModelObject)(::windows_core::Interface::as_raw(self), datamodel.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateIntrinsicObject(&self, objectkind: ModelObjectKind, intrinsicdata: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateIntrinsicObject)(::windows_core::Interface::as_raw(self), objectkind, ::core::mem::transmute(intrinsicdata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateIntrinsicObject)(::windows_core::Interface::as_raw(self), objectkind, ::core::mem::transmute(intrinsicdata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedIntrinsicObject(&self, intrinsicdata: *const ::windows_core::VARIANT, r#type: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTypedIntrinsicObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTypedIntrinsicObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetModelForTypeSignature(&self, typesignature: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetModelForTypeSignature)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetModelForTypeSignature)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetModelForType(&self, r#type: P0, datamodel: *mut ::core::option::Option, typesignature: ::core::option::Option<*mut ::core::option::Option>, wildcardmatches: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -491,11 +491,11 @@ impl IDataModelManager2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMetadataStore)(::windows_core::Interface::as_raw(self), parentstore.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMetadataStore)(::windows_core::Interface::as_raw(self), parentstore.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootNamespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterNamedModel(&self, modelname: P0, modeobject: P1) -> ::windows_core::Result<()> where @@ -515,7 +515,7 @@ impl IDataModelManager2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AcquireNamedModel)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AcquireNamedModel)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcquireSubNamespace(&self, modelname: P0, subnamespacemodelname: P1, accessname: P2, metadata: P3) -> ::windows_core::Result where @@ -525,7 +525,7 @@ impl IDataModelManager2 { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AcquireSubNamespace)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), subnamespacemodelname.into_param().abi(), accessname.into_param().abi(), metadata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AcquireSubNamespace)(::windows_core::Interface::as_raw(self), modelname.into_param().abi(), subnamespacemodelname.into_param().abi(), accessname.into_param().abi(), metadata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypedIntrinsicObjectEx(&self, context: P0, intrinsicdata: *const ::windows_core::VARIANT, r#type: P1) -> ::windows_core::Result where @@ -533,7 +533,7 @@ impl IDataModelManager2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypedIntrinsicObjectEx)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypedIntrinsicObjectEx)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(intrinsicdata), r#type.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -565,14 +565,14 @@ impl IDataModelNameBinder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateValues)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateValues)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateReferences(&self, contextobject: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateReferences)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateReferences)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -589,7 +589,7 @@ pub struct IDataModelNameBinder_Vtbl { impl IDataModelScript { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Rename(&self, scriptname: P0) -> ::windows_core::Result<()> where @@ -615,7 +615,7 @@ impl IDataModelScript { } pub unsafe fn IsInvocable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInvocable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInvocable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InvokeMain(&self, client: P0) -> ::windows_core::Result<()> where @@ -666,23 +666,23 @@ impl IDataModelScriptDebug { } pub unsafe fn GetStack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStack)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBreakpoint(&self, lineposition: u32, columnposition: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetBreakpoint)(::windows_core::Interface::as_raw(self), lineposition, columnposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetBreakpoint)(::windows_core::Interface::as_raw(self), lineposition, columnposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindBreakpointById(&self, breakpointid: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindBreakpointById)(::windows_core::Interface::as_raw(self), breakpointid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindBreakpointById)(::windows_core::Interface::as_raw(self), breakpointid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEventFilter(&self, eventfilter: ScriptDebugEventFilter) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, &mut result__).map(|| result__) } pub unsafe fn SetEventFilter(&self, eventfilter: ScriptDebugEventFilter, isbreakenabled: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, isbreakenabled).ok() @@ -726,23 +726,23 @@ impl IDataModelScriptDebug2 { } pub unsafe fn GetStack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStack)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBreakpoint(&self, lineposition: u32, columnposition: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetBreakpoint)(::windows_core::Interface::as_raw(self), lineposition, columnposition, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetBreakpoint)(::windows_core::Interface::as_raw(self), lineposition, columnposition, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindBreakpointById(&self, breakpointid: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindBreakpointById)(::windows_core::Interface::as_raw(self), breakpointid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindBreakpointById)(::windows_core::Interface::as_raw(self), breakpointid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEventFilter(&self, eventfilter: ScriptDebugEventFilter) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, &mut result__).map(|| result__) } pub unsafe fn SetEventFilter(&self, eventfilter: ScriptDebugEventFilter, isbreakenabled: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEventFilter)(::windows_core::Interface::as_raw(self), eventfilter, isbreakenabled).ok() @@ -764,7 +764,7 @@ impl IDataModelScriptDebug2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetBreakpointAtFunction)(::windows_core::Interface::as_raw(self), functionname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetBreakpointAtFunction)(::windows_core::Interface::as_raw(self), functionname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -814,7 +814,7 @@ impl IDataModelScriptDebugBreakpointEnumerator { } pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -849,7 +849,7 @@ impl IDataModelScriptDebugStack { } pub unsafe fn GetStackFrame(&self, framenumber: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackFrame)(::windows_core::Interface::as_raw(self), framenumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackFrame)(::windows_core::Interface::as_raw(self), framenumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -864,14 +864,14 @@ pub struct IDataModelScriptDebugStack_Vtbl { impl IDataModelScriptDebugStackFrame { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPosition(&self, position: *mut ScriptDebugPosition, positionspanend: ::core::option::Option<*mut ScriptDebugPosition>, linetext: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), position, ::core::mem::transmute(positionspanend.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(linetext.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn IsTransitionPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransitionPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransitionPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransition(&self, transitionscript: *mut ::core::option::Option, istransitioncontiguous: *mut bool) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transitionscript), istransitioncontiguous).ok() @@ -881,15 +881,15 @@ impl IDataModelScriptDebugStackFrame { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Evaluate)(::windows_core::Interface::as_raw(self), pwszexpression.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Evaluate)(::windows_core::Interface::as_raw(self), pwszexpression.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateLocals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateLocals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateLocals)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateArguments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateArguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateArguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -932,7 +932,7 @@ impl IDataModelScriptHostContext { } pub unsafe fn GetNamespaceObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespaceObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespaceObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -947,7 +947,7 @@ pub struct IDataModelScriptHostContext_Vtbl { impl IDataModelScriptManager { pub unsafe fn GetDefaultNameBinder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultNameBinder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultNameBinder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterScriptProvider(&self, provider: P0) -> ::windows_core::Result<()> where @@ -966,18 +966,18 @@ impl IDataModelScriptManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindProviderForScriptType)(::windows_core::Interface::as_raw(self), scripttype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindProviderForScriptType)(::windows_core::Interface::as_raw(self), scripttype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindProviderForScriptExtension(&self, scriptextension: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindProviderForScriptExtension)(::windows_core::Interface::as_raw(self), scriptextension.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindProviderForScriptExtension)(::windows_core::Interface::as_raw(self), scriptextension.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateScriptProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateScriptProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateScriptProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -996,23 +996,23 @@ pub struct IDataModelScriptManager_Vtbl { impl IDataModelScriptProvider { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateScript(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScript)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultTemplateContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultTemplateContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultTemplateContent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateTemplates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateTemplates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateTemplates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1033,7 +1033,7 @@ impl IDataModelScriptProviderEnumerator { } pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1048,16 +1048,16 @@ pub struct IDataModelScriptProviderEnumerator_Vtbl { impl IDataModelScriptTemplate { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1079,7 +1079,7 @@ impl IDataModelScriptTemplateEnumerator { } pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1293,18 +1293,18 @@ pub struct IDebugAdvanced4_Vtbl { impl IDebugBreakpoint { pub unsafe fn GetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), breaktype, proctype).ok() } pub unsafe fn GetAdder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -1317,7 +1317,7 @@ impl IDebugBreakpoint { } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOffset)(::windows_core::Interface::as_raw(self), offset).ok() @@ -1330,18 +1330,18 @@ impl IDebugBreakpoint { } pub unsafe fn GetPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPassCount(&self, count: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPassCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn GetCurrentPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMatchThreadId(&self, thread: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMatchThreadId)(::windows_core::Interface::as_raw(self), thread).ok() @@ -1399,18 +1399,18 @@ pub struct IDebugBreakpoint_Vtbl { impl IDebugBreakpoint2 { pub unsafe fn GetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), breaktype, proctype).ok() } pub unsafe fn GetAdder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -1423,7 +1423,7 @@ impl IDebugBreakpoint2 { } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOffset)(::windows_core::Interface::as_raw(self), offset).ok() @@ -1436,18 +1436,18 @@ impl IDebugBreakpoint2 { } pub unsafe fn GetPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPassCount(&self, count: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPassCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn GetCurrentPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMatchThreadId(&self, thread: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMatchThreadId)(::windows_core::Interface::as_raw(self), thread).ok() @@ -1527,18 +1527,18 @@ pub struct IDebugBreakpoint2_Vtbl { impl IDebugBreakpoint3 { pub unsafe fn GetId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), breaktype, proctype).ok() } pub unsafe fn GetAdder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -1551,7 +1551,7 @@ impl IDebugBreakpoint3 { } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOffset)(::windows_core::Interface::as_raw(self), offset).ok() @@ -1564,18 +1564,18 @@ impl IDebugBreakpoint3 { } pub unsafe fn GetPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPassCount(&self, count: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPassCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn GetCurrentPassCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPassCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMatchThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMatchThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMatchThreadId(&self, thread: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMatchThreadId)(::windows_core::Interface::as_raw(self), thread).ok() @@ -1621,7 +1621,7 @@ impl IDebugBreakpoint3 { } pub unsafe fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1684,7 +1684,7 @@ impl IDebugClient { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -1697,7 +1697,7 @@ impl IDebugClient { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -1731,7 +1731,7 @@ impl IDebugClient { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -1780,7 +1780,7 @@ impl IDebugClient { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -1793,11 +1793,11 @@ impl IDebugClient { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -1807,7 +1807,7 @@ impl IDebugClient { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -1817,7 +1817,7 @@ impl IDebugClient { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -1827,7 +1827,7 @@ impl IDebugClient { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -1837,7 +1837,7 @@ impl IDebugClient { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -1862,7 +1862,7 @@ impl IDebugClient { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -1953,7 +1953,7 @@ impl IDebugClient2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -1966,7 +1966,7 @@ impl IDebugClient2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -2000,7 +2000,7 @@ impl IDebugClient2 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -2049,7 +2049,7 @@ impl IDebugClient2 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -2062,11 +2062,11 @@ impl IDebugClient2 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2076,7 +2076,7 @@ impl IDebugClient2 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2086,7 +2086,7 @@ impl IDebugClient2 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -2096,7 +2096,7 @@ impl IDebugClient2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -2106,7 +2106,7 @@ impl IDebugClient2 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -2131,7 +2131,7 @@ impl IDebugClient2 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2261,7 +2261,7 @@ impl IDebugClient3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -2274,7 +2274,7 @@ impl IDebugClient3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -2308,7 +2308,7 @@ impl IDebugClient3 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -2357,7 +2357,7 @@ impl IDebugClient3 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -2370,11 +2370,11 @@ impl IDebugClient3 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2384,7 +2384,7 @@ impl IDebugClient3 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2394,7 +2394,7 @@ impl IDebugClient3 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -2404,7 +2404,7 @@ impl IDebugClient3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -2414,7 +2414,7 @@ impl IDebugClient3 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -2439,7 +2439,7 @@ impl IDebugClient3 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2486,7 +2486,7 @@ impl IDebugClient3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -2607,7 +2607,7 @@ impl IDebugClient4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -2620,7 +2620,7 @@ impl IDebugClient4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -2654,7 +2654,7 @@ impl IDebugClient4 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -2703,7 +2703,7 @@ impl IDebugClient4 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -2716,11 +2716,11 @@ impl IDebugClient4 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2730,7 +2730,7 @@ impl IDebugClient4 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2740,7 +2740,7 @@ impl IDebugClient4 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -2750,7 +2750,7 @@ impl IDebugClient4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -2760,7 +2760,7 @@ impl IDebugClient4 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -2785,7 +2785,7 @@ impl IDebugClient4 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -2832,7 +2832,7 @@ impl IDebugClient4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -2882,7 +2882,7 @@ impl IDebugClient4 { } pub unsafe fn GetNumberDumpFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFile(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, handle: ::core::option::Option<*mut u64>, r#type: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDumpFile)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(handle.unwrap_or(::std::ptr::null_mut())), r#type).ok() @@ -2988,7 +2988,7 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -3001,7 +3001,7 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -3035,7 +3035,7 @@ impl IDebugClient5 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -3084,7 +3084,7 @@ impl IDebugClient5 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -3097,11 +3097,11 @@ impl IDebugClient5 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3111,7 +3111,7 @@ impl IDebugClient5 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3121,7 +3121,7 @@ impl IDebugClient5 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -3131,7 +3131,7 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -3141,7 +3141,7 @@ impl IDebugClient5 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -3166,7 +3166,7 @@ impl IDebugClient5 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3213,7 +3213,7 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -3263,7 +3263,7 @@ impl IDebugClient5 { } pub unsafe fn GetNumberDumpFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFile(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, handle: ::core::option::Option<*mut u64>, r#type: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDumpFile)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(handle.unwrap_or(::std::ptr::null_mut())), r#type).ok() @@ -3297,7 +3297,7 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StartServerWide(&self, options: P0) -> ::windows_core::Result<()> where @@ -3313,7 +3313,7 @@ impl IDebugClient5 { } pub unsafe fn GetOutputCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3341,7 +3341,7 @@ impl IDebugClient5 { } pub unsafe fn GetEventCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3386,29 +3386,29 @@ impl IDebugClient5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PushOutputLinePrefixWide(&self, newprefix: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PopOutputLinePrefix(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PopOutputLinePrefix)(::windows_core::Interface::as_raw(self), handle).ok() } pub unsafe fn GetNumberInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).map(|| result__) } pub unsafe fn GetQuitLockString(&self, buffer: ::core::option::Option<&mut [u8]>, stringsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetQuitLockString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(stringsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3555,7 +3555,7 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -3568,7 +3568,7 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -3602,7 +3602,7 @@ impl IDebugClient6 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -3651,7 +3651,7 @@ impl IDebugClient6 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -3664,11 +3664,11 @@ impl IDebugClient6 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3678,7 +3678,7 @@ impl IDebugClient6 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3688,7 +3688,7 @@ impl IDebugClient6 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -3698,7 +3698,7 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -3708,7 +3708,7 @@ impl IDebugClient6 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -3733,7 +3733,7 @@ impl IDebugClient6 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3780,7 +3780,7 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -3830,7 +3830,7 @@ impl IDebugClient6 { } pub unsafe fn GetNumberDumpFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFile(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, handle: ::core::option::Option<*mut u64>, r#type: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDumpFile)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(handle.unwrap_or(::std::ptr::null_mut())), r#type).ok() @@ -3864,7 +3864,7 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StartServerWide(&self, options: P0) -> ::windows_core::Result<()> where @@ -3880,7 +3880,7 @@ impl IDebugClient6 { } pub unsafe fn GetOutputCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3908,7 +3908,7 @@ impl IDebugClient6 { } pub unsafe fn GetEventCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -3953,29 +3953,29 @@ impl IDebugClient6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PushOutputLinePrefixWide(&self, newprefix: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PopOutputLinePrefix(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PopOutputLinePrefix)(::windows_core::Interface::as_raw(self), handle).ok() } pub unsafe fn GetNumberInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).map(|| result__) } pub unsafe fn GetQuitLockString(&self, buffer: ::core::option::Option<&mut [u8]>, stringsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetQuitLockString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(stringsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4129,7 +4129,7 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -4142,7 +4142,7 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -4176,7 +4176,7 @@ impl IDebugClient7 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -4225,7 +4225,7 @@ impl IDebugClient7 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -4238,11 +4238,11 @@ impl IDebugClient7 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4252,7 +4252,7 @@ impl IDebugClient7 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4262,7 +4262,7 @@ impl IDebugClient7 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -4272,7 +4272,7 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -4282,7 +4282,7 @@ impl IDebugClient7 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -4307,7 +4307,7 @@ impl IDebugClient7 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4354,7 +4354,7 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -4404,7 +4404,7 @@ impl IDebugClient7 { } pub unsafe fn GetNumberDumpFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFile(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, handle: ::core::option::Option<*mut u64>, r#type: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDumpFile)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(handle.unwrap_or(::std::ptr::null_mut())), r#type).ok() @@ -4438,7 +4438,7 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StartServerWide(&self, options: P0) -> ::windows_core::Result<()> where @@ -4454,7 +4454,7 @@ impl IDebugClient7 { } pub unsafe fn GetOutputCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4482,7 +4482,7 @@ impl IDebugClient7 { } pub unsafe fn GetEventCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4527,29 +4527,29 @@ impl IDebugClient7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PushOutputLinePrefixWide(&self, newprefix: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PopOutputLinePrefix(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PopOutputLinePrefix)(::windows_core::Interface::as_raw(self), handle).ok() } pub unsafe fn GetNumberInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).map(|| result__) } pub unsafe fn GetQuitLockString(&self, buffer: ::core::option::Option<&mut [u8]>, stringsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetQuitLockString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(stringsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4707,7 +4707,7 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServer)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisconnectProcessServer(&self, server: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisconnectProcessServer)(::windows_core::Interface::as_raw(self), server).ok() @@ -4720,7 +4720,7 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableName)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u8]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u8]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescription)( @@ -4754,7 +4754,7 @@ impl IDebugClient8 { } pub unsafe fn GetProcessOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddProcessOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddProcessOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -4803,7 +4803,7 @@ impl IDebugClient8 { } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DispatchCallbacks(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DispatchCallbacks)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -4816,11 +4816,11 @@ impl IDebugClient8 { } pub unsafe fn CreateClient(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4830,7 +4830,7 @@ impl IDebugClient8 { } pub unsafe fn GetOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4840,7 +4840,7 @@ impl IDebugClient8 { } pub unsafe fn GetOutputMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -4850,7 +4850,7 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOtherOutputMask)(::windows_core::Interface::as_raw(self), client.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOtherOutputMask(&self, client: P0, mask: u32) -> ::windows_core::Result<()> where @@ -4860,7 +4860,7 @@ impl IDebugClient8 { } pub unsafe fn GetOutputWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutputWidth(&self, columns: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutputWidth)(::windows_core::Interface::as_raw(self), columns).ok() @@ -4885,7 +4885,7 @@ impl IDebugClient8 { } pub unsafe fn GetEventCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacks(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -4932,7 +4932,7 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningProcessSystemIdByExecutableNameWide)(::windows_core::Interface::as_raw(self), server, exename.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::core::option::Option<&mut [u16]>, actualexenamesize: ::core::option::Option<*mut u32>, description: ::core::option::Option<&mut [u16]>, actualdescriptionsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunningProcessDescriptionWide)( @@ -4982,7 +4982,7 @@ impl IDebugClient8 { } pub unsafe fn GetNumberDumpFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberDumpFiles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFile(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, handle: ::core::option::Option<*mut u64>, r#type: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDumpFile)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(handle.unwrap_or(::std::ptr::null_mut())), r#type).ok() @@ -5016,7 +5016,7 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectProcessServerWide)(::windows_core::Interface::as_raw(self), remoteoptions.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn StartServerWide(&self, options: P0) -> ::windows_core::Result<()> where @@ -5032,7 +5032,7 @@ impl IDebugClient8 { } pub unsafe fn GetOutputCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutputCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -5060,7 +5060,7 @@ impl IDebugClient8 { } pub unsafe fn GetEventCallbacksWide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCallbacksWide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventCallbacksWide(&self, callbacks: P0) -> ::windows_core::Result<()> where @@ -5105,29 +5105,29 @@ impl IDebugClient8 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefix)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PushOutputLinePrefixWide(&self, newprefix: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PushOutputLinePrefixWide)(::windows_core::Interface::as_raw(self), newprefix.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PopOutputLinePrefix(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PopOutputLinePrefix)(::windows_core::Interface::as_raw(self), handle).ok() } pub unsafe fn GetNumberInputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberInputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOutputCallbacks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOutputCallbacks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEventCallbacks)(::windows_core::Interface::as_raw(self), eventflags, &mut result__).map(|| result__) } pub unsafe fn GetQuitLockString(&self, buffer: ::core::option::Option<&mut [u8]>, stringsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetQuitLockString)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(stringsize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -5274,7 +5274,7 @@ impl IDebugControl { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -5294,7 +5294,7 @@ impl IDebugControl { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -5355,7 +5355,7 @@ impl IDebugControl { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -5365,32 +5365,32 @@ impl IDebugControl { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -5400,22 +5400,22 @@ impl IDebugControl { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -5435,7 +5435,7 @@ impl IDebugControl { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -5445,7 +5445,7 @@ impl IDebugControl { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -5465,28 +5465,28 @@ impl IDebugControl { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -5514,7 +5514,7 @@ impl IDebugControl { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -5545,22 +5545,22 @@ impl IDebugControl { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -5573,7 +5573,7 @@ impl IDebugControl { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -5583,7 +5583,7 @@ impl IDebugControl { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -5784,7 +5784,7 @@ impl IDebugControl2 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -5804,7 +5804,7 @@ impl IDebugControl2 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -5865,7 +5865,7 @@ impl IDebugControl2 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -5875,32 +5875,32 @@ impl IDebugControl2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -5910,22 +5910,22 @@ impl IDebugControl2 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -5945,7 +5945,7 @@ impl IDebugControl2 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -5955,7 +5955,7 @@ impl IDebugControl2 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -5975,28 +5975,28 @@ impl IDebugControl2 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -6024,7 +6024,7 @@ impl IDebugControl2 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -6055,22 +6055,22 @@ impl IDebugControl2 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -6083,7 +6083,7 @@ impl IDebugControl2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -6093,7 +6093,7 @@ impl IDebugControl2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -6181,19 +6181,19 @@ impl IDebugControl2 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -6348,7 +6348,7 @@ impl IDebugControl3 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -6368,7 +6368,7 @@ impl IDebugControl3 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -6429,7 +6429,7 @@ impl IDebugControl3 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -6439,32 +6439,32 @@ impl IDebugControl3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -6474,22 +6474,22 @@ impl IDebugControl3 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -6509,7 +6509,7 @@ impl IDebugControl3 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -6519,7 +6519,7 @@ impl IDebugControl3 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -6539,28 +6539,28 @@ impl IDebugControl3 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -6588,7 +6588,7 @@ impl IDebugControl3 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -6619,22 +6619,22 @@ impl IDebugControl3 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -6647,7 +6647,7 @@ impl IDebugControl3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -6657,7 +6657,7 @@ impl IDebugControl3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -6745,19 +6745,19 @@ impl IDebugControl3 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -6791,7 +6791,7 @@ impl IDebugControl3 { } pub unsafe fn GetAssemblyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddAssemblyOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAssemblyOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -6804,7 +6804,7 @@ impl IDebugControl3 { } pub unsafe fn GetExpressionSyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpressionSyntax(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpressionSyntax)(::windows_core::Interface::as_raw(self), flags).ok() @@ -6817,7 +6817,7 @@ impl IDebugControl3 { } pub unsafe fn GetNumberExpressionSyntaxes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::core::option::Option<&mut [u8]>, fullnamesize: ::core::option::Option<*mut u32>, abbrevnamebuffer: ::core::option::Option<&mut [u8]>, abbrevnamesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpressionSyntaxNames)( @@ -6834,7 +6834,7 @@ impl IDebugControl3 { } pub unsafe fn GetNumberEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: P0, buffersize: u32, descsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -6844,11 +6844,11 @@ impl IDebugControl3 { } pub unsafe fn GetCurrentEventIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).map(|| result__) } } #[repr(C)] @@ -6986,7 +6986,7 @@ impl IDebugControl4 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -7006,7 +7006,7 @@ impl IDebugControl4 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -7067,7 +7067,7 @@ impl IDebugControl4 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -7077,32 +7077,32 @@ impl IDebugControl4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -7112,22 +7112,22 @@ impl IDebugControl4 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -7147,7 +7147,7 @@ impl IDebugControl4 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -7157,7 +7157,7 @@ impl IDebugControl4 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -7177,28 +7177,28 @@ impl IDebugControl4 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -7226,7 +7226,7 @@ impl IDebugControl4 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -7257,22 +7257,22 @@ impl IDebugControl4 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -7285,7 +7285,7 @@ impl IDebugControl4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -7295,7 +7295,7 @@ impl IDebugControl4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -7383,19 +7383,19 @@ impl IDebugControl4 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -7429,7 +7429,7 @@ impl IDebugControl4 { } pub unsafe fn GetAssemblyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddAssemblyOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAssemblyOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -7442,7 +7442,7 @@ impl IDebugControl4 { } pub unsafe fn GetExpressionSyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpressionSyntax(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpressionSyntax)(::windows_core::Interface::as_raw(self), flags).ok() @@ -7455,7 +7455,7 @@ impl IDebugControl4 { } pub unsafe fn GetNumberExpressionSyntaxes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::core::option::Option<&mut [u8]>, fullnamesize: ::core::option::Option<*mut u32>, abbrevnamebuffer: ::core::option::Option<&mut [u8]>, abbrevnamesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpressionSyntaxNames)( @@ -7472,7 +7472,7 @@ impl IDebugControl4 { } pub unsafe fn GetNumberEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: P0, buffersize: u32, descsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -7482,11 +7482,11 @@ impl IDebugControl4 { } pub unsafe fn GetCurrentEventIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).map(|| result__) } pub unsafe fn GetLogFileWide(&self, buffer: ::core::option::Option<&mut [u16]>, filesize: ::core::option::Option<*mut u32>, append: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLogFileWide)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(filesize.unwrap_or(::std::ptr::null_mut())), append).ok() @@ -7551,7 +7551,7 @@ impl IDebugControl4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u16]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisassembleWide)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() @@ -7598,15 +7598,15 @@ impl IDebugControl4 { } pub unsafe fn GetBreakpointByIndex2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById2(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint2(&self, bp: P0) -> ::windows_core::Result<()> where @@ -7619,14 +7619,14 @@ impl IDebugControl4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetExtensionByPathWide(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtensionWide(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -7969,7 +7969,7 @@ impl IDebugControl5 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -7989,7 +7989,7 @@ impl IDebugControl5 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -8050,7 +8050,7 @@ impl IDebugControl5 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -8060,32 +8060,32 @@ impl IDebugControl5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -8095,22 +8095,22 @@ impl IDebugControl5 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -8130,7 +8130,7 @@ impl IDebugControl5 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -8140,7 +8140,7 @@ impl IDebugControl5 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -8160,28 +8160,28 @@ impl IDebugControl5 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -8209,7 +8209,7 @@ impl IDebugControl5 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -8240,22 +8240,22 @@ impl IDebugControl5 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -8268,7 +8268,7 @@ impl IDebugControl5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -8278,7 +8278,7 @@ impl IDebugControl5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -8366,19 +8366,19 @@ impl IDebugControl5 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -8412,7 +8412,7 @@ impl IDebugControl5 { } pub unsafe fn GetAssemblyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddAssemblyOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAssemblyOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -8425,7 +8425,7 @@ impl IDebugControl5 { } pub unsafe fn GetExpressionSyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpressionSyntax(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpressionSyntax)(::windows_core::Interface::as_raw(self), flags).ok() @@ -8438,7 +8438,7 @@ impl IDebugControl5 { } pub unsafe fn GetNumberExpressionSyntaxes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::core::option::Option<&mut [u8]>, fullnamesize: ::core::option::Option<*mut u32>, abbrevnamebuffer: ::core::option::Option<&mut [u8]>, abbrevnamesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpressionSyntaxNames)( @@ -8455,7 +8455,7 @@ impl IDebugControl5 { } pub unsafe fn GetNumberEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: P0, buffersize: u32, descsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -8465,11 +8465,11 @@ impl IDebugControl5 { } pub unsafe fn GetCurrentEventIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).map(|| result__) } pub unsafe fn GetLogFileWide(&self, buffer: ::core::option::Option<&mut [u16]>, filesize: ::core::option::Option<*mut u32>, append: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLogFileWide)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(filesize.unwrap_or(::std::ptr::null_mut())), append).ok() @@ -8534,7 +8534,7 @@ impl IDebugControl5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u16]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisassembleWide)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() @@ -8581,15 +8581,15 @@ impl IDebugControl5 { } pub unsafe fn GetBreakpointByIndex2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById2(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint2(&self, bp: P0) -> ::windows_core::Result<()> where @@ -8602,14 +8602,14 @@ impl IDebugControl5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetExtensionByPathWide(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtensionWide(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -8777,7 +8777,7 @@ impl IDebugControl5 { } pub unsafe fn GetBreakpointByGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8973,7 +8973,7 @@ impl IDebugControl6 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -8993,7 +8993,7 @@ impl IDebugControl6 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -9054,7 +9054,7 @@ impl IDebugControl6 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -9064,32 +9064,32 @@ impl IDebugControl6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -9099,22 +9099,22 @@ impl IDebugControl6 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -9134,7 +9134,7 @@ impl IDebugControl6 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -9144,7 +9144,7 @@ impl IDebugControl6 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -9164,28 +9164,28 @@ impl IDebugControl6 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -9213,7 +9213,7 @@ impl IDebugControl6 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -9244,22 +9244,22 @@ impl IDebugControl6 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -9272,7 +9272,7 @@ impl IDebugControl6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -9282,7 +9282,7 @@ impl IDebugControl6 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -9370,19 +9370,19 @@ impl IDebugControl6 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -9416,7 +9416,7 @@ impl IDebugControl6 { } pub unsafe fn GetAssemblyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddAssemblyOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAssemblyOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -9429,7 +9429,7 @@ impl IDebugControl6 { } pub unsafe fn GetExpressionSyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpressionSyntax(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpressionSyntax)(::windows_core::Interface::as_raw(self), flags).ok() @@ -9442,7 +9442,7 @@ impl IDebugControl6 { } pub unsafe fn GetNumberExpressionSyntaxes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::core::option::Option<&mut [u8]>, fullnamesize: ::core::option::Option<*mut u32>, abbrevnamebuffer: ::core::option::Option<&mut [u8]>, abbrevnamesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpressionSyntaxNames)( @@ -9459,7 +9459,7 @@ impl IDebugControl6 { } pub unsafe fn GetNumberEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: P0, buffersize: u32, descsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -9469,11 +9469,11 @@ impl IDebugControl6 { } pub unsafe fn GetCurrentEventIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).map(|| result__) } pub unsafe fn GetLogFileWide(&self, buffer: ::core::option::Option<&mut [u16]>, filesize: ::core::option::Option<*mut u32>, append: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLogFileWide)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(filesize.unwrap_or(::std::ptr::null_mut())), append).ok() @@ -9538,7 +9538,7 @@ impl IDebugControl6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u16]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisassembleWide)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() @@ -9585,15 +9585,15 @@ impl IDebugControl6 { } pub unsafe fn GetBreakpointByIndex2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById2(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint2(&self, bp: P0) -> ::windows_core::Result<()> where @@ -9606,14 +9606,14 @@ impl IDebugControl6 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetExtensionByPathWide(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtensionWide(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -9781,11 +9781,11 @@ impl IDebugControl6 { } pub unsafe fn GetBreakpointByGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExecutionStatusEx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatusEx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatusEx)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSynchronizationStatus(&self, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSynchronizationStatus)(::windows_core::Interface::as_raw(self), sendsattempted, secondssincelastresponse).ok() @@ -9986,7 +9986,7 @@ impl IDebugControl7 { } pub unsafe fn GetInterruptTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterruptTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInterruptTimeout(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInterruptTimeout)(::windows_core::Interface::as_raw(self), seconds).ok() @@ -10006,7 +10006,7 @@ impl IDebugControl7 { } pub unsafe fn GetLogMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogMask(&self, mask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogMask)(::windows_core::Interface::as_raw(self), mask).ok() @@ -10067,7 +10067,7 @@ impl IDebugControl7 { } pub unsafe fn GetNotifyEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotifyEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotifyEventHandle(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotifyEventHandle)(::windows_core::Interface::as_raw(self), handle).ok() @@ -10077,32 +10077,32 @@ impl IDebugControl7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Assemble)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Disassemble(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u8]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Disassemble)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() } pub unsafe fn GetDisassembleEffectiveOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisassembleEffectiveOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputDisassembly)(::windows_core::Interface::as_raw(self), outputcontrol, offset, flags, &mut result__).map(|| result__) } pub unsafe fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, offset: u64, flags: u32, offsetline: ::core::option::Option<*mut u32>, startoffset: ::core::option::Option<*mut u64>, endoffset: ::core::option::Option<*mut u64>, lineoffsets: ::core::option::Option<&mut [u64]>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputDisassemblyLines)(::windows_core::Interface::as_raw(self), outputcontrol, previouslines, lineoffsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), offset, flags, ::core::mem::transmute(offsetline.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(startoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(endoffset.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lineoffsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok() } pub unsafe fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNearInstruction)(::windows_core::Interface::as_raw(self), offset, delta, &mut result__).map(|| result__) } pub unsafe fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: &mut [DEBUG_STACK_FRAME], framesfilled: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStackTrace)(::windows_core::Interface::as_raw(self), frameoffset, stackoffset, instructionoffset, ::core::mem::transmute(frames.as_ptr()), frames.len().try_into().unwrap(), ::core::mem::transmute(framesfilled.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetReturnOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OutputStackTrace(&self, outputcontrol: u32, frames: ::core::option::Option<&[DEBUG_STACK_FRAME]>, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OutputStackTrace)(::windows_core::Interface::as_raw(self), outputcontrol, ::core::mem::transmute(frames.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), frames.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), flags).ok() @@ -10112,22 +10112,22 @@ impl IDebugControl7 { } pub unsafe fn GetActualProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActualProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExecutingProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutingProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPossibleExecutingProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPossibleExecutingProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() } pub unsafe fn GetNumberProcessors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcessors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::core::option::Option<&mut [u8]>, servicepackstringused: ::core::option::Option<*mut u32>, servicepacknumber: *mut u32, buildstring: ::core::option::Option<&mut [u8]>, buildstringused: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemVersion)( @@ -10147,7 +10147,7 @@ impl IDebugControl7 { } pub unsafe fn GetPageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPointer64Bit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsPointer64Bit)(::windows_core::Interface::as_raw(self)).ok() @@ -10157,7 +10157,7 @@ impl IDebugControl7 { } pub unsafe fn GetNumberSupportedProcessorTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSupportedProcessorTypes(&self, start: u32, types: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSupportedProcessorTypes)(::windows_core::Interface::as_raw(self), start, types.len().try_into().unwrap(), ::core::mem::transmute(types.as_ptr())).ok() @@ -10177,28 +10177,28 @@ impl IDebugControl7 { } pub unsafe fn GetEffectiveProcessorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffectiveProcessorType)(::windows_core::Interface::as_raw(self), r#type).ok() } pub unsafe fn GetExecutionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExecutionStatus(&self, status: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExecutionStatus)(::windows_core::Interface::as_raw(self), status).ok() } pub unsafe fn GetCodeLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodeLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodeLevel(&self, level: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodeLevel)(::windows_core::Interface::as_raw(self), level).ok() } pub unsafe fn GetEngineOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngineOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddEngineOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddEngineOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -10226,7 +10226,7 @@ impl IDebugControl7 { } pub unsafe fn GetRadix(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRadix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRadix(&self, radix: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRadix)(::windows_core::Interface::as_raw(self), radix).ok() @@ -10257,22 +10257,22 @@ impl IDebugControl7 { } pub unsafe fn GetNumberBreakpoints(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberBreakpoints)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBreakpointByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointParameters(&self, count: u32, ids: ::core::option::Option<*const u32>, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBreakpointParameters)(::windows_core::Interface::as_raw(self), count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null())), start, params).ok() } pub unsafe fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -10285,7 +10285,7 @@ impl IDebugControl7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtension)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveExtension(&self, handle: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveExtension)(::windows_core::Interface::as_raw(self), handle).ok() @@ -10295,7 +10295,7 @@ impl IDebugControl7 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtension(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -10383,19 +10383,19 @@ impl IDebugControl7 { } pub unsafe fn GetCurrentTimeDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTimeDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDumpFormatFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDumpFormatFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberTextReplacements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberTextReplacements)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextReplacement(&self, srctext: P0, index: u32, srcbuffer: ::core::option::Option<&mut [u8]>, srcsize: ::core::option::Option<*mut u32>, dstbuffer: ::core::option::Option<&mut [u8]>, dstsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -10429,7 +10429,7 @@ impl IDebugControl7 { } pub unsafe fn GetAssemblyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAssemblyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddAssemblyOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddAssemblyOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -10442,7 +10442,7 @@ impl IDebugControl7 { } pub unsafe fn GetExpressionSyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpressionSyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpressionSyntax(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpressionSyntax)(::windows_core::Interface::as_raw(self), flags).ok() @@ -10455,7 +10455,7 @@ impl IDebugControl7 { } pub unsafe fn GetNumberExpressionSyntaxes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberExpressionSyntaxes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::core::option::Option<&mut [u8]>, fullnamesize: ::core::option::Option<*mut u32>, abbrevnamebuffer: ::core::option::Option<&mut [u8]>, abbrevnamesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExpressionSyntaxNames)( @@ -10472,7 +10472,7 @@ impl IDebugControl7 { } pub unsafe fn GetNumberEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: P0, buffersize: u32, descsize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -10482,11 +10482,11 @@ impl IDebugControl7 { } pub unsafe fn GetCurrentEventIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentEventIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNextEventIndex)(::windows_core::Interface::as_raw(self), relation, value, &mut result__).map(|| result__) } pub unsafe fn GetLogFileWide(&self, buffer: ::core::option::Option<&mut [u16]>, filesize: ::core::option::Option<*mut u32>, append: *mut super::super::super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLogFileWide)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(filesize.unwrap_or(::std::ptr::null_mut())), append).ok() @@ -10551,7 +10551,7 @@ impl IDebugControl7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssembleWide)(::windows_core::Interface::as_raw(self), offset, instr.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::core::option::Option<&mut [u16]>, disassemblysize: ::core::option::Option<*mut u32>, endoffset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DisassembleWide)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(disassemblysize.unwrap_or(::std::ptr::null_mut())), endoffset).ok() @@ -10598,15 +10598,15 @@ impl IDebugControl7 { } pub unsafe fn GetBreakpointByIndex2(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByIndex2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBreakpointById2(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointById2)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBreakpoint2)(::windows_core::Interface::as_raw(self), r#type, desiredid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBreakpoint2(&self, bp: P0) -> ::windows_core::Result<()> where @@ -10619,14 +10619,14 @@ impl IDebugControl7 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddExtensionWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), flags, &mut result__).map(|| result__) } pub unsafe fn GetExtensionByPathWide(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtensionByPathWide)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CallExtensionWide(&self, handle: u64, function: P0, arguments: P1) -> ::windows_core::Result<()> where @@ -10794,11 +10794,11 @@ impl IDebugControl7 { } pub unsafe fn GetBreakpointByGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBreakpointByGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExecutionStatusEx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExecutionStatusEx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExecutionStatusEx)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSynchronizationStatus(&self, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSynchronizationStatus)(::windows_core::Interface::as_raw(self), sendsattempted, secondssincelastresponse).ok() @@ -11003,7 +11003,7 @@ impl IDebugDataSpaces { } pub unsafe fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).map(|| result__) } pub unsafe fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadVirtualUncached)(::windows_core::Interface::as_raw(self), offset, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11037,7 +11037,7 @@ impl IDebugDataSpaces { } pub unsafe fn ReadMsr(&self, msr: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).map(|| result__) } pub unsafe fn WriteMsr(&self, msr: u32, value: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteMsr)(::windows_core::Interface::as_raw(self), msr, value).ok() @@ -11094,7 +11094,7 @@ impl IDebugDataSpaces2 { } pub unsafe fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).map(|| result__) } pub unsafe fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadVirtualUncached)(::windows_core::Interface::as_raw(self), offset, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11128,7 +11128,7 @@ impl IDebugDataSpaces2 { } pub unsafe fn ReadMsr(&self, msr: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).map(|| result__) } pub unsafe fn WriteMsr(&self, msr: u32, value: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteMsr)(::windows_core::Interface::as_raw(self), msr, value).ok() @@ -11150,7 +11150,7 @@ impl IDebugDataSpaces2 { } pub unsafe fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).map(|| result__) } pub unsafe fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: ::core::option::Option<&mut [u64]>, levels: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVirtualTranslationPhysicalOffsets)(::windows_core::Interface::as_raw(self), r#virtual, ::core::mem::transmute(offsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), offsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(levels.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11214,7 +11214,7 @@ impl IDebugDataSpaces3 { } pub unsafe fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).map(|| result__) } pub unsafe fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadVirtualUncached)(::windows_core::Interface::as_raw(self), offset, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11248,7 +11248,7 @@ impl IDebugDataSpaces3 { } pub unsafe fn ReadMsr(&self, msr: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).map(|| result__) } pub unsafe fn WriteMsr(&self, msr: u32, value: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteMsr)(::windows_core::Interface::as_raw(self), msr, value).ok() @@ -11270,7 +11270,7 @@ impl IDebugDataSpaces3 { } pub unsafe fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).map(|| result__) } pub unsafe fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: ::core::option::Option<&mut [u64]>, levels: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVirtualTranslationPhysicalOffsets)(::windows_core::Interface::as_raw(self), r#virtual, ::core::mem::transmute(offsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), offsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(levels.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11297,7 +11297,7 @@ impl IDebugDataSpaces3 { } pub unsafe fn StartEnumTagged(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartEnumTagged)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartEnumTagged)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNextTagged(&self, handle: u64, tag: *mut ::windows_core::GUID, size: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextTagged)(::windows_core::Interface::as_raw(self), handle, tag, size).ok() @@ -11359,7 +11359,7 @@ impl IDebugDataSpaces4 { } pub unsafe fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchVirtual)(::windows_core::Interface::as_raw(self), offset, length, pattern, patternsize, patterngranularity, &mut result__).map(|| result__) } pub unsafe fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadVirtualUncached)(::windows_core::Interface::as_raw(self), offset, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11393,7 +11393,7 @@ impl IDebugDataSpaces4 { } pub unsafe fn ReadMsr(&self, msr: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadMsr)(::windows_core::Interface::as_raw(self), msr, &mut result__).map(|| result__) } pub unsafe fn WriteMsr(&self, msr: u32, value: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteMsr)(::windows_core::Interface::as_raw(self), msr, value).ok() @@ -11415,7 +11415,7 @@ impl IDebugDataSpaces4 { } pub unsafe fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VirtualToPhysical)(::windows_core::Interface::as_raw(self), r#virtual, &mut result__).map(|| result__) } pub unsafe fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: ::core::option::Option<&mut [u64]>, levels: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVirtualTranslationPhysicalOffsets)(::windows_core::Interface::as_raw(self), r#virtual, ::core::mem::transmute(offsets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), offsets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(levels.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11442,7 +11442,7 @@ impl IDebugDataSpaces4 { } pub unsafe fn StartEnumTagged(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartEnumTagged)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartEnumTagged)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNextTagged(&self, handle: u64, tag: *mut ::windows_core::GUID, size: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextTagged)(::windows_core::Interface::as_raw(self), handle, tag, size).ok() @@ -11455,14 +11455,14 @@ impl IDebugDataSpaces4 { } pub unsafe fn GetNextDifferentlyValidOffsetVirtual(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextDifferentlyValidOffsetVirtual)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextDifferentlyValidOffsetVirtual)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetValidRegionVirtual(&self, base: u64, size: u32, validbase: *mut u64, validsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValidRegionVirtual)(::windows_core::Interface::as_raw(self), base, size, validbase, validsize).ok() } pub unsafe fn SearchVirtual2(&self, offset: u64, length: u64, flags: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchVirtual2)(::windows_core::Interface::as_raw(self), offset, length, flags, pattern, patternsize, patterngranularity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchVirtual2)(::windows_core::Interface::as_raw(self), offset, length, flags, pattern, patternsize, patterngranularity, &mut result__).map(|| result__) } pub unsafe fn ReadMultiByteStringVirtual(&self, offset: u64, maxbytes: u32, buffer: ::core::option::Option<&mut [u8]>, stringbytes: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadMultiByteStringVirtual)(::windows_core::Interface::as_raw(self), offset, maxbytes, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(stringbytes.unwrap_or(::std::ptr::null_mut()))).ok() @@ -11540,7 +11540,7 @@ pub struct IDebugDataSpaces4_Vtbl { impl IDebugEventCallbacks { pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Breakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -11620,7 +11620,7 @@ pub struct IDebugEventCallbacks_Vtbl { impl IDebugEventCallbacksWide { pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Breakpoint(&self, bp: P0) -> ::windows_core::Result<()> where @@ -11700,7 +11700,7 @@ pub struct IDebugEventCallbacksWide_Vtbl { impl IDebugEventContextCallbacks { pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Breakpoint(&self, bp: P0, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows_core::Result<()> where @@ -11799,7 +11799,7 @@ impl IDebugFAEntryTags { P1: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTagByName)(::windows_core::Interface::as_raw(self), pluginid.into_param().abi(), tagname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTagByName)(::windows_core::Interface::as_raw(self), pluginid.into_param().abi(), tagname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsValidTagToSet(&self, tag: DEBUG_FLR_PARAM_TYPE) -> super::super::super::super::Foundation::BOOL { (::windows_core::Interface::vtable(self).IsValidTagToSet)(::windows_core::Interface::as_raw(self), tag) @@ -11941,12 +11941,12 @@ impl IDebugFailureAnalysis2 { } pub unsafe fn GetDebugFATagControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugFATagControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugFATagControl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn GetAnalysisXml(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnalysisXml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnalysisXml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddStructuredAnalysisData(&self, tag: DEBUG_FLR_PARAM_TYPE, analysis: P0) -> ::windows_core::Result<()> where @@ -12063,12 +12063,12 @@ impl IDebugFailureAnalysis3 { } pub unsafe fn GetDebugFATagControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDebugFATagControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDebugFATagControl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))] pub unsafe fn GetAnalysisXml(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnalysisXml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnalysisXml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddStructuredAnalysisData(&self, tag: DEBUG_FLR_PARAM_TYPE, analysis: P0) -> ::windows_core::Result<()> where @@ -12084,11 +12084,11 @@ impl IDebugFailureAnalysis3 { } pub unsafe fn AttributeGet(&self, nindex: u32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttributeGet)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttributeGet)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttributeGetName(&self, nindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttributeGetName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttributeGetName)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttributeSet(&self, nindex: u32, value: P0) -> ::windows_core::Result<()> where @@ -12129,7 +12129,7 @@ impl IDebugFailureAnalysis3 { } pub unsafe fn ProblemClassIsSet(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProblemClassIsSet)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProblemClassIsSet)(::windows_core::Interface::as_raw(self), nindex, &mut result__).map(|| result__) } pub unsafe fn ProblemClassDelete(&self, nindex: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ProblemClassDelete)(::windows_core::Interface::as_raw(self), nindex).ok() @@ -12155,7 +12155,7 @@ impl IDebugFailureAnalysis3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdditionalXML)(::windows_core::Interface::as_raw(self), key.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdditionalXML)(::windows_core::Interface::as_raw(self), key.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteAdditionalXML(&self, key: P0) -> ::windows_core::Result<()> where @@ -12217,15 +12217,15 @@ pub struct IDebugFailureAnalysis3_Vtbl { impl IDebugHost { pub unsafe fn GetHostDefinedInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostDefinedInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostDefinedInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultMetadata(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultMetadata)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultMetadata)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12241,41 +12241,41 @@ pub struct IDebugHost_Vtbl { impl IDebugHostBaseClass { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12289,41 +12289,41 @@ pub struct IDebugHostBaseClass_Vtbl { impl IDebugHostConstant { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12340,7 +12340,7 @@ impl IDebugHostContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualTo)(::windows_core::Interface::as_raw(self), pcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualTo)(::windows_core::Interface::as_raw(self), pcontext.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -12354,49 +12354,49 @@ pub struct IDebugHostContext_Vtbl { impl IDebugHostData { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetLocationKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12512,53 +12512,53 @@ pub struct IDebugHostExtensibility_Vtbl { impl IDebugHostField { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetLocationKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12602,7 +12602,7 @@ impl IDebugHostMemory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayStringForLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), verbose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayStringForLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), verbose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12647,14 +12647,14 @@ impl IDebugHostMemory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayStringForLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), verbose, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayStringForLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), verbose, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LinearizeLocation(&self, context: P0, location: Location) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LinearizeLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LinearizeLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(location), &mut result__).map(|| result__) } } #[repr(C)] @@ -12668,45 +12668,45 @@ pub struct IDebugHostMemory2_Vtbl { impl IDebugHostModule { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetImageName(&self, allowpath: u8) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageName)(::windows_core::Interface::as_raw(self), allowpath, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageName)(::windows_core::Interface::as_raw(self), allowpath, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBaseLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBaseLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBaseLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, fileversion: ::core::option::Option<*mut u64>, productversion: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fileversion.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(productversion.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12716,18 +12716,18 @@ impl IDebugHostModule { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindTypeByName)(::windows_core::Interface::as_raw(self), typename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindTypeByName)(::windows_core::Interface::as_raw(self), typename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindSymbolByRVA(&self, rva: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindSymbolByRVA)(::windows_core::Interface::as_raw(self), rva, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindSymbolByRVA)(::windows_core::Interface::as_raw(self), rva, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindSymbolByName(&self, symbolname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindSymbolByName)(::windows_core::Interface::as_raw(self), symbolname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindSymbolByName)(::windows_core::Interface::as_raw(self), symbolname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12746,45 +12746,45 @@ pub struct IDebugHostModule_Vtbl { impl IDebugHostModule2 { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetImageName(&self, allowpath: u8) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImageName)(::windows_core::Interface::as_raw(self), allowpath, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImageName)(::windows_core::Interface::as_raw(self), allowpath, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBaseLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBaseLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBaseLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self, fileversion: ::core::option::Option<*mut u64>, productversion: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetVersion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fileversion.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(productversion.unwrap_or(::std::ptr::null_mut()))).ok() @@ -12794,18 +12794,18 @@ impl IDebugHostModule2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindTypeByName)(::windows_core::Interface::as_raw(self), typename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindTypeByName)(::windows_core::Interface::as_raw(self), typename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindSymbolByRVA(&self, rva: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindSymbolByRVA)(::windows_core::Interface::as_raw(self), rva, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindSymbolByRVA)(::windows_core::Interface::as_raw(self), rva, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindSymbolByName(&self, symbolname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindSymbolByName)(::windows_core::Interface::as_raw(self), symbolname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindSymbolByName)(::windows_core::Interface::as_raw(self), symbolname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindContainingSymbolByRVA(&self, rva: u64, symbol: *mut ::core::option::Option, offset: *mut u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FindContainingSymbolByRVA)(::windows_core::Interface::as_raw(self), rva, ::core::mem::transmute(symbol), offset).ok() @@ -12825,7 +12825,7 @@ impl IDebugHostModuleSignature { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMatch)(::windows_core::Interface::as_raw(self), pmodule.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMatch)(::windows_core::Interface::as_raw(self), pmodule.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -12839,45 +12839,45 @@ pub struct IDebugHostModuleSignature_Vtbl { impl IDebugHostPublic { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetLocationKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocationKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12895,7 +12895,7 @@ impl IDebugHostScriptHost { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), script.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), script.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12909,7 +12909,7 @@ pub struct IDebugHostScriptHost_Vtbl { impl IDebugHostStatus { pub unsafe fn PollUserInterrupt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PollUserInterrupt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PollUserInterrupt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12923,37 +12923,37 @@ pub struct IDebugHostStatus_Vtbl { impl IDebugHostSymbol { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } } #[repr(C)] @@ -12973,41 +12973,41 @@ pub struct IDebugHostSymbol_Vtbl { impl IDebugHostSymbol2 { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13024,7 +13024,7 @@ impl IDebugHostSymbolEnumerator { } pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13044,7 +13044,7 @@ impl IDebugHostSymbols { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateModuleSignature)(::windows_core::Interface::as_raw(self), pwszmodulename.into_param().abi(), pwszminversion.into_param().abi(), pwszmaxversion.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateModuleSignature)(::windows_core::Interface::as_raw(self), pwszmodulename.into_param().abi(), pwszminversion.into_param().abi(), pwszmaxversion.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypeSignature(&self, signaturespecification: P0, module: P1) -> ::windows_core::Result where @@ -13052,7 +13052,7 @@ impl IDebugHostSymbols { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypeSignature)(::windows_core::Interface::as_raw(self), signaturespecification.into_param().abi(), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypeSignature)(::windows_core::Interface::as_raw(self), signaturespecification.into_param().abi(), module.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTypeSignatureForModuleRange(&self, signaturespecification: P0, modulename: P1, minversion: P2, maxversion: P3) -> ::windows_core::Result where @@ -13062,14 +13062,14 @@ impl IDebugHostSymbols { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypeSignatureForModuleRange)(::windows_core::Interface::as_raw(self), signaturespecification.into_param().abi(), modulename.into_param().abi(), minversion.into_param().abi(), maxversion.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypeSignatureForModuleRange)(::windows_core::Interface::as_raw(self), signaturespecification.into_param().abi(), modulename.into_param().abi(), minversion.into_param().abi(), maxversion.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateModules(&self, context: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateModules)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateModules)(::windows_core::Interface::as_raw(self), context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindModuleByName(&self, context: P0, modulename: P1) -> ::windows_core::Result where @@ -13077,14 +13077,14 @@ impl IDebugHostSymbols { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindModuleByName)(::windows_core::Interface::as_raw(self), context.into_param().abi(), modulename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindModuleByName)(::windows_core::Interface::as_raw(self), context.into_param().abi(), modulename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindModuleByLocation(&self, context: P0, modulelocation: Location) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindModuleByLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(modulelocation), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindModuleByLocation)(::windows_core::Interface::as_raw(self), context.into_param().abi(), ::core::mem::transmute(modulelocation), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMostDerivedObject(&self, pcontext: P0, location: Location, objecttype: P1, derivedlocation: *mut Location, derivedtype: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -13111,53 +13111,53 @@ pub struct IDebugHostSymbols_Vtbl { impl IDebugHostType { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetTypeKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBaseType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBaseType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBaseType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHashCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntrinsicType(&self, intrinsickind: ::core::option::Option<*mut IntrinsicKind>, carriertype: ::core::option::Option<*mut u16>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIntrinsicType)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsickind.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(carriertype.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13167,54 +13167,54 @@ impl IDebugHostType { } pub unsafe fn GetPointerKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPointerKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPointerKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMemberType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMemberType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMemberType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePointerTo(&self, kind: PointerKind) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePointerTo)(::windows_core::Interface::as_raw(self), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePointerTo)(::windows_core::Interface::as_raw(self), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayDimensionality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArrayDimensionality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArrayDimensionality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArrayDimensions(&self, pdimensions: &mut [ArrayDimension]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetArrayDimensions)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr())).ok() } pub unsafe fn CreateArrayOf(&self, pdimensions: &[ArrayDimension]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateArrayOf)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateArrayOf)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionCallingConvention(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionCallingConvention)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionCallingConvention)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionReturnType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionReturnType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionReturnType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionParameterTypeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionParameterTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionParameterTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionParameterTypeAt(&self, i: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionParameterTypeAt)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionParameterTypeAt)(::windows_core::Interface::as_raw(self), i, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsGeneric(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsGeneric)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsGeneric)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenericArgumentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGenericArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGenericArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenericArgumentAt(&self, i: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGenericArgumentAt)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGenericArgumentAt)(::windows_core::Interface::as_raw(self), i, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13246,53 +13246,53 @@ pub struct IDebugHostType_Vtbl { impl IDebugHostType2 { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateChildren(&self, kind: SymbolKind, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerateChildren)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSymbolKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSymbolKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainingModule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetContainingModule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareAgainst(&self, pcomparisonsymbol: P0, comparisonflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareAgainst)(::windows_core::Interface::as_raw(self), pcomparisonsymbol.into_param().abi(), comparisonflags, &mut result__).map(|| result__) } pub unsafe fn GetTypeKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBaseType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBaseType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBaseType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHashCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntrinsicType(&self, intrinsickind: ::core::option::Option<*mut IntrinsicKind>, carriertype: ::core::option::Option<*mut u16>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIntrinsicType)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(intrinsickind.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(carriertype.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13302,74 +13302,74 @@ impl IDebugHostType2 { } pub unsafe fn GetPointerKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPointerKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPointerKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMemberType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMemberType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMemberType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePointerTo(&self, kind: PointerKind) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePointerTo)(::windows_core::Interface::as_raw(self), kind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePointerTo)(::windows_core::Interface::as_raw(self), kind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetArrayDimensionality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetArrayDimensionality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetArrayDimensionality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetArrayDimensions(&self, pdimensions: &mut [ArrayDimension]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetArrayDimensions)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr())).ok() } pub unsafe fn CreateArrayOf(&self, pdimensions: &[ArrayDimension]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateArrayOf)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateArrayOf)(::windows_core::Interface::as_raw(self), pdimensions.len().try_into().unwrap(), ::core::mem::transmute(pdimensions.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionCallingConvention(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionCallingConvention)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionCallingConvention)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionReturnType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionReturnType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionReturnType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionParameterTypeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionParameterTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionParameterTypeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionParameterTypeAt(&self, i: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionParameterTypeAt)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionParameterTypeAt)(::windows_core::Interface::as_raw(self), i, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsGeneric(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsGeneric)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsGeneric)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenericArgumentCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGenericArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGenericArgumentCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenericArgumentAt(&self, i: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGenericArgumentAt)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGenericArgumentAt)(::windows_core::Interface::as_raw(self), i, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsTypedef(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTypedef)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTypedef)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypedefBaseType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypedefBaseType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypedefBaseType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTypedefFinalBaseType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypedefFinalBaseType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypedefFinalBaseType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunctionVarArgsKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionVarArgsKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionVarArgsKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionInstancePointerType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionInstancePointerType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionInstancePointerType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13387,7 +13387,7 @@ pub struct IDebugHostType2_Vtbl { impl IDebugHostTypeSignature { pub unsafe fn GetHashCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHashCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMatch(&self, r#type: P0, ismatch: *mut bool, wildcardmatches: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -13400,7 +13400,7 @@ impl IDebugHostTypeSignature { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareAgainst)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareAgainst)(::windows_core::Interface::as_raw(self), typesignature.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -13455,7 +13455,7 @@ impl IDebugOutputCallbacks2 { } pub unsafe fn GetInterestMask(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterestMask)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Output2(&self, which: u32, flags: u32, arg: u64, text: P0) -> ::windows_core::Result<()> where @@ -13646,7 +13646,7 @@ pub struct IDebugPlmClient3_Vtbl { impl IDebugRegisters { pub unsafe fn GetNumberRegisters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberRegisters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberRegisters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self, register: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, desc: ::core::option::Option<*mut DEBUG_REGISTER_DESCRIPTION>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), register, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13656,7 +13656,7 @@ impl IDebugRegisters { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, register: u32, value: *mut DEBUG_VALUE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), register, value).ok() @@ -13675,15 +13675,15 @@ impl IDebugRegisters { } pub unsafe fn GetInstructionOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstructionOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstructionOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStackOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrameOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13707,7 +13707,7 @@ pub struct IDebugRegisters_Vtbl { impl IDebugRegisters2 { pub unsafe fn GetNumberRegisters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberRegisters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberRegisters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self, register: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, desc: ::core::option::Option<*mut DEBUG_REGISTER_DESCRIPTION>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), register, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13717,7 +13717,7 @@ impl IDebugRegisters2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self, register: u32, value: *mut DEBUG_VALUE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), register, value).ok() @@ -13736,15 +13736,15 @@ impl IDebugRegisters2 { } pub unsafe fn GetInstructionOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstructionOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstructionOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStackOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFrameOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescriptionWide(&self, register: u32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>, desc: ::core::option::Option<*mut DEBUG_REGISTER_DESCRIPTION>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDescriptionWide)(::windows_core::Interface::as_raw(self), register, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(desc.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13754,11 +13754,11 @@ impl IDebugRegisters2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexByNameWide)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexByNameWide)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberPseudoRegisters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberPseudoRegisters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberPseudoRegisters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPseudoDescription(&self, register: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, typemodule: ::core::option::Option<*mut u64>, typeid: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPseudoDescription)(::windows_core::Interface::as_raw(self), register, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(typemodule.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(typeid.unwrap_or(::std::ptr::null_mut()))).ok() @@ -13771,14 +13771,14 @@ impl IDebugRegisters2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPseudoIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPseudoIndexByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPseudoIndexByNameWide(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPseudoIndexByNameWide)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPseudoIndexByNameWide)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPseudoValues(&self, source: u32, count: u32, indices: ::core::option::Option<*const u32>, start: u32, values: *mut DEBUG_VALUE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPseudoValues)(::windows_core::Interface::as_raw(self), source, count, ::core::mem::transmute(indices.unwrap_or(::std::ptr::null())), start, values).ok() @@ -13797,15 +13797,15 @@ impl IDebugRegisters2 { } pub unsafe fn GetInstructionOffset2(&self, source: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstructionOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstructionOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).map(|| result__) } pub unsafe fn GetStackOffset2(&self, source: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStackOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStackOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).map(|| result__) } pub unsafe fn GetFrameOffset2(&self, source: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOffset2)(::windows_core::Interface::as_raw(self), source, &mut result__).map(|| result__) } } #[repr(C)] @@ -13844,7 +13844,7 @@ pub struct IDebugRegisters2_Vtbl { impl IDebugSymbolGroup { pub unsafe fn GetNumberSymbols(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSymbols)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSymbols)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbol(&self, name: P0, index: *mut u32) -> ::windows_core::Result<()> where @@ -13909,7 +13909,7 @@ pub struct IDebugSymbolGroup_Vtbl { impl IDebugSymbolGroup2 { pub unsafe fn GetNumberSymbols(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSymbols)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSymbols)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbol(&self, name: P0, index: *mut u32) -> ::windows_core::Result<()> where @@ -13988,15 +13988,15 @@ impl IDebugSymbolGroup2 { } pub unsafe fn GetSymbolSize(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolSize)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolSize)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetSymbolOffset(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOffset)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOffset)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetSymbolRegister(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolRegister)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolRegister)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetSymbolValueText(&self, index: u32, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSymbolValueText)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14041,7 +14041,7 @@ pub struct IDebugSymbolGroup2_Vtbl { impl IDebugSymbols { pub unsafe fn GetSymbolOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbolOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSymbolOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -14060,7 +14060,7 @@ impl IDebugSymbols { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffset)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14073,14 +14073,14 @@ impl IDebugSymbols { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberModules)(::windows_core::Interface::as_raw(self), loaded, unloaded).ok() } pub unsafe fn GetModuleByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleName(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14116,7 +14116,7 @@ impl IDebugSymbols { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeName)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14126,18 +14126,18 @@ impl IDebugSymbols { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).map(|| result__) } pub unsafe fn GetFieldOffset(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeId(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14180,18 +14180,18 @@ impl IDebugSymbols { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatch(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatch(&self, handle: u64, buffer: ::core::option::Option<&mut [u8]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatch)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14325,7 +14325,7 @@ pub struct IDebugSymbols_Vtbl { impl IDebugSymbols2 { pub unsafe fn GetSymbolOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbolOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSymbolOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -14344,7 +14344,7 @@ impl IDebugSymbols2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffset)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14357,14 +14357,14 @@ impl IDebugSymbols2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberModules)(::windows_core::Interface::as_raw(self), loaded, unloaded).ok() } pub unsafe fn GetModuleByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleName(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14400,7 +14400,7 @@ impl IDebugSymbols2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeName)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14410,18 +14410,18 @@ impl IDebugSymbols2 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).map(|| result__) } pub unsafe fn GetFieldOffset(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeId(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14464,18 +14464,18 @@ impl IDebugSymbols2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatch(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatch(&self, handle: u64, buffer: ::core::option::Option<&mut [u8]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatch)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14566,7 +14566,7 @@ impl IDebugSymbols2 { } pub unsafe fn GetTypeOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTypeOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTypeOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -14645,7 +14645,7 @@ pub struct IDebugSymbols2_Vtbl { impl IDebugSymbols3 { pub unsafe fn GetSymbolOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbolOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSymbolOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -14664,7 +14664,7 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffset)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14677,14 +14677,14 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberModules)(::windows_core::Interface::as_raw(self), loaded, unloaded).ok() } pub unsafe fn GetModuleByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleName(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14720,7 +14720,7 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeName)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14730,18 +14730,18 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).map(|| result__) } pub unsafe fn GetFieldOffset(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeId(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14784,18 +14784,18 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatch(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatch(&self, handle: u64, buffer: ::core::option::Option<&mut [u8]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatch)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14886,7 +14886,7 @@ impl IDebugSymbols3 { } pub unsafe fn GetTypeOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTypeOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTypeOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -14905,7 +14905,7 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffsetWide)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14918,7 +14918,7 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleNameWide(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14931,7 +14931,7 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeNameWide)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -14941,14 +14941,14 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeIdWide(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -14961,18 +14961,18 @@ impl IDebugSymbols3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatchWide(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::core::option::Option<&mut [u16]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatchWide)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15095,7 +15095,7 @@ impl IDebugSymbols3 { } pub unsafe fn GetCurrentScopeFrameIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScopeFrameByIndex(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScopeFrameByIndex)(::windows_core::Interface::as_raw(self), index).ok() @@ -15156,7 +15156,7 @@ impl IDebugSymbols3 { } pub unsafe fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).map(|| result__) } pub unsafe fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSymbolEntryInformation)(::windows_core::Interface::as_raw(self), id, info).ok() @@ -15172,7 +15172,7 @@ impl IDebugSymbols3 { } pub unsafe fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).map(|| result__) } pub unsafe fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: ::core::option::Option<&mut [DEBUG_SYMBOL_SOURCE_ENTRY]>, entriesavail: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSourceEntriesByOffset)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(entries.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), entries.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(entriesavail.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15335,7 +15335,7 @@ pub struct IDebugSymbols3_Vtbl { impl IDebugSymbols4 { pub unsafe fn GetSymbolOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbolOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSymbolOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -15354,7 +15354,7 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffset)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15367,14 +15367,14 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberModules)(::windows_core::Interface::as_raw(self), loaded, unloaded).ok() } pub unsafe fn GetModuleByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleName(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -15410,7 +15410,7 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeName)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15420,18 +15420,18 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).map(|| result__) } pub unsafe fn GetFieldOffset(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeId(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -15474,18 +15474,18 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatch(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatch(&self, handle: u64, buffer: ::core::option::Option<&mut [u8]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatch)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15576,7 +15576,7 @@ impl IDebugSymbols4 { } pub unsafe fn GetTypeOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTypeOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTypeOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -15595,7 +15595,7 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffsetWide)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15608,7 +15608,7 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleNameWide(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -15621,7 +15621,7 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeNameWide)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15631,14 +15631,14 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeIdWide(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -15651,18 +15651,18 @@ impl IDebugSymbols4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatchWide(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::core::option::Option<&mut [u16]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatchWide)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -15785,7 +15785,7 @@ impl IDebugSymbols4 { } pub unsafe fn GetCurrentScopeFrameIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScopeFrameByIndex(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScopeFrameByIndex)(::windows_core::Interface::as_raw(self), index).ok() @@ -15846,7 +15846,7 @@ impl IDebugSymbols4 { } pub unsafe fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).map(|| result__) } pub unsafe fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSymbolEntryInformation)(::windows_core::Interface::as_raw(self), id, info).ok() @@ -15862,7 +15862,7 @@ impl IDebugSymbols4 { } pub unsafe fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).map(|| result__) } pub unsafe fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: ::core::option::Option<&mut [DEBUG_SYMBOL_SOURCE_ENTRY]>, entriesavail: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSourceEntriesByOffset)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(entries.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), entries.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(entriesavail.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16053,7 +16053,7 @@ pub struct IDebugSymbols4_Vtbl { impl IDebugSymbols5 { pub unsafe fn GetSymbolOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddSymbolOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSymbolOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -16072,7 +16072,7 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByName)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffset)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16085,14 +16085,14 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLine)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNumberModules)(::windows_core::Interface::as_raw(self), loaded, unloaded).ok() } pub unsafe fn GetModuleByIndex(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModuleByIndex)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleName(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -16128,7 +16128,7 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModule)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeName)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16138,18 +16138,18 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeId)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeSize)(::windows_core::Interface::as_raw(self), module, typeid, &mut result__).map(|| result__) } pub unsafe fn GetFieldOffset(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffset)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeId(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -16192,18 +16192,18 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatch(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatch)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatch(&self, handle: u64, buffer: ::core::option::Option<&mut [u8]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatch)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16294,7 +16294,7 @@ impl IDebugSymbols5 { } pub unsafe fn GetTypeOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTypeOptions(&self, options: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTypeOptions)(::windows_core::Interface::as_raw(self), options).ok() @@ -16313,7 +16313,7 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByNameWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>, displacement: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNearNameByOffsetWide)(::windows_core::Interface::as_raw(self), offset, delta, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(displacement.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16326,7 +16326,7 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOffsetByLineWide)(::windows_core::Interface::as_raw(self), line, file.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetModuleByModuleNameWide(&self, name: P0, startindex: u32, index: ::core::option::Option<*mut u32>, base: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -16339,7 +16339,7 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolModuleWide)(::windows_core::Interface::as_raw(self), symbol.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::core::option::Option<&mut [u16]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTypeNameWide)(::windows_core::Interface::as_raw(self), module, typeid, ::core::mem::transmute(namebuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), namebuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16349,14 +16349,14 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeIdWide)(::windows_core::Interface::as_raw(self), module, name.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOffsetWide)(::windows_core::Interface::as_raw(self), module, typeid, field.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSymbolTypeIdWide(&self, symbol: P0, typeid: *mut u32, module: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> where @@ -16369,18 +16369,18 @@ impl IDebugSymbols5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeSymbolGroup2)(::windows_core::Interface::as_raw(self), flags, update.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSymbolGroup2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSymbolGroup2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartSymbolMatchWide(&self, pattern: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartSymbolMatchWide)(::windows_core::Interface::as_raw(self), pattern.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::core::option::Option<&mut [u16]>, matchsize: ::core::option::Option<*mut u32>, offset: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNextSymbolMatchWide)(::windows_core::Interface::as_raw(self), handle, ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(matchsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(offset.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16503,7 +16503,7 @@ impl IDebugSymbols5 { } pub unsafe fn GetCurrentScopeFrameIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScopeFrameByIndex(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScopeFrameByIndex)(::windows_core::Interface::as_raw(self), index).ok() @@ -16564,7 +16564,7 @@ impl IDebugSymbols5 { } pub unsafe fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryByToken)(::windows_core::Interface::as_raw(self), modulebase, token, &mut result__).map(|| result__) } pub unsafe fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSymbolEntryInformation)(::windows_core::Interface::as_raw(self), id, info).ok() @@ -16580,7 +16580,7 @@ impl IDebugSymbols5 { } pub unsafe fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSymbolEntryBySymbolEntry)(::windows_core::Interface::as_raw(self), fromid, flags, &mut result__).map(|| result__) } pub unsafe fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: ::core::option::Option<&mut [DEBUG_SYMBOL_SOURCE_ENTRY]>, entriesavail: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSourceEntriesByOffset)(::windows_core::Interface::as_raw(self), offset, flags, ::core::mem::transmute(entries.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), entries.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(entriesavail.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16632,7 +16632,7 @@ impl IDebugSymbols5 { } pub unsafe fn GetCurrentScopeFrameIndexEx(&self, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndexEx)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentScopeFrameIndexEx)(::windows_core::Interface::as_raw(self), flags, &mut result__).map(|| result__) } pub unsafe fn SetScopeFrameByIndexEx(&self, flags: u32, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScopeFrameByIndexEx)(::windows_core::Interface::as_raw(self), flags, index).ok() @@ -16780,29 +16780,29 @@ pub struct IDebugSymbols5_Vtbl { impl IDebugSystemObjects { pub unsafe fn GetEventThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventProcess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentThreadId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentThreadId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetCurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentProcessId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentProcessId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTotalNumberThreads)(::windows_core::Interface::as_raw(self), total, largestprocess).ok() @@ -16812,78 +16812,78 @@ impl IDebugSystemObjects { } pub unsafe fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadTeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByTeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetNumberProcesses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: ::core::option::Option<*mut u32>, sysids: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProcessIdsByIndex)(::windows_core::Interface::as_raw(self), start, count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(sysids.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessPeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByPeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessExecutableName(&self, buffer: ::core::option::Option<&mut [u8]>, exesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentProcessExecutableName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(exesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -16928,29 +16928,29 @@ pub struct IDebugSystemObjects_Vtbl { impl IDebugSystemObjects2 { pub unsafe fn GetEventThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventProcess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentThreadId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentThreadId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetCurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentProcessId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentProcessId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTotalNumberThreads)(::windows_core::Interface::as_raw(self), total, largestprocess).ok() @@ -16960,96 +16960,96 @@ impl IDebugSystemObjects2 { } pub unsafe fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadTeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByTeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetNumberProcesses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: ::core::option::Option<*mut u32>, sysids: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProcessIdsByIndex)(::windows_core::Interface::as_raw(self), start, count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(sysids.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessPeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByPeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessExecutableName(&self, buffer: ::core::option::Option<&mut [u8]>, exesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentProcessExecutableName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(exesize.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetImplicitThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetImplicitProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() @@ -17099,29 +17099,29 @@ pub struct IDebugSystemObjects2_Vtbl { impl IDebugSystemObjects3 { pub unsafe fn GetEventThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventProcess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentThreadId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentThreadId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetCurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentProcessId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentProcessId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTotalNumberThreads)(::windows_core::Interface::as_raw(self), total, largestprocess).ok() @@ -17131,114 +17131,114 @@ impl IDebugSystemObjects3 { } pub unsafe fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadTeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByTeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetNumberProcesses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: ::core::option::Option<*mut u32>, sysids: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProcessIdsByIndex)(::windows_core::Interface::as_raw(self), start, count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(sysids.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessPeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByPeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessExecutableName(&self, buffer: ::core::option::Option<&mut [u8]>, exesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentProcessExecutableName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(exesize.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetImplicitThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetImplicitProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetEventSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentSystemId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentSystemId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberSystems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSystems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSystems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemIdsByIndex(&self, start: u32, ids: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemIdsByIndex)(::windows_core::Interface::as_raw(self), start, ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr())).ok() @@ -17248,11 +17248,11 @@ impl IDebugSystemObjects3 { } pub unsafe fn GetCurrentSystemServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemServer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemByServer(&self, server: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemByServer)(::windows_core::Interface::as_raw(self), server, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemByServer)(::windows_core::Interface::as_raw(self), server, &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemServerName(&self, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentSystemServerName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17311,29 +17311,29 @@ pub struct IDebugSystemObjects3_Vtbl { impl IDebugSystemObjects4 { pub unsafe fn GetEventThread(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventThread)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventProcess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventProcess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentThreadId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentThreadId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetCurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentProcessId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentProcessId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberThreads(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberThreads)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTotalNumberThreads)(::windows_core::Interface::as_raw(self), total, largestprocess).ok() @@ -17343,114 +17343,114 @@ impl IDebugSystemObjects4 { } pub unsafe fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByProcessor)(::windows_core::Interface::as_raw(self), processor, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadTeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadTeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByTeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByTeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentThreadHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentThreadHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetThreadIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetNumberProcesses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberProcesses)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: ::core::option::Option<*mut u32>, sysids: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetProcessIdsByIndex)(::windows_core::Interface::as_raw(self), start, count, ::core::mem::transmute(ids.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(sysids.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByDataOffset)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessPeb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessPeb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByPeb(&self, offset: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByPeb)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdBySystemId)(::windows_core::Interface::as_raw(self), sysid, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProcessIdByHandle(&self, handle: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessIdByHandle)(::windows_core::Interface::as_raw(self), handle, &mut result__).map(|| result__) } pub unsafe fn GetCurrentProcessExecutableName(&self, buffer: ::core::option::Option<&mut [u8]>, exesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentProcessExecutableName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(exesize.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetCurrentProcessUpTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentProcessUpTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetImplicitThreadDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitThreadDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetImplicitProcessDataOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImplicitProcessDataOffset)(::windows_core::Interface::as_raw(self), offset).ok() } pub unsafe fn GetEventSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentSystemId(&self, id: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentSystemId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn GetNumberSystems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberSystems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberSystems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemIdsByIndex(&self, start: u32, ids: &mut [u32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSystemIdsByIndex)(::windows_core::Interface::as_raw(self), start, ids.len().try_into().unwrap(), ::core::mem::transmute(ids.as_ptr())).ok() @@ -17460,11 +17460,11 @@ impl IDebugSystemObjects4 { } pub unsafe fn GetCurrentSystemServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSystemServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSystemServer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSystemByServer(&self, server: u64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemByServer)(::windows_core::Interface::as_raw(self), server, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemByServer)(::windows_core::Interface::as_raw(self), server, &mut result__).map(|| result__) } pub unsafe fn GetCurrentSystemServerName(&self, buffer: ::core::option::Option<&mut [u8]>, namesize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentSystemServerName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(buffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), buffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(namesize.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17593,7 +17593,7 @@ impl IDynamicKeyProviderConcept { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateKeys)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateKeys)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17613,7 +17613,7 @@ impl IEquatableConcept { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreObjectsEqual)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), otherobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreObjectsEqual)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), otherobject.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -17643,7 +17643,7 @@ impl IIndexableConcept { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDimensionality)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDimensionality)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, contextobject: P0, indexers: &[::core::option::Option], object: *mut ::core::option::Option, metadata: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -17675,14 +17675,14 @@ impl IIterableConcept { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultIndexDimensionality)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultIndexDimensionality)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetIterator(&self, contextobject: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIterator)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIterator)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17775,15 +17775,15 @@ pub struct IModelIterator_Vtbl { impl IModelKeyReference { pub unsafe fn GetKeyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginalObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOriginalObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOriginalObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKey(&self, object: ::core::option::Option<*mut ::core::option::Option>, metadata: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetKey)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(object.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(metadata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17822,15 +17822,15 @@ pub struct IModelKeyReference_Vtbl { impl IModelKeyReference2 { pub unsafe fn GetKeyName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetKeyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetKeyName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOriginalObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOriginalObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOriginalObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContextObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContextObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKey(&self, object: ::core::option::Option<*mut ::core::option::Option>, metadata: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetKey)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(object.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(metadata.unwrap_or(::std::ptr::null_mut()))).ok() @@ -17885,20 +17885,20 @@ pub struct IModelMethod_Vtbl { impl IModelObject { pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntrinsicValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntrinsicValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntrinsicValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Variant")] pub unsafe fn GetIntrinsicValueAs(&self, vt: super::super::super::Variant::VARENUM) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntrinsicValueAs)(::windows_core::Interface::as_raw(self), vt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntrinsicValueAs)(::windows_core::Interface::as_raw(self), vt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKeyValue(&self, key: P0, object: ::core::option::Option<*mut ::core::option::Option>, metadata: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -17915,44 +17915,44 @@ impl IModelObject { } pub unsafe fn EnumerateKeyValues(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateKeyValues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateKeyValues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRawValue(&self, kind: SymbolKind, name: P0, searchflags: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawValue)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), searchflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawValue)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), searchflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateRawValues(&self, kind: SymbolKind, searchflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateRawValues)(::windows_core::Interface::as_raw(self), kind, searchflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateRawValues)(::windows_core::Interface::as_raw(self), kind, searchflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Dereference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dereference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dereference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TryCastToRuntimeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TryCastToRuntimeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TryCastToRuntimeType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConcept(&self, conceptid: *const ::windows_core::GUID, conceptinterface: *mut ::core::option::Option<::windows_core::IUnknown>, conceptmetadata: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetConcept)(::windows_core::Interface::as_raw(self), conceptid, ::core::mem::transmute(conceptinterface), ::core::mem::transmute(conceptmetadata.unwrap_or(::std::ptr::null_mut()))).ok() } pub unsafe fn GetLocation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetInfo(&self, location: *mut Location, r#type: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTargetInfo)(::windows_core::Interface::as_raw(self), location, ::core::mem::transmute(r#type)).ok() } pub unsafe fn GetNumberOfParentModels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfParentModels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfParentModels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentModel(&self, i: u64, model: *mut ::core::option::Option, contextobject: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetParentModel)(::windows_core::Interface::as_raw(self), i, ::core::mem::transmute(model), ::core::mem::transmute(contextobject)).ok() @@ -17995,11 +17995,11 @@ impl IModelObject { } pub unsafe fn EnumerateKeys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateKeys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateKeyReferences(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateKeyReferences)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateKeyReferences)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConcept(&self, conceptid: *const ::windows_core::GUID, conceptinterface: P0, conceptmetadata: P1) -> ::windows_core::Result<()> where @@ -18016,11 +18016,11 @@ impl IModelObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRawReference)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), searchflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRawReference)(::windows_core::Interface::as_raw(self), kind, name.into_param().abi(), searchflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateRawReferences(&self, kind: SymbolKind, searchflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateRawReferences)(::windows_core::Interface::as_raw(self), kind, searchflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateRawReferences)(::windows_core::Interface::as_raw(self), kind, searchflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetContextForDataModel(&self, datamodelobject: P0, context: P1) -> ::windows_core::Result<()> where @@ -18034,7 +18034,7 @@ impl IModelObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextForDataModel)(::windows_core::Interface::as_raw(self), datamodelobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextForDataModel)(::windows_core::Interface::as_raw(self), datamodelobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, other: P0, ppresult: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -18047,7 +18047,7 @@ impl IModelObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualTo)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualTo)(::windows_core::Interface::as_raw(self), other.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -18100,7 +18100,7 @@ impl IModelPropertyAccessor { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key.into_param().abi(), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key.into_param().abi(), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, key: P0, contextobject: P1, value: P2) -> ::windows_core::Result<()> where @@ -18126,7 +18126,7 @@ impl IPreferredRuntimeTypeConcept { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CastToPreferredRuntimeType)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CastToPreferredRuntimeType)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18161,7 +18161,7 @@ impl IStringDisplayableConcept { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ToDisplayString)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), metadata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ToDisplayString)(::windows_core::Interface::as_raw(self), contextobject.into_param().abi(), metadata.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/mod.rs index ed74b57195..48dc17dcb7 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Debug/mod.rs @@ -2622,11 +2622,11 @@ impl IDebugExtendedProperty { } pub unsafe fn EnumMembers(&self, dwfieldspec: u32, nradix: u32, refiid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, refiid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, refiid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetExtendedPropertyInfo(&self, dwfieldspec: u32, nradix: u32, pextendedpropertyinfo: *mut ExtendedDebugPropertyInfo) -> ::windows_core::Result<()> { @@ -2634,7 +2634,7 @@ impl IDebugExtendedProperty { } pub unsafe fn EnumExtendedMembers(&self, dwfieldspec: u32, nradix: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumExtendedMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumExtendedMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2664,11 +2664,11 @@ impl IDebugProperty { } pub unsafe fn EnumMembers(&self, dwfieldspec: u32, nradix: u32, refiid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, refiid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumMembers)(::windows_core::Interface::as_raw(self), dwfieldspec, nradix, refiid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2686,7 +2686,7 @@ pub struct IDebugProperty_Vtbl { impl IDebugPropertyEnumType_All { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2700,7 +2700,7 @@ pub struct IDebugPropertyEnumType_All_Vtbl { impl IDebugPropertyEnumType_Arguments { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2713,7 +2713,7 @@ pub struct IDebugPropertyEnumType_Arguments_Vtbl { impl IDebugPropertyEnumType_Locals { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2726,7 +2726,7 @@ pub struct IDebugPropertyEnumType_Locals_Vtbl { impl IDebugPropertyEnumType_LocalsPlusArgs { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2739,7 +2739,7 @@ pub struct IDebugPropertyEnumType_LocalsPlusArgs_Vtbl { impl IDebugPropertyEnumType_Registers { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2762,11 +2762,11 @@ impl IEnumDebugExtendedPropertyInfo { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2796,11 +2796,11 @@ impl IEnumDebugPropertyInfo { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2835,11 +2835,11 @@ pub struct IObjectSafety_Vtbl { impl IPerPropertyBrowsing2 { pub unsafe fn GetDisplayString(&self, dispid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayString)(::windows_core::Interface::as_raw(self), dispid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayString)(::windows_core::Interface::as_raw(self), dispid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MapPropertyToPage(&self, dispid: i32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapPropertyToPage)(::windows_core::Interface::as_raw(self), dispid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapPropertyToPage)(::windows_core::Interface::as_raw(self), dispid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetPredefinedStrings(&self, dispid: i32, pcastrings: *mut super::super::Ole::CALPOLESTR, pcacookies: *mut super::super::Ole::CADWORD) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Etw/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Etw/mod.rs index a1c4fcd273..f6713b60bd 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Etw/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Diagnostics/Etw/mod.rs @@ -544,15 +544,15 @@ where impl ITraceEvent { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUserContext(&self) -> ::windows_core::Result<*mut ::core::ffi::c_void> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventRecord(&self) -> ::windows_core::Result<*mut EVENT_RECORD> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventRecord)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventRecord)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPayload(&self, payload: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPayload)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(payload.as_ptr()), payload.len().try_into().unwrap()).ok() @@ -639,14 +639,14 @@ impl ITraceRelogger { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddLogfileTraceStream)(::windows_core::Interface::as_raw(self), logfilename.into_param().abi(), usercontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddLogfileTraceStream)(::windows_core::Interface::as_raw(self), logfilename.into_param().abi(), usercontext, &mut result__).map(|| result__) } pub unsafe fn AddRealtimeTraceStream(&self, loggername: P0, usercontext: *const ::core::ffi::c_void) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddRealtimeTraceStream)(::windows_core::Interface::as_raw(self), loggername.into_param().abi(), usercontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddRealtimeTraceStream)(::windows_core::Interface::as_raw(self), loggername.into_param().abi(), usercontext, &mut result__).map(|| result__) } pub unsafe fn RegisterCallback(&self, callback: P0) -> ::windows_core::Result<()> where @@ -662,7 +662,7 @@ impl ITraceRelogger { } pub unsafe fn CreateEventInstance(&self, tracehandle: RELOGSTREAM_HANDLE, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEventInstance)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(tracehandle), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEventInstance)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(tracehandle), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessTrace(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ProcessTrace)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs b/crates/libs/windows/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs index 92a6244d09..7c6daf3155 100644 --- a/crates/libs/windows/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs @@ -64,7 +64,7 @@ pub struct IDtcLuRecovery_Vtbl { impl IDtcLuRecoveryFactory { pub unsafe fn Create(&self, puclupair: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(puclupair.as_ptr()), puclupair.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(puclupair.as_ptr()), puclupair.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -165,7 +165,7 @@ pub struct IDtcLuRecoveryInitiatedByDtcTransWork_Vtbl { impl IDtcLuRecoveryInitiatedByLu { pub unsafe fn GetObjectToHandleWorkFromLu(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectToHandleWorkFromLu)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectToHandleWorkFromLu)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -417,7 +417,7 @@ pub struct IDtcLuSubordinateDtcSink_Vtbl { impl IDtcNetworkAccessConfig { pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnyNetworkAccess(&self, banynetworkaccess: P0) -> ::windows_core::Result<()> where @@ -427,7 +427,7 @@ impl IDtcNetworkAccessConfig { } pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkAdministrationAccess(&self, bnetworkadministrationaccess: P0) -> ::windows_core::Result<()> where @@ -437,7 +437,7 @@ impl IDtcNetworkAccessConfig { } pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTransactionAccess(&self, bnetworktransactionaccess: P0) -> ::windows_core::Result<()> where @@ -447,7 +447,7 @@ impl IDtcNetworkAccessConfig { } pub unsafe fn GetNetworkClientAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkClientAccess(&self, bnetworkclientaccess: P0) -> ::windows_core::Result<()> where @@ -457,7 +457,7 @@ impl IDtcNetworkAccessConfig { } pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTIPAccess(&self, bnetworktipaccess: P0) -> ::windows_core::Result<()> where @@ -467,7 +467,7 @@ impl IDtcNetworkAccessConfig { } pub unsafe fn GetXAAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetXAAccess(&self, bxaaccess: P0) -> ::windows_core::Result<()> where @@ -502,7 +502,7 @@ pub struct IDtcNetworkAccessConfig_Vtbl { impl IDtcNetworkAccessConfig2 { pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnyNetworkAccess(&self, banynetworkaccess: P0) -> ::windows_core::Result<()> where @@ -512,7 +512,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkAdministrationAccess(&self, bnetworkadministrationaccess: P0) -> ::windows_core::Result<()> where @@ -522,7 +522,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTransactionAccess(&self, bnetworktransactionaccess: P0) -> ::windows_core::Result<()> where @@ -532,7 +532,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetNetworkClientAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkClientAccess(&self, bnetworkclientaccess: P0) -> ::windows_core::Result<()> where @@ -542,7 +542,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTIPAccess(&self, bnetworktipaccess: P0) -> ::windows_core::Result<()> where @@ -552,7 +552,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetXAAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetXAAccess(&self, bxaaccess: P0) -> ::windows_core::Result<()> where @@ -565,11 +565,11 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetNetworkInboundAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkInboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkInboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNetworkOutboundAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNetworkOutboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNetworkOutboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkInboundAccess(&self, binbound: P0) -> ::windows_core::Result<()> where @@ -585,7 +585,7 @@ impl IDtcNetworkAccessConfig2 { } pub unsafe fn GetAuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationLevel)(::windows_core::Interface::as_raw(self), authlevel).ok() @@ -607,7 +607,7 @@ pub struct IDtcNetworkAccessConfig2_Vtbl { impl IDtcNetworkAccessConfig3 { pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAnyNetworkAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnyNetworkAccess(&self, banynetworkaccess: P0) -> ::windows_core::Result<()> where @@ -617,7 +617,7 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNetworkAdministrationAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkAdministrationAccess(&self, bnetworkadministrationaccess: P0) -> ::windows_core::Result<()> where @@ -627,7 +627,7 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNetworkTransactionAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTransactionAccess(&self, bnetworktransactionaccess: P0) -> ::windows_core::Result<()> where @@ -637,7 +637,7 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetNetworkClientAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNetworkClientAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkClientAccess(&self, bnetworkclientaccess: P0) -> ::windows_core::Result<()> where @@ -647,7 +647,7 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNetworkTIPAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkTIPAccess(&self, bnetworktipaccess: P0) -> ::windows_core::Result<()> where @@ -657,7 +657,7 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetXAAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetXAAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetXAAccess(&self, bxaaccess: P0) -> ::windows_core::Result<()> where @@ -670,11 +670,11 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetNetworkInboundAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkInboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkInboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNetworkOutboundAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNetworkOutboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNetworkOutboundAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNetworkInboundAccess(&self, binbound: P0) -> ::windows_core::Result<()> where @@ -690,14 +690,14 @@ impl IDtcNetworkAccessConfig3 { } pub unsafe fn GetAuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAuthenticationLevel)(::windows_core::Interface::as_raw(self), authlevel).ok() } pub unsafe fn GetLUAccess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLUAccess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLUAccess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLUAccess(&self, bluaccess: P0) -> ::windows_core::Result<()> where @@ -772,7 +772,7 @@ impl IDtcToXaHelperSinglePipe { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnlistWithRM)(::windows_core::Interface::as_raw(self), dwrmcookie, i_pitransaction.into_param().abi(), i_pitransres.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnlistWithRM)(::windows_core::Interface::as_raw(self), dwrmcookie, i_pitransaction.into_param().abi(), i_pitransres.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReleaseRMCookie(&self, i_dwrmcookie: u32, i_fnormal: P0) where @@ -837,7 +837,7 @@ pub struct IGetDispenser_Vtbl { impl IKernelTransaction { pub unsafe fn GetHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -885,7 +885,7 @@ pub struct IPrepareInfo_Vtbl { impl IPrepareInfo2 { pub unsafe fn GetPrepareInfoSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrepareInfoSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrepareInfoSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPrepareInfo(&self, pprepinfo: &mut [u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPrepareInfo)(::windows_core::Interface::as_raw(self), pprepinfo.len().try_into().unwrap(), ::core::mem::transmute(pprepinfo.as_ptr())).ok() @@ -932,7 +932,7 @@ impl IResourceManager { } pub unsafe fn Reenlist(&self, pprepinfo: &[u8], ltimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).map(|| result__) } pub unsafe fn ReenlistmentComplete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReenlistmentComplete)(::windows_core::Interface::as_raw(self)).ok() @@ -962,7 +962,7 @@ impl IResourceManager2 { } pub unsafe fn Reenlist(&self, pprepinfo: &[u8], ltimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).map(|| result__) } pub unsafe fn ReenlistmentComplete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ReenlistmentComplete)(::windows_core::Interface::as_raw(self)).ok() @@ -979,7 +979,7 @@ impl IResourceManager2 { } pub unsafe fn Reenlist2(&self, pxid: *const XID, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Reenlist2)(::windows_core::Interface::as_raw(self), pxid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Reenlist2)(::windows_core::Interface::as_raw(self), pxid, dwtimeout, &mut result__).map(|| result__) } } #[repr(C)] @@ -998,7 +998,7 @@ impl IResourceManagerFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), pguidrm, pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), pguidrm, pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1016,7 +1016,7 @@ impl IResourceManagerFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Create)(::windows_core::Interface::as_raw(self), pguidrm, pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Create)(::windows_core::Interface::as_raw(self), pguidrm, pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEx(&self, pguidrm: *const ::windows_core::GUID, pszrmname: P0, piresmgrsink: P1, riidrequested: *const ::windows_core::GUID, ppvresmgr: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -1044,7 +1044,7 @@ impl IResourceManagerRejoinable { } pub unsafe fn Reenlist(&self, pprepinfo: &[u8], ltimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Reenlist)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).map(|| result__) } pub unsafe fn ReenlistmentComplete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ReenlistmentComplete)(::windows_core::Interface::as_raw(self)).ok() @@ -1061,11 +1061,11 @@ impl IResourceManagerRejoinable { } pub unsafe fn Reenlist2(&self, pxid: *const XID, dwtimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Reenlist2)(::windows_core::Interface::as_raw(self), pxid, dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Reenlist2)(::windows_core::Interface::as_raw(self), pxid, dwtimeout, &mut result__).map(|| result__) } pub unsafe fn Rejoin(&self, pprepinfo: &[u8], ltimeout: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rejoin)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rejoin)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pprepinfo.as_ptr()), pprepinfo.len().try_into().unwrap(), ltimeout, &mut result__).map(|| result__) } } #[repr(C)] @@ -1092,18 +1092,18 @@ pub struct IResourceManagerSink_Vtbl { impl ITipHelper { pub unsafe fn Pull(&self, i_psztxurl: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pull)(::windows_core::Interface::as_raw(self), i_psztxurl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pull)(::windows_core::Interface::as_raw(self), i_psztxurl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PullAsync(&self, i_psztxurl: *const u8, i_ptippullsink: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PullAsync)(::windows_core::Interface::as_raw(self), i_psztxurl, i_ptippullsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PullAsync)(::windows_core::Interface::as_raw(self), i_psztxurl, i_ptippullsink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalTmUrl(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocalTmUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocalTmUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1132,11 +1132,11 @@ pub struct ITipPullSink_Vtbl { impl ITipTransaction { pub unsafe fn Push(&self, i_pszremotetmurl: *const u8) -> ::windows_core::Result<::windows_core::PSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Push)(::windows_core::Interface::as_raw(self), i_pszremotetmurl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Push)(::windows_core::Interface::as_raw(self), i_pszremotetmurl, &mut result__).map(|| result__) } pub unsafe fn GetTransactionUrl(&self) -> ::windows_core::Result<::windows_core::PSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransactionUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransactionUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1151,7 +1151,7 @@ pub struct ITipTransaction_Vtbl { impl ITmNodeName { pub unsafe fn GetNodeNameSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNodeNameSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNodeNameSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNodeName(&self, cbnodenamebuffersize: u32, pnodenamebuffer: ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNodeName)(::windows_core::Interface::as_raw(self), cbnodenamebuffersize, ::core::mem::transmute(pnodenamebuffer)).ok() @@ -1213,7 +1213,7 @@ impl ITransaction2 { } pub unsafe fn CloneWithCommitDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CloneWithCommitDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CloneWithCommitDisabled)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTransactionInfo2(&self, pinfo: *mut XACTTRANSINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransactionInfo2)(::windows_core::Interface::as_raw(self), pinfo).ok() @@ -1246,7 +1246,7 @@ impl ITransactionCloner { } pub unsafe fn CloneWithCommitDisabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CloneWithCommitDisabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloneWithCommitDisabled)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1260,7 +1260,7 @@ pub struct ITransactionCloner_Vtbl { impl ITransactionDispenser { pub unsafe fn GetOptionsObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BeginTransaction(&self, punkouter: P0, isolevel: i32, isoflags: u32, poptions: P1) -> ::windows_core::Result where @@ -1268,7 +1268,7 @@ impl ITransactionDispenser { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), isolevel, isoflags, poptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), isolevel, isoflags, poptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1314,7 +1314,7 @@ impl ITransactionExport { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), punktransaction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Export)(::windows_core::Interface::as_raw(self), punktransaction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetTransactionCookie(&self, punktransaction: P0, rgbtransactioncookie: &mut [u8], pcbused: *mut u32) -> ::windows_core::Result<()> where @@ -1335,11 +1335,11 @@ pub struct ITransactionExport_Vtbl { impl ITransactionExportFactory { pub unsafe fn GetRemoteClassId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRemoteClassId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemoteClassId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Create(&self, rgbwhereabouts: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), rgbwhereabouts.len().try_into().unwrap(), ::core::mem::transmute(rgbwhereabouts.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), rgbwhereabouts.len().try_into().unwrap(), ::core::mem::transmute(rgbwhereabouts.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1357,7 +1357,7 @@ impl ITransactionImport { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Import)(::windows_core::Interface::as_raw(self), rgbtransactioncookie.len().try_into().unwrap(), ::core::mem::transmute(rgbtransactioncookie.as_ptr()), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Import)(::windows_core::Interface::as_raw(self), rgbtransactioncookie.len().try_into().unwrap(), ::core::mem::transmute(rgbtransactioncookie.as_ptr()), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1371,7 +1371,7 @@ pub struct ITransactionImport_Vtbl { impl ITransactionImportWhereabouts { pub unsafe fn GetWhereaboutsSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWhereaboutsSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWhereaboutsSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWhereabouts(&self, rgbwhereabouts: &mut [u8], pcbused: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetWhereabouts)(::windows_core::Interface::as_raw(self), rgbwhereabouts.len().try_into().unwrap(), ::core::mem::transmute(rgbwhereabouts.as_ptr()), pcbused).ok() @@ -1479,7 +1479,7 @@ impl ITransactionPhase0EnlistmentAsync { } pub unsafe fn GetTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1500,7 +1500,7 @@ impl ITransactionPhase0Factory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), pphase0notify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), pphase0notify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1534,11 +1534,11 @@ pub struct ITransactionPhase0NotifyAsync_Vtbl { impl ITransactionReceiver { pub unsafe fn UnmarshalPropagationToken(&self, rgbtoken: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnmarshalPropagationToken)(::windows_core::Interface::as_raw(self), rgbtoken.len().try_into().unwrap(), ::core::mem::transmute(rgbtoken.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnmarshalPropagationToken)(::windows_core::Interface::as_raw(self), rgbtoken.len().try_into().unwrap(), ::core::mem::transmute(rgbtoken.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetReturnTokenSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReturnTokenSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReturnTokenSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MarshalReturnToken(&self, rgbreturntoken: &mut [u8], pcbused: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MarshalReturnToken)(::windows_core::Interface::as_raw(self), rgbreturntoken.len().try_into().unwrap(), ::core::mem::transmute(rgbreturntoken.as_ptr()), pcbused).ok() @@ -1561,7 +1561,7 @@ pub struct ITransactionReceiver_Vtbl { impl ITransactionReceiverFactory { pub unsafe fn Create(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1647,7 +1647,7 @@ impl ITransactionTransmitter { } pub unsafe fn GetPropagationTokenSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropagationTokenSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropagationTokenSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MarshalPropagationToken(&self, rgbtoken: &mut [u8], pcbused: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MarshalPropagationToken)(::windows_core::Interface::as_raw(self), rgbtoken.len().try_into().unwrap(), ::core::mem::transmute(rgbtoken.as_ptr()), pcbused).ok() @@ -1674,7 +1674,7 @@ pub struct ITransactionTransmitter_Vtbl { impl ITransactionTransmitterFactory { pub unsafe fn Create(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1705,7 +1705,7 @@ impl ITransactionVoterFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ptransaction.into_param().abi(), pvoternotify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ptransaction.into_param().abi(), pvoternotify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1783,7 +1783,7 @@ pub struct IXAObtainRMInfo_Vtbl { impl IXATransLookup { pub unsafe fn Lookup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Lookup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Lookup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1797,7 +1797,7 @@ pub struct IXATransLookup_Vtbl { impl IXATransLookup2 { pub unsafe fn Lookup(&self, pxid: *const XID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Lookup)(::windows_core::Interface::as_raw(self), pxid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Lookup)(::windows_core::Interface::as_raw(self), pxid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/ErrorReporting/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ErrorReporting/mod.rs index 5f7f6c32d1..93626477f3 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ErrorReporting/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ErrorReporting/mod.rs @@ -44,7 +44,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn WerGetFlags(hprocess : super::super::Foundation:: HANDLE, pdwflags : *mut WER_FAULT_REPORTING) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WerGetFlags(hprocess.into_param().abi(), &mut result__).from_abi(result__) + WerGetFlags(hprocess.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WerRegisterAdditionalProcess(processid: u32, captureextrainfoforthreadid: u32) -> ::windows_core::Result<()> { @@ -138,7 +138,7 @@ where { ::windows_targets::link!("wer.dll" "system" fn WerReportCreate(pwzeventtype : ::windows_core::PCWSTR, reptype : WER_REPORT_TYPE, preportinformation : *const WER_REPORT_INFORMATION, phreporthandle : *mut HREPORT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WerReportCreate(pwzeventtype.into_param().abi(), reptype, ::core::mem::transmute(preportinformation.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + WerReportCreate(pwzeventtype.into_param().abi(), reptype, ::core::mem::transmute(preportinformation.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn WerReportHang(hwndhungapp: P0, pwzhungapplicationname: P1) -> ::windows_core::Result<()> @@ -212,7 +212,7 @@ where { ::windows_targets::link!("wer.dll" "system" fn WerStoreGetReportCount(hreportstore : HREPORTSTORE, pdwreportcount : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WerStoreGetReportCount(hreportstore.into_param().abi(), &mut result__).from_abi(result__) + WerStoreGetReportCount(hreportstore.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WerStoreGetSizeOnDisk(hreportstore: P0) -> ::windows_core::Result @@ -221,13 +221,13 @@ where { ::windows_targets::link!("wer.dll" "system" fn WerStoreGetSizeOnDisk(hreportstore : HREPORTSTORE, pqwsizeinbytes : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WerStoreGetSizeOnDisk(hreportstore.into_param().abi(), &mut result__).from_abi(result__) + WerStoreGetSizeOnDisk(hreportstore.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WerStoreOpen(repstoretype: REPORT_STORE_TYPES) -> ::windows_core::Result { ::windows_targets::link!("wer.dll" "system" fn WerStoreOpen(repstoretype : REPORT_STORE_TYPES, phreportstore : *mut HREPORTSTORE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WerStoreOpen(repstoretype, &mut result__).from_abi(result__) + WerStoreOpen(repstoretype, &mut result__).map(|| result__) } #[inline] pub unsafe fn WerStorePurge() -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/System/GroupPolicy/mod.rs b/crates/libs/windows/src/Windows/Win32/System/GroupPolicy/mod.rs index 6cc2f9c9bf..37dbd635fe 100644 --- a/crates/libs/windows/src/Windows/Win32/System/GroupPolicy/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/GroupPolicy/mod.rs @@ -332,7 +332,7 @@ impl IGPM { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDomain)(::windows_core::Interface::as_raw(self), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDomain)(::windows_core::Interface::as_raw(self), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBackupDir(&self, bstrbackupdir: P0) -> ::windows_core::Result @@ -340,7 +340,7 @@ impl IGPM { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackupDir)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackupDir)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSitesContainer(&self, bstrforest: P0, bstrdomain: P1, bstrdomaincontroller: P2, ldcflags: i32) -> ::windows_core::Result @@ -350,7 +350,7 @@ impl IGPM { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSitesContainer)(::windows_core::Interface::as_raw(self), bstrforest.into_param().abi(), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSitesContainer)(::windows_core::Interface::as_raw(self), bstrforest.into_param().abi(), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRSOP(&self, gpmrsopmode: GPMRSOPMode, bstrnamespace: P0, lflags: i32) -> ::windows_core::Result @@ -358,7 +358,7 @@ impl IGPM { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRSOP)(::windows_core::Interface::as_raw(self), gpmrsopmode, bstrnamespace.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRSOP)(::windows_core::Interface::as_raw(self), gpmrsopmode, bstrnamespace.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePermission(&self, bstrtrustee: P0, perm: GPMPermissionType, binheritable: P1) -> ::windows_core::Result @@ -367,12 +367,12 @@ impl IGPM { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePermission)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), perm, binheritable.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePermission)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), perm, binheritable.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSearchCriteria(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSearchCriteria)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSearchCriteria)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTrustee(&self, bstrtrustee: P0) -> ::windows_core::Result @@ -380,17 +380,17 @@ impl IGPM { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTrustee)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTrustee)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClientSideExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientSideExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientSideExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConstants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConstants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConstants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMigrationTable(&self, bstrmigrationtablepath: P0) -> ::windows_core::Result @@ -398,12 +398,12 @@ impl IGPM { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMigrationTable)(::windows_core::Interface::as_raw(self), bstrmigrationtablepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMigrationTable)(::windows_core::Interface::as_raw(self), bstrmigrationtablepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateMigrationTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMigrationTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMigrationTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeReporting(&self, bstradmpath: P0) -> ::windows_core::Result<()> where @@ -476,7 +476,7 @@ impl IGPM2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDomain)(::windows_core::Interface::as_raw(self), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDomain)(::windows_core::Interface::as_raw(self), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBackupDir(&self, bstrbackupdir: P0) -> ::windows_core::Result @@ -484,7 +484,7 @@ impl IGPM2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackupDir)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackupDir)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSitesContainer(&self, bstrforest: P0, bstrdomain: P1, bstrdomaincontroller: P2, ldcflags: i32) -> ::windows_core::Result @@ -494,7 +494,7 @@ impl IGPM2 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSitesContainer)(::windows_core::Interface::as_raw(self), bstrforest.into_param().abi(), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSitesContainer)(::windows_core::Interface::as_raw(self), bstrforest.into_param().abi(), bstrdomain.into_param().abi(), bstrdomaincontroller.into_param().abi(), ldcflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRSOP(&self, gpmrsopmode: GPMRSOPMode, bstrnamespace: P0, lflags: i32) -> ::windows_core::Result @@ -502,7 +502,7 @@ impl IGPM2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRSOP)(::windows_core::Interface::as_raw(self), gpmrsopmode, bstrnamespace.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRSOP)(::windows_core::Interface::as_raw(self), gpmrsopmode, bstrnamespace.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePermission(&self, bstrtrustee: P0, perm: GPMPermissionType, binheritable: P1) -> ::windows_core::Result @@ -511,12 +511,12 @@ impl IGPM2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePermission)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), perm, binheritable.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePermission)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), perm, binheritable.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSearchCriteria(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSearchCriteria)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSearchCriteria)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTrustee(&self, bstrtrustee: P0) -> ::windows_core::Result @@ -524,17 +524,17 @@ impl IGPM2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTrustee)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTrustee)(::windows_core::Interface::as_raw(self), bstrtrustee.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClientSideExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClientSideExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClientSideExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConstants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConstants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConstants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMigrationTable(&self, bstrmigrationtablepath: P0) -> ::windows_core::Result @@ -542,12 +542,12 @@ impl IGPM2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMigrationTable)(::windows_core::Interface::as_raw(self), bstrmigrationtablepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMigrationTable)(::windows_core::Interface::as_raw(self), bstrmigrationtablepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateMigrationTable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateMigrationTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateMigrationTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeReporting(&self, bstradmpath: P0) -> ::windows_core::Result<()> where @@ -561,7 +561,7 @@ impl IGPM2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackupDirEx)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), backupdirtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackupDirEx)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), backupdirtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeReportingEx(&self, bstradmpath: P0, reportingoptions: i32) -> ::windows_core::Result<()> where @@ -630,31 +630,31 @@ pub struct IGPMAsyncProgress_Vtbl { impl IGPMBackup { pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GPOID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPOID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GPODomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPODomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPODomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GPODisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Timestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Comment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BackupDir(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -662,7 +662,7 @@ impl IGPMBackup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -670,7 +670,7 @@ impl IGPMBackup { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -703,16 +703,16 @@ pub struct IGPMBackup_Vtbl { impl IGPMBackupCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -735,7 +735,7 @@ pub struct IGPMBackupCollection_Vtbl { impl IGPMBackupDir { pub unsafe fn BackupDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBackup(&self, bstrid: P0) -> ::windows_core::Result @@ -743,7 +743,7 @@ impl IGPMBackupDir { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackup)(::windows_core::Interface::as_raw(self), bstrid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackup)(::windows_core::Interface::as_raw(self), bstrid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchBackups(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -751,7 +751,7 @@ impl IGPMBackupDir { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchBackups)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchBackups)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -777,18 +777,18 @@ pub struct IGPMBackupDir_Vtbl { impl IGPMBackupDirEx { pub unsafe fn BackupDir(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BackupType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBackup(&self, bstrid: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackup)(::windows_core::Interface::as_raw(self), bstrid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackup)(::windows_core::Interface::as_raw(self), bstrid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchBackups(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -796,7 +796,7 @@ impl IGPMBackupDirEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchBackups)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchBackups)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -820,16 +820,16 @@ pub struct IGPMBackupDirEx_Vtbl { impl IGPMCSECollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -852,19 +852,19 @@ pub struct IGPMCSECollection_Vtbl { impl IGPMClientSideExtension { pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsUserEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsComputerEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -885,139 +885,139 @@ pub struct IGPMClientSideExtension_Vtbl { impl IGPMConstants { pub unsafe fn PermGPOApply(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermGPOApply)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermGPOApply)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPORead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermGPORead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermGPORead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOEditSecurityAndDelete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermGPOEditSecurityAndDelete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermGPOEditSecurityAndDelete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermWMIFilterEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermWMIFilterEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterFullControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermWMIFilterFullControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermWMIFilterFullControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermWMIFilterCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermWMIFilterCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMLogging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMPlanning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMPlanning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMPlanning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMGPOCreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMGPOCreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMGPOCreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMWMICreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMWMICreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMWMICreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMWMIFullControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermSOMWMIFullControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermSOMWMIFullControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOPermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOEffectivePermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPODisplayName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOWMIFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOComputerExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOComputerExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOComputerExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOUserExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPOUserExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPOUserExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertySOMLinks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertySOMLinks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertySOMLinks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPODomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyBackupMostRecent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyBackupMostRecent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyBackupMostRecent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpEquals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchOpEquals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchOpEquals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpContains(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchOpContains)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchOpContains)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpNotContains(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchOpNotContains)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchOpNotContains)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpNotEquals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchOpNotEquals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchOpNotEquals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsePDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UsePDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UsePDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseAnyDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseAnyDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseAnyDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoNotUseW2KDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoNotUseW2KDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoNotUseW2KDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SOMSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SOMSite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SOMDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SOMDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMOU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SOMOU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SOMOU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_SecurityFlags(&self, vbowner: P0, vbgroup: P1, vbdacl: P2, vbsacl: P3) -> ::windows_core::Result where @@ -1027,110 +1027,110 @@ impl IGPMConstants { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SecurityFlags)(::windows_core::Interface::as_raw(self), vbowner.into_param().abi(), vbgroup.into_param().abi(), vbdacl.into_param().abi(), vbsacl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SecurityFlags)(::windows_core::Interface::as_raw(self), vbowner.into_param().abi(), vbgroup.into_param().abi(), vbdacl.into_param().abi(), vbsacl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DoNotValidateDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoNotValidateDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoNotValidateDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportHTML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportHTML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportHTML)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportXML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportXML)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModeUnknown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RSOPModeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RSOPModeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModePlanning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RSOPModePlanning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RSOPModePlanning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModeLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RSOPModeLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RSOPModeLogging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeComputer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeComputer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeLocalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeLocalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeLocalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeGlobalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeGlobalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeGlobalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUniversalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeUniversalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeUniversalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUNCPath(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeUNCPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeUNCPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUnknown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryTypeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryTypeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionSameAsSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationOptionSameAsSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationOptionSameAsSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionNone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationOptionNone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationOptionNone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionByRelativeName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationOptionByRelativeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationOptionByRelativeName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationOptionSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationOptionSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MigrationTableOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MigrationTableOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MigrationTableOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProcessSecurity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessSecurity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessSecurity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopLoggingNoComputer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RsopLoggingNoComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RsopLoggingNoComputer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopLoggingNoUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RsopLoggingNoUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RsopLoggingNoUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeSlowLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RsopPlanningAssumeSlowLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RsopPlanningAssumeSlowLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_RsopPlanningLoopbackOption(&self, vbmerge: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RsopPlanningLoopbackOption)(::windows_core::Interface::as_raw(self), vbmerge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RsopPlanningLoopbackOption)(::windows_core::Interface::as_raw(self), vbmerge.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeUserWQLFilterTrue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RsopPlanningAssumeUserWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RsopPlanningAssumeUserWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeCompWQLFilterTrue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RsopPlanningAssumeCompWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RsopPlanningAssumeCompWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1207,139 +1207,139 @@ pub struct IGPMConstants_Vtbl { impl IGPMConstants2 { pub unsafe fn PermGPOApply(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermGPOApply)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermGPOApply)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPORead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermGPORead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermGPORead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOEditSecurityAndDelete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermGPOEditSecurityAndDelete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermGPOEditSecurityAndDelete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermGPOCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermWMIFilterEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermWMIFilterEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterFullControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermWMIFilterFullControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermWMIFilterFullControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermWMIFilterCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermWMIFilterCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermWMIFilterCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMLogging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMPlanning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMPlanning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMPlanning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMGPOCreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMGPOCreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMGPOCreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMWMICreate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMWMICreate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMWMICreate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermSOMWMIFullControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PermSOMWMIFullControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PermSOMWMIFullControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOPermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOEffectivePermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPODisplayName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOWMIFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOComputerExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOComputerExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOComputerExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPOUserExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOUserExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPOUserExtensions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertySOMLinks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertySOMLinks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertySOMLinks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyGPODomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyBackupMostRecent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchPropertyBackupMostRecent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchPropertyBackupMostRecent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpEquals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchOpEquals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchOpEquals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpContains(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchOpContains)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchOpContains)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpNotContains(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchOpNotContains)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchOpNotContains)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchOpNotEquals(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchOpNotEquals)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchOpNotEquals)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UsePDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UsePDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UsePDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseAnyDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UseAnyDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UseAnyDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DoNotUseW2KDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoNotUseW2KDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoNotUseW2KDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SOMSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SOMSite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMDomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SOMDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SOMDomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SOMOU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SOMOU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SOMOU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_SecurityFlags(&self, vbowner: P0, vbgroup: P1, vbdacl: P2, vbsacl: P3) -> ::windows_core::Result where @@ -1349,170 +1349,170 @@ impl IGPMConstants2 { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_SecurityFlags)(::windows_core::Interface::as_raw(self), vbowner.into_param().abi(), vbgroup.into_param().abi(), vbdacl.into_param().abi(), vbsacl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_SecurityFlags)(::windows_core::Interface::as_raw(self), vbowner.into_param().abi(), vbgroup.into_param().abi(), vbdacl.into_param().abi(), vbsacl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DoNotValidateDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DoNotValidateDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DoNotValidateDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportHTML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReportHTML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReportHTML)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportXML(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReportXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReportXML)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModeUnknown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RSOPModeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RSOPModeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModePlanning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RSOPModePlanning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RSOPModePlanning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RSOPModeLogging(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RSOPModeLogging)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RSOPModeLogging)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeComputer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeComputer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeLocalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeLocalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeLocalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeGlobalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeGlobalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeGlobalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUniversalGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeUniversalGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeUniversalGroup)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUNCPath(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeUNCPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeUNCPath)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryTypeUnknown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EntryTypeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EntryTypeUnknown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionSameAsSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationOptionSameAsSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationOptionSameAsSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionNone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationOptionNone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationOptionNone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionByRelativeName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationOptionByRelativeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationOptionByRelativeName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DestinationOptionSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DestinationOptionSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DestinationOptionSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MigrationTableOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MigrationTableOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MigrationTableOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProcessSecurity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProcessSecurity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProcessSecurity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopLoggingNoComputer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RsopLoggingNoComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RsopLoggingNoComputer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopLoggingNoUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RsopLoggingNoUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RsopLoggingNoUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeSlowLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeSlowLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeSlowLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_RsopPlanningLoopbackOption(&self, vbmerge: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_RsopPlanningLoopbackOption)(::windows_core::Interface::as_raw(self), vbmerge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_RsopPlanningLoopbackOption)(::windows_core::Interface::as_raw(self), vbmerge.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeUserWQLFilterTrue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeUserWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeUserWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RsopPlanningAssumeCompWQLFilterTrue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeCompWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RsopPlanningAssumeCompWQLFilterTrue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BackupTypeGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupTypeGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupTypeGPO)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BackupTypeStarterGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupTypeStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupTypeStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StarterGPOTypeSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StarterGPOTypeSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StarterGPOTypeSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StarterGPOTypeCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StarterGPOTypeCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StarterGPOTypeCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyStarterGPOPermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOPermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyStarterGPOEffectivePermissions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOEffectivePermissions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyStarterGPODisplayName(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyStarterGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyStarterGPODisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyStarterGPOID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyStarterGPOID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchPropertyStarterGPODomain(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchPropertyStarterGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchPropertyStarterGPODomain)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermStarterGPORead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermStarterGPORead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermStarterGPORead)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermStarterGPOEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermStarterGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermStarterGPOEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermStarterGPOFullControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermStarterGPOFullControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermStarterGPOFullControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PermStarterGPOCustom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PermStarterGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PermStarterGPOCustom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportLegacy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportLegacy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportLegacy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReportComments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportComments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportComments)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1544,16 +1544,16 @@ pub struct IGPMConstants2_Vtbl { impl IGPMDomain { pub unsafe fn DomainController(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGPO(&self, bstrguid: P0) -> ::windows_core::Result @@ -1561,7 +1561,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchGPOs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1569,7 +1569,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestoreGPO(&self, pigpmbackup: P0, ldcflags: i32, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1577,7 +1577,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSOM(&self, bstrpath: P0) -> ::windows_core::Result @@ -1585,7 +1585,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchSOMs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1593,7 +1593,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self, bstrpath: P0) -> ::windows_core::Result @@ -1601,7 +1601,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchWMIFilters(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1609,7 +1609,7 @@ impl IGPMDomain { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1660,16 +1660,16 @@ pub struct IGPMDomain_Vtbl { impl IGPMDomain2 { pub unsafe fn DomainController(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DomainController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DomainController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGPO(&self, bstrguid: P0) -> ::windows_core::Result @@ -1677,7 +1677,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchGPOs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1685,7 +1685,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestoreGPO(&self, pigpmbackup: P0, ldcflags: i32, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1693,7 +1693,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSOM(&self, bstrpath: P0) -> ::windows_core::Result @@ -1701,7 +1701,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchSOMs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1709,7 +1709,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self, bstrpath: P0) -> ::windows_core::Result @@ -1717,7 +1717,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchWMIFilters(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1725,12 +1725,12 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStarterGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPOFromStarterGPO(&self, pgpotemplate: P0) -> ::windows_core::Result @@ -1738,7 +1738,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGPOFromStarterGPO)(::windows_core::Interface::as_raw(self), pgpotemplate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGPOFromStarterGPO)(::windows_core::Interface::as_raw(self), pgpotemplate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStarterGPO(&self, bstrguid: P0) -> ::windows_core::Result @@ -1746,7 +1746,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStarterGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStarterGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchStarterGPOs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1754,7 +1754,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchStarterGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchStarterGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadStarterGPO(&self, bstrloadfile: P0, boverwrite: P1, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1763,7 +1763,7 @@ impl IGPMDomain2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadStarterGPO)(::windows_core::Interface::as_raw(self), bstrloadfile.into_param().abi(), boverwrite.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadStarterGPO)(::windows_core::Interface::as_raw(self), bstrloadfile.into_param().abi(), boverwrite.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestoreStarterGPO(&self, pigpmtmplbackup: P0, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1771,7 +1771,7 @@ impl IGPMDomain2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RestoreStarterGPO)(::windows_core::Interface::as_raw(self), pigpmtmplbackup.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RestoreStarterGPO)(::windows_core::Interface::as_raw(self), pigpmtmplbackup.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1812,16 +1812,16 @@ pub struct IGPMDomain2_Vtbl { impl IGPMDomain3 { pub unsafe fn DomainController(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DomainController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DomainController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateGPO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGPO(&self, bstrguid: P0) -> ::windows_core::Result @@ -1829,7 +1829,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchGPOs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1837,7 +1837,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SearchGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestoreGPO(&self, pigpmbackup: P0, ldcflags: i32, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1845,7 +1845,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RestoreGPO)(::windows_core::Interface::as_raw(self), pigpmbackup.into_param().abi(), ldcflags, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSOM(&self, bstrpath: P0) -> ::windows_core::Result @@ -1853,7 +1853,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSOM)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchSOMs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1861,7 +1861,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SearchSOMs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self, bstrpath: P0) -> ::windows_core::Result @@ -1869,7 +1869,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), bstrpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchWMIFilters(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1877,12 +1877,12 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SearchWMIFilters)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateStarterGPO(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateStarterGPO)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPOFromStarterGPO(&self, pgpotemplate: P0) -> ::windows_core::Result @@ -1890,7 +1890,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateGPOFromStarterGPO)(::windows_core::Interface::as_raw(self), pgpotemplate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateGPOFromStarterGPO)(::windows_core::Interface::as_raw(self), pgpotemplate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStarterGPO(&self, bstrguid: P0) -> ::windows_core::Result @@ -1898,7 +1898,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStarterGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStarterGPO)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchStarterGPOs(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -1906,7 +1906,7 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchStarterGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchStarterGPOs)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadStarterGPO(&self, bstrloadfile: P0, boverwrite: P1, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1915,7 +1915,7 @@ impl IGPMDomain3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LoadStarterGPO)(::windows_core::Interface::as_raw(self), bstrloadfile.into_param().abi(), boverwrite.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LoadStarterGPO)(::windows_core::Interface::as_raw(self), bstrloadfile.into_param().abi(), boverwrite.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestoreStarterGPO(&self, pigpmtmplbackup: P0, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -1923,16 +1923,16 @@ impl IGPMDomain3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RestoreStarterGPO)(::windows_core::Interface::as_raw(self), pigpmtmplbackup.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RestoreStarterGPO)(::windows_core::Interface::as_raw(self), pigpmtmplbackup.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InfrastructureDC(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InfrastructureDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InfrastructureDC)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInfrastructureDC(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1965,7 +1965,7 @@ pub struct IGPMDomain3_Vtbl { impl IGPMGPO { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1975,44 +1975,44 @@ impl IGPMGPO { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModificationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWMIFilter(&self, pigpmwmifilter: P0) -> ::windows_core::Result<()> @@ -2035,16 +2035,16 @@ impl IGPMGPO { } pub unsafe fn IsUserEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsComputerEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -2063,7 +2063,7 @@ impl IGPMGPO { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Import(&self, lflags: i32, pigpmbackup: P0, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2071,12 +2071,12 @@ impl IGPMGPO { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -2084,7 +2084,7 @@ impl IGPMGPO { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyTo(&self, lflags: i32, pigpmdomain: P0, pvarnewdisplayname: *const ::windows_core::VARIANT, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2092,7 +2092,7 @@ impl IGPMGPO { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityDescriptor(&self, lflags: i32, psd: P0) -> ::windows_core::Result<()> @@ -2104,11 +2104,11 @@ impl IGPMGPO { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityDescriptor(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsACLConsistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MakeACLConsistent(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MakeACLConsistent)(::windows_core::Interface::as_raw(self)).ok() @@ -2190,7 +2190,7 @@ pub struct IGPMGPO_Vtbl { impl IGPMGPO2 { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2200,44 +2200,44 @@ impl IGPMGPO2 { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DomainName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DomainName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModificationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWMIFilter(&self, pigpmwmifilter: P0) -> ::windows_core::Result<()> @@ -2260,16 +2260,16 @@ impl IGPMGPO2 { } pub unsafe fn IsUserEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsComputerEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -2288,7 +2288,7 @@ impl IGPMGPO2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Import(&self, lflags: i32, pigpmbackup: P0, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2296,12 +2296,12 @@ impl IGPMGPO2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -2309,7 +2309,7 @@ impl IGPMGPO2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyTo(&self, lflags: i32, pigpmdomain: P0, pvarnewdisplayname: *const ::windows_core::VARIANT, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2317,7 +2317,7 @@ impl IGPMGPO2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityDescriptor(&self, lflags: i32, psd: P0) -> ::windows_core::Result<()> @@ -2329,18 +2329,18 @@ impl IGPMGPO2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityDescriptor(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsACLConsistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MakeACLConsistent(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.MakeACLConsistent)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2365,7 +2365,7 @@ pub struct IGPMGPO2_Vtbl { impl IGPMGPO3 { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2375,44 +2375,44 @@ impl IGPMGPO3 { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DomainName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DomainName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DomainName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModificationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ModificationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerDSVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputerDSVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerSysvolVersionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ComputerSysvolVersionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWMIFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWMIFilter(&self, pigpmwmifilter: P0) -> ::windows_core::Result<()> @@ -2435,16 +2435,16 @@ impl IGPMGPO3 { } pub unsafe fn IsUserEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsUserEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsComputerEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsComputerEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -2463,7 +2463,7 @@ impl IGPMGPO3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Import(&self, lflags: i32, pigpmbackup: P0, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2471,12 +2471,12 @@ impl IGPMGPO3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Import)(::windows_core::Interface::as_raw(self), lflags, pigpmbackup.into_param().abi(), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -2484,7 +2484,7 @@ impl IGPMGPO3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyTo(&self, lflags: i32, pigpmdomain: P0, pvarnewdisplayname: *const ::windows_core::VARIANT, pvarmigrationtable: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -2492,7 +2492,7 @@ impl IGPMGPO3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CopyTo)(::windows_core::Interface::as_raw(self), lflags, pigpmdomain.into_param().abi(), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvarmigrationtable), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityDescriptor(&self, lflags: i32, psd: P0) -> ::windows_core::Result<()> @@ -2504,18 +2504,18 @@ impl IGPMGPO3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityDescriptor(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsACLConsistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsACLConsistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MakeACLConsistent(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.MakeACLConsistent)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2525,7 +2525,7 @@ impl IGPMGPO3 { } pub unsafe fn InfrastructureDC(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InfrastructureDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InfrastructureDC)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInfrastructureDC(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2554,16 +2554,16 @@ pub struct IGPMGPO3_Vtbl { impl IGPMGPOCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2586,15 +2586,15 @@ pub struct IGPMGPOCollection_Vtbl { impl IGPMGPOLink { pub unsafe fn GPOID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPOID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GPODomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPODomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPODomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2604,7 +2604,7 @@ impl IGPMGPOLink { } pub unsafe fn Enforced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enforced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enforced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnforced(&self, newval: P0) -> ::windows_core::Result<()> where @@ -2614,12 +2614,12 @@ impl IGPMGPOLink { } pub unsafe fn SOMLinkOrder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SOMLinkOrder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SOMLinkOrder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SOM(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SOM)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SOM)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -2651,16 +2651,16 @@ pub struct IGPMGPOLink_Vtbl { impl IGPMGPOLinksCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2683,19 +2683,19 @@ pub struct IGPMGPOLinksCollection_Vtbl { impl IGPMMapEntry { pub unsafe fn Source(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Destination(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DestinationOption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationOption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationOption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EntryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EntryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EntryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2716,16 +2716,16 @@ pub struct IGPMMapEntry_Vtbl { impl IGPMMapEntryCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2764,7 +2764,7 @@ impl IGPMMigrationTable { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddEntry)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), gpmentrytype, ::core::mem::transmute(pvardestination), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddEntry)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), gpmentrytype, ::core::mem::transmute(pvardestination), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEntry(&self, bstrsource: P0) -> ::windows_core::Result @@ -2772,7 +2772,7 @@ impl IGPMMigrationTable { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntry)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntry)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteEntry(&self, bstrsource: P0) -> ::windows_core::Result<()> where @@ -2786,17 +2786,17 @@ impl IGPMMigrationTable { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateDestination)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), ::core::mem::transmute(pvardestination), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateDestination)(::windows_core::Interface::as_raw(self), bstrsource.into_param().abi(), ::core::mem::transmute(pvardestination), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Validate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEntries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntries)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2836,24 +2836,24 @@ pub struct IGPMMigrationTable_Vtbl { impl IGPMPermission { pub unsafe fn Inherited(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Inherited)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Inherited)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Inheritable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Inheritable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Inheritable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Denied(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Denied)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Denied)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Permission(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Permission)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Permission)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Trustee(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trustee)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trustee)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2878,11 +2878,11 @@ pub struct IGPMPermission_Vtbl { impl IGPMRSOP { pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Namespace(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoggingComputer(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2892,7 +2892,7 @@ impl IGPMRSOP { } pub unsafe fn LoggingComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggingComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggingComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoggingUser(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2902,21 +2902,21 @@ impl IGPMRSOP { } pub unsafe fn LoggingUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggingUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggingUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLoggingFlags(&self, lval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLoggingFlags)(::windows_core::Interface::as_raw(self), lval).ok() } pub unsafe fn LoggingFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggingFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggingFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlanningFlags(&self, lval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPlanningFlags)(::windows_core::Interface::as_raw(self), lval).ok() } pub unsafe fn PlanningFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPlanningDomainController(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2926,7 +2926,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningDomainController(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningDomainController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningDomainController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningSiteName(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2936,7 +2936,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningSiteName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningSiteName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningSiteName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningUser(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2946,7 +2946,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningUserSOM(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2956,7 +2956,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningUserSOM(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningUserSOM)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningUserSOM)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningUserWMIFilters(&self, varval: P0) -> ::windows_core::Result<()> where @@ -2966,7 +2966,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningUserWMIFilters(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningUserWMIFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningUserWMIFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningUserSecurityGroups(&self, varval: P0) -> ::windows_core::Result<()> where @@ -2976,7 +2976,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningUserSecurityGroups(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningUserSecurityGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningUserSecurityGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningComputer(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2986,7 +2986,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningComputer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningComputer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningComputerSOM(&self, bstrval: P0) -> ::windows_core::Result<()> where @@ -2996,7 +2996,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningComputerSOM(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningComputerSOM)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningComputerSOM)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningComputerWMIFilters(&self, varval: P0) -> ::windows_core::Result<()> where @@ -3006,7 +3006,7 @@ impl IGPMRSOP { } pub unsafe fn PlanningComputerWMIFilters(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningComputerWMIFilters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningComputerWMIFilters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPlanningComputerSecurityGroups(&self, varval: P0) -> ::windows_core::Result<()> where @@ -3016,11 +3016,11 @@ impl IGPMRSOP { } pub unsafe fn PlanningComputerSecurityGroups(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlanningComputerSecurityGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlanningComputerSecurityGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoggingEnumerateUsers(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoggingEnumerateUsers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoggingEnumerateUsers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateQueryResults(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateQueryResults)(::windows_core::Interface::as_raw(self)).ok() @@ -3031,7 +3031,7 @@ impl IGPMRSOP { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -3039,7 +3039,7 @@ impl IGPMRSOP { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3098,11 +3098,11 @@ impl IGPMResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Result(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Result)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Result)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OverallStatus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OverallStatus)(::windows_core::Interface::as_raw(self)).ok() @@ -3128,7 +3128,7 @@ pub struct IGPMResult_Vtbl { impl IGPMSOM { pub unsafe fn GPOInheritanceBlocked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GPOInheritanceBlocked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GPOInheritanceBlocked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGPOInheritanceBlocked(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3138,11 +3138,11 @@ impl IGPMSOM { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateGPOLink(&self, llinkpos: i32, pgpo: P0) -> ::windows_core::Result @@ -3150,26 +3150,26 @@ impl IGPMSOM { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGPOLink)(::windows_core::Interface::as_raw(self), llinkpos, pgpo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGPOLink)(::windows_core::Interface::as_raw(self), llinkpos, pgpo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGPOLinks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGPOLinks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGPOLinks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInheritedGPOLinks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInheritedGPOLinks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInheritedGPOLinks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -3218,16 +3218,16 @@ pub struct IGPMSOM_Vtbl { impl IGPMSOMCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3270,16 +3270,16 @@ pub struct IGPMSearchCriteria_Vtbl { impl IGPMSecurityInfo { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pperm: P0) -> ::windows_core::Result<()> @@ -3331,15 +3331,15 @@ pub struct IGPMSecurityInfo_Vtbl { impl IGPMSitesContainer { pub unsafe fn DomainController(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DomainController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DomainController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Forest(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Forest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Forest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSite(&self, bstrsitename: P0) -> ::windows_core::Result @@ -3347,7 +3347,7 @@ impl IGPMSitesContainer { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSite)(::windows_core::Interface::as_raw(self), bstrsitename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSite)(::windows_core::Interface::as_raw(self), bstrsitename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SearchSites(&self, pigpmsearchcriteria: P0) -> ::windows_core::Result @@ -3355,7 +3355,7 @@ impl IGPMSitesContainer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchSites)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchSites)(::windows_core::Interface::as_raw(self), pigpmsearchcriteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3383,7 +3383,7 @@ pub struct IGPMSitesContainer_Vtbl { impl IGPMStarterGPO { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3393,7 +3393,7 @@ impl IGPMStarterGPO { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3403,39 +3403,39 @@ impl IGPMStarterGPO { } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Product(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Product)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Product)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifiedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifiedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ComputerVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputerVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputerVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StarterGPOVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StarterGPOVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StarterGPOVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -3448,7 +3448,7 @@ impl IGPMStarterGPO { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), bstrsavefile.into_param().abi(), boverwrite.into_param().abi(), bsaveassystem.into_param().abi(), ::core::mem::transmute(bstrlanguage), ::core::mem::transmute(bstrauthor), ::core::mem::transmute(bstrproduct), ::core::mem::transmute(bstruniqueid), ::core::mem::transmute(bstrversion), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), bstrsavefile.into_param().abi(), boverwrite.into_param().abi(), bsaveassystem.into_param().abi(), ::core::mem::transmute(bstrlanguage), ::core::mem::transmute(bstrauthor), ::core::mem::transmute(bstrproduct), ::core::mem::transmute(bstruniqueid), ::core::mem::transmute(bstrversion), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Backup(&self, bstrbackupdir: P0, bstrcomment: P1, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result @@ -3457,17 +3457,17 @@ impl IGPMStarterGPO { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Backup)(::windows_core::Interface::as_raw(self), bstrbackupdir.into_param().abi(), bstrcomment.into_param().abi(), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyTo(&self, pvarnewdisplayname: *const ::windows_core::VARIANT, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyTo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyTo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarnewdisplayname), ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -3475,12 +3475,12 @@ impl IGPMStarterGPO { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -3546,35 +3546,35 @@ pub struct IGPMStarterGPO_Vtbl { impl IGPMStarterGPOBackup { pub unsafe fn BackupDir(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackupDir)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Comment(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Comment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StarterGPOID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StarterGPOID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StarterGPOID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Timestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -3582,7 +3582,7 @@ impl IGPMStarterGPOBackup { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReport(&self, gpmreporttype: GPMReportType, pvargpmprogress: *const ::windows_core::VARIANT, pvargpmcancel: *mut ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReport)(::windows_core::Interface::as_raw(self), gpmreporttype, ::core::mem::transmute(pvargpmprogress), ::core::mem::transmute(pvargpmcancel), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GenerateReportToFile(&self, gpmreporttype: GPMReportType, bstrtargetfilepath: P0) -> ::windows_core::Result @@ -3590,7 +3590,7 @@ impl IGPMStarterGPOBackup { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateReportToFile)(::windows_core::Interface::as_raw(self), gpmreporttype, bstrtargetfilepath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3624,16 +3624,16 @@ pub struct IGPMStarterGPOBackup_Vtbl { impl IGPMStarterGPOBackupCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3656,16 +3656,16 @@ pub struct IGPMStarterGPOBackupCollection_Vtbl { impl IGPMStarterGPOCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3688,25 +3688,25 @@ pub struct IGPMStarterGPOCollection_Vtbl { impl IGPMStatusMessage { pub unsafe fn ObjectPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ErrorCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ErrorCode)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn ExtensionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtensionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtensionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettingsName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SettingsName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SettingsName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OperationCode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OperationCode)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Message(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3729,16 +3729,16 @@ pub struct IGPMStatusMessage_Vtbl { impl IGPMStatusMsgCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3761,23 +3761,23 @@ pub struct IGPMStatusMsgCollection_Vtbl { impl IGPMTrustee { pub unsafe fn TrusteeSid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrusteeSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrusteeSid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TrusteeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrusteeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrusteeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TrusteeDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrusteeDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrusteeDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TrusteeDSPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrusteeDSPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrusteeDSPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TrusteeType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrusteeType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrusteeType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3799,7 +3799,7 @@ pub struct IGPMTrustee_Vtbl { impl IGPMWMIFilter { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3809,7 +3809,7 @@ impl IGPMWMIFilter { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, newval: P0) -> ::windows_core::Result<()> where @@ -3819,16 +3819,16 @@ impl IGPMWMIFilter { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQueryList(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQueryList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQueryList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSecurityInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSecurityInfo(&self, psecurityinfo: P0) -> ::windows_core::Result<()> @@ -3866,16 +3866,16 @@ pub struct IGPMWMIFilter_Vtbl { impl IGPMWMIFilterCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, lindex: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn _NewEnum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4012,7 +4012,7 @@ impl IRSOPInformation { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventLogEntryText)(::windows_core::Interface::as_raw(self), pszeventsource.into_param().abi(), pszeventlogname.into_param().abi(), pszeventtime.into_param().abi(), dweventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventLogEntryText)(::windows_core::Interface::as_raw(self), pszeventsource.into_param().abi(), pszeventlogname.into_param().abi(), pszeventtime.into_param().abi(), dweventid, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/HostComputeNetwork/mod.rs b/crates/libs/windows/src/Windows/Win32/System/HostComputeNetwork/mod.rs index a51bda6326..c3e4424b30 100644 --- a/crates/libs/windows/src/Windows/Win32/System/HostComputeNetwork/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/HostComputeNetwork/mod.rs @@ -260,7 +260,7 @@ where pub unsafe fn HcnReserveGuestNetworkServicePort(guestnetworkservice: *const ::core::ffi::c_void, protocol: HCN_PORT_PROTOCOL, access: HCN_PORT_ACCESS, port: u16) -> ::windows_core::Result { ::windows_targets::link!("computenetwork.dll" "system" fn HcnReserveGuestNetworkServicePort(guestnetworkservice : *const ::core::ffi::c_void, protocol : HCN_PORT_PROTOCOL, access : HCN_PORT_ACCESS, port : u16, portreservationhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcnReserveGuestNetworkServicePort(guestnetworkservice, protocol, access, port, &mut result__).from_abi(result__) + HcnReserveGuestNetworkServicePort(guestnetworkservice, protocol, access, port, &mut result__).map(|| result__) } #[inline] pub unsafe fn HcnReserveGuestNetworkServicePortRange(guestnetworkservice: *const ::core::ffi::c_void, portcount: u16, portrangereservation: *mut HCN_PORT_RANGE_RESERVATION, portreservationhandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/System/HostComputeSystem/mod.rs b/crates/libs/windows/src/Windows/Win32/System/HostComputeSystem/mod.rs index ac2db033b5..e42ab9c651 100644 --- a/crates/libs/windows/src/Windows/Win32/System/HostComputeSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/HostComputeSystem/mod.rs @@ -69,7 +69,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsCreateComputeSystem(id : ::windows_core::PCWSTR, configuration : ::windows_core::PCWSTR, operation : HCS_OPERATION, securitydescriptor : *const super::super::Security:: SECURITY_DESCRIPTOR, computesystem : *mut HCS_SYSTEM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsCreateComputeSystem(id.into_param().abi(), configuration.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(securitydescriptor.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + HcsCreateComputeSystem(id.into_param().abi(), configuration.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(securitydescriptor.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsCreateComputeSystemInNamespace(idnamespace: P0, id: P1, configuration: P2, operation: P3, options: ::core::option::Option<*const HCS_CREATE_OPTIONS>) -> ::windows_core::Result @@ -81,7 +81,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsCreateComputeSystemInNamespace(idnamespace : ::windows_core::PCWSTR, id : ::windows_core::PCWSTR, configuration : ::windows_core::PCWSTR, operation : HCS_OPERATION, options : *const HCS_CREATE_OPTIONS, computesystem : *mut HCS_SYSTEM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsCreateComputeSystemInNamespace(idnamespace.into_param().abi(), id.into_param().abi(), configuration.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + HcsCreateComputeSystemInNamespace(idnamespace.into_param().abi(), id.into_param().abi(), configuration.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsCreateEmptyGuestStateFile(gueststatefilepath: P0) -> ::windows_core::Result<()> @@ -119,7 +119,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsCreateProcess(computesystem : HCS_SYSTEM, processparameters : ::windows_core::PCWSTR, operation : HCS_OPERATION, securitydescriptor : *const super::super::Security:: SECURITY_DESCRIPTOR, process : *mut HCS_PROCESS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsCreateProcess(computesystem.into_param().abi(), processparameters.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(securitydescriptor.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + HcsCreateProcess(computesystem.into_param().abi(), processparameters.into_param().abi(), operation.into_param().abi(), ::core::mem::transmute(securitydescriptor.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsDestroyLayer(layerpath: P0) -> ::windows_core::Result<()> @@ -211,7 +211,7 @@ where { ::windows_targets::link!("computestorage.dll" "system" fn HcsGetLayerVhdMountPath(vhdhandle : super::super::Foundation:: HANDLE, mountpath : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsGetLayerVhdMountPath(vhdhandle.into_param().abi(), &mut result__).from_abi(result__) + HcsGetLayerVhdMountPath(vhdhandle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsGetOperationContext(operation: P0) -> *mut ::core::ffi::c_void @@ -295,7 +295,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsGetServiceProperties(propertyquery : ::windows_core::PCWSTR, result : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsGetServiceProperties(propertyquery.into_param().abi(), &mut result__).from_abi(result__) + HcsGetServiceProperties(propertyquery.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsGrantVmAccess(vmid: P0, filepath: P1) -> ::windows_core::Result<()> @@ -381,7 +381,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsOpenComputeSystem(id : ::windows_core::PCWSTR, requestedaccess : u32, computesystem : *mut HCS_SYSTEM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsOpenComputeSystem(id.into_param().abi(), requestedaccess, &mut result__).from_abi(result__) + HcsOpenComputeSystem(id.into_param().abi(), requestedaccess, &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsOpenComputeSystemInNamespace(idnamespace: P0, id: P1, requestedaccess: u32) -> ::windows_core::Result @@ -391,7 +391,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsOpenComputeSystemInNamespace(idnamespace : ::windows_core::PCWSTR, id : ::windows_core::PCWSTR, requestedaccess : u32, computesystem : *mut HCS_SYSTEM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsOpenComputeSystemInNamespace(idnamespace.into_param().abi(), id.into_param().abi(), requestedaccess, &mut result__).from_abi(result__) + HcsOpenComputeSystemInNamespace(idnamespace.into_param().abi(), id.into_param().abi(), requestedaccess, &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsOpenProcess(computesystem: P0, processid: u32, requestedaccess: u32) -> ::windows_core::Result @@ -400,7 +400,7 @@ where { ::windows_targets::link!("computecore.dll" "system" fn HcsOpenProcess(computesystem : HCS_SYSTEM, processid : u32, requestedaccess : u32, process : *mut HCS_PROCESS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HcsOpenProcess(computesystem.into_param().abi(), processid, requestedaccess, &mut result__).from_abi(result__) + HcsOpenProcess(computesystem.into_param().abi(), processid, requestedaccess, &mut result__).map(|| result__) } #[inline] pub unsafe fn HcsPauseComputeSystem(computesystem: P0, operation: P1, options: P2) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/Hypervisor/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Hypervisor/mod.rs index 44c4ea22a3..1780406518 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Hypervisor/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Hypervisor/mod.rs @@ -347,7 +347,7 @@ where { ::windows_targets::link!("winhvplatform.dll" "system" fn WHvAcceptPartitionMigration(migrationhandle : super::super::Foundation:: HANDLE, partition : *mut WHV_PARTITION_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvAcceptPartitionMigration(migrationhandle.into_param().abi(), &mut result__).from_abi(result__) + WHvAcceptPartitionMigration(migrationhandle.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvAdviseGpaRange(partition: P0, gparanges: &[WHV_MEMORY_RANGE_ENTRY], advice: WHV_ADVISE_GPA_RANGE_CODE, advicebuffer: *const ::core::ffi::c_void, advicebuffersizeinbytes: u32) -> ::windows_core::Result<()> @@ -361,7 +361,7 @@ where pub unsafe fn WHvAllocateVpciResource(providerid: ::core::option::Option<*const ::windows_core::GUID>, flags: WHV_ALLOCATE_VPCI_RESOURCE_FLAGS, resourcedescriptor: ::core::option::Option<&[u8]>) -> ::windows_core::Result { ::windows_targets::link!("winhvplatform.dll" "system" fn WHvAllocateVpciResource(providerid : *const ::windows_core::GUID, flags : WHV_ALLOCATE_VPCI_RESOURCE_FLAGS, resourcedescriptor : *const ::core::ffi::c_void, resourcedescriptorsizeinbytes : u32, vpciresource : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvAllocateVpciResource(::core::mem::transmute(providerid.unwrap_or(::std::ptr::null())), flags, ::core::mem::transmute(resourcedescriptor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), resourcedescriptor.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WHvAllocateVpciResource(::core::mem::transmute(providerid.unwrap_or(::std::ptr::null())), flags, ::core::mem::transmute(resourcedescriptor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), resourcedescriptor.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvCancelPartitionMigration(partition: P0) -> ::windows_core::Result<()> @@ -400,7 +400,7 @@ where pub unsafe fn WHvCreatePartition() -> ::windows_core::Result { ::windows_targets::link!("winhvplatform.dll" "system" fn WHvCreatePartition(partition : *mut WHV_PARTITION_HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvCreatePartition(&mut result__).from_abi(result__) + WHvCreatePartition(&mut result__).map(|| result__) } #[inline] pub unsafe fn WHvCreateTrigger(partition: P0, parameters: *const WHV_TRIGGER_PARAMETERS, triggerhandle: *mut *mut ::core::ffi::c_void, eventhandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::Result<()> @@ -490,13 +490,13 @@ pub unsafe fn WHvEmulatorDestroyEmulator(emulator: *const ::core::ffi::c_void) - pub unsafe fn WHvEmulatorTryIoEmulation(emulator: *const ::core::ffi::c_void, context: *const ::core::ffi::c_void, vpcontext: *const WHV_VP_EXIT_CONTEXT, ioinstructioncontext: *const WHV_X64_IO_PORT_ACCESS_CONTEXT) -> ::windows_core::Result { ::windows_targets::link!("winhvemulation.dll" "system" fn WHvEmulatorTryIoEmulation(emulator : *const ::core::ffi::c_void, context : *const ::core::ffi::c_void, vpcontext : *const WHV_VP_EXIT_CONTEXT, ioinstructioncontext : *const WHV_X64_IO_PORT_ACCESS_CONTEXT, emulatorreturnstatus : *mut WHV_EMULATOR_STATUS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvEmulatorTryIoEmulation(emulator, context, vpcontext, ioinstructioncontext, &mut result__).from_abi(result__) + WHvEmulatorTryIoEmulation(emulator, context, vpcontext, ioinstructioncontext, &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvEmulatorTryMmioEmulation(emulator: *const ::core::ffi::c_void, context: *const ::core::ffi::c_void, vpcontext: *const WHV_VP_EXIT_CONTEXT, mmioinstructioncontext: *const WHV_MEMORY_ACCESS_CONTEXT) -> ::windows_core::Result { ::windows_targets::link!("winhvemulation.dll" "system" fn WHvEmulatorTryMmioEmulation(emulator : *const ::core::ffi::c_void, context : *const ::core::ffi::c_void, vpcontext : *const WHV_VP_EXIT_CONTEXT, mmioinstructioncontext : *const WHV_MEMORY_ACCESS_CONTEXT, emulatorreturnstatus : *mut WHV_EMULATOR_STATUS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvEmulatorTryMmioEmulation(emulator, context, vpcontext, mmioinstructioncontext, &mut result__).from_abi(result__) + WHvEmulatorTryMmioEmulation(emulator, context, vpcontext, mmioinstructioncontext, &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvGetCapability(capabilitycode: WHV_CAPABILITY_CODE, capabilitybuffer: *mut ::core::ffi::c_void, capabilitybuffersizeinbytes: u32, writtensizeinbytes: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> { @@ -542,7 +542,7 @@ where { ::windows_targets::link!("winhvplatform.dll" "system" fn WHvGetVirtualProcessorCpuidOutput(partition : WHV_PARTITION_HANDLE, vpindex : u32, eax : u32, ecx : u32, cpuidoutput : *mut WHV_CPUID_OUTPUT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvGetVirtualProcessorCpuidOutput(partition.into_param().abi(), vpindex, eax, ecx, &mut result__).from_abi(result__) + WHvGetVirtualProcessorCpuidOutput(partition.into_param().abi(), vpindex, eax, ecx, &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvGetVirtualProcessorInterruptControllerState(partition: P0, vpindex: u32, state: *mut ::core::ffi::c_void, statesize: u32, writtensize: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -818,7 +818,7 @@ where { ::windows_targets::link!("winhvplatform.dll" "system" fn WHvStartPartitionMigration(partition : WHV_PARTITION_HANDLE, migrationhandle : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WHvStartPartitionMigration(partition.into_param().abi(), &mut result__).from_abi(result__) + WHvStartPartitionMigration(partition.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WHvSuspendPartitionTime(partition: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/Iis/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Iis/mod.rs index 82e56603d6..37fc387218 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Iis/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Iis/mod.rs @@ -55,7 +55,7 @@ impl AsyncIFtpAuthorizationProvider { } pub unsafe fn Finish_GetUserAccessPermission(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetUserAccessPermission)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetUserAccessPermission)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -78,7 +78,7 @@ impl AsyncIFtpHomeDirectoryProvider { } pub unsafe fn Finish_GetUserHomeDirectoryData(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_GetUserHomeDirectoryData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_GetUserHomeDirectoryData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -113,7 +113,7 @@ impl AsyncIFtpPostprocessProvider { } pub unsafe fn Finish_HandlePostprocess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_HandlePostprocess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_HandlePostprocess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -131,7 +131,7 @@ impl AsyncIFtpPreprocessProvider { } pub unsafe fn Finish_HandlePreprocess(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_HandlePreprocess)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_HandlePreprocess)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -155,7 +155,7 @@ impl AsyncIFtpRoleProvider { } pub unsafe fn Finish_IsUserInRole(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Finish_IsUserInRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Finish_IsUserInRole)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -241,7 +241,7 @@ impl IFtpAuthorizationProvider { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserAccessPermission)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszvirtualpath.into_param().abi(), pszusername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserAccessPermission)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszvirtualpath.into_param().abi(), pszusername.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -260,7 +260,7 @@ impl IFtpHomeDirectoryProvider { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserHomeDirectoryData)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszusername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserHomeDirectoryData)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszusername.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -287,7 +287,7 @@ pub struct IFtpLogProvider_Vtbl { impl IFtpPostprocessProvider { pub unsafe fn HandlePostprocess(&self, ppostprocessparameters: *const POST_PROCESS_PARAMETERS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandlePostprocess)(::windows_core::Interface::as_raw(self), ppostprocessparameters, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandlePostprocess)(::windows_core::Interface::as_raw(self), ppostprocessparameters, &mut result__).map(|| result__) } } #[repr(C)] @@ -301,7 +301,7 @@ pub struct IFtpPostprocessProvider_Vtbl { impl IFtpPreprocessProvider { pub unsafe fn HandlePreprocess(&self, ppreprocessparameters: *const PRE_PROCESS_PARAMETERS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandlePreprocess)(::windows_core::Interface::as_raw(self), ppreprocessparameters, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandlePreprocess)(::windows_core::Interface::as_raw(self), ppreprocessparameters, &mut result__).map(|| result__) } } #[repr(C)] @@ -338,7 +338,7 @@ impl IFtpRoleProvider { P3: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUserInRole)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszusername.into_param().abi(), pszrole.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUserInRole)(::windows_core::Interface::as_raw(self), pszsessionid.into_param().abi(), pszsitename.into_param().abi(), pszusername.into_param().abi(), pszrole.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -445,7 +445,7 @@ impl IMSAdminBase2W { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).map(|| result__) } pub unsafe fn CloseKey(&self, hmdhandle: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CloseKey)(::windows_core::Interface::as_raw(self), hmdhandle).ok() @@ -458,18 +458,18 @@ impl IMSAdminBase2W { } pub unsafe fn GetHandleInfo(&self, hmdhandle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).map(|| result__) } pub unsafe fn GetSystemChangeNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataSetNumber(&self, hmdhandle: u32, pszmdpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetLastChangeTime(&self, hmdhandle: u32, pszmdpath: P0, pftmdlastchangetime: *const super::super::Foundation::FILETIME, blocaltime: P1) -> ::windows_core::Result<()> where @@ -514,7 +514,7 @@ impl IMSAdminBase2W { } pub unsafe fn UnmarshalInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServerGuid(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetServerGuid)(::windows_core::Interface::as_raw(self)).ok() @@ -669,7 +669,7 @@ impl IMSAdminBase3W { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).map(|| result__) } pub unsafe fn CloseKey(&self, hmdhandle: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CloseKey)(::windows_core::Interface::as_raw(self), hmdhandle).ok() @@ -682,18 +682,18 @@ impl IMSAdminBase3W { } pub unsafe fn GetHandleInfo(&self, hmdhandle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).map(|| result__) } pub unsafe fn GetSystemChangeNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataSetNumber(&self, hmdhandle: u32, pszmdpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetLastChangeTime(&self, hmdhandle: u32, pszmdpath: P0, pftmdlastchangetime: *const super::super::Foundation::FILETIME, blocaltime: P1) -> ::windows_core::Result<()> where @@ -738,7 +738,7 @@ impl IMSAdminBase3W { } pub unsafe fn UnmarshalInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServerGuid(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetServerGuid)(::windows_core::Interface::as_raw(self)).ok() @@ -911,7 +911,7 @@ impl IMSAdminBaseW { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenKey)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), dwmdaccessrequested, dwmdtimeout, &mut result__).map(|| result__) } pub unsafe fn CloseKey(&self, hmdhandle: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CloseKey)(::windows_core::Interface::as_raw(self), hmdhandle).ok() @@ -924,18 +924,18 @@ impl IMSAdminBaseW { } pub unsafe fn GetHandleInfo(&self, hmdhandle: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandleInfo)(::windows_core::Interface::as_raw(self), hmdhandle, &mut result__).map(|| result__) } pub unsafe fn GetSystemChangeNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemChangeNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataSetNumber(&self, hmdhandle: u32, pszmdpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataSetNumber)(::windows_core::Interface::as_raw(self), hmdhandle, pszmdpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetLastChangeTime(&self, hmdhandle: u32, pszmdpath: P0, pftmdlastchangetime: *const super::super::Foundation::FILETIME, blocaltime: P1) -> ::windows_core::Result<()> where @@ -980,7 +980,7 @@ impl IMSAdminBaseW { } pub unsafe fn UnmarshalInterface(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnmarshalInterface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetServerGuid(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetServerGuid)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Kernel/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Kernel/mod.rs index 7a6ebf9963..e707198f7a 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Kernel/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Kernel/mod.rs @@ -8,7 +8,7 @@ pub unsafe fn RtlInitializeSListHead() -> SLIST_HEADER { ::windows_targets::link!("ntdll.dll" "system" fn RtlInitializeSListHead(listhead : *mut SLIST_HEADER)); let mut result__ = ::std::mem::zeroed(); RtlInitializeSListHead(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn RtlInterlockedFlushSList(listhead: *mut SLIST_HEADER) -> *mut SLIST_ENTRY { diff --git a/crates/libs/windows/src/Windows/Win32/System/MessageQueuing/mod.rs b/crates/libs/windows/src/Windows/Win32/System/MessageQueuing/mod.rs index 676946e3cd..618cf8ce3c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/MessageQueuing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/MessageQueuing/mod.rs @@ -11,7 +11,7 @@ where pub unsafe fn MQBeginTransaction() -> ::windows_core::Result { ::windows_targets::link!("mqrt.dll" "system" fn MQBeginTransaction(pptransaction : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQBeginTransaction(&mut result__).from_abi(result__) + MQBeginTransaction(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn MQCloseCursor(hcursor: P0) -> ::windows_core::Result<()> @@ -30,7 +30,7 @@ pub unsafe fn MQCloseQueue(hqueue: isize) -> ::windows_core::Result<()> { pub unsafe fn MQCreateCursor(hqueue: isize) -> ::windows_core::Result { ::windows_targets::link!("mqrt.dll" "system" fn MQCreateCursor(hqueue : isize, phcursor : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQCreateCursor(hqueue, &mut result__).from_abi(result__) + MQCreateCursor(hqueue, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security")] #[inline] @@ -105,13 +105,13 @@ where pub unsafe fn MQGetSecurityContext(lpcertbuffer: ::core::option::Option<*const ::core::ffi::c_void>, dwcertbufferlength: u32) -> ::windows_core::Result { ::windows_targets::link!("mqrt.dll" "system" fn MQGetSecurityContext(lpcertbuffer : *const ::core::ffi::c_void, dwcertbufferlength : u32, phsecuritycontext : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQGetSecurityContext(::core::mem::transmute(lpcertbuffer.unwrap_or(::std::ptr::null())), dwcertbufferlength, &mut result__).from_abi(result__) + MQGetSecurityContext(::core::mem::transmute(lpcertbuffer.unwrap_or(::std::ptr::null())), dwcertbufferlength, &mut result__).map(|| result__) } #[inline] pub unsafe fn MQGetSecurityContextEx(lpcertbuffer: ::core::option::Option<*const ::core::ffi::c_void>, dwcertbufferlength: u32) -> ::windows_core::Result { ::windows_targets::link!("mqrt.dll" "system" fn MQGetSecurityContextEx(lpcertbuffer : *const ::core::ffi::c_void, dwcertbufferlength : u32, phsecuritycontext : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQGetSecurityContextEx(::core::mem::transmute(lpcertbuffer.unwrap_or(::std::ptr::null())), dwcertbufferlength, &mut result__).from_abi(result__) + MQGetSecurityContextEx(::core::mem::transmute(lpcertbuffer.unwrap_or(::std::ptr::null())), dwcertbufferlength, &mut result__).map(|| result__) } #[inline] pub unsafe fn MQHandleToFormatName(hqueue: isize, lpwcsformatname: ::windows_core::PWSTR, lpdwformatnamelength: *mut u32) -> ::windows_core::Result<()> { @@ -130,7 +130,7 @@ where { ::windows_targets::link!("mqrt.dll" "system" fn MQLocateBegin(lpwcscontext : ::windows_core::PCWSTR, prestriction : *const MQRESTRICTION, pcolumns : *const MQCOLUMNSET, psort : *const MQSORTSET, phenum : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQLocateBegin(lpwcscontext.into_param().abi(), ::core::mem::transmute(prestriction.unwrap_or(::std::ptr::null())), pcolumns, psort, &mut result__).from_abi(result__) + MQLocateBegin(lpwcscontext.into_param().abi(), ::core::mem::transmute(prestriction.unwrap_or(::std::ptr::null())), pcolumns, psort, &mut result__).map(|| result__) } #[inline] pub unsafe fn MQLocateEnd(henum: P0) -> ::windows_core::Result<()> @@ -191,7 +191,7 @@ where { ::windows_targets::link!("mqrt.dll" "system" fn MQOpenQueue(lpwcsformatname : ::windows_core::PCWSTR, dwaccess : u32, dwsharemode : u32, phqueue : *mut isize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MQOpenQueue(lpwcsformatname.into_param().abi(), dwaccess, dwsharemode, &mut result__).from_abi(result__) + MQOpenQueue(lpwcsformatname.into_param().abi(), dwaccess, dwsharemode, &mut result__).map(|| result__) } #[inline] pub unsafe fn MQPathNameToFormatName(lpwcspathname: P0, lpwcsformatname: ::windows_core::PWSTR, lpdwformatnamelength: *mut u32) -> ::windows_core::Result<()> @@ -268,7 +268,7 @@ impl IMSMQApplication { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -289,7 +289,7 @@ impl IMSMQApplication2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterCertificate(&self, flags: *const ::windows_core::VARIANT, externalcertificate: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegisterCertificate)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(flags), ::core::mem::transmute(externalcertificate)).ok() @@ -299,28 +299,28 @@ impl IMSMQApplication2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MachineNameOfMachineId)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MachineNameOfMachineId)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MSMQVersionMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MSMQVersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MSMQVersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MSMQVersionMinor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MSMQVersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MSMQVersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MSMQVersionBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MSMQVersionBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MSMQVersionBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -350,7 +350,7 @@ impl IMSMQApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MachineIdOfMachineName)(::windows_core::Interface::as_raw(self), machinename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterCertificate(&self, flags: *const ::windows_core::VARIANT, externalcertificate: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RegisterCertificate)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(flags), ::core::mem::transmute(externalcertificate)).ok() @@ -360,48 +360,48 @@ impl IMSMQApplication3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MachineNameOfMachineId)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MachineNameOfMachineId)(::windows_core::Interface::as_raw(self), bstrguid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MSMQVersionMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MSMQVersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MSMQVersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MSMQVersionMinor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MSMQVersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MSMQVersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MSMQVersionBuild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MSMQVersionBuild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MSMQVersionBuild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActiveQueues(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveQueues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveQueues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PrivateQueues(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivateQueues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivateQueues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DirectoryServiceServer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DirectoryServiceServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DirectoryServiceServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BytesInAllQueues(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BytesInAllQueues)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BytesInAllQueues)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMachine(&self, bstrmachine: P0) -> ::windows_core::Result<()> where @@ -411,7 +411,7 @@ impl IMSMQApplication3 { } pub unsafe fn Machine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Machine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Machine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Connect(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self)).ok() @@ -447,15 +447,15 @@ pub struct IMSMQApplication3_Vtbl { impl IMSMQCollection { pub unsafe fn Item(&self, index: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(index), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(index), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -476,7 +476,7 @@ impl IMSMQCoordinatedTransactionDispenser { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -498,12 +498,12 @@ impl IMSMQCoordinatedTransactionDispenser2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -529,12 +529,12 @@ impl IMSMQCoordinatedTransactionDispenser3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -565,12 +565,12 @@ impl IMSMQDestination { } pub unsafe fn IsOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IADs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IADs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IADs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_IADs(&self, piads: P0) -> ::windows_core::Result<()> @@ -581,7 +581,7 @@ impl IMSMQDestination { } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetADsPath(&self, bstradspath: P0) -> ::windows_core::Result<()> where @@ -591,7 +591,7 @@ impl IMSMQDestination { } pub unsafe fn PathName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPathName(&self, bstrpathname: P0) -> ::windows_core::Result<()> where @@ -601,7 +601,7 @@ impl IMSMQDestination { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormatName(&self, bstrformatname: P0) -> ::windows_core::Result<()> where @@ -612,7 +612,7 @@ impl IMSMQDestination { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Destinations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destinations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destinations)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Destinations(&self, pdestinations: P0) -> ::windows_core::Result<()> @@ -624,7 +624,7 @@ impl IMSMQDestination { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -683,7 +683,7 @@ impl IMSMQEvent2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -705,7 +705,7 @@ impl IMSMQEvent3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -725,35 +725,35 @@ impl IMSMQManagement { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Machine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Machine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Machine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MessageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForeignStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransactionalStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BytesInQueue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -779,50 +779,50 @@ pub struct IMSMQManagement_Vtbl { impl IMSMQMessage { pub unsafe fn Class(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn AuthLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthLevel(&self, lauthlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthLevel)(::windows_core::Interface::as_raw(self), lauthlevel).ok() } pub unsafe fn IsAuthenticated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delivery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDelivery(&self, ldelivery: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDelivery)(::windows_core::Interface::as_raw(self), ldelivery).ok() } pub unsafe fn Trace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTrace(&self, ltrace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTrace)(::windows_core::Interface::as_raw(self), ltrace).ok() } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lpriority).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() @@ -830,7 +830,7 @@ impl IMSMQMessage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -841,22 +841,22 @@ impl IMSMQMessage { } pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppSpecific)(::windows_core::Interface::as_raw(self), lappspecific).ok() } pub unsafe fn SourceMachineGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BodyLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -867,7 +867,7 @@ impl IMSMQMessage { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -878,11 +878,11 @@ impl IMSMQMessage { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CorrelationId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCorrelationId(&self, varmsgid: P0) -> ::windows_core::Result<()> where @@ -892,14 +892,14 @@ impl IMSMQMessage { } pub unsafe fn Ack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAck(&self, lack: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAck)(::windows_core::Interface::as_raw(self), lack).ok() } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -909,48 +909,48 @@ impl IMSMQMessage { } pub unsafe fn MaxTimeToReachQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReachQueue(&self, lmaxtimetoreachqueue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), lmaxtimetoreachqueue).ok() } pub unsafe fn MaxTimeToReceive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReceive(&self, lmaxtimetoreceive: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReceive)(::windows_core::Interface::as_raw(self), lmaxtimetoreceive).ok() } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgorithm(&self, lhashalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashAlgorithm)(::windows_core::Interface::as_raw(self), lhashalg).ok() } pub unsafe fn EncryptAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptAlgorithm(&self, lencryptalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptAlgorithm)(::windows_core::Interface::as_raw(self), lencryptalg).ok() } pub unsafe fn SentTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArrivedTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DestinationQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderCertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderCertificate(&self, varsendercert: P0) -> ::windows_core::Result<()> where @@ -960,11 +960,11 @@ impl IMSMQMessage { } pub unsafe fn SenderId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderIdType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSenderIdType(&self, lsenderidtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSenderIdType)(::windows_core::Interface::as_raw(self), lsenderidtype).ok() @@ -1061,50 +1061,50 @@ pub struct IMSMQMessage_Vtbl { impl IMSMQMessage2 { pub unsafe fn Class(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn AuthLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthLevel(&self, lauthlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthLevel)(::windows_core::Interface::as_raw(self), lauthlevel).ok() } pub unsafe fn IsAuthenticated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delivery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDelivery(&self, ldelivery: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDelivery)(::windows_core::Interface::as_raw(self), ldelivery).ok() } pub unsafe fn Trace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTrace(&self, ltrace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTrace)(::windows_core::Interface::as_raw(self), ltrace).ok() } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lpriority).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() @@ -1112,7 +1112,7 @@ impl IMSMQMessage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo_v1(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -1123,22 +1123,22 @@ impl IMSMQMessage2 { } pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppSpecific)(::windows_core::Interface::as_raw(self), lappspecific).ok() } pub unsafe fn SourceMachineGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BodyLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -1149,7 +1149,7 @@ impl IMSMQMessage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo_v1(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -1160,11 +1160,11 @@ impl IMSMQMessage2 { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CorrelationId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCorrelationId(&self, varmsgid: P0) -> ::windows_core::Result<()> where @@ -1174,14 +1174,14 @@ impl IMSMQMessage2 { } pub unsafe fn Ack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAck(&self, lack: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAck)(::windows_core::Interface::as_raw(self), lack).ok() } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -1191,48 +1191,48 @@ impl IMSMQMessage2 { } pub unsafe fn MaxTimeToReachQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReachQueue(&self, lmaxtimetoreachqueue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), lmaxtimetoreachqueue).ok() } pub unsafe fn MaxTimeToReceive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReceive(&self, lmaxtimetoreceive: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReceive)(::windows_core::Interface::as_raw(self), lmaxtimetoreceive).ok() } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgorithm(&self, lhashalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashAlgorithm)(::windows_core::Interface::as_raw(self), lhashalg).ok() } pub unsafe fn EncryptAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptAlgorithm(&self, lencryptalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptAlgorithm)(::windows_core::Interface::as_raw(self), lencryptalg).ok() } pub unsafe fn SentTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArrivedTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DestinationQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderCertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderCertificate(&self, varsendercert: P0) -> ::windows_core::Result<()> where @@ -1242,11 +1242,11 @@ impl IMSMQMessage2 { } pub unsafe fn SenderId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderIdType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSenderIdType(&self, lsenderidtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSenderIdType)(::windows_core::Interface::as_raw(self), lsenderidtype).ok() @@ -1263,11 +1263,11 @@ impl IMSMQMessage2 { } pub unsafe fn SenderVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Extension(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtension(&self, varextension: P0) -> ::windows_core::Result<()> where @@ -1277,7 +1277,7 @@ impl IMSMQMessage2 { } pub unsafe fn ConnectorTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConnectorTypeGuid(&self, bstrguidconnectortype: P0) -> ::windows_core::Result<()> where @@ -1288,11 +1288,11 @@ impl IMSMQMessage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TransactionStatusQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DestinationSymmetricKey(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDestinationSymmetricKey(&self, vardestsymmkey: P0) -> ::windows_core::Result<()> where @@ -1302,7 +1302,7 @@ impl IMSMQMessage2 { } pub unsafe fn Signature(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSignature(&self, varsignature: P0) -> ::windows_core::Result<()> where @@ -1312,14 +1312,14 @@ impl IMSMQMessage2 { } pub unsafe fn AuthenticationProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationProviderType(&self, lauthprovtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationProviderType)(::windows_core::Interface::as_raw(self), lauthprovtype).ok() } pub unsafe fn AuthenticationProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthenticationProviderName(&self, bstrauthprovname: P0) -> ::windows_core::Result<()> where @@ -1335,7 +1335,7 @@ impl IMSMQMessage2 { } pub unsafe fn MsgClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMsgClass(&self, lmsgclass: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMsgClass)(::windows_core::Interface::as_raw(self), lmsgclass).ok() @@ -1343,24 +1343,24 @@ impl IMSMQMessage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLastInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -1372,7 +1372,7 @@ impl IMSMQMessage2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -1383,7 +1383,7 @@ impl IMSMQMessage2 { } pub unsafe fn ReceivedAuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1511,50 +1511,50 @@ pub struct IMSMQMessage2_Vtbl { impl IMSMQMessage3 { pub unsafe fn Class(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn AuthLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthLevel(&self, lauthlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthLevel)(::windows_core::Interface::as_raw(self), lauthlevel).ok() } pub unsafe fn IsAuthenticated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delivery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDelivery(&self, ldelivery: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDelivery)(::windows_core::Interface::as_raw(self), ldelivery).ok() } pub unsafe fn Trace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTrace(&self, ltrace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTrace)(::windows_core::Interface::as_raw(self), ltrace).ok() } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lpriority).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() @@ -1562,7 +1562,7 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo_v1(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -1573,22 +1573,22 @@ impl IMSMQMessage3 { } pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppSpecific)(::windows_core::Interface::as_raw(self), lappspecific).ok() } pub unsafe fn SourceMachineGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BodyLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -1599,7 +1599,7 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo_v1(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -1610,11 +1610,11 @@ impl IMSMQMessage3 { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CorrelationId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCorrelationId(&self, varmsgid: P0) -> ::windows_core::Result<()> where @@ -1624,14 +1624,14 @@ impl IMSMQMessage3 { } pub unsafe fn Ack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAck(&self, lack: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAck)(::windows_core::Interface::as_raw(self), lack).ok() } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -1641,48 +1641,48 @@ impl IMSMQMessage3 { } pub unsafe fn MaxTimeToReachQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReachQueue(&self, lmaxtimetoreachqueue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), lmaxtimetoreachqueue).ok() } pub unsafe fn MaxTimeToReceive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReceive(&self, lmaxtimetoreceive: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReceive)(::windows_core::Interface::as_raw(self), lmaxtimetoreceive).ok() } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgorithm(&self, lhashalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashAlgorithm)(::windows_core::Interface::as_raw(self), lhashalg).ok() } pub unsafe fn EncryptAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptAlgorithm(&self, lencryptalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptAlgorithm)(::windows_core::Interface::as_raw(self), lencryptalg).ok() } pub unsafe fn SentTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArrivedTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DestinationQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderCertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderCertificate(&self, varsendercert: P0) -> ::windows_core::Result<()> where @@ -1692,11 +1692,11 @@ impl IMSMQMessage3 { } pub unsafe fn SenderId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderIdType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSenderIdType(&self, lsenderidtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSenderIdType)(::windows_core::Interface::as_raw(self), lsenderidtype).ok() @@ -1713,11 +1713,11 @@ impl IMSMQMessage3 { } pub unsafe fn SenderVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Extension(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtension(&self, varextension: P0) -> ::windows_core::Result<()> where @@ -1727,7 +1727,7 @@ impl IMSMQMessage3 { } pub unsafe fn ConnectorTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConnectorTypeGuid(&self, bstrguidconnectortype: P0) -> ::windows_core::Result<()> where @@ -1738,11 +1738,11 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TransactionStatusQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DestinationSymmetricKey(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDestinationSymmetricKey(&self, vardestsymmkey: P0) -> ::windows_core::Result<()> where @@ -1752,7 +1752,7 @@ impl IMSMQMessage3 { } pub unsafe fn Signature(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSignature(&self, varsignature: P0) -> ::windows_core::Result<()> where @@ -1762,14 +1762,14 @@ impl IMSMQMessage3 { } pub unsafe fn AuthenticationProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationProviderType(&self, lauthprovtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationProviderType)(::windows_core::Interface::as_raw(self), lauthprovtype).ok() } pub unsafe fn AuthenticationProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthenticationProviderName(&self, bstrauthprovname: P0) -> ::windows_core::Result<()> where @@ -1785,7 +1785,7 @@ impl IMSMQMessage3 { } pub unsafe fn MsgClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMsgClass(&self, lmsgclass: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMsgClass)(::windows_core::Interface::as_raw(self), lmsgclass).ok() @@ -1793,24 +1793,24 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLastInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo_v2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo_v2(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -1822,7 +1822,7 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo_v2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo_v2(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -1833,12 +1833,12 @@ impl IMSMQMessage3 { } pub unsafe fn ReceivedAuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -1850,7 +1850,7 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -1862,7 +1862,7 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseDestination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseDestination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseDestination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseDestination(&self, pdestresponse: P0) -> ::windows_core::Result<()> @@ -1874,34 +1874,34 @@ impl IMSMQMessage3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Destination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsAuthenticated2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFirstInTransaction2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLastInTransaction2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLastInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLastInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AttachCurrentSecurityContext2(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AttachCurrentSecurityContext2)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn SoapEnvelope(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SoapEnvelope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SoapEnvelope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompoundMessage(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompoundMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompoundMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSoapHeader(&self, bstrsoapheader: P0) -> ::windows_core::Result<()> where @@ -2078,50 +2078,50 @@ pub struct IMSMQMessage3_Vtbl { impl IMSMQMessage4 { pub unsafe fn Class(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn AuthLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthLevel(&self, lauthlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthLevel)(::windows_core::Interface::as_raw(self), lauthlevel).ok() } pub unsafe fn IsAuthenticated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Delivery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delivery)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDelivery(&self, ldelivery: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDelivery)(::windows_core::Interface::as_raw(self), ldelivery).ok() } pub unsafe fn Trace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Trace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTrace(&self, ltrace: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTrace)(::windows_core::Interface::as_raw(self), ltrace).ok() } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, lpriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), lpriority).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() @@ -2129,7 +2129,7 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo_v1(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -2140,22 +2140,22 @@ impl IMSMQMessage4 { } pub unsafe fn AppSpecific(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppSpecific)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppSpecific)(::windows_core::Interface::as_raw(self), lappspecific).ok() } pub unsafe fn SourceMachineGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SourceMachineGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BodyLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BodyLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Body(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Body)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBody(&self, varbody: P0) -> ::windows_core::Result<()> where @@ -2166,7 +2166,7 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo_v1(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo_v1)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo_v1(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -2177,11 +2177,11 @@ impl IMSMQMessage4 { } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CorrelationId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrelationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCorrelationId(&self, varmsgid: P0) -> ::windows_core::Result<()> where @@ -2191,14 +2191,14 @@ impl IMSMQMessage4 { } pub unsafe fn Ack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ack)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAck(&self, lack: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAck)(::windows_core::Interface::as_raw(self), lack).ok() } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -2208,48 +2208,48 @@ impl IMSMQMessage4 { } pub unsafe fn MaxTimeToReachQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReachQueue(&self, lmaxtimetoreachqueue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReachQueue)(::windows_core::Interface::as_raw(self), lmaxtimetoreachqueue).ok() } pub unsafe fn MaxTimeToReceive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxTimeToReceive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxTimeToReceive(&self, lmaxtimetoreceive: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxTimeToReceive)(::windows_core::Interface::as_raw(self), lmaxtimetoreceive).ok() } pub unsafe fn HashAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HashAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHashAlgorithm(&self, lhashalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHashAlgorithm)(::windows_core::Interface::as_raw(self), lhashalg).ok() } pub unsafe fn EncryptAlgorithm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EncryptAlgorithm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEncryptAlgorithm(&self, lencryptalg: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEncryptAlgorithm)(::windows_core::Interface::as_raw(self), lencryptalg).ok() } pub unsafe fn SentTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SentTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ArrivedTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ArrivedTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DestinationQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderCertificate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderCertificate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSenderCertificate(&self, varsendercert: P0) -> ::windows_core::Result<()> where @@ -2259,11 +2259,11 @@ impl IMSMQMessage4 { } pub unsafe fn SenderId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SenderIdType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderIdType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSenderIdType(&self, lsenderidtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSenderIdType)(::windows_core::Interface::as_raw(self), lsenderidtype).ok() @@ -2280,11 +2280,11 @@ impl IMSMQMessage4 { } pub unsafe fn SenderVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SenderVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Extension(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extension)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExtension(&self, varextension: P0) -> ::windows_core::Result<()> where @@ -2294,7 +2294,7 @@ impl IMSMQMessage4 { } pub unsafe fn ConnectorTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectorTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetConnectorTypeGuid(&self, bstrguidconnectortype: P0) -> ::windows_core::Result<()> where @@ -2305,11 +2305,11 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TransactionStatusQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionStatusQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DestinationSymmetricKey(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DestinationSymmetricKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDestinationSymmetricKey(&self, vardestsymmkey: P0) -> ::windows_core::Result<()> where @@ -2319,7 +2319,7 @@ impl IMSMQMessage4 { } pub unsafe fn Signature(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Signature)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSignature(&self, varsignature: P0) -> ::windows_core::Result<()> where @@ -2329,14 +2329,14 @@ impl IMSMQMessage4 { } pub unsafe fn AuthenticationProviderType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationProviderType(&self, lauthprovtype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationProviderType)(::windows_core::Interface::as_raw(self), lauthprovtype).ok() } pub unsafe fn AuthenticationProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthenticationProviderName(&self, bstrauthprovname: P0) -> ::windows_core::Result<()> where @@ -2352,7 +2352,7 @@ impl IMSMQMessage4 { } pub unsafe fn MsgClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MsgClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMsgClass(&self, lmsgclass: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMsgClass)(::windows_core::Interface::as_raw(self), lmsgclass).ok() @@ -2360,24 +2360,24 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransactionId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLastInTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLastInTransaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo_v2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo_v2(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -2389,7 +2389,7 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo_v2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo_v2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo_v2(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -2400,12 +2400,12 @@ impl IMSMQMessage4 { } pub unsafe fn ReceivedAuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivedAuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseQueueInfo(&self, pqinforesponse: P0) -> ::windows_core::Result<()> @@ -2417,7 +2417,7 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AdminQueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdminQueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_AdminQueueInfo(&self, pqinfoadmin: P0) -> ::windows_core::Result<()> @@ -2429,7 +2429,7 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResponseDestination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResponseDestination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResponseDestination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_ResponseDestination(&self, pdestresponse: P0) -> ::windows_core::Result<()> @@ -2441,34 +2441,34 @@ impl IMSMQMessage4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Destination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupId(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsAuthenticated2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAuthenticated2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAuthenticated2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFirstInTransaction2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLastInTransaction2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLastInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLastInTransaction2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AttachCurrentSecurityContext2(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AttachCurrentSecurityContext2)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn SoapEnvelope(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SoapEnvelope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SoapEnvelope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompoundMessage(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompoundMessage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompoundMessage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSoapHeader(&self, bstrsoapheader: P0) -> ::windows_core::Result<()> where @@ -2648,48 +2648,48 @@ impl IMSMQOutgoingQueueManagement { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Machine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Machine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Machine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MessageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForeignStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransactionalStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BytesInQueue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NextHops(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextHops)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextHops)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EodGetSendInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EodGetSendInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EodGetSendInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Resume(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self)).ok() @@ -2724,7 +2724,7 @@ pub struct IMSMQOutgoingQueueManagement_Vtbl { impl IMSMQPrivateDestination { pub unsafe fn Handle(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHandle(&self, varhandle: P0) -> ::windows_core::Result<()> where @@ -2749,7 +2749,7 @@ pub struct IMSMQPrivateDestination_Vtbl { impl IMSMQPrivateEvent { pub unsafe fn Hwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FireArrivedEvent(&self, pq: P0, msgcursor: i32) -> ::windows_core::Result<()> @@ -2790,7 +2790,7 @@ impl IMSMQQuery { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2812,12 +2812,12 @@ impl IMSMQQuery2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2843,17 +2843,17 @@ impl IMSMQQuery3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue_v2(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue_v2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue_v2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT, multicastaddress: *const ::windows_core::VARIANT, relmulticastaddress: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), ::core::mem::transmute(multicastaddress), ::core::mem::transmute(relmulticastaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), ::core::mem::transmute(multicastaddress), ::core::mem::transmute(relmulticastaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2883,17 +2883,17 @@ impl IMSMQQuery4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue_v2(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue_v2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue_v2)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LookupQueue(&self, queueguid: *const ::windows_core::VARIANT, servicetypeguid: *const ::windows_core::VARIANT, label: *const ::windows_core::VARIANT, createtime: *const ::windows_core::VARIANT, modifytime: *const ::windows_core::VARIANT, relservicetype: *const ::windows_core::VARIANT, rellabel: *const ::windows_core::VARIANT, relcreatetime: *const ::windows_core::VARIANT, relmodifytime: *const ::windows_core::VARIANT, multicastaddress: *const ::windows_core::VARIANT, relmulticastaddress: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), ::core::mem::transmute(multicastaddress), ::core::mem::transmute(relmulticastaddress), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupQueue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(queueguid), ::core::mem::transmute(servicetypeguid), ::core::mem::transmute(label), ::core::mem::transmute(createtime), ::core::mem::transmute(modifytime), ::core::mem::transmute(relservicetype), ::core::mem::transmute(rellabel), ::core::mem::transmute(relcreatetime), ::core::mem::transmute(relmodifytime), ::core::mem::transmute(multicastaddress), ::core::mem::transmute(relmulticastaddress), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2922,24 +2922,24 @@ pub struct IMSMQQuery4_Vtbl { impl IMSMQQueue { pub unsafe fn Access(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShareMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -2947,12 +2947,12 @@ impl IMSMQQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnableNotification(&self, event: P0, cursor: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> @@ -2967,17 +2967,17 @@ impl IMSMQQueue { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3028,24 +3028,24 @@ pub struct IMSMQQueue_Vtbl { impl IMSMQQueue2 { pub unsafe fn Access(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShareMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -3053,12 +3053,12 @@ impl IMSMQQueue2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnableNotification(&self, event: P0, cursor: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> @@ -3073,47 +3073,47 @@ impl IMSMQQueue2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3188,24 +3188,24 @@ pub struct IMSMQQueue2_Vtbl { impl IMSMQQueue3 { pub unsafe fn Access(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShareMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -3213,12 +3213,12 @@ impl IMSMQQueue3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnableNotification(&self, event: P0, cursor: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> @@ -3233,51 +3233,51 @@ impl IMSMQQueue3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle2(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3285,7 +3285,7 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveNextByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3293,7 +3293,7 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceivePreviousByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3301,17 +3301,17 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivePreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivePreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveFirstByLookupId(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveLastByLookupId(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3319,7 +3319,7 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNextByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3327,7 +3327,7 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekPreviousByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3335,24 +3335,24 @@ impl IMSMQQueue3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekPreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekPreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekFirstByLookupId(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekLastByLookupId(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Purge(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Purge)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsOpen2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3470,24 +3470,24 @@ pub struct IMSMQQueue3_Vtbl { impl IMSMQQueue4 { pub unsafe fn Access(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Access)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShareMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShareMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueueInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() @@ -3495,12 +3495,12 @@ impl IMSMQQueue4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnableNotification(&self, event: P0, cursor: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> @@ -3515,51 +3515,51 @@ impl IMSMQQueue4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent_v1(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent_v1(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent_v1)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Receive(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Peek(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Peek)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveCurrent(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNext(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNext)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekCurrent(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, receivetimeout: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekCurrent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(receivetimeout), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Handle2(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3567,7 +3567,7 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveNextByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3575,7 +3575,7 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceivePreviousByLookupId(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3583,17 +3583,17 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceivePreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceivePreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveFirstByLookupId(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveLastByLookupId(&self, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3601,7 +3601,7 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekNextByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3609,7 +3609,7 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekNextByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekPreviousByLookupId(&self, lookupid: P0, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3617,24 +3617,24 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekPreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekPreviousByLookupId)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekFirstByLookupId(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekFirstByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PeekLastByLookupId(&self, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PeekLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PeekLastByLookupId)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Purge(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Purge)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsOpen2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOpen2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOpen2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReceiveByLookupIdAllowPeek(&self, lookupid: P0, transaction: *const ::windows_core::VARIANT, wantdestinationqueue: *const ::windows_core::VARIANT, wantbody: *const ::windows_core::VARIANT, wantconnectortype: *const ::windows_core::VARIANT) -> ::windows_core::Result @@ -3642,7 +3642,7 @@ impl IMSMQQueue4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReceiveByLookupIdAllowPeek)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReceiveByLookupIdAllowPeek)(::windows_core::Interface::as_raw(self), lookupid.into_param().abi(), ::core::mem::transmute(transaction), ::core::mem::transmute(wantdestinationqueue), ::core::mem::transmute(wantbody), ::core::mem::transmute(wantconnectortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3764,11 +3764,11 @@ pub struct IMSMQQueue4_Vtbl { impl IMSMQQueueInfo { pub unsafe fn QueueGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceTypeGuid(&self, bstrguidservicetype: P0) -> ::windows_core::Result<()> where @@ -3778,7 +3778,7 @@ impl IMSMQQueueInfo { } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -3788,7 +3788,7 @@ impl IMSMQQueueInfo { } pub unsafe fn PathName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPathName(&self, bstrpathname: P0) -> ::windows_core::Result<()> where @@ -3798,7 +3798,7 @@ impl IMSMQQueueInfo { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormatName(&self, bstrformatname: P0) -> ::windows_core::Result<()> where @@ -3808,61 +3808,61 @@ impl IMSMQQueueInfo { } pub unsafe fn IsTransactional(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() } pub unsafe fn Quota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuota(&self, lquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuota)(::windows_core::Interface::as_raw(self), lquota).ok() } pub unsafe fn BasePriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBasePriority(&self, lbasepriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBasePriority)(::windows_core::Interface::as_raw(self), lbasepriority).ok() } pub unsafe fn CreateTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifyTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Authenticate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticate(&self, lauthenticate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticate)(::windows_core::Interface::as_raw(self), lauthenticate).ok() } pub unsafe fn JournalQuota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournalQuota(&self, ljournalquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournalQuota)(::windows_core::Interface::as_raw(self), ljournalquota).ok() } pub unsafe fn IsWorldReadable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Create(&self, istransactional: *const ::windows_core::VARIANT, isworldreadable: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(istransactional), ::core::mem::transmute(isworldreadable)).ok() @@ -3873,7 +3873,7 @@ impl IMSMQQueueInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Open(&self, access: i32, sharemode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -3929,11 +3929,11 @@ pub struct IMSMQQueueInfo_Vtbl { impl IMSMQQueueInfo2 { pub unsafe fn QueueGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceTypeGuid(&self, bstrguidservicetype: P0) -> ::windows_core::Result<()> where @@ -3943,7 +3943,7 @@ impl IMSMQQueueInfo2 { } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -3953,7 +3953,7 @@ impl IMSMQQueueInfo2 { } pub unsafe fn PathName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPathName(&self, bstrpathname: P0) -> ::windows_core::Result<()> where @@ -3963,7 +3963,7 @@ impl IMSMQQueueInfo2 { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormatName(&self, bstrformatname: P0) -> ::windows_core::Result<()> where @@ -3973,61 +3973,61 @@ impl IMSMQQueueInfo2 { } pub unsafe fn IsTransactional(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() } pub unsafe fn Quota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuota(&self, lquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuota)(::windows_core::Interface::as_raw(self), lquota).ok() } pub unsafe fn BasePriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBasePriority(&self, lbasepriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBasePriority)(::windows_core::Interface::as_raw(self), lbasepriority).ok() } pub unsafe fn CreateTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifyTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Authenticate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticate(&self, lauthenticate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticate)(::windows_core::Interface::as_raw(self), lauthenticate).ok() } pub unsafe fn JournalQuota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournalQuota(&self, ljournalquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournalQuota)(::windows_core::Interface::as_raw(self), ljournalquota).ok() } pub unsafe fn IsWorldReadable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Create(&self, istransactional: *const ::windows_core::VARIANT, isworldreadable: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(istransactional), ::core::mem::transmute(isworldreadable)).ok() @@ -4038,7 +4038,7 @@ impl IMSMQQueueInfo2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Open(&self, access: i32, sharemode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4048,16 +4048,16 @@ impl IMSMQQueueInfo2 { } pub unsafe fn PathNameDNS(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Security(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurity(&self, varsecurity: P0) -> ::windows_core::Result<()> where @@ -4120,11 +4120,11 @@ pub struct IMSMQQueueInfo2_Vtbl { impl IMSMQQueueInfo3 { pub unsafe fn QueueGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceTypeGuid(&self, bstrguidservicetype: P0) -> ::windows_core::Result<()> where @@ -4134,7 +4134,7 @@ impl IMSMQQueueInfo3 { } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -4144,7 +4144,7 @@ impl IMSMQQueueInfo3 { } pub unsafe fn PathName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPathName(&self, bstrpathname: P0) -> ::windows_core::Result<()> where @@ -4154,7 +4154,7 @@ impl IMSMQQueueInfo3 { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormatName(&self, bstrformatname: P0) -> ::windows_core::Result<()> where @@ -4164,61 +4164,61 @@ impl IMSMQQueueInfo3 { } pub unsafe fn IsTransactional(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() } pub unsafe fn Quota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuota(&self, lquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuota)(::windows_core::Interface::as_raw(self), lquota).ok() } pub unsafe fn BasePriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBasePriority(&self, lbasepriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBasePriority)(::windows_core::Interface::as_raw(self), lbasepriority).ok() } pub unsafe fn CreateTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifyTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Authenticate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticate(&self, lauthenticate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticate)(::windows_core::Interface::as_raw(self), lauthenticate).ok() } pub unsafe fn JournalQuota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournalQuota(&self, ljournalquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournalQuota)(::windows_core::Interface::as_raw(self), ljournalquota).ok() } pub unsafe fn IsWorldReadable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Create(&self, istransactional: *const ::windows_core::VARIANT, isworldreadable: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(istransactional), ::core::mem::transmute(isworldreadable)).ok() @@ -4229,7 +4229,7 @@ impl IMSMQQueueInfo3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Open(&self, access: i32, sharemode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4239,16 +4239,16 @@ impl IMSMQQueueInfo3 { } pub unsafe fn PathNameDNS(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Security(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurity(&self, varsecurity: P0) -> ::windows_core::Result<()> where @@ -4258,15 +4258,15 @@ impl IMSMQQueueInfo3 { } pub unsafe fn IsTransactional2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsWorldReadable2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MulticastAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MulticastAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MulticastAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMulticastAddress(&self, bstrmulticastaddress: P0) -> ::windows_core::Result<()> where @@ -4276,7 +4276,7 @@ impl IMSMQQueueInfo3 { } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4338,11 +4338,11 @@ pub struct IMSMQQueueInfo3_Vtbl { impl IMSMQQueueInfo4 { pub unsafe fn QueueGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueueGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceTypeGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceTypeGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceTypeGuid(&self, bstrguidservicetype: P0) -> ::windows_core::Result<()> where @@ -4352,7 +4352,7 @@ impl IMSMQQueueInfo4 { } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLabel(&self, bstrlabel: P0) -> ::windows_core::Result<()> where @@ -4362,7 +4362,7 @@ impl IMSMQQueueInfo4 { } pub unsafe fn PathName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPathName(&self, bstrpathname: P0) -> ::windows_core::Result<()> where @@ -4372,7 +4372,7 @@ impl IMSMQQueueInfo4 { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormatName(&self, bstrformatname: P0) -> ::windows_core::Result<()> where @@ -4382,61 +4382,61 @@ impl IMSMQQueueInfo4 { } pub unsafe fn IsTransactional(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PrivLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivLevel(&self, lprivlevel: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivLevel)(::windows_core::Interface::as_raw(self), lprivlevel).ok() } pub unsafe fn Journal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Journal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournal(&self, ljournal: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournal)(::windows_core::Interface::as_raw(self), ljournal).ok() } pub unsafe fn Quota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Quota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuota(&self, lquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuota)(::windows_core::Interface::as_raw(self), lquota).ok() } pub unsafe fn BasePriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BasePriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBasePriority(&self, lbasepriority: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBasePriority)(::windows_core::Interface::as_raw(self), lbasepriority).ok() } pub unsafe fn CreateTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifyTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifyTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Authenticate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticate(&self, lauthenticate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticate)(::windows_core::Interface::as_raw(self), lauthenticate).ok() } pub unsafe fn JournalQuota(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JournalQuota)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJournalQuota(&self, ljournalquota: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJournalQuota)(::windows_core::Interface::as_raw(self), ljournalquota).ok() } pub unsafe fn IsWorldReadable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Create(&self, istransactional: *const ::windows_core::VARIANT, isworldreadable: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(istransactional), ::core::mem::transmute(isworldreadable)).ok() @@ -4447,7 +4447,7 @@ impl IMSMQQueueInfo4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Open(&self, access: i32, sharemode: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), access, sharemode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() @@ -4457,16 +4457,16 @@ impl IMSMQQueueInfo4 { } pub unsafe fn PathNameDNS(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PathNameDNS)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Security(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurity(&self, varsecurity: P0) -> ::windows_core::Result<()> where @@ -4476,15 +4476,15 @@ impl IMSMQQueueInfo4 { } pub unsafe fn IsTransactional2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTransactional2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTransactional2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsWorldReadable2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorldReadable2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorldReadable2)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MulticastAddress(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MulticastAddress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MulticastAddress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMulticastAddress(&self, bstrmulticastaddress: P0) -> ::windows_core::Result<()> where @@ -4494,7 +4494,7 @@ impl IMSMQQueueInfo4 { } pub unsafe fn ADsPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ADsPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4560,7 +4560,7 @@ impl IMSMQQueueInfos { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4586,12 +4586,12 @@ impl IMSMQQueueInfos2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4621,12 +4621,12 @@ impl IMSMQQueueInfos3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4656,12 +4656,12 @@ impl IMSMQQueueInfos4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4690,47 +4690,47 @@ impl IMSMQQueueManagement { } pub unsafe fn FormatName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Machine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Machine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Machine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MessageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MessageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForeignStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ForeignStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TransactionalStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransactionalStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BytesInQueue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BytesInQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn JournalMessageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).JournalMessageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).JournalMessageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BytesInJournal(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BytesInJournal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BytesInJournal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EodGetReceiveInfo(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EodGetReceiveInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EodGetReceiveInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4750,7 +4750,7 @@ pub struct IMSMQQueueManagement_Vtbl { impl IMSMQTransaction { pub unsafe fn Transaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Transaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Transaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Commit(&self, fretaining: *const ::windows_core::VARIANT, grftc: *const ::windows_core::VARIANT, grfrm: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fretaining), ::core::mem::transmute(grftc), ::core::mem::transmute(grfrm)).ok() @@ -4776,7 +4776,7 @@ pub struct IMSMQTransaction_Vtbl { impl IMSMQTransaction2 { pub unsafe fn Transaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Transaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Transaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Commit(&self, fretaining: *const ::windows_core::VARIANT, grftc: *const ::windows_core::VARIANT, grfrm: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Commit)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fretaining), ::core::mem::transmute(grftc), ::core::mem::transmute(grfrm)).ok() @@ -4793,7 +4793,7 @@ impl IMSMQTransaction2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4815,7 +4815,7 @@ pub struct IMSMQTransaction2_Vtbl { impl IMSMQTransaction3 { pub unsafe fn Transaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Transaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Transaction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Commit(&self, fretaining: *const ::windows_core::VARIANT, grftc: *const ::windows_core::VARIANT, grfrm: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Commit)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(fretaining), ::core::mem::transmute(grftc), ::core::mem::transmute(grfrm)).ok() @@ -4832,11 +4832,11 @@ impl IMSMQTransaction3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ITransaction(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ITransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ITransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4855,7 +4855,7 @@ impl IMSMQTransactionDispenser { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4877,12 +4877,12 @@ impl IMSMQTransactionDispenser2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4908,12 +4908,12 @@ impl IMSMQTransactionDispenser3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginTransaction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginTransaction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/Mmc/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Mmc/mod.rs index 3ebfc10b67..7e55d51ea9 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Mmc/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Mmc/mod.rs @@ -18,25 +18,25 @@ pub struct AppEvents_Vtbl { impl Column { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), width).ok() } pub unsafe fn DisplayPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayPosition(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplayPosition)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Hidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHidden(&self, hidden: P0) -> ::windows_core::Result<()> where @@ -49,7 +49,7 @@ impl Column { } pub unsafe fn IsSortColumn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSortColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSortColumn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -76,15 +76,15 @@ impl Columns { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -107,7 +107,7 @@ pub struct Columns_Vtbl { impl ContextMenu { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, indexorpath: P0) -> ::windows_core::Result @@ -115,11 +115,11 @@ impl ContextMenu { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), indexorpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), indexorpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -158,21 +158,21 @@ impl Document { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Views(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Views)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Views)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SnapIns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SnapIns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SnapIns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActiveView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -182,15 +182,15 @@ impl Document { } pub unsafe fn Location(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSaved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSaved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSaved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Mode(&self) -> ::windows_core::Result<_DocumentMode> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, mode: _DocumentMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -198,22 +198,22 @@ impl Document { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RootNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ScopeNamespace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScopeNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScopeNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result<_Application> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -267,24 +267,24 @@ pub struct Document_Vtbl { impl Extension { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Vendor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SnapinCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SnapinCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SnapinCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableAllExtensions(&self, enable: P0) -> ::windows_core::Result<()> where @@ -323,16 +323,16 @@ pub struct Extension_Vtbl { impl Extensions { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -364,28 +364,28 @@ impl Frame { } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, top: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn Bottom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bottom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bottom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBottom(&self, bottom: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBottom)(::windows_core::Interface::as_raw(self), bottom).ok() } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, left: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn Right(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Right)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Right)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRight(&self, right: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRight)(::windows_core::Interface::as_raw(self), right).ok() @@ -416,14 +416,14 @@ impl IColumnData { } pub unsafe fn GetColumnConfigData(&self, pcolid: *const SColumnSetID) -> ::windows_core::Result<*mut MMC_COLUMN_SET_DATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnConfigData)(::windows_core::Interface::as_raw(self), pcolid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnConfigData)(::windows_core::Interface::as_raw(self), pcolid, &mut result__).map(|| result__) } pub unsafe fn SetColumnSortData(&self, pcolid: *const SColumnSetID, pcolsortdata: *const MMC_SORT_SET_DATA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColumnSortData)(::windows_core::Interface::as_raw(self), pcolid, pcolsortdata).ok() } pub unsafe fn GetColumnSortData(&self, pcolid: *const SColumnSetID) -> ::windows_core::Result<*mut MMC_SORT_SET_DATA> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnSortData)(::windows_core::Interface::as_raw(self), pcolid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnSortData)(::windows_core::Interface::as_raw(self), pcolid, &mut result__).map(|| result__) } } #[repr(C)] @@ -459,7 +459,7 @@ impl IComponent { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResultViewType(&self, cookie: isize, ppviewtype: *mut ::windows_core::PWSTR, pviewoptions: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetResultViewType)(::windows_core::Interface::as_raw(self), cookie, ppviewtype, pviewoptions).ok() @@ -521,7 +521,7 @@ impl IComponent2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResultViewType(&self, cookie: isize, ppviewtype: *mut ::windows_core::PWSTR, pviewoptions: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetResultViewType)(::windows_core::Interface::as_raw(self), cookie, ppviewtype, pviewoptions).ok() @@ -540,7 +540,7 @@ impl IComponent2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDispatch(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDispatch)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDispatch)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResultViewType2(&self, cookie: isize, presultviewtype: *mut RESULT_VIEW_TYPE_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetResultViewType2)(::windows_core::Interface::as_raw(self), cookie, presultviewtype).ok() @@ -571,7 +571,7 @@ impl IComponentData { } pub unsafe fn CreateComponent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateComponent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateComponent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Notify(&self, lpdataobject: P0, event: MMC_NOTIFY_TYPE, arg: P1, param3: P2) -> ::windows_core::Result<()> @@ -588,7 +588,7 @@ impl IComponentData { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayInfo(&self, pscopedataitem: *mut SCOPEDATAITEM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDisplayInfo)(::windows_core::Interface::as_raw(self), pscopedataitem).ok() @@ -634,7 +634,7 @@ impl IComponentData2 { } pub unsafe fn CreateComponent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateComponent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateComponent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Notify(&self, lpdataobject: P0, event: MMC_NOTIFY_TYPE, arg: P1, param3: P2) -> ::windows_core::Result<()> @@ -651,7 +651,7 @@ impl IComponentData2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryDataObject)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayInfo(&self, pscopedataitem: *mut SCOPEDATAITEM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDisplayInfo)(::windows_core::Interface::as_raw(self), pscopedataitem).ok() @@ -667,7 +667,7 @@ impl IComponentData2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryDispatch(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryDispatch)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryDispatch)(::windows_core::Interface::as_raw(self), cookie, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -696,15 +696,15 @@ impl IConsole { } pub unsafe fn QueryResultView(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryScopeImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryResultImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateAllViews(&self, lpdataobject: P0, data: P1, hint: isize) -> ::windows_core::Result<()> @@ -720,18 +720,18 @@ impl IConsole { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).map(|| result__) } pub unsafe fn QueryConsoleVerb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectScopeItem(&self, hscopeitem: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectScopeItem)(::windows_core::Interface::as_raw(self), hscopeitem).ok() } pub unsafe fn GetMainWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NewWindow(&self, hscopeitem: isize, loptions: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NewWindow)(::windows_core::Interface::as_raw(self), hscopeitem, loptions).ok() @@ -773,15 +773,15 @@ impl IConsole2 { } pub unsafe fn QueryResultView(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryScopeImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryResultImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateAllViews(&self, lpdataobject: P0, data: P1, hint: isize) -> ::windows_core::Result<()> @@ -797,18 +797,18 @@ impl IConsole2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).map(|| result__) } pub unsafe fn QueryConsoleVerb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectScopeItem(&self, hscopeitem: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SelectScopeItem)(::windows_core::Interface::as_raw(self), hscopeitem).ok() } pub unsafe fn GetMainWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NewWindow(&self, hscopeitem: isize, loptions: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.NewWindow)(::windows_core::Interface::as_raw(self), hscopeitem, loptions).ok() @@ -854,15 +854,15 @@ impl IConsole3 { } pub unsafe fn QueryResultView(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryResultView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryScopeImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryScopeImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryResultImageList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryResultImageList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateAllViews(&self, lpdataobject: P0, data: P1, hint: isize) -> ::windows_core::Result<()> @@ -878,18 +878,18 @@ impl IConsole3 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MessageBox)(::windows_core::Interface::as_raw(self), lpsztext.into_param().abi(), lpsztitle.into_param().abi(), fustyle, &mut result__).map(|| result__) } pub unsafe fn QueryConsoleVerb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryConsoleVerb)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectScopeItem(&self, hscopeitem: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SelectScopeItem)(::windows_core::Interface::as_raw(self), hscopeitem).ok() } pub unsafe fn GetMainWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetMainWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NewWindow(&self, hscopeitem: isize, loptions: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.NewWindow)(::windows_core::Interface::as_raw(self), hscopeitem, loptions).ok() @@ -1019,7 +1019,7 @@ impl IConsolePowerSink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnPowerBroadcast)(::windows_core::Interface::as_raw(self), nevent, lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnPowerBroadcast)(::windows_core::Interface::as_raw(self), nevent, lparam.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1033,7 +1033,7 @@ pub struct IConsolePowerSink_Vtbl { impl IConsoleVerb { pub unsafe fn GetVerbState(&self, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVerbState)(::windows_core::Interface::as_raw(self), ecmdid, nstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVerbState)(::windows_core::Interface::as_raw(self), ecmdid, nstate, &mut result__).map(|| result__) } pub unsafe fn SetVerbState(&self, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE, bstate: P0) -> ::windows_core::Result<()> where @@ -1046,7 +1046,7 @@ impl IConsoleVerb { } pub unsafe fn GetDefaultVerb(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultVerb)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultVerb)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1113,7 +1113,7 @@ impl IContextMenuProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), xpos, ypos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), xpos, ypos, &mut result__).map(|| result__) } } #[repr(C)] @@ -1139,7 +1139,7 @@ impl IControlbar { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ntype, pextendcontrolbar.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), ntype, pextendcontrolbar.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Attach(&self, ntype: MMC_CONTROL_TYPE, lpunknown: P0) -> ::windows_core::Result<()> where @@ -1192,7 +1192,7 @@ impl IEnumTASK { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1344,35 +1344,35 @@ impl IExtendTaskPad { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumTasks)(::windows_core::Interface::as_raw(self), pdo.into_param().abi(), sztaskgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumTasks)(::windows_core::Interface::as_raw(self), pdo.into_param().abi(), sztaskgroup.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTitle(&self, pszgroup: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDescriptiveText(&self, pszgroup: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescriptiveText)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescriptiveText)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetBackground(&self, pszgroup: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackground)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackground)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetListPadInfo(&self, pszgroup: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListPadInfo)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListPadInfo)(::windows_core::Interface::as_raw(self), pszgroup.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1433,14 +1433,14 @@ impl IHeaderCtrl { } pub unsafe fn GetColumnText(&self, ncol: i32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnText)(::windows_core::Interface::as_raw(self), ncol, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnText)(::windows_core::Interface::as_raw(self), ncol, &mut result__).map(|| result__) } pub unsafe fn SetColumnWidth(&self, ncol: i32, nwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, nwidth).ok() } pub unsafe fn GetColumnWidth(&self, ncol: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, &mut result__).map(|| result__) } } #[repr(C)] @@ -1474,14 +1474,14 @@ impl IHeaderCtrl2 { } pub unsafe fn GetColumnText(&self, ncol: i32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnText)(::windows_core::Interface::as_raw(self), ncol, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnText)(::windows_core::Interface::as_raw(self), ncol, &mut result__).map(|| result__) } pub unsafe fn SetColumnWidth(&self, ncol: i32, nwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, nwidth).ok() } pub unsafe fn GetColumnWidth(&self, ncol: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnWidth)(::windows_core::Interface::as_raw(self), ncol, &mut result__).map(|| result__) } pub unsafe fn SetChangeTimeOut(&self, utimeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChangeTimeOut)(::windows_core::Interface::as_raw(self), utimeout).ok() @@ -1607,7 +1607,7 @@ impl INodeProperties { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), szpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), szpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1709,11 +1709,11 @@ impl IRequiredExtensions { } pub unsafe fn GetFirstExtension(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNextExtension(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1738,7 +1738,7 @@ impl IResultData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByLParam)(::windows_core::Interface::as_raw(self), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByLParam)(::windows_core::Interface::as_raw(self), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DeleteAllRsltItems(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteAllRsltItems)(::windows_core::Interface::as_raw(self)).ok() @@ -1763,7 +1763,7 @@ impl IResultData { } pub unsafe fn GetViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateItem(&self, itemid: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateItem)(::windows_core::Interface::as_raw(self), itemid).ok() @@ -1818,7 +1818,7 @@ impl IResultData2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindItemByLParam)(::windows_core::Interface::as_raw(self), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindItemByLParam)(::windows_core::Interface::as_raw(self), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DeleteAllRsltItems(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DeleteAllRsltItems)(::windows_core::Interface::as_raw(self)).ok() @@ -1843,7 +1843,7 @@ impl IResultData2 { } pub unsafe fn GetViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateItem(&self, itemid: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UpdateItem)(::windows_core::Interface::as_raw(self), itemid).ok() @@ -1894,7 +1894,7 @@ pub struct IResultDataCompare_Vtbl { impl IResultDataCompareEx { pub unsafe fn Compare(&self, prdc: *const RDCOMPARE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), prdc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), prdc, &mut result__).map(|| result__) } } #[repr(C)] @@ -1908,7 +1908,7 @@ pub struct IResultDataCompareEx_Vtbl { impl IResultOwnerData { pub unsafe fn FindItem(&self, pfindinfo: *const RESULTFINDINFO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItem)(::windows_core::Interface::as_raw(self), pfindinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItem)(::windows_core::Interface::as_raw(self), pfindinfo, &mut result__).map(|| result__) } pub unsafe fn CacheHint(&self, nstartindex: i32, nendindex: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CacheHint)(::windows_core::Interface::as_raw(self), nstartindex, nendindex).ok() @@ -1933,20 +1933,20 @@ pub struct IResultOwnerData_Vtbl { impl ISnapinAbout { pub unsafe fn GetSnapinDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapinDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapinDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProvider(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSnapinVersion(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapinVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapinVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetSnapinImage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapinImage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapinImage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetStaticFolderImage(&self, hsmallimage: *mut super::super::Graphics::Gdi::HBITMAP, hsmallimageopen: *mut super::super::Graphics::Gdi::HBITMAP, hlargeimage: *mut super::super::Graphics::Gdi::HBITMAP, cmask: *mut super::super::Foundation::COLORREF) -> ::windows_core::Result<()> { @@ -1974,7 +1974,7 @@ pub struct ISnapinAbout_Vtbl { impl ISnapinHelp { pub unsafe fn GetHelpTopic(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHelpTopic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHelpTopic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1988,11 +1988,11 @@ pub struct ISnapinHelp_Vtbl { impl ISnapinHelp2 { pub unsafe fn GetHelpTopic(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHelpTopic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHelpTopic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLinkedTopics(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkedTopics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkedTopics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2056,14 +2056,14 @@ impl IStringTable { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddString)(::windows_core::Interface::as_raw(self), pszadd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddString)(::windows_core::Interface::as_raw(self), pszadd.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetString(&self, stringid: u32, lpbuffer: &mut [u16], pcchout: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), stringid, lpbuffer.len().try_into().unwrap(), ::core::mem::transmute(lpbuffer.as_ptr()), pcchout).ok() } pub unsafe fn GetStringLength(&self, stringid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), stringid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringLength)(::windows_core::Interface::as_raw(self), stringid, &mut result__).map(|| result__) } pub unsafe fn DeleteString(&self, stringid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteString)(::windows_core::Interface::as_raw(self), stringid).ok() @@ -2076,12 +2076,12 @@ impl IStringTable { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindString)(::windows_core::Interface::as_raw(self), pszfind.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindString)(::windows_core::Interface::as_raw(self), pszfind.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Enumerate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enumerate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enumerate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2121,7 +2121,7 @@ impl IToolbar { } pub unsafe fn GetButtonState(&self, idcommand: i32, nstate: MMC_BUTTON_STATE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetButtonState)(::windows_core::Interface::as_raw(self), idcommand, nstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetButtonState)(::windows_core::Interface::as_raw(self), idcommand, nstate, &mut result__).map(|| result__) } pub unsafe fn SetButtonState(&self, idcommand: i32, nstate: MMC_BUTTON_STATE, bstate: P0) -> ::windows_core::Result<()> where @@ -2165,26 +2165,26 @@ pub struct IViewExtensionCallback_Vtbl { impl MenuItem { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LanguageIndependentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageIndependentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageIndependentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LanguageIndependentPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LanguageIndependentPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LanguageIndependentPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Execute(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Execute)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2207,26 +2207,26 @@ pub struct MenuItem_Vtbl { impl Node { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Property(&self, propertyname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Bookmark(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bookmark)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bookmark)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsScopeNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsScopeNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsScopeNode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Nodetype(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Nodetype)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Nodetype)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2248,16 +2248,16 @@ pub struct Node_Vtbl { impl Nodes { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2280,7 +2280,7 @@ pub struct Nodes_Vtbl { impl Properties { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, name: P0) -> ::windows_core::Result @@ -2288,11 +2288,11 @@ impl Properties { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Remove(&self, name: P0) -> ::windows_core::Result<()> where @@ -2322,7 +2322,7 @@ pub struct Properties_Vtbl { impl Property { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -2332,7 +2332,7 @@ impl Property { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2356,7 +2356,7 @@ impl ScopeNamespace { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetChild(&self, node: P0) -> ::windows_core::Result @@ -2364,7 +2364,7 @@ impl ScopeNamespace { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNext(&self, node: P0) -> ::windows_core::Result @@ -2372,12 +2372,12 @@ impl ScopeNamespace { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Expand(&self, node: P0) -> ::windows_core::Result<()> @@ -2421,29 +2421,29 @@ pub struct ScopeNamespace_Vtbl { impl SnapIn { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Vendor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Version(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Extensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SnapinCLSID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SnapinCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SnapinCLSID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableAllExtensions(&self, enable: P0) -> ::windows_core::Result<()> where @@ -2479,16 +2479,16 @@ pub struct SnapIn_Vtbl { impl SnapIns { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, snapinnameorclsid: P0, parentsnapin: P1, properties: P2) -> ::windows_core::Result @@ -2498,7 +2498,7 @@ impl SnapIns { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), snapinnameorclsid.into_param().abi(), parentsnapin.into_param().abi(), properties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), snapinnameorclsid.into_param().abi(), parentsnapin.into_param().abi(), properties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Remove(&self, snapin: P0) -> ::windows_core::Result<()> @@ -2537,7 +2537,7 @@ impl View { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ActiveScopeNode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveScopeNode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveScopeNode)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetActiveScopeNode(&self, node: P0) -> ::windows_core::Result<()> @@ -2549,12 +2549,12 @@ impl View { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Selection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ListItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ListItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ListItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SnapinScopeObject(&self, scopenode: P0) -> ::windows_core::Result @@ -2562,12 +2562,12 @@ impl View { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SnapinScopeObject)(::windows_core::Interface::as_raw(self), scopenode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SnapinScopeObject)(::windows_core::Interface::as_raw(self), scopenode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SnapinSelectionObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SnapinSelectionObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SnapinSelectionObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Is(&self, view: P0) -> ::windows_core::Result @@ -2575,12 +2575,12 @@ impl View { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Is)(::windows_core::Interface::as_raw(self), view.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Is)(::windows_core::Interface::as_raw(self), view.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Document(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectAll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectAll)(::windows_core::Interface::as_raw(self)).ok() @@ -2605,7 +2605,7 @@ impl View { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSelected)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSelected)(::windows_core::Interface::as_raw(self), node.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayScopeNodePropertySheet(&self, scopenode: P0) -> ::windows_core::Result<()> where @@ -2653,12 +2653,12 @@ impl View { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ScopeNodeContextMenu)(::windows_core::Interface::as_raw(self), scopenode.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ScopeNodeContextMenu)(::windows_core::Interface::as_raw(self), scopenode.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectionContextMenu(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectionContextMenu)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectionContextMenu)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RefreshScopeNode(&self, scopenode: P0) -> ::windows_core::Result<()> where @@ -2694,14 +2694,14 @@ impl View { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Frame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Frame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Frame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Close(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn ScopeTreeVisible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScopeTreeVisible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScopeTreeVisible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScopeTreeVisible(&self, visible: P0) -> ::windows_core::Result<()> where @@ -2723,7 +2723,7 @@ impl View { } pub unsafe fn Memento(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Memento)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Memento)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ViewMemento(&self, memento: P0) -> ::windows_core::Result<()> where @@ -2734,7 +2734,7 @@ impl View { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Columns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_CellContents(&self, node: P0, column: i32) -> ::windows_core::Result<::windows_core::BSTR> @@ -2742,7 +2742,7 @@ impl View { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_CellContents)(::windows_core::Interface::as_raw(self), node.into_param().abi(), column, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_CellContents)(::windows_core::Interface::as_raw(self), node.into_param().abi(), column, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExportList(&self, file: P0, exportoptions: _ExportListOptions) -> ::windows_core::Result<()> where @@ -2752,7 +2752,7 @@ impl View { } pub unsafe fn ListViewMode(&self) -> ::windows_core::Result<_ListViewMode> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ListViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ListViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListViewMode(&self, mode: _ListViewMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListViewMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -2760,7 +2760,7 @@ impl View { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ControlObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControlObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControlObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2871,11 +2871,11 @@ impl Views { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, node: P0, viewoptions: _ViewOptions) -> ::windows_core::Result<()> @@ -2886,7 +2886,7 @@ impl Views { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3063,7 +3063,7 @@ impl _Application { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Document(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Load(&self, filename: P0) -> ::windows_core::Result<()> where @@ -3074,11 +3074,11 @@ impl _Application { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Frame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Frame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Frame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Show)(::windows_core::Interface::as_raw(self)).ok() @@ -3088,7 +3088,7 @@ impl _Application { } pub unsafe fn UserControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserControl(&self, usercontrol: P0) -> ::windows_core::Result<()> where @@ -3098,11 +3098,11 @@ impl _Application { } pub unsafe fn VersionMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VersionMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VersionMinor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VersionMinor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs index b5064d093b..7d8bee251f 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs @@ -3,7 +3,7 @@ pub unsafe fn BstrFromVector(psa: *const super::Com::SAFEARRAY) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn BstrFromVector(psa : *const super::Com:: SAFEARRAY, pbstr : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - BstrFromVector(psa, &mut result__).from_abi(result__) + BstrFromVector(psa, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -21,13 +21,13 @@ pub unsafe fn CreateDispTypeInfo(pidata: *mut INTERFACEDATA, lcid: u32, pptinfo: pub unsafe fn CreateErrorInfo() -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn CreateErrorInfo(pperrinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateErrorInfo(&mut result__).from_abi(result__) + CreateErrorInfo(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateOleAdviseHolder() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CreateOleAdviseHolder(ppoaholder : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateOleAdviseHolder(&mut result__).from_abi(result__) + CreateOleAdviseHolder(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -47,7 +47,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn CreateTypeLib(syskind : super::Com:: SYSKIND, szfile : ::windows_core::PCWSTR, ppctlib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateTypeLib(syskind, szfile.into_param().abi(), &mut result__).from_abi(result__) + CreateTypeLib(syskind, szfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -57,14 +57,14 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn CreateTypeLib2(syskind : super::Com:: SYSKIND, szfile : ::windows_core::PCWSTR, ppctlib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateTypeLib2(syskind, szfile.into_param().abi(), &mut result__).from_abi(result__) + CreateTypeLib2(syskind, szfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Variant"))] #[inline] pub unsafe fn DispCallFunc(pvinstance: ::core::option::Option<*const ::core::ffi::c_void>, ovft: usize, cc: super::Com::CALLCONV, vtreturn: super::Variant::VARENUM, cactuals: u32, prgvt: *const u16, prgpvarg: *const *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn DispCallFunc(pvinstance : *const ::core::ffi::c_void, ovft : usize, cc : super::Com:: CALLCONV, vtreturn : super::Variant:: VARENUM, cactuals : u32, prgvt : *const u16, prgpvarg : *const *const ::windows_core::VARIANT, pvargresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - DispCallFunc(::core::mem::transmute(pvinstance.unwrap_or(::std::ptr::null())), ovft, cc, vtreturn, cactuals, prgvt, prgpvarg, &mut result__).from_abi(result__) + DispCallFunc(::core::mem::transmute(pvinstance.unwrap_or(::std::ptr::null())), ovft, cc, vtreturn, cactuals, prgvt, prgpvarg, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -109,13 +109,13 @@ pub unsafe fn GetActiveObject(rclsid: *const ::windows_core::GUID, pvreserved: : pub unsafe fn GetAltMonthNames(lcid: u32) -> ::windows_core::Result<*mut ::windows_core::PWSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn GetAltMonthNames(lcid : u32, prgp : *mut *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetAltMonthNames(lcid, &mut result__).from_abi(result__) + GetAltMonthNames(lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetRecordInfoFromGuids(rguidtypelib: *const ::windows_core::GUID, uvermajor: u32, uverminor: u32, lcid: u32, rguidtypeinfo: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn GetRecordInfoFromGuids(rguidtypelib : *const ::windows_core::GUID, uvermajor : u32, uverminor : u32, lcid : u32, rguidtypeinfo : *const ::windows_core::GUID, pprecinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetRecordInfoFromGuids(rguidtypelib, uvermajor, uverminor, lcid, rguidtypeinfo, &mut result__).from_abi(result__) + GetRecordInfoFromGuids(rguidtypelib, uvermajor, uverminor, lcid, rguidtypeinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -125,7 +125,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn GetRecordInfoFromTypeInfo(ptypeinfo : * mut::core::ffi::c_void, pprecinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetRecordInfoFromTypeInfo(ptypeinfo.into_param().abi(), &mut result__).from_abi(result__) + GetRecordInfoFromTypeInfo(ptypeinfo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -207,7 +207,7 @@ where pub unsafe fn LoadRegTypeLib(rguid: *const ::windows_core::GUID, wvermajor: u16, wverminor: u16, lcid: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn LoadRegTypeLib(rguid : *const ::windows_core::GUID, wvermajor : u16, wverminor : u16, lcid : u32, pptlib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LoadRegTypeLib(rguid, wvermajor, wverminor, lcid, &mut result__).from_abi(result__) + LoadRegTypeLib(rguid, wvermajor, wverminor, lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -217,7 +217,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn LoadTypeLib(szfile : ::windows_core::PCWSTR, pptlib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LoadTypeLib(szfile.into_param().abi(), &mut result__).from_abi(result__) + LoadTypeLib(szfile.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -227,7 +227,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn LoadTypeLibEx(szfile : ::windows_core::PCWSTR, regkind : REGKIND, pptlib : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LoadTypeLibEx(szfile.into_param().abi(), regkind, &mut result__).from_abi(result__) + LoadTypeLibEx(szfile.into_param().abi(), regkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OaBuildVersion() -> u32 { @@ -440,7 +440,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn OleCreatePictureIndirect(lppictdesc : *const PICTDESC, riid : *const ::windows_core::GUID, fown : super::super::Foundation:: BOOL, lplpvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - OleCreatePictureIndirect(lppictdesc, &T::IID, fown.into_param().abi(), &mut result__).from_abi(result__) + OleCreatePictureIndirect(lppictdesc, &T::IID, fown.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OleCreatePropertyFrame(hwndowner: P0, x: u32, y: u32, lpszcaption: P1, cobjects: u32, ppunk: *const ::core::option::Option<::windows_core::IUnknown>, cpages: u32, ppageclsid: *const ::windows_core::GUID, lcid: u32, dwreserved: u32, pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> @@ -480,7 +480,7 @@ where { ::windows_targets::link!("ole32.dll" "system" fn OleDoAutoConvert(pstg : * mut::core::ffi::c_void, pclsidnew : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleDoAutoConvert(pstg.into_param().abi(), &mut result__).from_abi(result__) + OleDoAutoConvert(pstg.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -510,14 +510,14 @@ pub unsafe fn OleFlushClipboard() -> ::windows_core::Result<()> { pub unsafe fn OleGetAutoConvert(clsidold: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("ole32.dll" "system" fn OleGetAutoConvert(clsidold : *const ::windows_core::GUID, pclsidnew : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleGetAutoConvert(clsidold, &mut result__).from_abi(result__) + OleGetAutoConvert(clsidold, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn OleGetClipboard() -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn OleGetClipboard(ppdataobj : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleGetClipboard(&mut result__).from_abi(result__) + OleGetClipboard(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -622,7 +622,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn OleLoadPictureFile(varfilename : ::std::mem::MaybeUninit <::windows_core::VARIANT >, lplpdisppicture : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleLoadPictureFile(varfilename.into_param().abi(), &mut result__).from_abi(result__) + OleLoadPictureFile(varfilename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -632,7 +632,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn OleLoadPictureFileEx(varfilename : ::std::mem::MaybeUninit <::windows_core::VARIANT >, xsizedesired : u32, ysizedesired : u32, dwflags : LOAD_PICTURE_FLAGS, lplpdisppicture : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleLoadPictureFileEx(varfilename.into_param().abi(), xsizedesired, ysizedesired, dwflags, &mut result__).from_abi(result__) + OleLoadPictureFileEx(varfilename.into_param().abi(), xsizedesired, ysizedesired, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OleLoadPicturePath(szurlorpath: P0, punkcaller: P1, dwreserved: u32, clrreserved: u32, riid: *const ::windows_core::GUID, ppvret: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -697,25 +697,25 @@ where pub unsafe fn OleRegEnumFormatEtc(clsid: *const ::windows_core::GUID, dwdirection: u32) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn OleRegEnumFormatEtc(clsid : *const ::windows_core::GUID, dwdirection : u32, ppenum : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleRegEnumFormatEtc(clsid, dwdirection, &mut result__).from_abi(result__) + OleRegEnumFormatEtc(clsid, dwdirection, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OleRegEnumVerbs(clsid: *const ::windows_core::GUID) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn OleRegEnumVerbs(clsid : *const ::windows_core::GUID, ppenum : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleRegEnumVerbs(clsid, &mut result__).from_abi(result__) + OleRegEnumVerbs(clsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn OleRegGetMiscStatus(clsid: *const ::windows_core::GUID, dwaspect: u32) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn OleRegGetMiscStatus(clsid : *const ::windows_core::GUID, dwaspect : u32, pdwstatus : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleRegGetMiscStatus(clsid, dwaspect, &mut result__).from_abi(result__) + OleRegGetMiscStatus(clsid, dwaspect, &mut result__).map(|| result__) } #[inline] pub unsafe fn OleRegGetUserType(clsid: *const ::windows_core::GUID, dwformoftype: USERCLASSTYPE) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("ole32.dll" "system" fn OleRegGetUserType(clsid : *const ::windows_core::GUID, dwformoftype : u32, pszusertype : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleRegGetUserType(clsid, dwformoftype.0 as _, &mut result__).from_abi(result__) + OleRegGetUserType(clsid, dwformoftype.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn OleRun(punknown: P0) -> ::windows_core::Result<()> @@ -807,7 +807,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn OleTranslateColor(clr : u32, hpal : super::super::Graphics::Gdi:: HPALETTE, lpcolorref : *mut super::super::Foundation:: COLORREF) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - OleTranslateColor(clr, hpal.into_param().abi(), &mut result__).from_abi(result__) + OleTranslateColor(clr, hpal.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] #[inline] @@ -976,7 +976,7 @@ pub unsafe fn OleUninitialize() { pub unsafe fn QueryPathOfRegTypeLib(guid: *const ::windows_core::GUID, wmaj: u16, wmin: u16, lcid: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn QueryPathOfRegTypeLib(guid : *const ::windows_core::GUID, wmaj : u16, wmin : u16, lcid : u32, lpbstrpathname : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - QueryPathOfRegTypeLib(guid, wmaj, wmin, lcid, &mut result__).from_abi(result__) + QueryPathOfRegTypeLib(guid, wmaj, wmin, lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RegisterActiveObject(punk: P0, rclsid: *const ::windows_core::GUID, dwflags: ACTIVEOBJECT_FLAGS, pdwregister: *mut u32) -> ::windows_core::Result<()> @@ -1059,21 +1059,21 @@ pub unsafe fn SafeArrayAllocData(psa: *const super::Com::SAFEARRAY) -> ::windows pub unsafe fn SafeArrayAllocDescriptor(cdims: u32) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayAllocDescriptor(cdims : u32, ppsaout : *mut *mut super::Com:: SAFEARRAY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayAllocDescriptor(cdims, &mut result__).from_abi(result__) + SafeArrayAllocDescriptor(cdims, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Variant"))] #[inline] pub unsafe fn SafeArrayAllocDescriptorEx(vt: super::Variant::VARENUM, cdims: u32) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayAllocDescriptorEx(vt : super::Variant:: VARENUM, cdims : u32, ppsaout : *mut *mut super::Com:: SAFEARRAY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayAllocDescriptorEx(vt, cdims, &mut result__).from_abi(result__) + SafeArrayAllocDescriptorEx(vt, cdims, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn SafeArrayCopy(psa: *const super::Com::SAFEARRAY) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayCopy(psa : *const super::Com:: SAFEARRAY, ppsaout : *mut *mut super::Com:: SAFEARRAY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayCopy(psa, &mut result__).from_abi(result__) + SafeArrayCopy(psa, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1146,35 +1146,35 @@ pub unsafe fn SafeArrayGetElemsize(psa: *const super::Com::SAFEARRAY) -> u32 { pub unsafe fn SafeArrayGetIID(psa: *const super::Com::SAFEARRAY) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayGetIID(psa : *const super::Com:: SAFEARRAY, pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayGetIID(psa, &mut result__).from_abi(result__) + SafeArrayGetIID(psa, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn SafeArrayGetLBound(psa: *const super::Com::SAFEARRAY, ndim: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayGetLBound(psa : *const super::Com:: SAFEARRAY, ndim : u32, pllbound : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayGetLBound(psa, ndim, &mut result__).from_abi(result__) + SafeArrayGetLBound(psa, ndim, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn SafeArrayGetRecordInfo(psa: *const super::Com::SAFEARRAY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayGetRecordInfo(psa : *const super::Com:: SAFEARRAY, prinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayGetRecordInfo(psa, &mut result__).from_abi(result__) + SafeArrayGetRecordInfo(psa, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn SafeArrayGetUBound(psa: *const super::Com::SAFEARRAY, ndim: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayGetUBound(psa : *const super::Com:: SAFEARRAY, ndim : u32, plubound : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayGetUBound(psa, ndim, &mut result__).from_abi(result__) + SafeArrayGetUBound(psa, ndim, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Variant"))] #[inline] pub unsafe fn SafeArrayGetVartype(psa: *const super::Com::SAFEARRAY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn SafeArrayGetVartype(psa : *const super::Com:: SAFEARRAY, pvt : *mut super::Variant:: VARENUM) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SafeArrayGetVartype(psa, &mut result__).from_abi(result__) + SafeArrayGetVartype(psa, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1254,38 +1254,38 @@ pub unsafe fn UnRegisterTypeLibForUser(libid: *const ::windows_core::GUID, wmajo pub unsafe fn VarAbs(pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarAbs(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarAbs(::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + VarAbs(::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarAdd(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarAdd(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarAdd(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarAdd(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarAnd(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarAnd(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarAnd(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarAnd(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarBoolFromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromCy(cyin : super::Com:: CY, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarBoolFromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromDate(datein : f64, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromDate(datein, &mut result__).from_abi(result__) + VarBoolFromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromDec(pdecin : *const super::super::Foundation:: DECIMAL, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromDec(pdecin, &mut result__).from_abi(result__) + VarBoolFromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1295,43 +1295,43 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarBoolFromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromI1(cin : i8, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromI1(cin, &mut result__).from_abi(result__) + VarBoolFromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromI2(sin : i16, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromI2(sin, &mut result__).from_abi(result__) + VarBoolFromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromI4(lin : i32, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromI4(lin, &mut result__).from_abi(result__) + VarBoolFromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromI8(i64in : i64, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromI8(i64in, &mut result__).from_abi(result__) + VarBoolFromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromR4(fltin : f32, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromR4(fltin, &mut result__).from_abi(result__) + VarBoolFromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromR8(dblin : f64, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromR8(dblin, &mut result__).from_abi(result__) + VarBoolFromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -1340,31 +1340,31 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarBoolFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromUI1(bin : u8, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromUI1(bin, &mut result__).from_abi(result__) + VarBoolFromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromUI2(uiin : u16, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromUI2(uiin, &mut result__).from_abi(result__) + VarBoolFromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromUI4(ulin : u32, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromUI4(ulin, &mut result__).from_abi(result__) + VarBoolFromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBoolFromUI8(i64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarBoolFromUI8(i64in : u64, pboolout : *mut super::super::Foundation:: VARIANT_BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBoolFromUI8(i64in, &mut result__).from_abi(result__) + VarBoolFromUI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarBstrCat(bstrleft: P0, bstrright: P1) -> ::windows_core::Result<::windows_core::BSTR> @@ -1374,7 +1374,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrCat(bstrleft : ::std::mem::MaybeUninit <::windows_core::BSTR >, bstrright : ::std::mem::MaybeUninit <::windows_core::BSTR >, pbstrresult : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrCat(bstrleft.into_param().abi(), bstrright.into_param().abi(), &mut result__).from_abi(result__) + VarBstrCat(bstrleft.into_param().abi(), bstrright.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrCmp(bstrleft: P0, bstrright: P1, lcid: u32, dwflags: u32) -> ::windows_core::Result<()> @@ -1392,26 +1392,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromBool(boolin : super::super::Foundation:: VARIANT_BOOL, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromBool(boolin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromBool(boolin.into_param().abi(), lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarBstrFromCy(cyin: super::Com::CY, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromCy(cyin : super::Com:: CY, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromCy(::core::mem::transmute(cyin), lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromCy(::core::mem::transmute(cyin), lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromDate(datein: f64, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromDate(datein : f64, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromDate(datein, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromDate(datein, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromDec(pdecin: *const super::super::Foundation::DECIMAL, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromDec(pdecin : *const super::super::Foundation:: DECIMAL, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromDec(pdecin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromDec(pdecin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1421,73 +1421,73 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromDisp(pdispin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromDisp(pdispin.into_param().abi(), lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromI1(cin: i8, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromI1(cin : i8, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromI1(cin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromI1(cin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromI2(ival: i16, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromI2(ival : i16, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromI2(ival, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromI2(ival, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromI4(lin: i32, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromI4(lin : i32, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromI4(lin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromI4(lin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromI8(i64in: i64, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromI8(i64in : i64, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromI8(i64in, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromI8(i64in, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromR4(fltin: f32, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromR4(fltin : f32, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromR4(fltin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromR4(fltin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromR8(dblin: f64, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromR8(dblin : f64, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromR8(dblin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromR8(dblin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromUI1(bval: u8, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromUI1(bval : u8, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromUI1(bval, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromUI1(bval, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromUI2(uiin: u16, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromUI2(uiin : u16, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromUI2(uiin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromUI2(uiin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromUI4(ulin: u32, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromUI4(ulin : u32, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromUI4(ulin, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromUI4(ulin, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarBstrFromUI8(ui64in: u64, lcid: u32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarBstrFromUI8(ui64in : u64, lcid : u32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarBstrFromUI8(ui64in, lcid, dwflags, &mut result__).from_abi(result__) + VarBstrFromUI8(ui64in, lcid, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarCat(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarCat(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCat(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarCat(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarCmp(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT, lcid: u32, dwflags: u32) -> VARCMP { @@ -1499,14 +1499,14 @@ pub unsafe fn VarCmp(pvarleft: *const ::windows_core::VARIANT, pvarright: *const pub unsafe fn VarCyAbs(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyAbs(cyin : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyAbs(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarCyAbs(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyAdd(cyleft: super::Com::CY, cyright: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyAdd(cyleft : super::Com:: CY, cyright : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyAdd(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).from_abi(result__) + VarCyAdd(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1525,7 +1525,7 @@ pub unsafe fn VarCyCmpR8(cyleft: super::Com::CY, dblright: f64) -> VARCMP { pub unsafe fn VarCyFix(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFix(cyin : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFix(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarCyFix(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1535,21 +1535,21 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarCyFromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromDate(datein : f64, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromDate(datein, &mut result__).from_abi(result__) + VarCyFromDate(datein, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromDec(pdecin : *const super::super::Foundation:: DECIMAL, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromDec(pdecin, &mut result__).from_abi(result__) + VarCyFromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1559,49 +1559,49 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarCyFromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromI1(cin : i8, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromI1(cin, &mut result__).from_abi(result__) + VarCyFromI1(cin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromI2(sin : i16, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromI2(sin, &mut result__).from_abi(result__) + VarCyFromI2(sin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromI4(lin : i32, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromI4(lin, &mut result__).from_abi(result__) + VarCyFromI4(lin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromI8(i64in : i64, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromI8(i64in, &mut result__).from_abi(result__) + VarCyFromI8(i64in, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromR4(fltin : f32, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromR4(fltin, &mut result__).from_abi(result__) + VarCyFromR4(fltin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromR8(dblin : f64, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromR8(dblin, &mut result__).from_abi(result__) + VarCyFromR8(dblin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1611,84 +1611,84 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarCyFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromUI1(bin : u8, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromUI1(bin, &mut result__).from_abi(result__) + VarCyFromUI1(bin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromUI2(uiin : u16, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromUI2(uiin, &mut result__).from_abi(result__) + VarCyFromUI2(uiin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromUI4(ulin : u32, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromUI4(ulin, &mut result__).from_abi(result__) + VarCyFromUI4(ulin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyFromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyFromUI8(ui64in : u64, pcyout : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyFromUI8(ui64in, &mut result__).from_abi(result__) + VarCyFromUI8(ui64in, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyInt(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyInt(cyin : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyInt(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarCyInt(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyMul(cyleft: super::Com::CY, cyright: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyMul(cyleft : super::Com:: CY, cyright : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyMul(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).from_abi(result__) + VarCyMul(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyMulI4(cyleft: super::Com::CY, lright: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyMulI4(cyleft : super::Com:: CY, lright : i32, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyMulI4(::core::mem::transmute(cyleft), lright, &mut result__).from_abi(result__) + VarCyMulI4(::core::mem::transmute(cyleft), lright, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyMulI8(cyleft: super::Com::CY, lright: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyMulI8(cyleft : super::Com:: CY, lright : i64, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyMulI8(::core::mem::transmute(cyleft), lright, &mut result__).from_abi(result__) + VarCyMulI8(::core::mem::transmute(cyleft), lright, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyNeg(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyNeg(cyin : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyNeg(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarCyNeg(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCyRound(cyin: super::Com::CY, cdecimals: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCyRound(cyin : super::Com:: CY, cdecimals : i32, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCyRound(::core::mem::transmute(cyin), cdecimals, &mut result__).from_abi(result__) + VarCyRound(::core::mem::transmute(cyin), cdecimals, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarCySub(cyleft: super::Com::CY, cyright: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarCySub(cyleft : super::Com:: CY, cyright : super::Com:: CY, pcyresult : *mut super::Com:: CY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarCySub(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).from_abi(result__) + VarCySub(::core::mem::transmute(cyleft), ::core::mem::transmute(cyright), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromBool(boolin: P0) -> ::windows_core::Result @@ -1697,20 +1697,20 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarDateFromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarDateFromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromCy(cyin : super::Com:: CY, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarDateFromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromDec(pdecin : *const super::super::Foundation:: DECIMAL, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromDec(pdecin, &mut result__).from_abi(result__) + VarDateFromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1720,43 +1720,43 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarDateFromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromI1(cin : i8, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromI1(cin, &mut result__).from_abi(result__) + VarDateFromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromI2(sin : i16, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromI2(sin, &mut result__).from_abi(result__) + VarDateFromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromI4(lin : i32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromI4(lin, &mut result__).from_abi(result__) + VarDateFromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromI8(i64in : i64, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromI8(i64in, &mut result__).from_abi(result__) + VarDateFromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromR4(fltin : f32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromR4(fltin, &mut result__).from_abi(result__) + VarDateFromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromR8(dblin : f64, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromR8(dblin, &mut result__).from_abi(result__) + VarDateFromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -1765,55 +1765,55 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarDateFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUI1(bin : u8, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUI1(bin, &mut result__).from_abi(result__) + VarDateFromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUI2(uiin : u16, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUI2(uiin, &mut result__).from_abi(result__) + VarDateFromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUI4(ulin : u32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUI4(ulin, &mut result__).from_abi(result__) + VarDateFromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUI8(ui64in : u64, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUI8(ui64in, &mut result__).from_abi(result__) + VarDateFromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUdate(pudatein: *const UDATE, dwflags: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUdate(pudatein : *const UDATE, dwflags : u32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUdate(pudatein, dwflags, &mut result__).from_abi(result__) + VarDateFromUdate(pudatein, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDateFromUdateEx(pudatein: *const UDATE, lcid: u32, dwflags: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDateFromUdateEx(pudatein : *const UDATE, lcid : u32, dwflags : u32, pdateout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDateFromUdateEx(pudatein, lcid, dwflags, &mut result__).from_abi(result__) + VarDateFromUdateEx(pudatein, lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecAbs(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecAbs(pdecin : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecAbs(pdecin, &mut result__).from_abi(result__) + VarDecAbs(pdecin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecAdd(pdecleft: *const super::super::Foundation::DECIMAL, pdecright: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecAdd(pdecleft : *const super::super::Foundation:: DECIMAL, pdecright : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecAdd(pdecleft, pdecright, &mut result__).from_abi(result__) + VarDecAdd(pdecleft, pdecright, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecCmp(pdecleft: *const super::super::Foundation::DECIMAL, pdecright: *const super::super::Foundation::DECIMAL) -> VARCMP { @@ -1829,13 +1829,13 @@ pub unsafe fn VarDecCmpR8(pdecleft: *const super::super::Foundation::DECIMAL, db pub unsafe fn VarDecDiv(pdecleft: *const super::super::Foundation::DECIMAL, pdecright: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecDiv(pdecleft : *const super::super::Foundation:: DECIMAL, pdecright : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecDiv(pdecleft, pdecright, &mut result__).from_abi(result__) + VarDecDiv(pdecleft, pdecright, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFix(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFix(pdecin : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFix(pdecin, &mut result__).from_abi(result__) + VarDecFix(pdecin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromBool(boolin: P0) -> ::windows_core::Result @@ -1844,20 +1844,20 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarDecFromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarDecFromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromCy(cyin : super::Com:: CY, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarDecFromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromDate(datein : f64, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromDate(datein, &mut result__).from_abi(result__) + VarDecFromDate(datein, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1867,43 +1867,43 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarDecFromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromI1(cin : i8, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromI1(cin, &mut result__).from_abi(result__) + VarDecFromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromI2(uiin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromI2(uiin : i16, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromI2(uiin, &mut result__).from_abi(result__) + VarDecFromI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromI4(lin : i32, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromI4(lin, &mut result__).from_abi(result__) + VarDecFromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromI8(i64in : i64, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromI8(i64in, &mut result__).from_abi(result__) + VarDecFromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromR4(fltin : f32, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromR4(fltin, &mut result__).from_abi(result__) + VarDecFromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromR8(dblin : f64, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromR8(dblin, &mut result__).from_abi(result__) + VarDecFromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -1912,79 +1912,79 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarDecFromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromUI1(bin : u8, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromUI1(bin, &mut result__).from_abi(result__) + VarDecFromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromUI2(uiin : u16, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromUI2(uiin, &mut result__).from_abi(result__) + VarDecFromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromUI4(ulin : u32, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromUI4(ulin, &mut result__).from_abi(result__) + VarDecFromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecFromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecFromUI8(ui64in : u64, pdecout : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecFromUI8(ui64in, &mut result__).from_abi(result__) + VarDecFromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecInt(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecInt(pdecin : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecInt(pdecin, &mut result__).from_abi(result__) + VarDecInt(pdecin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecMul(pdecleft: *const super::super::Foundation::DECIMAL, pdecright: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecMul(pdecleft : *const super::super::Foundation:: DECIMAL, pdecright : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecMul(pdecleft, pdecright, &mut result__).from_abi(result__) + VarDecMul(pdecleft, pdecright, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecNeg(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecNeg(pdecin : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecNeg(pdecin, &mut result__).from_abi(result__) + VarDecNeg(pdecin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecRound(pdecin: *const super::super::Foundation::DECIMAL, cdecimals: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecRound(pdecin : *const super::super::Foundation:: DECIMAL, cdecimals : i32, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecRound(pdecin, cdecimals, &mut result__).from_abi(result__) + VarDecRound(pdecin, cdecimals, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDecSub(pdecleft: *const super::super::Foundation::DECIMAL, pdecright: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarDecSub(pdecleft : *const super::super::Foundation:: DECIMAL, pdecright : *const super::super::Foundation:: DECIMAL, pdecresult : *mut super::super::Foundation:: DECIMAL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDecSub(pdecleft, pdecright, &mut result__).from_abi(result__) + VarDecSub(pdecleft, pdecright, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarDiv(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarDiv(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarDiv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarDiv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarEqv(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarEqv(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarEqv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarEqv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFix(pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarFix(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFix(::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + VarFix(::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFormat(pvarin: *const ::windows_core::VARIANT, pstrformat: P0, ifirstday: VARFORMAT_FIRST_DAY, ifirstweek: VARFORMAT_FIRST_WEEK, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> @@ -1993,19 +1993,19 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarFormat(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pstrformat : ::windows_core::PCWSTR, ifirstday : VARFORMAT_FIRST_DAY, ifirstweek : VARFORMAT_FIRST_WEEK, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFormat(::core::mem::transmute(pvarin), pstrformat.into_param().abi(), ifirstday, ifirstweek, dwflags, &mut result__).from_abi(result__) + VarFormat(::core::mem::transmute(pvarin), pstrformat.into_param().abi(), ifirstday, ifirstweek, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFormatCurrency(pvarin: *const ::windows_core::VARIANT, inumdig: i32, iinclead: i32, iuseparens: i32, igroup: i32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarFormatCurrency(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, inumdig : i32, iinclead : i32, iuseparens : i32, igroup : i32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFormatCurrency(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).from_abi(result__) + VarFormatCurrency(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFormatDateTime(pvarin: *const ::windows_core::VARIANT, inamedformat: VARFORMAT_NAMED_FORMAT, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarFormatDateTime(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, inamedformat : VARFORMAT_NAMED_FORMAT, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFormatDateTime(::core::mem::transmute(pvarin), inamedformat, dwflags, &mut result__).from_abi(result__) + VarFormatDateTime(::core::mem::transmute(pvarin), inamedformat, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFormatFromTokens(pvarin: *const ::windows_core::VARIANT, pstrformat: P0, pbtokcur: *const u8, dwflags: u32, pbstrout: *mut ::windows_core::BSTR, lcid: u32) -> ::windows_core::Result<()> @@ -2019,13 +2019,13 @@ where pub unsafe fn VarFormatNumber(pvarin: *const ::windows_core::VARIANT, inumdig: i32, iinclead: VARFORMAT_LEADING_DIGIT, iuseparens: VARFORMAT_PARENTHESES, igroup: VARFORMAT_GROUP, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarFormatNumber(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, inumdig : i32, iinclead : VARFORMAT_LEADING_DIGIT, iuseparens : VARFORMAT_PARENTHESES, igroup : VARFORMAT_GROUP, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFormatNumber(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).from_abi(result__) + VarFormatNumber(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarFormatPercent(pvarin: *const ::windows_core::VARIANT, inumdig: i32, iinclead: VARFORMAT_LEADING_DIGIT, iuseparens: VARFORMAT_PARENTHESES, igroup: VARFORMAT_GROUP, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarFormatPercent(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, inumdig : i32, iinclead : VARFORMAT_LEADING_DIGIT, iuseparens : VARFORMAT_PARENTHESES, igroup : VARFORMAT_GROUP, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarFormatPercent(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).from_abi(result__) + VarFormatPercent(::core::mem::transmute(pvarin), inumdig, iinclead, iuseparens, igroup, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarI1FromBool(boolin: P0, pcout: ::windows_core::PSTR) -> ::windows_core::Result<()> @@ -2120,7 +2120,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarI2FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2132,13 +2132,13 @@ pub unsafe fn VarI2FromCy(cyin: super::Com::CY, psout: *mut i16) -> ::windows_co pub unsafe fn VarI2FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromDate(datein : f64, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromDate(datein, &mut result__).from_abi(result__) + VarI2FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromDec(pdecin : *const super::super::Foundation:: DECIMAL, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromDec(pdecin, &mut result__).from_abi(result__) + VarI2FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2148,37 +2148,37 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarI2FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromI1(cin : i8, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromI1(cin, &mut result__).from_abi(result__) + VarI2FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromI4(lin : i32, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromI4(lin, &mut result__).from_abi(result__) + VarI2FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromI8(i64in : i64, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromI8(i64in, &mut result__).from_abi(result__) + VarI2FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromR4(fltin : f32, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromR4(fltin, &mut result__).from_abi(result__) + VarI2FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromR8(dblin : f64, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromR8(dblin, &mut result__).from_abi(result__) + VarI2FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2187,31 +2187,31 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarI2FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromUI1(bin : u8, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromUI1(bin, &mut result__).from_abi(result__) + VarI2FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromUI2(uiin : u16, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromUI2(uiin, &mut result__).from_abi(result__) + VarI2FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromUI4(ulin : u32, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromUI4(ulin, &mut result__).from_abi(result__) + VarI2FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI2FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI2FromUI8(ui64in : u64, psout : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI2FromUI8(ui64in, &mut result__).from_abi(result__) + VarI2FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromBool(boolin: P0) -> ::windows_core::Result @@ -2220,26 +2220,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarI4FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarI4FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromCy(cyin : super::Com:: CY, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarI4FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromDate(datein : f64, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromDate(datein, &mut result__).from_abi(result__) + VarI4FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromDec(pdecin : *const super::super::Foundation:: DECIMAL, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromDec(pdecin, &mut result__).from_abi(result__) + VarI4FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2249,37 +2249,37 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarI4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromI1(cin : i8, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromI1(cin, &mut result__).from_abi(result__) + VarI4FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromI2(sin : i16, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromI2(sin, &mut result__).from_abi(result__) + VarI4FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromI8(i64in : i64, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromI8(i64in, &mut result__).from_abi(result__) + VarI4FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromR4(fltin : f32, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromR4(fltin, &mut result__).from_abi(result__) + VarI4FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromR8(dblin : f64, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromR8(dblin, &mut result__).from_abi(result__) + VarI4FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2288,31 +2288,31 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarI4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromUI1(bin : u8, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromUI1(bin, &mut result__).from_abi(result__) + VarI4FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromUI2(uiin : u16, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromUI2(uiin, &mut result__).from_abi(result__) + VarI4FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromUI4(ulin : u32, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromUI4(ulin, &mut result__).from_abi(result__) + VarI4FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI4FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI4FromUI8(ui64in : u64, plout : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI4FromUI8(ui64in, &mut result__).from_abi(result__) + VarI4FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromBool(boolin: P0) -> ::windows_core::Result @@ -2321,26 +2321,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarI8FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarI8FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromCy(cyin : super::Com:: CY, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarI8FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromDate(datein : f64, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromDate(datein, &mut result__).from_abi(result__) + VarI8FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromDec(pdecin, &mut result__).from_abi(result__) + VarI8FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2350,31 +2350,31 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarI8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromI1(cin : i8, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromI1(cin, &mut result__).from_abi(result__) + VarI8FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromI2(sin : i16, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromI2(sin, &mut result__).from_abi(result__) + VarI8FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromR4(fltin : f32, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromR4(fltin, &mut result__).from_abi(result__) + VarI8FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromR8(dblin : f64, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromR8(dblin, &mut result__).from_abi(result__) + VarI8FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2383,91 +2383,91 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarI8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromUI1(bin : u8, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromUI1(bin, &mut result__).from_abi(result__) + VarI8FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromUI2(uiin : u16, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromUI2(uiin, &mut result__).from_abi(result__) + VarI8FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromUI4(ulin : u32, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromUI4(ulin, &mut result__).from_abi(result__) + VarI8FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarI8FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarI8FromUI8(ui64in : u64, pi64out : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarI8FromUI8(ui64in, &mut result__).from_abi(result__) + VarI8FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarIdiv(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarIdiv(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarIdiv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarIdiv(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarImp(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarImp(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarImp(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarImp(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarInt(pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarInt(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarInt(::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + VarInt(::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarMod(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarMod(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarMod(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarMod(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarMonthName(imonth: i32, fabbrev: i32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarMonthName(imonth : i32, fabbrev : i32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarMonthName(imonth, fabbrev, dwflags, &mut result__).from_abi(result__) + VarMonthName(imonth, fabbrev, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarMul(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarMul(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarMul(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarMul(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarNeg(pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarNeg(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarNeg(::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + VarNeg(::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarNot(pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarNot(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarNot(::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + VarNot(::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarNumFromParseNum(pnumprs: *const NUMPARSE, rgbdig: *const u8, dwvtbits: u32) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarNumFromParseNum(pnumprs : *const NUMPARSE, rgbdig : *const u8, dwvtbits : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarNumFromParseNum(pnumprs, rgbdig, dwvtbits, &mut result__).from_abi(result__) + VarNumFromParseNum(pnumprs, rgbdig, dwvtbits, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarOr(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarOr(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarOr(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarOr(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarParseNumFromStr(strin: P0, lcid: u32, dwflags: u32, pnumprs: *mut NUMPARSE, rgbdig: *mut u8) -> ::windows_core::Result<()> @@ -2481,7 +2481,7 @@ where pub unsafe fn VarPow(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarPow(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarPow(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarPow(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarR4CmpR8(fltleft: f32, dblright: f64) -> VARCMP { @@ -2495,7 +2495,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarR4FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2507,13 +2507,13 @@ pub unsafe fn VarR4FromCy(cyin: super::Com::CY, pfltout: *mut f32) -> ::windows_ pub unsafe fn VarR4FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromDate(datein : f64, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromDate(datein, &mut result__).from_abi(result__) + VarR4FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromDec(pdecin, &mut result__).from_abi(result__) + VarR4FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2523,37 +2523,37 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarR4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromI1(cin : i8, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromI1(cin, &mut result__).from_abi(result__) + VarR4FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromI2(sin : i16, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromI2(sin, &mut result__).from_abi(result__) + VarR4FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromI4(lin : i32, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromI4(lin, &mut result__).from_abi(result__) + VarR4FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromI8(i64in : i64, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromI8(i64in, &mut result__).from_abi(result__) + VarR4FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromR8(dblin : f64, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromR8(dblin, &mut result__).from_abi(result__) + VarR4FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2562,31 +2562,31 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarR4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromUI1(bin : u8, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromUI1(bin, &mut result__).from_abi(result__) + VarR4FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromUI2(uiin : u16, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromUI2(uiin, &mut result__).from_abi(result__) + VarR4FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromUI4(ulin : u32, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromUI4(ulin, &mut result__).from_abi(result__) + VarR4FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR4FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR4FromUI8(ui64in : u64, pfltout : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR4FromUI8(ui64in, &mut result__).from_abi(result__) + VarR4FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromBool(boolin: P0) -> ::windows_core::Result @@ -2595,7 +2595,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarR8FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2607,13 +2607,13 @@ pub unsafe fn VarR8FromCy(cyin: super::Com::CY, pdblout: *mut f64) -> ::windows_ pub unsafe fn VarR8FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromDate(datein : f64, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromDate(datein, &mut result__).from_abi(result__) + VarR8FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromDec(pdecin, &mut result__).from_abi(result__) + VarR8FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2623,7 +2623,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarR8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromI1(cin: i8, pdblout: *mut f64) -> ::windows_core::Result<()> { @@ -2634,25 +2634,25 @@ pub unsafe fn VarR8FromI1(cin: i8, pdblout: *mut f64) -> ::windows_core::Result< pub unsafe fn VarR8FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromI2(sin : i16, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromI2(sin, &mut result__).from_abi(result__) + VarR8FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromI4(lin : i32, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromI4(lin, &mut result__).from_abi(result__) + VarR8FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromI8(i64in : i64, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromI8(i64in, &mut result__).from_abi(result__) + VarR8FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromR4(fltin : f32, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromR4(fltin, &mut result__).from_abi(result__) + VarR8FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2661,55 +2661,55 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarR8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromUI1(bin : u8, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromUI1(bin, &mut result__).from_abi(result__) + VarR8FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromUI2(uiin : u16, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromUI2(uiin, &mut result__).from_abi(result__) + VarR8FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromUI4(ulin : u32, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromUI4(ulin, &mut result__).from_abi(result__) + VarR8FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8FromUI8(ui64in : u64, pdblout : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8FromUI8(ui64in, &mut result__).from_abi(result__) + VarR8FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8Pow(dblleft: f64, dblright: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8Pow(dblleft : f64, dblright : f64, pdblresult : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8Pow(dblleft, dblright, &mut result__).from_abi(result__) + VarR8Pow(dblleft, dblright, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarR8Round(dblin: f64, cdecimals: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarR8Round(dblin : f64, cdecimals : i32, pdblresult : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarR8Round(dblin, cdecimals, &mut result__).from_abi(result__) + VarR8Round(dblin, cdecimals, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarRound(pvarin: *const ::windows_core::VARIANT, cdecimals: i32) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarRound(pvarin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, cdecimals : i32, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarRound(::core::mem::transmute(pvarin), cdecimals, &mut result__).from_abi(result__) + VarRound(::core::mem::transmute(pvarin), cdecimals, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarSub(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarSub(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarSub(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarSub(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarTokenizeFormatString(pstrformat: P0, rgbtok: &mut [u8], ifirstday: VARFORMAT_FIRST_DAY, ifirstweek: VARFORMAT_FIRST_WEEK, lcid: u32, pcbactual: ::core::option::Option<*const i32>) -> ::windows_core::Result<()> @@ -2726,26 +2726,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarUI1FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarUI1FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromCy(cyin : super::Com:: CY, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarUI1FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromDate(datein : f64, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromDate(datein, &mut result__).from_abi(result__) + VarUI1FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromDec(pdecin, &mut result__).from_abi(result__) + VarUI1FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2755,43 +2755,43 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarUI1FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromI1(cin : i8, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromI1(cin, &mut result__).from_abi(result__) + VarUI1FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromI2(sin : i16, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromI2(sin, &mut result__).from_abi(result__) + VarUI1FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromI4(lin : i32, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromI4(lin, &mut result__).from_abi(result__) + VarUI1FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromI8(i64in : i64, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromI8(i64in, &mut result__).from_abi(result__) + VarUI1FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromR4(fltin : f32, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromR4(fltin, &mut result__).from_abi(result__) + VarUI1FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromR8(dblin : f64, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromR8(dblin, &mut result__).from_abi(result__) + VarUI1FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -2800,25 +2800,25 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarUI1FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromUI2(uiin : u16, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromUI2(uiin, &mut result__).from_abi(result__) + VarUI1FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromUI4(ulin : u32, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromUI4(ulin, &mut result__).from_abi(result__) + VarUI1FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI1FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI1FromUI8(ui64in : u64, pbout : *mut u8) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI1FromUI8(ui64in, &mut result__).from_abi(result__) + VarUI1FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromBool(boolin: P0) -> ::windows_core::Result @@ -2827,26 +2827,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarUI2FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarUI2FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromCy(cyin : super::Com:: CY, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarUI2FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromDate(datein : f64, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromDate(datein, &mut result__).from_abi(result__) + VarUI2FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromDec(pdecin : *const super::super::Foundation:: DECIMAL, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromDec(pdecin, &mut result__).from_abi(result__) + VarUI2FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2856,37 +2856,37 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarUI2FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromI1(cin : i8, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromI1(cin, &mut result__).from_abi(result__) + VarUI2FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromI2(uiin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromI2(uiin : i16, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromI2(uiin, &mut result__).from_abi(result__) + VarUI2FromI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromI4(lin : i32, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromI4(lin, &mut result__).from_abi(result__) + VarUI2FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromI8(i64in : i64, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromI8(i64in, &mut result__).from_abi(result__) + VarUI2FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromR4(fltin : f32, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromR4(fltin, &mut result__).from_abi(result__) + VarUI2FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromR8(dblin: f64, puiout: *mut u16) -> ::windows_core::Result<()> { @@ -2900,25 +2900,25 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarUI2FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromUI1(bin : u8, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromUI1(bin, &mut result__).from_abi(result__) + VarUI2FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromUI4(ulin : u32, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromUI4(ulin, &mut result__).from_abi(result__) + VarUI2FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI2FromUI8(i64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI2FromUI8(i64in : u64, puiout : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI2FromUI8(i64in, &mut result__).from_abi(result__) + VarUI2FromUI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromBool(boolin: P0) -> ::windows_core::Result @@ -2927,26 +2927,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarUI4FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarUI4FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromCy(cyin : super::Com:: CY, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarUI4FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromDate(datein : f64, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromDate(datein, &mut result__).from_abi(result__) + VarUI4FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromDec(pdecin, &mut result__).from_abi(result__) + VarUI4FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2956,43 +2956,43 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarUI4FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromI1(cin : i8, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromI1(cin, &mut result__).from_abi(result__) + VarUI4FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromI2(uiin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromI2(uiin : i16, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromI2(uiin, &mut result__).from_abi(result__) + VarUI4FromI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromI4(lin: i32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromI4(lin : i32, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromI4(lin, &mut result__).from_abi(result__) + VarUI4FromI4(lin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromI8(i64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromI8(i64in : i64, plout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromI8(i64in, &mut result__).from_abi(result__) + VarUI4FromI8(i64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromR4(fltin : f32, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromR4(fltin, &mut result__).from_abi(result__) + VarUI4FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromR8(dblin : f64, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromR8(dblin, &mut result__).from_abi(result__) + VarUI4FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -3001,25 +3001,25 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarUI4FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromUI1(bin : u8, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromUI1(bin, &mut result__).from_abi(result__) + VarUI4FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromUI2(uiin : u16, pulout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromUI2(uiin, &mut result__).from_abi(result__) + VarUI4FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI4FromUI8(ui64in: u64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI4FromUI8(ui64in : u64, plout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI4FromUI8(ui64in, &mut result__).from_abi(result__) + VarUI4FromUI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromBool(boolin: P0) -> ::windows_core::Result @@ -3028,26 +3028,26 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromBool(boolin : super::super::Foundation:: VARIANT_BOOL, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromBool(boolin.into_param().abi(), &mut result__).from_abi(result__) + VarUI8FromBool(boolin.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] pub unsafe fn VarUI8FromCy(cyin: super::Com::CY) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromCy(cyin : super::Com:: CY, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromCy(::core::mem::transmute(cyin), &mut result__).from_abi(result__) + VarUI8FromCy(::core::mem::transmute(cyin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromDate(datein: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromDate(datein : f64, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromDate(datein, &mut result__).from_abi(result__) + VarUI8FromDate(datein, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromDec(pdecin: *const super::super::Foundation::DECIMAL) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromDec(pdecin : *const super::super::Foundation:: DECIMAL, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromDec(pdecin, &mut result__).from_abi(result__) + VarUI8FromDec(pdecin, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -3057,37 +3057,37 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromDisp(pdispin : * mut::core::ffi::c_void, lcid : u32, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).from_abi(result__) + VarUI8FromDisp(pdispin.into_param().abi(), lcid, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromI1(cin: i8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromI1(cin : i8, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromI1(cin, &mut result__).from_abi(result__) + VarUI8FromI1(cin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromI2(sin: i16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromI2(sin : i16, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromI2(sin, &mut result__).from_abi(result__) + VarUI8FromI2(sin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromI8(ui64in: i64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromI8(ui64in : i64, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromI8(ui64in, &mut result__).from_abi(result__) + VarUI8FromI8(ui64in, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromR4(fltin: f32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromR4(fltin : f32, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromR4(fltin, &mut result__).from_abi(result__) + VarUI8FromR4(fltin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromR8(dblin: f64) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromR8(dblin : f64, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromR8(dblin, &mut result__).from_abi(result__) + VarUI8FromR8(dblin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromStr(strin: P0, lcid: u32, dwflags: u32) -> ::windows_core::Result @@ -3096,25 +3096,25 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromStr(strin : ::windows_core::PCWSTR, lcid : u32, dwflags : u32, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).from_abi(result__) + VarUI8FromStr(strin.into_param().abi(), lcid, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromUI1(bin: u8) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromUI1(bin : u8, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromUI1(bin, &mut result__).from_abi(result__) + VarUI8FromUI1(bin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromUI2(uiin: u16) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromUI2(uiin : u16, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromUI2(uiin, &mut result__).from_abi(result__) + VarUI8FromUI2(uiin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUI8FromUI4(ulin: u32) -> ::windows_core::Result { ::windows_targets::link!("oleaut32.dll" "system" fn VarUI8FromUI4(ulin : u32, pi64out : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarUI8FromUI4(ulin, &mut result__).from_abi(result__) + VarUI8FromUI4(ulin, &mut result__).map(|| result__) } #[inline] pub unsafe fn VarUdateFromDate(datein: f64, dwflags: u32, pudateout: *mut UDATE) -> ::windows_core::Result<()> { @@ -3125,13 +3125,13 @@ pub unsafe fn VarUdateFromDate(datein: f64, dwflags: u32, pudateout: *mut UDATE) pub unsafe fn VarWeekdayName(iweekday: i32, fabbrev: i32, ifirstday: i32, dwflags: u32) -> ::windows_core::Result<::windows_core::BSTR> { ::windows_targets::link!("oleaut32.dll" "system" fn VarWeekdayName(iweekday : i32, fabbrev : i32, ifirstday : i32, dwflags : u32, pbstrout : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarWeekdayName(iweekday, fabbrev, ifirstday, dwflags, &mut result__).from_abi(result__) + VarWeekdayName(iweekday, fabbrev, ifirstday, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn VarXor(pvarleft: *const ::windows_core::VARIANT, pvarright: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("oleaut32.dll" "system" fn VarXor(pvarleft : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarright : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pvarresult : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VarXor(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).from_abi(result__) + VarXor(::core::mem::transmute(pvarleft), ::core::mem::transmute(pvarright), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -3141,7 +3141,7 @@ where { ::windows_targets::link!("oleaut32.dll" "system" fn VectorFromBstr(bstr : ::std::mem::MaybeUninit <::windows_core::BSTR >, ppsa : *mut *mut super::Com:: SAFEARRAY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VectorFromBstr(bstr.into_param().abi(), &mut result__).from_abi(result__) + VectorFromBstr(bstr.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] ::windows_core::imp::com_interface!(IAdviseSinkEx, IAdviseSinkEx_Vtbl, 0x3af24290_0c96_11ce_a0cf_00aa00600ab8); @@ -3213,7 +3213,7 @@ impl IClassFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LockServer(&self, flock: P0) -> ::windows_core::Result<()> @@ -3227,7 +3227,7 @@ impl IClassFactory2 { } pub unsafe fn RequestLicKey(&self, dwreserved: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestLicKey)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestLicKey)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceLic(&self, punkouter: P0, punkreserved: P1, bstrkey: P2) -> ::windows_core::Result where @@ -3237,7 +3237,7 @@ impl IClassFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInstanceLic)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), punkreserved.into_param().abi(), &T::IID, bstrkey.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceLic)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), punkreserved.into_param().abi(), &T::IID, bstrkey.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3655,7 +3655,7 @@ impl ICreateTypeLib { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTypeInfo)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), tkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTypeInfo)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), tkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, szname: P0) -> ::windows_core::Result<()> where @@ -3721,7 +3721,7 @@ impl ICreateTypeLib2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTypeInfo)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), tkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTypeInfo)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), tkind, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, szname: P0) -> ::windows_core::Result<()> where @@ -3792,26 +3792,26 @@ pub struct ICreateTypeLib2_Vtbl { impl IDispError { pub unsafe fn QueryErrorInfo(&self, guiderrortype: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryErrorInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guiderrortype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryErrorInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guiderrortype), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHresult(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHresult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHresult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHelpInfo(&self, pbstrfilename: *mut ::windows_core::BSTR, pdwcontext: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetHelpInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrfilename), pdwcontext).ok() } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3836,7 +3836,7 @@ impl IDispatchEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDispID)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), grfdex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDispID)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), grfdex, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InvokeEx(&self, id: i32, lcid: u32, wflags: u16, pdp: *const super::Com::DISPPARAMS, pvarres: ::core::option::Option<*mut ::windows_core::VARIANT>, pei: ::core::option::Option<*mut super::Com::EXCEPINFO>, pspcaller: P0) -> ::windows_core::Result<()> @@ -3856,19 +3856,19 @@ impl IDispatchEx { } pub unsafe fn GetMemberProperties(&self, id: i32, grfdexfetch: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMemberProperties)(::windows_core::Interface::as_raw(self), id, grfdexfetch, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMemberProperties)(::windows_core::Interface::as_raw(self), id, grfdexfetch, &mut result__).map(|| result__) } pub unsafe fn GetMemberName(&self, id: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMemberName)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMemberName)(::windows_core::Interface::as_raw(self), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextDispID(&self, grfdex: u32, id: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextDispID)(::windows_core::Interface::as_raw(self), grfdex, id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextDispID)(::windows_core::Interface::as_raw(self), grfdex, id, &mut result__).map(|| result__) } pub unsafe fn GetNameSpaceParent(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameSpaceParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameSpaceParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3986,7 +3986,7 @@ impl IEnterpriseDropTarget { } pub unsafe fn IsEvaluatingEdpPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEvaluatingEdpPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEvaluatingEdpPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4011,7 +4011,7 @@ impl IEnumOLEVERB { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4040,7 +4040,7 @@ impl IEnumOleDocumentViews { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4066,7 +4066,7 @@ impl IEnumOleUndoUnits { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4092,7 +4092,7 @@ impl IEnumVARIANT { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4109,7 +4109,7 @@ pub struct IEnumVARIANT_Vtbl { impl IFont { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4120,7 +4120,7 @@ impl IFont { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSize(&self, size: super::Com::CY) -> ::windows_core::Result<()> { @@ -4128,7 +4128,7 @@ impl IFont { } pub unsafe fn Bold(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bold)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBold(&self, bold: P0) -> ::windows_core::Result<()> where @@ -4138,7 +4138,7 @@ impl IFont { } pub unsafe fn Italic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Italic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Italic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetItalic(&self, italic: P0) -> ::windows_core::Result<()> where @@ -4148,7 +4148,7 @@ impl IFont { } pub unsafe fn Underline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Underline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Underline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnderline(&self, underline: P0) -> ::windows_core::Result<()> where @@ -4158,7 +4158,7 @@ impl IFont { } pub unsafe fn Strikethrough(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strikethrough)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strikethrough)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrikethrough(&self, strikethrough: P0) -> ::windows_core::Result<()> where @@ -4168,14 +4168,14 @@ impl IFont { } pub unsafe fn Weight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Weight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Weight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWeight(&self, weight: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWeight)(::windows_core::Interface::as_raw(self), weight).ok() } pub unsafe fn Charset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Charset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Charset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCharset(&self, charset: i16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCharset)(::windows_core::Interface::as_raw(self), charset).ok() @@ -4183,11 +4183,11 @@ impl IFont { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn hFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hFont)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEqual(&self, pfontother: P0) -> ::windows_core::Result<()> where @@ -4354,7 +4354,7 @@ impl IObjectWithSite { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSite)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSite)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4373,7 +4373,7 @@ impl IOleAdviseHolder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), padvise.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), padvise.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok() @@ -4381,7 +4381,7 @@ impl IOleAdviseHolder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumAdvise(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SendOnRename(&self, pmk: P0) -> ::windows_core::Result<()> @@ -4423,7 +4423,7 @@ impl IOleCache { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cache(&self, pformatetc: *const super::Com::FORMATETC, advf: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cache)(::windows_core::Interface::as_raw(self), pformatetc, advf, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cache)(::windows_core::Interface::as_raw(self), pformatetc, advf, &mut result__).map(|| result__) } pub unsafe fn Uncache(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Uncache)(::windows_core::Interface::as_raw(self), dwconnection).ok() @@ -4431,7 +4431,7 @@ impl IOleCache { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCache)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitCache(&self, pdataobject: P0) -> ::windows_core::Result<()> @@ -4476,7 +4476,7 @@ impl IOleCache2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cache(&self, pformatetc: *const super::Com::FORMATETC, advf: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Cache)(::windows_core::Interface::as_raw(self), pformatetc, advf, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Cache)(::windows_core::Interface::as_raw(self), pformatetc, advf, &mut result__).map(|| result__) } pub unsafe fn Uncache(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Uncache)(::windows_core::Interface::as_raw(self), dwconnection).ok() @@ -4484,7 +4484,7 @@ impl IOleCache2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCache)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitCache(&self, pdataobject: P0) -> ::windows_core::Result<()> @@ -4554,11 +4554,11 @@ impl IOleClientSite { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMoniker(&self, dwassign: OLEGETMONIKER, dwwhichmoniker: OLEWHICHMK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwassign.0 as _, dwwhichmoniker.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwassign.0 as _, dwwhichmoniker.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowObject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowObject)(::windows_core::Interface::as_raw(self)).ok() @@ -4618,7 +4618,7 @@ impl IOleContainer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumObjects(&self, grfflags: OLECONTF) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumObjects)(::windows_core::Interface::as_raw(self), grfflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumObjects)(::windows_core::Interface::as_raw(self), grfflags.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockContainer(&self, flock: P0) -> ::windows_core::Result<()> where @@ -4688,7 +4688,7 @@ impl IOleControlSite { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtendedControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtendedControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtendedControl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransformCoords(&self, pptlhimetric: *mut super::super::Foundation::POINTL, pptfcontainer: *mut POINTF, dwflags: XFORMCOORDS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TransformCoords)(::windows_core::Interface::as_raw(self), pptlhimetric, pptfcontainer, dwflags.0 as _).ok() @@ -4735,11 +4735,11 @@ impl IOleDocument { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), pipsite.into_param().abi(), pstm.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), pipsite.into_param().abi(), pstm.into_param().abi(), dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocMiscStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocMiscStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocMiscStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumViews(&self, ppenum: *mut ::core::option::Option, ppview: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumViews)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppenum), ::core::mem::transmute(ppview)).ok() @@ -4783,18 +4783,18 @@ impl IOleDocumentView { } pub unsafe fn GetInPlaceSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInPlaceSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInPlaceSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocument(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRect(&self, prcview: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRect)(::windows_core::Interface::as_raw(self), prcview).ok() } pub unsafe fn GetRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRectComplex(&self, prcview: *const super::super::Foundation::RECT, prchscroll: *const super::super::Foundation::RECT, prcvscroll: *const super::super::Foundation::RECT, prcsizebox: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRectComplex)(::windows_core::Interface::as_raw(self), prcview, prchscroll, prcvscroll, prcsizebox).ok() @@ -4836,7 +4836,7 @@ impl IOleDocumentView { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), pipsitenew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), pipsitenew.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4868,7 +4868,7 @@ pub struct IOleDocumentView_Vtbl { impl IOleInPlaceActiveObject { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -4924,7 +4924,7 @@ pub struct IOleInPlaceActiveObject_Vtbl { impl IOleInPlaceFrame { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -4934,7 +4934,7 @@ impl IOleInPlaceFrame { } pub unsafe fn GetBorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBorder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestBorderSpace(&self, pborderwidths: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RequestBorderSpace)(::windows_core::Interface::as_raw(self), pborderwidths).ok() @@ -5016,7 +5016,7 @@ pub struct IOleInPlaceFrame_Vtbl { impl IOleInPlaceObject { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5051,7 +5051,7 @@ pub struct IOleInPlaceObject_Vtbl { impl IOleInPlaceObjectWindowless { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5077,11 +5077,11 @@ impl IOleInPlaceObjectWindowless { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnWindowMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnWindowMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDropTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5096,7 +5096,7 @@ pub struct IOleInPlaceObjectWindowless_Vtbl { impl IOleInPlaceSite { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5162,7 +5162,7 @@ pub struct IOleInPlaceSite_Vtbl { impl IOleInPlaceSiteEx { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5230,7 +5230,7 @@ pub struct IOleInPlaceSiteEx_Vtbl { impl IOleInPlaceSiteWindowless { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5308,7 +5308,7 @@ impl IOleInPlaceSiteWindowless { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetDC(&self, prect: *const super::super::Foundation::RECT, grfflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), prect, grfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDC)(::windows_core::Interface::as_raw(self), prect, grfflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn ReleaseDC(&self, hdc: P0) -> ::windows_core::Result<()> @@ -5343,7 +5343,7 @@ impl IOleInPlaceSiteWindowless { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnDefWindowMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnDefWindowMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -5377,7 +5377,7 @@ pub struct IOleInPlaceSiteWindowless_Vtbl { impl IOleInPlaceUIWindow { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -5387,7 +5387,7 @@ impl IOleInPlaceUIWindow { } pub unsafe fn GetBorder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestBorderSpace(&self, pborderwidths: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestBorderSpace)(::windows_core::Interface::as_raw(self), pborderwidths).ok() @@ -5426,7 +5426,7 @@ impl IOleItemContainer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumObjects(&self, grfflags: OLECONTF) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumObjects)(::windows_core::Interface::as_raw(self), grfflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumObjects)(::windows_core::Interface::as_raw(self), grfflags.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LockContainer(&self, flock: P0) -> ::windows_core::Result<()> where @@ -5442,7 +5442,7 @@ impl IOleItemContainer { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pszitem.into_param().abi(), dwspeedneeded, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pszitem.into_param().abi(), dwspeedneeded, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetObjectStorage(&self, pszitem: P0, pbc: P1) -> ::windows_core::Result @@ -5452,7 +5452,7 @@ impl IOleItemContainer { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetObjectStorage)(::windows_core::Interface::as_raw(self), pszitem.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectStorage)(::windows_core::Interface::as_raw(self), pszitem.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsRunning(&self, pszitem: P0) -> ::windows_core::Result<()> where @@ -5483,7 +5483,7 @@ impl IOleLink { } pub unsafe fn GetUpdateOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSourceMoniker(&self, pmk: P0, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> @@ -5495,7 +5495,7 @@ impl IOleLink { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSourceMoniker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceMoniker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceMoniker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSourceDisplayName(&self, pszstatustext: P0) -> ::windows_core::Result<()> where @@ -5505,7 +5505,7 @@ impl IOleLink { } pub unsafe fn GetSourceDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToSource(&self, bindflags: u32, pbc: P0) -> ::windows_core::Result<()> @@ -5519,7 +5519,7 @@ impl IOleLink { } pub unsafe fn GetBoundSource(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnbindSource(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnbindSource)(::windows_core::Interface::as_raw(self)).ok() @@ -5571,7 +5571,7 @@ impl IOleObject { } pub unsafe fn GetClientSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetHostNames(&self, szcontainerapp: P0, szcontainerobj: P1) -> ::windows_core::Result<()> where @@ -5593,7 +5593,7 @@ impl IOleObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMoniker(&self, dwassign: OLEGETMONIKER, dwwhichmoniker: OLEWHICHMK) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwassign.0 as _, dwwhichmoniker.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwassign.0 as _, dwwhichmoniker.0 as _, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InitFromData(&self, pdataobject: P0, fcreation: P1, dwreserved: u32) -> ::windows_core::Result<()> @@ -5606,7 +5606,7 @@ impl IOleObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClipboardData(&self, dwreserved: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClipboardData)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClipboardData)(::windows_core::Interface::as_raw(self), dwreserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn DoVerb(&self, iverb: i32, lpmsg: *const super::super::UI::WindowsAndMessaging::MSG, pactivesite: P0, lindex: i32, hwndparent: P1, lprcposrect: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> @@ -5618,7 +5618,7 @@ impl IOleObject { } pub unsafe fn EnumVerbs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumVerbs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumVerbs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Update(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Update)(::windows_core::Interface::as_raw(self)).ok() @@ -5628,11 +5628,11 @@ impl IOleObject { } pub unsafe fn GetUserClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserType(&self, dwformoftype: USERCLASSTYPE) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserType)(::windows_core::Interface::as_raw(self), dwformoftype.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserType)(::windows_core::Interface::as_raw(self), dwformoftype.0 as _, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetExtent(&self, dwdrawaspect: super::Com::DVASPECT, psizel: *const super::super::Foundation::SIZE) -> ::windows_core::Result<()> { @@ -5641,7 +5641,7 @@ impl IOleObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtent(&self, dwdrawaspect: super::Com::DVASPECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Advise(&self, padvsink: P0) -> ::windows_core::Result @@ -5649,7 +5649,7 @@ impl IOleObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), padvsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), padvsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok() @@ -5657,12 +5657,12 @@ impl IOleObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumAdvise(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMiscStatus(&self, dwaspect: super::Com::DVASPECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMiscStatus)(::windows_core::Interface::as_raw(self), dwaspect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMiscStatus)(::windows_core::Interface::as_raw(self), dwaspect, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetColorScheme(&self, plogpal: *const super::super::Graphics::Gdi::LOGPALETTE) -> ::windows_core::Result<()> { @@ -5739,7 +5739,7 @@ impl IOleParentUndoUnit { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUnitType(&self, pclsid: *mut ::windows_core::GUID, plid: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetUnitType)(::windows_core::Interface::as_raw(self), pclsid, plid).ok() @@ -5774,7 +5774,7 @@ impl IOleParentUndoUnit { } pub unsafe fn GetParentState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5798,7 +5798,7 @@ impl IOleUILinkContainerA { } pub unsafe fn GetLinkUpdateOptions(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } pub unsafe fn SetLinkSource(&self, dwlink: u32, lpszdisplayname: P0, lenfilename: u32, pcheaten: *mut u32, fvalidatesource: P1) -> ::windows_core::Result<()> where @@ -5848,7 +5848,7 @@ impl IOleUILinkContainerW { } pub unsafe fn GetLinkUpdateOptions(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } pub unsafe fn SetLinkSource(&self, dwlink: u32, lpszdisplayname: P0, lenfilename: u32, pcheaten: *mut u32, fvalidatesource: P1) -> ::windows_core::Result<()> where @@ -5898,7 +5898,7 @@ impl IOleUILinkInfoA { } pub unsafe fn GetLinkUpdateOptions(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } pub unsafe fn SetLinkSource(&self, dwlink: u32, lpszdisplayname: P0, lenfilename: u32, pcheaten: *mut u32, fvalidatesource: P1) -> ::windows_core::Result<()> where @@ -5925,7 +5925,7 @@ impl IOleUILinkInfoA { } pub unsafe fn GetLastUpdate(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastUpdate)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastUpdate)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } } #[repr(C)] @@ -5945,7 +5945,7 @@ impl IOleUILinkInfoW { } pub unsafe fn GetLinkUpdateOptions(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLinkUpdateOptions)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } pub unsafe fn SetLinkSource(&self, dwlink: u32, lpszdisplayname: P0, lenfilename: u32, pcheaten: *mut u32, fvalidatesource: P1) -> ::windows_core::Result<()> where @@ -5972,7 +5972,7 @@ impl IOleUILinkInfoW { } pub unsafe fn GetLastUpdate(&self, dwlink: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastUpdate)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastUpdate)(::windows_core::Interface::as_raw(self), dwlink, &mut result__).map(|| result__) } } #[repr(C)] @@ -6071,7 +6071,7 @@ impl IOleUndoManager { } pub unsafe fn GetOpenParentState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOpenParentState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOpenParentState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DiscardFrom(&self, puu: P0) -> ::windows_core::Result<()> where @@ -6093,19 +6093,19 @@ impl IOleUndoManager { } pub unsafe fn EnumUndoable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumUndoable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumUndoable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumRedoable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRedoable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRedoable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLastUndoDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastUndoDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastUndoDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLastRedoDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastRedoDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastRedoDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Enable(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -6142,7 +6142,7 @@ impl IOleUndoUnit { } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUnitType(&self, pclsid: *mut ::windows_core::GUID, plid: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetUnitType)(::windows_core::Interface::as_raw(self), pclsid, plid).ok() @@ -6165,7 +6165,7 @@ pub struct IOleUndoUnit_Vtbl { impl IOleWindow { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> where @@ -6207,18 +6207,18 @@ pub struct IParseDisplayName_Vtbl { impl IPerPropertyBrowsing { pub unsafe fn GetDisplayString(&self, dispid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayString)(::windows_core::Interface::as_raw(self), dispid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayString)(::windows_core::Interface::as_raw(self), dispid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MapPropertyToPage(&self, dispid: i32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapPropertyToPage)(::windows_core::Interface::as_raw(self), dispid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapPropertyToPage)(::windows_core::Interface::as_raw(self), dispid, &mut result__).map(|| result__) } pub unsafe fn GetPredefinedStrings(&self, dispid: i32, pcastringsout: *mut CALPOLESTR, pcacookiesout: *mut CADWORD) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPredefinedStrings)(::windows_core::Interface::as_raw(self), dispid, pcastringsout, pcacookiesout).ok() } pub unsafe fn GetPredefinedValue(&self, dispid: i32, dwcookie: u32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPredefinedValue)(::windows_core::Interface::as_raw(self), dispid, dwcookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPredefinedValue)(::windows_core::Interface::as_raw(self), dispid, dwcookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6239,7 +6239,7 @@ impl IPersistPropertyBag { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -6286,7 +6286,7 @@ impl IPersistPropertyBag2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok() @@ -6333,23 +6333,23 @@ pub struct IPersistPropertyBag2_Vtbl { impl IPicture { pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn hPal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hPal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hPal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Render(&self, hdc: P0, x: i32, y: i32, cx: i32, cy: i32, xsrc: i32, ysrc: i32, cxsrc: i32, cysrc: i32, prcwbounds: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> @@ -6367,7 +6367,7 @@ impl IPicture { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CurDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SelectPicture(&self, hdcin: P0, phdcout: *mut super::super::Graphics::Gdi::HDC, phbmpout: *mut OLE_HANDLE) -> ::windows_core::Result<()> @@ -6378,7 +6378,7 @@ impl IPicture { } pub unsafe fn KeepOriginalFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeepOriginalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeepOriginalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepOriginalFormat(&self, keep: P0) -> ::windows_core::Result<()> where @@ -6396,11 +6396,11 @@ impl IPicture { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveAsFile)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), fsavememcopy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveAsFile)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), fsavememcopy.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6439,23 +6439,23 @@ pub struct IPicture_Vtbl { impl IPicture2 { pub unsafe fn Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn hPal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hPal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hPal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Render(&self, hdc: P0, x: i32, y: i32, cx: i32, cy: i32, xsrc: i32, ysrc: i32, cxsrc: i32, cysrc: i32, prcwbounds: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> @@ -6470,7 +6470,7 @@ impl IPicture2 { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CurDC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurDC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurDC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SelectPicture(&self, hdcin: P0, phdcout: *mut super::super::Graphics::Gdi::HDC, phbmpout: *mut usize) -> ::windows_core::Result<()> @@ -6481,7 +6481,7 @@ impl IPicture2 { } pub unsafe fn KeepOriginalFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeepOriginalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeepOriginalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepOriginalFormat(&self, keep: P0) -> ::windows_core::Result<()> where @@ -6499,11 +6499,11 @@ impl IPicture2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveAsFile)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), fsavememcopy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveAsFile)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), fsavememcopy.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6554,7 +6554,7 @@ pub struct IPictureDisp_Vtbl { impl IPointerInactive { pub unsafe fn GetActivationPolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivationPolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivationPolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnInactiveMouseMove(&self, prectbounds: *const super::super::Foundation::RECT, x: i32, y: i32, grfkeystate: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnInactiveMouseMove)(::windows_core::Interface::as_raw(self), prectbounds, x, y, grfkeystate).ok() @@ -6751,11 +6751,11 @@ impl IPropertyPageSite { } pub unsafe fn GetLocaleID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocaleID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocaleID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPageContainer(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn TranslateAccelerator(&self, pmsg: *const super::super::UI::WindowsAndMessaging::MSG) -> ::windows_core::Result<()> { @@ -6779,7 +6779,7 @@ pub struct IPropertyPageSite_Vtbl { impl IProtectFocus { pub unsafe fn AllowFocusChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowFocusChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowFocusChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6794,7 +6794,7 @@ impl IProtectedModeMenuServices { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn CreateMenu(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMenu)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMenu)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn LoadMenu(&self, pszmodulename: P0, pszmenuname: P1) -> ::windows_core::Result @@ -6803,7 +6803,7 @@ impl IProtectedModeMenuServices { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadMenu)(::windows_core::Interface::as_raw(self), pszmodulename.into_param().abi(), pszmenuname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadMenu)(::windows_core::Interface::as_raw(self), pszmodulename.into_param().abi(), pszmenuname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn LoadMenuID(&self, pszmodulename: P0, wresourceid: u16) -> ::windows_core::Result @@ -6811,7 +6811,7 @@ impl IProtectedModeMenuServices { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadMenuID)(::windows_core::Interface::as_raw(self), pszmodulename.into_param().abi(), wresourceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadMenuID)(::windows_core::Interface::as_raw(self), pszmodulename.into_param().abi(), wresourceid, &mut result__).map(|| result__) } } #[repr(C)] @@ -6837,7 +6837,7 @@ impl IProvideClassInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6855,11 +6855,11 @@ impl IProvideClassInfo2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self, dwguidkind: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), dwguidkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), dwguidkind, &mut result__).map(|| result__) } } #[repr(C)] @@ -6874,15 +6874,15 @@ impl IProvideMultipleClassInfo { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self, dwguidkind: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), dwguidkind, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), dwguidkind, &mut result__).map(|| result__) } pub unsafe fn GetMultiTypeInfoCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMultiTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMultiTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInfoOfIndex(&self, iti: u32, dwflags: MULTICLASSINFO_FLAGS, ppticoclass: *mut ::core::option::Option, pdwtiflags: *mut u32, pcdispidreserved: *mut u32, piidprimary: *mut ::windows_core::GUID, piidsource: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { @@ -6924,7 +6924,7 @@ impl IQuickActivate { } pub unsafe fn GetContentExtent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContentExtent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContentExtent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6952,27 +6952,27 @@ impl IRecordInfo { } pub unsafe fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTypeInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetField(&self, pvdata: *const ::core::ffi::c_void, szfieldname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetField)(::windows_core::Interface::as_raw(self), pvdata, szfieldname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetField)(::windows_core::Interface::as_raw(self), pvdata, szfieldname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFieldNoCopy(&self, pvdata: *const ::core::ffi::c_void, szfieldname: P0, pvarfield: *mut ::windows_core::VARIANT, ppvdatacarray: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -7067,7 +7067,7 @@ pub struct ISimpleFrameSite_Vtbl { impl ISpecifyPropertyPages { pub unsafe fn GetPages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPages)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7086,7 +7086,7 @@ impl ITypeChangeEvents { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestTypeChange)(::windows_core::Interface::as_raw(self), changekind, ptinfobefore.into_param().abi(), pstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestTypeChange)(::windows_core::Interface::as_raw(self), changekind, ptinfobefore.into_param().abi(), pstrname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AfterTypeChange(&self, changekind: CHANGEKIND, ptinfoafter: P0, pstrname: P1) -> ::windows_core::Result<()> @@ -7119,7 +7119,7 @@ impl ITypeFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFromTypeInfo)(::windows_core::Interface::as_raw(self), ptypeinfo.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromTypeInfo)(::windows_core::Interface::as_raw(self), ptypeinfo.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7136,7 +7136,7 @@ pub struct ITypeFactory_Vtbl { impl ITypeMarshal { pub unsafe fn Size(&self, pvtype: *const ::core::ffi::c_void, dwdestcontext: u32, pvdestcontext: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), pvtype, dwdestcontext, pvdestcontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), pvtype, dwdestcontext, pvdestcontext, &mut result__).map(|| result__) } pub unsafe fn Marshal(&self, pvtype: *const ::core::ffi::c_void, dwdestcontext: u32, pvdestcontext: *const ::core::ffi::c_void, pbuffer: &mut [u8], pcbwritten: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Marshal)(::windows_core::Interface::as_raw(self), pvtype, dwdestcontext, pvdestcontext, pbuffer.len().try_into().unwrap(), ::core::mem::transmute(pbuffer.as_ptr()), pcbwritten).ok() @@ -7179,7 +7179,7 @@ impl IVBGetControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumControls(&self, dwolecontf: OLECONTF, dwwhich: ENUM_CONTROLS_WHICH_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumControls)(::windows_core::Interface::as_raw(self), dwolecontf.0 as _, dwwhich, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumControls)(::windows_core::Interface::as_raw(self), dwolecontf.0 as _, dwwhich, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7310,7 +7310,7 @@ impl IViewObject2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtent(&self, dwdrawaspect: super::Com::DVASPECT, lindex: i32, ptd: *const super::Com::DVTARGETDEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, lindex, ptd, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, lindex, ptd, &mut result__).map(|| result__) } } #[repr(C)] @@ -7361,23 +7361,23 @@ impl IViewObjectEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetExtent(&self, dwdrawaspect: super::Com::DVASPECT, lindex: i32, ptd: *const super::Com::DVTARGETDEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, lindex, ptd, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExtent)(::windows_core::Interface::as_raw(self), dwdrawaspect, lindex, ptd, &mut result__).map(|| result__) } pub unsafe fn GetRect(&self, dwaspect: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), dwaspect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), dwaspect, &mut result__).map(|| result__) } pub unsafe fn GetViewStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryHitPoint(&self, dwaspect: u32, prectbounds: *const super::super::Foundation::RECT, ptlloc: super::super::Foundation::POINT, lclosehint: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHitPoint)(::windows_core::Interface::as_raw(self), dwaspect, prectbounds, ::core::mem::transmute(ptlloc), lclosehint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHitPoint)(::windows_core::Interface::as_raw(self), dwaspect, prectbounds, ::core::mem::transmute(ptlloc), lclosehint, &mut result__).map(|| result__) } pub unsafe fn QueryHitRect(&self, dwaspect: u32, prectbounds: *const super::super::Foundation::RECT, prectloc: *const super::super::Foundation::RECT, lclosehint: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHitRect)(::windows_core::Interface::as_raw(self), dwaspect, prectbounds, prectloc, lclosehint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHitRect)(::windows_core::Interface::as_raw(self), dwaspect, prectbounds, prectloc, lclosehint, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))] pub unsafe fn GetNaturalExtent(&self, dwaspect: super::Com::DVASPECT, lindex: i32, ptd: *const super::Com::DVTARGETDEVICE, hictargetdev: P0, pextentinfo: *const DVEXTENTINFO) -> ::windows_core::Result @@ -7385,7 +7385,7 @@ impl IViewObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNaturalExtent)(::windows_core::Interface::as_raw(self), dwaspect, lindex, ptd, hictargetdev.into_param().abi(), pextentinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNaturalExtent)(::windows_core::Interface::as_raw(self), dwaspect, lindex, ptd, hictargetdev.into_param().abi(), pextentinfo, &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/ParentalControls/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ParentalControls/mod.rs index 59f7bc99fd..b73e856413 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ParentalControls/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ParentalControls/mod.rs @@ -3,19 +3,19 @@ impl IWPCGamesSettings { pub unsafe fn IsLoggingRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastSettingsChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRestrictions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsBlocked(&self, guidappid: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBlocked)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidappid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBlocked)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guidappid), &mut result__).map(|| result__) } } #[repr(C)] @@ -32,7 +32,7 @@ impl IWPCProviderConfig { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserSummary)(::windows_core::Interface::as_raw(self), bstrsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserSummary)(::windows_core::Interface::as_raw(self), bstrsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Configure(&self, hwnd: P0, bstrsid: P1) -> ::windows_core::Result<()> where @@ -79,7 +79,7 @@ pub struct IWPCProviderState_Vtbl { impl IWPCProviderSupport { pub unsafe fn GetCurrent(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -93,15 +93,15 @@ pub struct IWPCProviderSupport_Vtbl { impl IWPCSettings { pub unsafe fn IsLoggingRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastSettingsChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRestrictions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -117,19 +117,19 @@ pub struct IWPCSettings_Vtbl { impl IWPCWebSettings { pub unsafe fn IsLoggingRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsLoggingRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastSettingsChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastSettingsChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRestrictions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettings)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequestURLOverride(&self, hwnd: P0, pcszurl: P1, ppcszsuburls: ::core::option::Option<&[::windows_core::PCWSTR]>) -> ::windows_core::Result where @@ -137,7 +137,7 @@ impl IWPCWebSettings { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestURLOverride)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pcszurl.into_param().abi(), ppcszsuburls.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppcszsuburls.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestURLOverride)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pcszurl.into_param().abi(), ppcszsuburls.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppcszsuburls.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).map(|| result__) } } #[repr(C)] @@ -152,21 +152,21 @@ pub struct IWPCWebSettings_Vtbl { impl IWindowsParentalControls { pub unsafe fn GetVisibility(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisibility)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisibility)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserSettings(&self, pcszsid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUserSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUserSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWebSettings(&self, pcszsid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWebSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWebSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWebFilterInfo(&self, pguidid: *mut ::windows_core::GUID, ppszname: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetWebFilterInfo)(::windows_core::Interface::as_raw(self), pguidid, ::core::mem::transmute(ppszname.unwrap_or(::std::ptr::null_mut()))).ok() @@ -176,7 +176,7 @@ impl IWindowsParentalControls { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGamesSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGamesSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -190,21 +190,21 @@ pub struct IWindowsParentalControls_Vtbl { impl IWindowsParentalControlsCore { pub unsafe fn GetVisibility(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibility)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibility)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUserSettings(&self, pcszsid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWebSettings(&self, pcszsid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWebSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWebSettings)(::windows_core::Interface::as_raw(self), pcszsid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWebFilterInfo(&self, pguidid: *mut ::windows_core::GUID, ppszname: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetWebFilterInfo)(::windows_core::Interface::as_raw(self), pguidid, ::core::mem::transmute(ppszname.unwrap_or(::std::ptr::null_mut()))).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Performance/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Performance/mod.rs index 01940a0776..1ad60ef133 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Performance/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Performance/mod.rs @@ -1074,7 +1074,7 @@ impl IAlertDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -1085,11 +1085,11 @@ impl IAlertDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1099,14 +1099,14 @@ impl IAlertDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -1116,7 +1116,7 @@ impl IAlertDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -1126,7 +1126,7 @@ impl IAlertDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -1136,7 +1136,7 @@ impl IAlertDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -1146,7 +1146,7 @@ impl IAlertDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -1156,7 +1156,7 @@ impl IAlertDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1166,18 +1166,18 @@ impl IAlertDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -1185,19 +1185,19 @@ impl IAlertDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AlertThresholds(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlertThresholds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlertThresholds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetAlertThresholds(&self, alerts: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1205,7 +1205,7 @@ impl IAlertDataCollector { } pub unsafe fn EventLog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventLog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventLog)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventLog(&self, log: P0) -> ::windows_core::Result<()> where @@ -1215,14 +1215,14 @@ impl IAlertDataCollector { } pub unsafe fn SampleInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SampleInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SampleInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleInterval(&self, interval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleInterval)(::windows_core::Interface::as_raw(self), interval).ok() } pub unsafe fn Task(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTask(&self, task: P0) -> ::windows_core::Result<()> where @@ -1232,7 +1232,7 @@ impl IAlertDataCollector { } pub unsafe fn TaskRunAsSelf(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskRunAsSelf)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskRunAsSelf)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTaskRunAsSelf(&self, runasself: P0) -> ::windows_core::Result<()> where @@ -1242,7 +1242,7 @@ impl IAlertDataCollector { } pub unsafe fn TaskArguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskArguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskArguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTaskArguments(&self, task: P0) -> ::windows_core::Result<()> where @@ -1252,7 +1252,7 @@ impl IAlertDataCollector { } pub unsafe fn TaskUserTextArguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskUserTextArguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskUserTextArguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTaskUserTextArguments(&self, task: P0) -> ::windows_core::Result<()> where @@ -1262,7 +1262,7 @@ impl IAlertDataCollector { } pub unsafe fn TriggerDataCollectorSet(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TriggerDataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TriggerDataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTriggerDataCollectorSet(&self, name: P0) -> ::windows_core::Result<()> where @@ -1308,7 +1308,7 @@ impl IApiTracingDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -1319,11 +1319,11 @@ impl IApiTracingDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1333,14 +1333,14 @@ impl IApiTracingDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -1350,7 +1350,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -1360,7 +1360,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -1370,7 +1370,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -1380,7 +1380,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -1390,7 +1390,7 @@ impl IApiTracingDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1400,18 +1400,18 @@ impl IApiTracingDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -1419,18 +1419,18 @@ impl IApiTracingDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LogApiNamesOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogApiNamesOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogApiNamesOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogApiNamesOnly(&self, logapinames: P0) -> ::windows_core::Result<()> where @@ -1440,7 +1440,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LogApisRecursively(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogApisRecursively)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogApisRecursively)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogApisRecursively(&self, logrecursively: P0) -> ::windows_core::Result<()> where @@ -1450,7 +1450,7 @@ impl IApiTracingDataCollector { } pub unsafe fn ExePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetExePath(&self, exepath: P0) -> ::windows_core::Result<()> where @@ -1460,7 +1460,7 @@ impl IApiTracingDataCollector { } pub unsafe fn LogFilePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFilePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFilePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogFilePath(&self, logfilepath: P0) -> ::windows_core::Result<()> where @@ -1471,7 +1471,7 @@ impl IApiTracingDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncludeModules(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludeModules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludeModules)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIncludeModules(&self, includemodules: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1480,7 +1480,7 @@ impl IApiTracingDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IncludeApis(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludeApis)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludeApis)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIncludeApis(&self, includeapis: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1489,7 +1489,7 @@ impl IApiTracingDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExcludeApis(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExcludeApis)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExcludeApis)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetExcludeApis(&self, excludeapis: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1543,7 +1543,7 @@ impl IConfigurationDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -1554,11 +1554,11 @@ impl IConfigurationDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1568,14 +1568,14 @@ impl IConfigurationDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -1585,7 +1585,7 @@ impl IConfigurationDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -1595,7 +1595,7 @@ impl IConfigurationDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -1605,7 +1605,7 @@ impl IConfigurationDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -1615,7 +1615,7 @@ impl IConfigurationDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -1625,7 +1625,7 @@ impl IConfigurationDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -1635,18 +1635,18 @@ impl IConfigurationDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -1654,32 +1654,32 @@ impl IConfigurationDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FileMaxCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileMaxCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileMaxCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileMaxCount(&self, count: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileMaxCount)(::windows_core::Interface::as_raw(self), count).ok() } pub unsafe fn FileMaxRecursiveDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileMaxRecursiveDepth(&self, depth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), depth).ok() } pub unsafe fn FileMaxTotalSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileMaxTotalSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileMaxTotalSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileMaxTotalSize(&self, size: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileMaxTotalSize)(::windows_core::Interface::as_raw(self), size).ok() @@ -1687,7 +1687,7 @@ impl IConfigurationDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Files(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Files)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Files)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFiles(&self, files: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1696,7 +1696,7 @@ impl IConfigurationDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ManagementQueries(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ManagementQueries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ManagementQueries)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetManagementQueries(&self, queries: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1704,7 +1704,7 @@ impl IConfigurationDataCollector { } pub unsafe fn QueryNetworkAdapters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryNetworkAdapters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryNetworkAdapters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryNetworkAdapters(&self, network: P0) -> ::windows_core::Result<()> where @@ -1715,7 +1715,7 @@ impl IConfigurationDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegistryKeys(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistryKeys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistryKeys)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRegistryKeys(&self, query: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -1723,14 +1723,14 @@ impl IConfigurationDataCollector { } pub unsafe fn RegistryMaxRecursiveDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistryMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistryMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRegistryMaxRecursiveDepth(&self, depth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRegistryMaxRecursiveDepth)(::windows_core::Interface::as_raw(self), depth).ok() } pub unsafe fn SystemStateFile(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemStateFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemStateFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSystemStateFile(&self, filename: P0) -> ::windows_core::Result<()> where @@ -1786,39 +1786,39 @@ pub struct IConfigurationDataCollector_Vtbl { impl ICounterItem { pub unsafe fn Value(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Color(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, iwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), iwidth).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLineStyle(&self, ilinestyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLineStyle)(::windows_core::Interface::as_raw(self), ilinestyle).ok() } pub unsafe fn LineStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScaleFactor(&self, iscale: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScaleFactor)(::windows_core::Interface::as_raw(self), iscale).ok() } pub unsafe fn ScaleFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, value: *mut f64, status: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), value, status).ok() @@ -1849,39 +1849,39 @@ pub struct ICounterItem_Vtbl { impl ICounterItem2 { pub unsafe fn Value(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Value)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Color(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Color)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Color)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, iwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetWidth)(::windows_core::Interface::as_raw(self), iwidth).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLineStyle(&self, ilinestyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLineStyle)(::windows_core::Interface::as_raw(self), ilinestyle).ok() } pub unsafe fn LineStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScaleFactor(&self, iscale: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScaleFactor)(::windows_core::Interface::as_raw(self), iscale).ok() } pub unsafe fn ScaleFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, value: *mut f64, status: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), value, status).ok() @@ -1897,7 +1897,7 @@ impl ICounterItem2 { } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -1907,11 +1907,11 @@ impl ICounterItem2 { } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataAt(&self, iindex: i32, iwhich: SysmonDataType) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataAt)(::windows_core::Interface::as_raw(self), iindex, iwhich, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataAt)(::windows_core::Interface::as_raw(self), iindex, iwhich, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1932,11 +1932,11 @@ pub struct ICounterItem2_Vtbl { impl ICounters { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -1944,7 +1944,7 @@ impl ICounters { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pathname: P0) -> ::windows_core::Result @@ -1952,7 +1952,7 @@ impl ICounters { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), pathname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), pathname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -1987,7 +1987,7 @@ impl IDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -1998,11 +1998,11 @@ impl IDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -2012,14 +2012,14 @@ impl IDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -2029,7 +2029,7 @@ impl IDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -2039,7 +2039,7 @@ impl IDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -2049,7 +2049,7 @@ impl IDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -2059,7 +2059,7 @@ impl IDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -2069,7 +2069,7 @@ impl IDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -2079,18 +2079,18 @@ impl IDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -2098,14 +2098,14 @@ impl IDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2156,7 +2156,7 @@ pub struct IDataCollector_Vtbl { impl IDataCollectorCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2164,11 +2164,11 @@ impl IDataCollectorCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, collector: P0) -> ::windows_core::Result<()> @@ -2203,7 +2203,7 @@ impl IDataCollectorCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDataCollector(&self, r#type: DataCollectorType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDataCollector)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDataCollector)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2245,18 +2245,18 @@ impl IDataCollectorSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataCollectors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataCollectors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Duration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Duration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDuration(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDuration)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -2266,11 +2266,11 @@ impl IDataCollectorSet { } pub unsafe fn DescriptionUnresolved(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DescriptionUnresolved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DescriptionUnresolved)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, displayname: P0) -> ::windows_core::Result<()> where @@ -2280,12 +2280,12 @@ impl IDataCollectorSet { } pub unsafe fn DisplayNameUnresolved(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayNameUnresolved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayNameUnresolved)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Keywords(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Keywords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Keywords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetKeywords(&self, keywords: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -2293,7 +2293,7 @@ impl IDataCollectorSet { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -2303,15 +2303,15 @@ impl IDataCollectorSet { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RootPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRootPath(&self, folder: P0) -> ::windows_core::Result<()> where @@ -2321,7 +2321,7 @@ impl IDataCollectorSet { } pub unsafe fn Segment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Segment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Segment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSegment(&self, segment: P0) -> ::windows_core::Result<()> where @@ -2331,36 +2331,36 @@ impl IDataCollectorSet { } pub unsafe fn SegmentMaxDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SegmentMaxDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SegmentMaxDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSegmentMaxDuration(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSegmentMaxDuration)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn SegmentMaxSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SegmentMaxSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SegmentMaxSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSegmentMaxSize(&self, size: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSegmentMaxSize)(::windows_core::Interface::as_raw(self), size).ok() } pub unsafe fn SerialNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SerialNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSerialNumber(&self, index: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSerialNumber)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Server(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Server)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Server)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Subdirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subdirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subdirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubdirectory(&self, folder: P0) -> ::windows_core::Result<()> where @@ -2370,14 +2370,14 @@ impl IDataCollectorSet { } pub unsafe fn SubdirectoryFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubdirectoryFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubdirectoryFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubdirectoryFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSubdirectoryFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn SubdirectoryFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubdirectoryFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubdirectoryFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSubdirectoryFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -2387,7 +2387,7 @@ impl IDataCollectorSet { } pub unsafe fn Task(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Task)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTask(&self, task: P0) -> ::windows_core::Result<()> where @@ -2397,7 +2397,7 @@ impl IDataCollectorSet { } pub unsafe fn TaskRunAsSelf(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskRunAsSelf)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskRunAsSelf)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTaskRunAsSelf(&self, runasself: P0) -> ::windows_core::Result<()> where @@ -2407,7 +2407,7 @@ impl IDataCollectorSet { } pub unsafe fn TaskArguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskArguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskArguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTaskArguments(&self, task: P0) -> ::windows_core::Result<()> where @@ -2417,7 +2417,7 @@ impl IDataCollectorSet { } pub unsafe fn TaskUserTextArguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TaskUserTextArguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TaskUserTextArguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTaskUserTextArguments(&self, usertext: P0) -> ::windows_core::Result<()> where @@ -2428,11 +2428,11 @@ impl IDataCollectorSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Schedules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Schedules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Schedules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SchedulesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SchedulesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SchedulesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSchedulesEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -2442,15 +2442,15 @@ impl IDataCollectorSet { } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Security(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurity(&self, bstrsecurity: P0) -> ::windows_core::Result<()> where @@ -2460,7 +2460,7 @@ impl IDataCollectorSet { } pub unsafe fn StopOnCompletion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StopOnCompletion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StopOnCompletion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStopOnCompletion(&self, stop: P0) -> ::windows_core::Result<()> where @@ -2471,7 +2471,7 @@ impl IDataCollectorSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, user: P0, password: P1) -> ::windows_core::Result<()> where @@ -2494,7 +2494,7 @@ impl IDataCollectorSet { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), name.into_param().abi(), server.into_param().abi(), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), name.into_param().abi(), server.into_param().abi(), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self)).ok() @@ -2517,7 +2517,7 @@ impl IDataCollectorSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, key: P0, value: P1) -> ::windows_core::Result<()> where @@ -2531,7 +2531,7 @@ impl IDataCollectorSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2629,7 +2629,7 @@ pub struct IDataCollectorSet_Vtbl { impl IDataCollectorSetCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2637,11 +2637,11 @@ impl IDataCollectorSetCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, set: P0) -> ::windows_core::Result<()> @@ -2705,7 +2705,7 @@ pub struct IDataCollectorSetCollection_Vtbl { impl IDataManager { pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -2715,7 +2715,7 @@ impl IDataManager { } pub unsafe fn CheckBeforeRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckBeforeRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckBeforeRunning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCheckBeforeRunning(&self, fcheck: P0) -> ::windows_core::Result<()> where @@ -2725,28 +2725,28 @@ impl IDataManager { } pub unsafe fn MinFreeDisk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinFreeDisk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinFreeDisk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinFreeDisk(&self, minfreedisk: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinFreeDisk)(::windows_core::Interface::as_raw(self), minfreedisk).ok() } pub unsafe fn MaxSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxSize(&self, ulmaxsize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxSize)(::windows_core::Interface::as_raw(self), ulmaxsize).ok() } pub unsafe fn MaxFolderCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxFolderCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxFolderCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxFolderCount(&self, ulmaxfoldercount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxFolderCount)(::windows_core::Interface::as_raw(self), ulmaxfoldercount).ok() } pub unsafe fn ResourcePolicy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResourcePolicy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResourcePolicy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetResourcePolicy(&self, policy: ResourcePolicy) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetResourcePolicy)(::windows_core::Interface::as_raw(self), policy).ok() @@ -2754,11 +2754,11 @@ impl IDataManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FolderActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FolderActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FolderActions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReportSchema(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportSchema)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportSchema)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReportSchema(&self, reportschema: P0) -> ::windows_core::Result<()> where @@ -2768,7 +2768,7 @@ impl IDataManager { } pub unsafe fn ReportFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReportFileName(&self, pbstrfilename: P0) -> ::windows_core::Result<()> where @@ -2778,7 +2778,7 @@ impl IDataManager { } pub unsafe fn RuleTargetFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RuleTargetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RuleTargetFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRuleTargetFileName(&self, filename: P0) -> ::windows_core::Result<()> where @@ -2788,7 +2788,7 @@ impl IDataManager { } pub unsafe fn EventsFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventsFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventsFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEventsFileName(&self, pbstrfilename: P0) -> ::windows_core::Result<()> where @@ -2798,7 +2798,7 @@ impl IDataManager { } pub unsafe fn Rules(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRules(&self, bstrxml: P0) -> ::windows_core::Result<()> where @@ -2812,7 +2812,7 @@ impl IDataManager { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), steps, bstrfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), steps, bstrfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Extract(&self, cabfilename: P0, destinationpath: P1) -> ::windows_core::Result<()> where @@ -2867,28 +2867,28 @@ pub struct IDataManager_Vtbl { impl IFolderAction { pub unsafe fn Age(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Age)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Age)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAge(&self, ulage: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAge)(::windows_core::Interface::as_raw(self), ulage).ok() } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSize(&self, ulage: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSize)(::windows_core::Interface::as_raw(self), ulage).ok() } pub unsafe fn Actions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActions(&self, steps: FolderActionSteps) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActions)(::windows_core::Interface::as_raw(self), steps).ok() } pub unsafe fn SendCabTo(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendCabTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendCabTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSendCabTo(&self, bstrdestination: P0) -> ::windows_core::Result<()> where @@ -2919,7 +2919,7 @@ pub struct IFolderAction_Vtbl { impl IFolderActionCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2927,11 +2927,11 @@ impl IFolderActionCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, action: P0) -> ::windows_core::Result<()> @@ -2959,7 +2959,7 @@ impl IFolderActionCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFolderAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFolderAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFolderAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2993,7 +2993,7 @@ pub struct IFolderActionCollection_Vtbl { impl ILogFileItem { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3010,11 +3010,11 @@ pub struct ILogFileItem_Vtbl { impl ILogFiles { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -3022,7 +3022,7 @@ impl ILogFiles { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pathname: P0) -> ::windows_core::Result @@ -3030,7 +3030,7 @@ impl ILogFiles { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), pathname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), pathname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -3065,7 +3065,7 @@ impl IPerformanceCounterDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -3076,11 +3076,11 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3090,14 +3090,14 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -3107,7 +3107,7 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -3117,7 +3117,7 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -3127,7 +3127,7 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -3137,7 +3137,7 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -3147,7 +3147,7 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -3157,18 +3157,18 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -3176,18 +3176,18 @@ impl IPerformanceCounterDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DataSourceName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSourceName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSourceName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDataSourceName(&self, dsn: P0) -> ::windows_core::Result<()> where @@ -3198,7 +3198,7 @@ impl IPerformanceCounterDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PerformanceCounters(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PerformanceCounters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PerformanceCounters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPerformanceCounters(&self, counters: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -3206,21 +3206,21 @@ impl IPerformanceCounterDataCollector { } pub unsafe fn LogFileFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFileFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFileFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogFileFormat(&self, format: FileFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogFileFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn SampleInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SampleInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SampleInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSampleInterval(&self, interval: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSampleInterval)(::windows_core::Interface::as_raw(self), interval).ok() } pub unsafe fn SegmentMaxRecords(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SegmentMaxRecords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SegmentMaxRecords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSegmentMaxRecords(&self, records: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSegmentMaxRecords)(::windows_core::Interface::as_raw(self), records).ok() @@ -3256,7 +3256,7 @@ pub struct IPerformanceCounterDataCollector_Vtbl { impl ISchedule { pub unsafe fn StartDate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStartDate(&self, start: P0) -> ::windows_core::Result<()> where @@ -3266,7 +3266,7 @@ impl ISchedule { } pub unsafe fn EndDate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEndDate(&self, end: P0) -> ::windows_core::Result<()> where @@ -3276,7 +3276,7 @@ impl ISchedule { } pub unsafe fn StartTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStartTime(&self, start: P0) -> ::windows_core::Result<()> where @@ -3286,7 +3286,7 @@ impl ISchedule { } pub unsafe fn Days(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Days)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Days)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDays(&self, days: WeekDays) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDays)(::windows_core::Interface::as_raw(self), days).ok() @@ -3314,7 +3314,7 @@ pub struct ISchedule_Vtbl { impl IScheduleCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -3322,11 +3322,11 @@ impl IScheduleCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pschedule: P0) -> ::windows_core::Result<()> @@ -3354,7 +3354,7 @@ impl IScheduleCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateSchedule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSchedule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSchedule)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3388,28 +3388,28 @@ pub struct IScheduleCollection_Vtbl { impl ISystemMonitor { pub unsafe fn Appearance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppearance(&self, iappearance: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppearance)(::windows_core::Interface::as_raw(self), iappearance).ok() } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn BorderStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderStyle(&self, iborderstyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBorderStyle)(::windows_core::Interface::as_raw(self), iborderstyle).ok() } pub unsafe fn ForeColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForeColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetForeColor)(::windows_core::Interface::as_raw(self), color).ok() @@ -3417,7 +3417,7 @@ impl ISystemMonitor { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Font(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn putref_Font(&self, pfont: P0) -> ::windows_core::Result<()> @@ -3429,7 +3429,7 @@ impl ISystemMonitor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Counters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Counters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Counters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetShowVerticalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3439,7 +3439,7 @@ impl ISystemMonitor { } pub unsafe fn ShowVerticalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowHorizontalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3449,7 +3449,7 @@ impl ISystemMonitor { } pub unsafe fn ShowHorizontalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowLegend(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3459,7 +3459,7 @@ impl ISystemMonitor { } pub unsafe fn ShowLegend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowScaleLabels(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3469,7 +3469,7 @@ impl ISystemMonitor { } pub unsafe fn ShowScaleLabels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowValueBar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3479,35 +3479,35 @@ impl ISystemMonitor { } pub unsafe fn ShowValueBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MaximumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MinimumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUpdateInterval(&self, fvalue: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUpdateInterval)(::windows_core::Interface::as_raw(self), fvalue).ok() } pub unsafe fn UpdateInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayType(&self, edisplaytype: DisplayTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplayType)(::windows_core::Interface::as_raw(self), edisplaytype).ok() } pub unsafe fn DisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetManualUpdate(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3517,7 +3517,7 @@ impl ISystemMonitor { } pub unsafe fn ManualUpdate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGraphTitle(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -3527,7 +3527,7 @@ impl ISystemMonitor { } pub unsafe fn GraphTitle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetYAxisLabel(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -3537,7 +3537,7 @@ impl ISystemMonitor { } pub unsafe fn YAxisLabel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CollectSample(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CollectSample)(::windows_core::Interface::as_raw(self)).ok() @@ -3553,14 +3553,14 @@ impl ISystemMonitor { } pub unsafe fn Counter(&self, iindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddCounter(&self, bspath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteCounter(&self, pctr: P0) -> ::windows_core::Result<()> where @@ -3570,7 +3570,7 @@ impl ISystemMonitor { } pub unsafe fn BackColorCtl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColorCtl(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColorCtl)(::windows_core::Interface::as_raw(self), color).ok() @@ -3583,39 +3583,39 @@ impl ISystemMonitor { } pub unsafe fn LogFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogViewStart(&self, starttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewStart)(::windows_core::Interface::as_raw(self), starttime).ok() } pub unsafe fn LogViewStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogViewStop(&self, stoptime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewStop)(::windows_core::Interface::as_raw(self), stoptime).ok() } pub unsafe fn LogViewStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GridColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GridColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GridColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGridColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGridColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn TimeBarColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimeBarColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimeBarColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Highlight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Highlight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Highlight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighlight(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3625,7 +3625,7 @@ impl ISystemMonitor { } pub unsafe fn ShowToolbar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowToolbar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3650,14 +3650,14 @@ impl ISystemMonitor { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportValueType(&self, ereportvaluetype: ReportValueTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReportValueType)(::windows_core::Interface::as_raw(self), ereportvaluetype).ok() } pub unsafe fn ReportValueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitorDuplicateInstances(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3667,26 +3667,26 @@ impl ISystemMonitor { } pub unsafe fn MonitorDuplicateInstances(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayFilter(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplayFilter)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn DisplayFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LogFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDataSourceType(&self, edatasourcetype: DataSourceTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDataSourceType)(::windows_core::Interface::as_raw(self), edatasourcetype).ok() } pub unsafe fn DataSourceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSqlDsnName(&self, bssqldsnname: P0) -> ::windows_core::Result<()> where @@ -3696,7 +3696,7 @@ impl ISystemMonitor { } pub unsafe fn SqlDsnName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSqlLogSetName(&self, bssqllogsetname: P0) -> ::windows_core::Result<()> where @@ -3706,7 +3706,7 @@ impl ISystemMonitor { } pub unsafe fn SqlLogSetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3807,28 +3807,28 @@ pub struct ISystemMonitor_Vtbl { impl ISystemMonitor2 { pub unsafe fn Appearance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Appearance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Appearance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppearance(&self, iappearance: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAppearance)(::windows_core::Interface::as_raw(self), iappearance).ok() } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBackColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn BorderStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderStyle(&self, iborderstyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBorderStyle)(::windows_core::Interface::as_raw(self), iborderstyle).ok() } pub unsafe fn ForeColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForeColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetForeColor)(::windows_core::Interface::as_raw(self), color).ok() @@ -3836,7 +3836,7 @@ impl ISystemMonitor2 { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Font(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Font)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Font)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn putref_Font(&self, pfont: P0) -> ::windows_core::Result<()> @@ -3848,7 +3848,7 @@ impl ISystemMonitor2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Counters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Counters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Counters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetShowVerticalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3858,7 +3858,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowVerticalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowHorizontalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3868,7 +3868,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowHorizontalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowLegend(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3878,7 +3878,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowLegend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowScaleLabels(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3888,7 +3888,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowScaleLabels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowValueBar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3898,35 +3898,35 @@ impl ISystemMonitor2 { } pub unsafe fn ShowValueBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaximumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MaximumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMinimumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MinimumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUpdateInterval(&self, fvalue: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetUpdateInterval)(::windows_core::Interface::as_raw(self), fvalue).ok() } pub unsafe fn UpdateInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayType(&self, edisplaytype: DisplayTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDisplayType)(::windows_core::Interface::as_raw(self), edisplaytype).ok() } pub unsafe fn DisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetManualUpdate(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -3936,7 +3936,7 @@ impl ISystemMonitor2 { } pub unsafe fn ManualUpdate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGraphTitle(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -3946,7 +3946,7 @@ impl ISystemMonitor2 { } pub unsafe fn GraphTitle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetYAxisLabel(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -3956,7 +3956,7 @@ impl ISystemMonitor2 { } pub unsafe fn YAxisLabel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CollectSample(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CollectSample)(::windows_core::Interface::as_raw(self)).ok() @@ -3972,14 +3972,14 @@ impl ISystemMonitor2 { } pub unsafe fn Counter(&self, iindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddCounter(&self, bspath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteCounter(&self, pctr: P0) -> ::windows_core::Result<()> where @@ -3989,7 +3989,7 @@ impl ISystemMonitor2 { } pub unsafe fn BackColorCtl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColorCtl(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBackColorCtl)(::windows_core::Interface::as_raw(self), color).ok() @@ -4002,39 +4002,39 @@ impl ISystemMonitor2 { } pub unsafe fn LogFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogViewStart(&self, starttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLogViewStart)(::windows_core::Interface::as_raw(self), starttime).ok() } pub unsafe fn LogViewStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogViewStop(&self, stoptime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLogViewStop)(::windows_core::Interface::as_raw(self), stoptime).ok() } pub unsafe fn LogViewStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GridColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GridColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GridColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGridColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGridColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn TimeBarColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimeBarColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTimeBarColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Highlight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Highlight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Highlight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighlight(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4044,7 +4044,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowToolbar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowToolbar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4069,14 +4069,14 @@ impl ISystemMonitor2 { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportValueType(&self, ereportvaluetype: ReportValueTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetReportValueType)(::windows_core::Interface::as_raw(self), ereportvaluetype).ok() } pub unsafe fn ReportValueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitorDuplicateInstances(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4086,26 +4086,26 @@ impl ISystemMonitor2 { } pub unsafe fn MonitorDuplicateInstances(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayFilter(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDisplayFilter)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn DisplayFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LogFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDataSourceType(&self, edatasourcetype: DataSourceTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDataSourceType)(::windows_core::Interface::as_raw(self), edatasourcetype).ok() } pub unsafe fn DataSourceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSqlDsnName(&self, bssqldsnname: P0) -> ::windows_core::Result<()> where @@ -4115,7 +4115,7 @@ impl ISystemMonitor2 { } pub unsafe fn SqlDsnName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSqlLogSetName(&self, bssqllogsetname: P0) -> ::windows_core::Result<()> where @@ -4125,7 +4125,7 @@ impl ISystemMonitor2 { } pub unsafe fn SqlLogSetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnableDigitGrouping(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4135,7 +4135,7 @@ impl ISystemMonitor2 { } pub unsafe fn EnableDigitGrouping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableDigitGrouping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableDigitGrouping)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableToolTips(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4145,7 +4145,7 @@ impl ISystemMonitor2 { } pub unsafe fn EnableToolTips(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableToolTips)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableToolTips)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowTimeAxisLabels(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -4155,7 +4155,7 @@ impl ISystemMonitor2 { } pub unsafe fn ShowTimeAxisLabels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowTimeAxisLabels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowTimeAxisLabels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChartScroll(&self, bscroll: P0) -> ::windows_core::Result<()> where @@ -4165,14 +4165,14 @@ impl ISystemMonitor2 { } pub unsafe fn ChartScroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChartScroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChartScroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataPointCount(&self, inewcount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDataPointCount)(::windows_core::Interface::as_raw(self), inewcount).ok() } pub unsafe fn DataPointCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataPointCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataPointCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScaleToFit(&self, bselectedcountersonly: P0) -> ::windows_core::Result<()> where @@ -4197,11 +4197,11 @@ impl ISystemMonitor2 { } pub unsafe fn LogSourceStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogSourceStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogSourceStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LogSourceStopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogSourceStopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogSourceStopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogViewRange(&self, starttime: f64, stoptime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewRange)(::windows_core::Interface::as_raw(self), starttime, stoptime).ok() @@ -4285,7 +4285,7 @@ impl ITraceDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DataCollectorSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataCollectorSet(&self, group: P0) -> ::windows_core::Result<()> @@ -4296,11 +4296,11 @@ impl ITraceDataCollector { } pub unsafe fn DataCollectorType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataCollectorType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4310,14 +4310,14 @@ impl ITraceDataCollector { } pub unsafe fn FileNameFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFileNameFormat(&self, format: AutoPathFormat) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFileNameFormat)(::windows_core::Interface::as_raw(self), format).ok() } pub unsafe fn FileNameFormatPattern(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FileNameFormatPattern)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileNameFormatPattern(&self, pattern: P0) -> ::windows_core::Result<()> where @@ -4327,7 +4327,7 @@ impl ITraceDataCollector { } pub unsafe fn LatestOutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LatestOutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLatestOutputLocation(&self, path: P0) -> ::windows_core::Result<()> where @@ -4337,7 +4337,7 @@ impl ITraceDataCollector { } pub unsafe fn LogAppend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogAppend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogAppend(&self, append: P0) -> ::windows_core::Result<()> where @@ -4347,7 +4347,7 @@ impl ITraceDataCollector { } pub unsafe fn LogCircular(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogCircular)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogCircular(&self, circular: P0) -> ::windows_core::Result<()> where @@ -4357,7 +4357,7 @@ impl ITraceDataCollector { } pub unsafe fn LogOverwrite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LogOverwrite)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogOverwrite(&self, overwrite: P0) -> ::windows_core::Result<()> where @@ -4367,7 +4367,7 @@ impl ITraceDataCollector { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4377,18 +4377,18 @@ impl ITraceDataCollector { } pub unsafe fn OutputLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OutputLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), index).ok() } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetXml(&self, xml: P0) -> ::windows_core::Result @@ -4396,106 +4396,106 @@ impl ITraceDataCollector { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetXml)(::windows_core::Interface::as_raw(self), xml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOutputLocation(&self, latest: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOutputLocation)(::windows_core::Interface::as_raw(self), latest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BufferSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BufferSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BufferSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBufferSize(&self, size: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBufferSize)(::windows_core::Interface::as_raw(self), size).ok() } pub unsafe fn BuffersLost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuffersLost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuffersLost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBuffersLost(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBuffersLost)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn BuffersWritten(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuffersWritten)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuffersWritten)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBuffersWritten(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBuffersWritten)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn ClockType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClockType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClockType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClockType(&self, clock: ClockType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClockType)(::windows_core::Interface::as_raw(self), clock).ok() } pub unsafe fn EventsLost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventsLost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventsLost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventsLost(&self, events: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEventsLost)(::windows_core::Interface::as_raw(self), events).ok() } pub unsafe fn ExtendedModes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedModes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedModes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExtendedModes(&self, mode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExtendedModes)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn FlushTimer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FlushTimer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FlushTimer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlushTimer(&self, seconds: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlushTimer)(::windows_core::Interface::as_raw(self), seconds).ok() } pub unsafe fn FreeBuffers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FreeBuffers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FreeBuffers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFreeBuffers(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFreeBuffers)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGuid(&self, guid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guid)).ok() } pub unsafe fn IsKernelTrace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsKernelTrace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsKernelTrace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaximumBuffers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumBuffers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumBuffers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumBuffers(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumBuffers)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn MinimumBuffers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinimumBuffers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinimumBuffers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumBuffers(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumBuffers)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn NumberOfBuffers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfBuffers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfBuffers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNumberOfBuffers(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNumberOfBuffers)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn PreallocateFile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreallocateFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreallocateFile)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreallocateFile(&self, allocate: P0) -> ::windows_core::Result<()> where @@ -4505,7 +4505,7 @@ impl ITraceDataCollector { } pub unsafe fn ProcessMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProcessMode(&self, process: P0) -> ::windows_core::Result<()> where @@ -4515,21 +4515,21 @@ impl ITraceDataCollector { } pub unsafe fn RealTimeBuffersLost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RealTimeBuffersLost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RealTimeBuffersLost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRealTimeBuffersLost(&self, buffers: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRealTimeBuffersLost)(::windows_core::Interface::as_raw(self), buffers).ok() } pub unsafe fn SessionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSessionId(&self, id: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSessionId)(::windows_core::Interface::as_raw(self), id).ok() } pub unsafe fn SessionName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSessionName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4539,14 +4539,14 @@ impl ITraceDataCollector { } pub unsafe fn SessionThreadId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionThreadId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSessionThreadId(&self, tid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSessionThreadId)(::windows_core::Interface::as_raw(self), tid).ok() } pub unsafe fn StreamMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StreamMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StreamMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamMode(&self, mode: StreamMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -4554,7 +4554,7 @@ impl ITraceDataCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn TraceDataProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TraceDataProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TraceDataProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4614,7 +4614,7 @@ pub struct ITraceDataCollector_Vtbl { impl ITraceDataProvider { pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, name: P0) -> ::windows_core::Result<()> where @@ -4624,7 +4624,7 @@ impl ITraceDataProvider { } pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGuid(&self, guid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGuid)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(guid)).ok() @@ -4632,26 +4632,26 @@ impl ITraceDataProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Level(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KeywordsAny(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeywordsAny)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeywordsAny)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KeywordsAll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeywordsAll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeywordsAll)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FilterEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilterEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilterEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFilterEnabled(&self, filterenabled: P0) -> ::windows_core::Result<()> where @@ -4661,7 +4661,7 @@ impl ITraceDataProvider { } pub unsafe fn FilterType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilterType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilterType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFilterType(&self, ultype: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFilterType)(::windows_core::Interface::as_raw(self), ultype).ok() @@ -4669,7 +4669,7 @@ impl ITraceDataProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FilterData(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FilterData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FilterData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFilterData(&self, pdata: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -4697,12 +4697,12 @@ impl ITraceDataProvider { } pub unsafe fn GetSecurity(&self, securityinfo: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurity)(::windows_core::Interface::as_raw(self), securityinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurity)(::windows_core::Interface::as_raw(self), securityinfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRegisteredProcesses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisteredProcesses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisteredProcesses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4762,7 +4762,7 @@ pub struct ITraceDataProvider_Vtbl { impl ITraceDataProviderCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -4770,11 +4770,11 @@ impl ITraceDataProviderCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, pprovider: P0) -> ::windows_core::Result<()> @@ -4802,7 +4802,7 @@ impl ITraceDataProviderCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateTraceDataProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTraceDataProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTraceDataProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTraceDataProviders(&self, server: P0) -> ::windows_core::Result<()> where @@ -4853,7 +4853,7 @@ pub struct ITraceDataProviderCollection_Vtbl { impl IValueMap { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -4861,15 +4861,15 @@ impl IValueMap { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4879,7 +4879,7 @@ impl IValueMap { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -4889,7 +4889,7 @@ impl IValueMap { } pub unsafe fn ValueMapType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueMapType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueMapType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValueMapType(&self, r#type: ValueMapType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValueMapType)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -4919,7 +4919,7 @@ impl IValueMap { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateValueMapItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateValueMapItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateValueMapItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4959,7 +4959,7 @@ pub struct IValueMap_Vtbl { impl IValueMapItem { pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, description: P0) -> ::windows_core::Result<()> where @@ -4969,7 +4969,7 @@ impl IValueMapItem { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -4979,7 +4979,7 @@ impl IValueMapItem { } pub unsafe fn Key(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetKey(&self, key: P0) -> ::windows_core::Result<()> where @@ -4989,7 +4989,7 @@ impl IValueMapItem { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: P0) -> ::windows_core::Result<()> where @@ -4999,7 +4999,7 @@ impl IValueMapItem { } pub unsafe fn ValueMapType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueMapType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueMapType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetValueMapType(&self, r#type: ValueMapType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValueMapType)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -5026,39 +5026,39 @@ pub struct IValueMapItem_Vtbl { impl _ICounterItemUnion { pub unsafe fn Value(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Color(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, iwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), iwidth).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLineStyle(&self, ilinestyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLineStyle)(::windows_core::Interface::as_raw(self), ilinestyle).ok() } pub unsafe fn LineStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScaleFactor(&self, iscale: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScaleFactor)(::windows_core::Interface::as_raw(self), iscale).ok() } pub unsafe fn ScaleFactor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScaleFactor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self, value: *mut f64, status: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), value, status).ok() @@ -5074,7 +5074,7 @@ impl _ICounterItemUnion { } pub unsafe fn Selected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5084,11 +5084,11 @@ impl _ICounterItemUnion { } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataAt(&self, iindex: i32, iwhich: SysmonDataType) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataAt)(::windows_core::Interface::as_raw(self), iindex, iwhich, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataAt)(::windows_core::Interface::as_raw(self), iindex, iwhich, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5118,28 +5118,28 @@ pub struct _ICounterItemUnion_Vtbl { impl _ISystemMonitorUnion { pub unsafe fn Appearance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppearance(&self, iappearance: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppearance)(::windows_core::Interface::as_raw(self), iappearance).ok() } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn BorderStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderStyle(&self, iborderstyle: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBorderStyle)(::windows_core::Interface::as_raw(self), iborderstyle).ok() } pub unsafe fn ForeColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForeColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForeColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetForeColor)(::windows_core::Interface::as_raw(self), color).ok() @@ -5147,7 +5147,7 @@ impl _ISystemMonitorUnion { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Font(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn putref_Font(&self, pfont: P0) -> ::windows_core::Result<()> @@ -5159,7 +5159,7 @@ impl _ISystemMonitorUnion { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Counters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Counters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Counters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetShowVerticalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5169,7 +5169,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowVerticalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowVerticalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowHorizontalGrid(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5179,7 +5179,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowHorizontalGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowHorizontalGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowLegend(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5189,7 +5189,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowLegend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowLegend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowScaleLabels(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5199,7 +5199,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowScaleLabels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowScaleLabels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowValueBar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5209,35 +5209,35 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowValueBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowValueBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaximumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaximumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MaximumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumScale(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumScale)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn MinimumScale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinimumScale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUpdateInterval(&self, fvalue: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUpdateInterval)(::windows_core::Interface::as_raw(self), fvalue).ok() } pub unsafe fn UpdateInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayType(&self, edisplaytype: DisplayTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplayType)(::windows_core::Interface::as_raw(self), edisplaytype).ok() } pub unsafe fn DisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetManualUpdate(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5247,7 +5247,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ManualUpdate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ManualUpdate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGraphTitle(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -5257,7 +5257,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn GraphTitle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GraphTitle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetYAxisLabel(&self, bstitle: P0) -> ::windows_core::Result<()> where @@ -5267,7 +5267,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn YAxisLabel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).YAxisLabel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CollectSample(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CollectSample)(::windows_core::Interface::as_raw(self)).ok() @@ -5283,14 +5283,14 @@ impl _ISystemMonitorUnion { } pub unsafe fn Counter(&self, iindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Counter)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddCounter(&self, bspath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddCounter)(::windows_core::Interface::as_raw(self), bspath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteCounter(&self, pctr: P0) -> ::windows_core::Result<()> where @@ -5300,7 +5300,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn BackColorCtl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColorCtl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColorCtl(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColorCtl)(::windows_core::Interface::as_raw(self), color).ok() @@ -5313,39 +5313,39 @@ impl _ISystemMonitorUnion { } pub unsafe fn LogFileName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFileName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLogViewStart(&self, starttime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewStart)(::windows_core::Interface::as_raw(self), starttime).ok() } pub unsafe fn LogViewStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogViewStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogViewStop(&self, stoptime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewStop)(::windows_core::Interface::as_raw(self), stoptime).ok() } pub unsafe fn LogViewStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogViewStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GridColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GridColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GridColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGridColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGridColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn TimeBarColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TimeBarColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimeBarColor(&self, color: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimeBarColor)(::windows_core::Interface::as_raw(self), color).ok() } pub unsafe fn Highlight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Highlight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Highlight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHighlight(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5355,7 +5355,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowToolbar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowToolbar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowToolbar(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5380,14 +5380,14 @@ impl _ISystemMonitorUnion { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReportValueType(&self, ereportvaluetype: ReportValueTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReportValueType)(::windows_core::Interface::as_raw(self), ereportvaluetype).ok() } pub unsafe fn ReportValueType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonitorDuplicateInstances(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5397,26 +5397,26 @@ impl _ISystemMonitorUnion { } pub unsafe fn MonitorDuplicateInstances(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MonitorDuplicateInstances)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisplayFilter(&self, ivalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisplayFilter)(::windows_core::Interface::as_raw(self), ivalue).ok() } pub unsafe fn DisplayFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LogFiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogFiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDataSourceType(&self, edatasourcetype: DataSourceTypeConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDataSourceType)(::windows_core::Interface::as_raw(self), edatasourcetype).ok() } pub unsafe fn DataSourceType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataSourceType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSqlDsnName(&self, bssqldsnname: P0) -> ::windows_core::Result<()> where @@ -5426,7 +5426,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn SqlDsnName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SqlDsnName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSqlLogSetName(&self, bssqllogsetname: P0) -> ::windows_core::Result<()> where @@ -5436,7 +5436,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn SqlLogSetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SqlLogSetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnableDigitGrouping(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5446,7 +5446,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn EnableDigitGrouping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableDigitGrouping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableDigitGrouping)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableToolTips(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5456,7 +5456,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn EnableToolTips(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableToolTips)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableToolTips)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowTimeAxisLabels(&self, bstate: P0) -> ::windows_core::Result<()> where @@ -5466,7 +5466,7 @@ impl _ISystemMonitorUnion { } pub unsafe fn ShowTimeAxisLabels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowTimeAxisLabels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowTimeAxisLabels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChartScroll(&self, bscroll: P0) -> ::windows_core::Result<()> where @@ -5476,14 +5476,14 @@ impl _ISystemMonitorUnion { } pub unsafe fn ChartScroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChartScroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChartScroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataPointCount(&self, inewcount: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDataPointCount)(::windows_core::Interface::as_raw(self), inewcount).ok() } pub unsafe fn DataPointCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataPointCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataPointCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScaleToFit(&self, bselectedcountersonly: P0) -> ::windows_core::Result<()> where @@ -5508,11 +5508,11 @@ impl _ISystemMonitorUnion { } pub unsafe fn LogSourceStartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogSourceStartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogSourceStartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LogSourceStopTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LogSourceStopTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LogSourceStopTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLogViewRange(&self, starttime: f64, stoptime: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLogViewRange)(::windows_core::Interface::as_raw(self), starttime, stoptime).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs b/crates/libs/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs index a148242f26..e2986989ce 100644 --- a/crates/libs/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs @@ -45,7 +45,7 @@ pub struct INotificationTransportSync_Vtbl { impl IRTCBuddy { pub unsafe fn PresentityURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows_core::Result<()> where @@ -55,7 +55,7 @@ impl IRTCBuddy { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -65,7 +65,7 @@ impl IRTCBuddy { } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -75,7 +75,7 @@ impl IRTCBuddy { } pub unsafe fn Persistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows_core::Result<()> where @@ -85,11 +85,11 @@ impl IRTCBuddy { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Notes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -104,7 +104,7 @@ pub struct IRTCBuddy_Vtbl { impl IRTCBuddy2 { pub unsafe fn PresentityURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows_core::Result<()> where @@ -114,7 +114,7 @@ impl IRTCBuddy2 { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -124,7 +124,7 @@ impl IRTCBuddy2 { } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -134,7 +134,7 @@ impl IRTCBuddy2 { } pub unsafe fn Persistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows_core::Result<()> where @@ -144,44 +144,44 @@ impl IRTCBuddy2 { } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Notes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Notes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Notes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Refresh(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Refresh)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn EnumerateGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Groups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePresenceDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumeratePresenceDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePresenceDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PresenceDevices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PresenceDevices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PresenceDevices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SubscriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -211,7 +211,7 @@ pub struct IRTCBuddy2_Vtbl { impl IRTCBuddyEvent { pub unsafe fn Buddy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buddy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buddy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -229,19 +229,19 @@ pub struct IRTCBuddyEvent_Vtbl { impl IRTCBuddyEvent2 { pub unsafe fn Buddy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Buddy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Buddy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -258,7 +258,7 @@ pub struct IRTCBuddyEvent2_Vtbl { impl IRTCBuddyGroup { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrgroupname: P0) -> ::windows_core::Result<()> where @@ -280,16 +280,16 @@ impl IRTCBuddyGroup { } pub unsafe fn EnumerateBuddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Buddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -299,7 +299,7 @@ impl IRTCBuddyGroup { } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -327,19 +327,19 @@ pub struct IRTCBuddyGroup_Vtbl { impl IRTCBuddyGroupEvent { pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Group(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Group)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Buddy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buddy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buddy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -369,7 +369,7 @@ impl IRTCClient { } pub unsafe fn EventFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreferredMediaTypes(&self, lmediatypes: i32, fpersistent: P0) -> ::windows_core::Result<()> where @@ -379,11 +379,11 @@ impl IRTCClient { } pub unsafe fn PreferredMediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateSession(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows_core::Result where @@ -391,14 +391,14 @@ impl IRTCClient { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetListenForIncomingSessions(&self, enlisten: RTC_LISTEN_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListenForIncomingSessions)(::windows_core::Interface::as_raw(self), enlisten).ok() } pub unsafe fn ListenForIncomingSessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ListenForIncomingSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ListenForIncomingSessions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_NetworkAddresses(&self, ftcp: P0, fexternal: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -406,14 +406,14 @@ impl IRTCClient { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_NetworkAddresses)(::windows_core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_NetworkAddresses)(::windows_core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Volume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_Volume)(::windows_core::Interface::as_raw(self), endevice, lvolume).ok() } pub unsafe fn get_Volume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Volume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Volume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } pub unsafe fn put_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE, fmuted: P0) -> ::windows_core::Result<()> where @@ -423,12 +423,12 @@ impl IRTCClient { } pub unsafe fn get_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AudioMuted)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AudioMuted)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com"))] pub unsafe fn get_IVideoWindow(&self, endevice: RTC_VIDEO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IVideoWindow)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IVideoWindow)(::windows_core::Interface::as_raw(self), endevice, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE, bstrdevicename: P0) -> ::windows_core::Result<()> where @@ -438,14 +438,14 @@ impl IRTCClient { } pub unsafe fn get_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PreferredAudioDevice)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PreferredAudioDevice)(::windows_core::Interface::as_raw(self), endevice, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, lvolume).ok() } pub unsafe fn get_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } pub unsafe fn SetPreferredAEC(&self, benable: P0) -> ::windows_core::Result<()> where @@ -455,7 +455,7 @@ impl IRTCClient { } pub unsafe fn PreferredAEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredAEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredAEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreferredVideoDevice(&self, bstrdevicename: P0) -> ::windows_core::Result<()> where @@ -465,29 +465,29 @@ impl IRTCClient { } pub unsafe fn PreferredVideoDevice(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredVideoDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredVideoDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActiveMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActiveMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActiveMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxBitrate(&self, lmaxbitrate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxBitrate)(::windows_core::Interface::as_raw(self), lmaxbitrate).ok() } pub unsafe fn MaxBitrate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxBitrate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxBitrate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTemporalSpatialTradeOff(&self, lvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), lvalue).ok() } pub unsafe fn TemporalSpatialTradeOff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NetworkQuality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkQuality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkQuality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartT120Applet(&self, enapplet: RTC_T120_APPLET) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).StartT120Applet)(::windows_core::Interface::as_raw(self), enapplet).ok() @@ -497,11 +497,11 @@ impl IRTCClient { } pub unsafe fn get_IsT120AppletRunning(&self, enapplet: RTC_T120_APPLET) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_IsT120AppletRunning)(::windows_core::Interface::as_raw(self), enapplet, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_IsT120AppletRunning)(::windows_core::Interface::as_raw(self), enapplet, &mut result__).map(|| result__) } pub unsafe fn LocalUserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalUserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalUserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserURI(&self, bstruseruri: P0) -> ::windows_core::Result<()> where @@ -511,7 +511,7 @@ impl IRTCClient { } pub unsafe fn LocalUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserName(&self, bstrusername: P0) -> ::windows_core::Result<()> where @@ -533,7 +533,7 @@ impl IRTCClient { } pub unsafe fn IsTuned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTuned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTuned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -603,7 +603,7 @@ impl IRTCClient2 { } pub unsafe fn EventFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EventFilter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreferredMediaTypes(&self, lmediatypes: i32, fpersistent: P0) -> ::windows_core::Result<()> where @@ -613,11 +613,11 @@ impl IRTCClient2 { } pub unsafe fn PreferredMediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PreferredMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PreferredMediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MediaCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MediaCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MediaCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateSession(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows_core::Result where @@ -625,14 +625,14 @@ impl IRTCClient2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetListenForIncomingSessions(&self, enlisten: RTC_LISTEN_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListenForIncomingSessions)(::windows_core::Interface::as_raw(self), enlisten).ok() } pub unsafe fn ListenForIncomingSessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ListenForIncomingSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ListenForIncomingSessions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_NetworkAddresses(&self, ftcp: P0, fexternal: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -640,14 +640,14 @@ impl IRTCClient2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_NetworkAddresses)(::windows_core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_NetworkAddresses)(::windows_core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Volume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_Volume)(::windows_core::Interface::as_raw(self), endevice, lvolume).ok() } pub unsafe fn get_Volume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Volume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Volume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } pub unsafe fn put_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE, fmuted: P0) -> ::windows_core::Result<()> where @@ -657,12 +657,12 @@ impl IRTCClient2 { } pub unsafe fn get_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_AudioMuted)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_AudioMuted)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com"))] pub unsafe fn get_IVideoWindow(&self, endevice: RTC_VIDEO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_IVideoWindow)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_IVideoWindow)(::windows_core::Interface::as_raw(self), endevice, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE, bstrdevicename: P0) -> ::windows_core::Result<()> where @@ -672,14 +672,14 @@ impl IRTCClient2 { } pub unsafe fn get_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_PreferredAudioDevice)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_PreferredAudioDevice)(::windows_core::Interface::as_raw(self), endevice, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.put_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, lvolume).ok() } pub unsafe fn get_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_PreferredVolume)(::windows_core::Interface::as_raw(self), endevice, &mut result__).map(|| result__) } pub unsafe fn SetPreferredAEC(&self, benable: P0) -> ::windows_core::Result<()> where @@ -689,7 +689,7 @@ impl IRTCClient2 { } pub unsafe fn PreferredAEC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PreferredAEC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PreferredAEC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreferredVideoDevice(&self, bstrdevicename: P0) -> ::windows_core::Result<()> where @@ -699,29 +699,29 @@ impl IRTCClient2 { } pub unsafe fn PreferredVideoDevice(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PreferredVideoDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PreferredVideoDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActiveMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ActiveMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ActiveMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxBitrate(&self, lmaxbitrate: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetMaxBitrate)(::windows_core::Interface::as_raw(self), lmaxbitrate).ok() } pub unsafe fn MaxBitrate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxBitrate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxBitrate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTemporalSpatialTradeOff(&self, lvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), lvalue).ok() } pub unsafe fn TemporalSpatialTradeOff(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TemporalSpatialTradeOff)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NetworkQuality(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkQuality)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkQuality)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StartT120Applet(&self, enapplet: RTC_T120_APPLET) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.StartT120Applet)(::windows_core::Interface::as_raw(self), enapplet).ok() @@ -731,11 +731,11 @@ impl IRTCClient2 { } pub unsafe fn get_IsT120AppletRunning(&self, enapplet: RTC_T120_APPLET) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_IsT120AppletRunning)(::windows_core::Interface::as_raw(self), enapplet, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_IsT120AppletRunning)(::windows_core::Interface::as_raw(self), enapplet, &mut result__).map(|| result__) } pub unsafe fn LocalUserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalUserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalUserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserURI(&self, bstruseruri: P0) -> ::windows_core::Result<()> where @@ -745,7 +745,7 @@ impl IRTCClient2 { } pub unsafe fn LocalUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocalUserName(&self, bstrusername: P0) -> ::windows_core::Result<()> where @@ -767,14 +767,14 @@ impl IRTCClient2 { } pub unsafe fn IsTuned(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsTuned)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsTuned)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn put_AnswerMode(&self, entype: RTC_SESSION_TYPE, enmode: RTC_ANSWER_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_AnswerMode)(::windows_core::Interface::as_raw(self), entype, enmode).ok() } pub unsafe fn get_AnswerMode(&self, entype: RTC_SESSION_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AnswerMode)(::windows_core::Interface::as_raw(self), entype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AnswerMode)(::windows_core::Interface::as_raw(self), entype, &mut result__).map(|| result__) } pub unsafe fn InvokeTuningWizardEx(&self, hwndparent: isize, fallowaudio: P0, fallowvideo: P1) -> ::windows_core::Result<()> where @@ -785,7 +785,7 @@ impl IRTCClient2 { } pub unsafe fn Version(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Version)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientName(&self, bstrclientname: P0) -> ::windows_core::Result<()> where @@ -809,7 +809,7 @@ impl IRTCClient2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSessionWithDescription)(::windows_core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSessionWithDescription)(::windows_core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSessionDescriptionManager(&self, psessiondescriptionmanager: P0) -> ::windows_core::Result<()> where @@ -822,14 +822,14 @@ impl IRTCClient2 { } pub unsafe fn get_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).map(|| result__) } pub unsafe fn put_AllowedPorts(&self, ltransport: i32, enlistenmode: RTC_LISTEN_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_AllowedPorts)(::windows_core::Interface::as_raw(self), ltransport, enlistenmode).ok() } pub unsafe fn get_AllowedPorts(&self, ltransport: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_AllowedPorts)(::windows_core::Interface::as_raw(self), ltransport, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_AllowedPorts)(::windows_core::Interface::as_raw(self), ltransport, &mut result__).map(|| result__) } } #[repr(C)] @@ -858,11 +858,11 @@ pub struct IRTCClient2_Vtbl { impl IRTCClientEvent { pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Client(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Client)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Client)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -925,19 +925,19 @@ impl IRTCClientPresence { } pub unsafe fn EnumerateBuddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Buddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Buddy(&self, bstrpresentityuri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Buddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Buddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBuddy(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fpersistent: P3, pprofile: P4, lflags: i32) -> ::windows_core::Result where @@ -948,7 +948,7 @@ impl IRTCClientPresence { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBuddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBuddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBuddy(&self, pbuddy: P0) -> ::windows_core::Result<()> where @@ -958,19 +958,19 @@ impl IRTCClientPresence { } pub unsafe fn EnumerateWatchers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateWatchers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateWatchers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Watchers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Watchers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Watchers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Watcher(&self, bstrpresentityuri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Watcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Watcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddWatcher(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fblocked: P3, fpersistent: P4) -> ::windows_core::Result where @@ -981,7 +981,7 @@ impl IRTCClientPresence { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddWatcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddWatcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveWatcher(&self, pwatcher: P0) -> ::windows_core::Result<()> where @@ -997,14 +997,14 @@ impl IRTCClientPresence { } pub unsafe fn OfferWatcherMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfferWatcherMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfferWatcherMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOfferWatcherMode(&self, enmode: RTC_OFFER_WATCHER_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOfferWatcherMode)(::windows_core::Interface::as_raw(self), enmode).ok() } pub unsafe fn PrivacyMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrivacyMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrivacyMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivacyMode(&self, enmode: RTC_PRIVACY_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPrivacyMode)(::windows_core::Interface::as_raw(self), enmode).ok() @@ -1064,19 +1064,19 @@ impl IRTCClientPresence2 { } pub unsafe fn EnumerateBuddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateBuddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Buddies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Buddies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Buddies)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Buddy(&self, bstrpresentityuri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Buddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Buddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddBuddy(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fpersistent: P3, pprofile: P4, lflags: i32) -> ::windows_core::Result where @@ -1087,7 +1087,7 @@ impl IRTCClientPresence2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddBuddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddBuddy)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveBuddy(&self, pbuddy: P0) -> ::windows_core::Result<()> where @@ -1097,19 +1097,19 @@ impl IRTCClientPresence2 { } pub unsafe fn EnumerateWatchers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateWatchers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateWatchers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Watchers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Watchers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Watchers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Watcher(&self, bstrpresentityuri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Watcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Watcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddWatcher(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fblocked: P3, fpersistent: P4) -> ::windows_core::Result where @@ -1120,7 +1120,7 @@ impl IRTCClientPresence2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddWatcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddWatcher)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveWatcher(&self, pwatcher: P0) -> ::windows_core::Result<()> where @@ -1136,14 +1136,14 @@ impl IRTCClientPresence2 { } pub unsafe fn OfferWatcherMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OfferWatcherMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OfferWatcherMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOfferWatcherMode(&self, enmode: RTC_OFFER_WATCHER_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOfferWatcherMode)(::windows_core::Interface::as_raw(self), enmode).ok() } pub unsafe fn PrivacyMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PrivacyMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PrivacyMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPrivacyMode(&self, enmode: RTC_PRIVACY_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPrivacyMode)(::windows_core::Interface::as_raw(self), enmode).ok() @@ -1165,7 +1165,7 @@ impl IRTCClientPresence2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), bstrdata.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddGroup)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), bstrdata.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveGroup(&self, pgroup: P0) -> ::windows_core::Result<()> where @@ -1175,19 +1175,19 @@ impl IRTCClientPresence2 { } pub unsafe fn EnumerateGroups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateGroups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateGroups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Groups(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Groups)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_Group(&self, bstrgroupname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Group)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Group)(::windows_core::Interface::as_raw(self), bstrgroupname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddWatcherEx(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, enstate: RTC_WATCHER_STATE, fpersistent: P3, enscope: RTC_ACE_SCOPE, pprofile: P4, lflags: i32) -> ::windows_core::Result where @@ -1198,14 +1198,14 @@ impl IRTCClientPresence2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddWatcherEx)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), enstate, fpersistent.into_param().abi(), enscope, pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddWatcherEx)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), enstate, fpersistent.into_param().abi(), enscope, pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_WatcherEx(&self, enmode: RTC_WATCHER_MATCH_MODE, bstrpresentityuri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_WatcherEx)(::windows_core::Interface::as_raw(self), enmode, bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_WatcherEx)(::windows_core::Interface::as_raw(self), enmode, bstrpresentityuri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY, bstrproperty: P0) -> ::windows_core::Result<()> where @@ -1215,7 +1215,7 @@ impl IRTCClientPresence2 { } pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresenceData(&self, bstrnamespace: P0, bstrdata: P1) -> ::windows_core::Result<()> where @@ -1239,7 +1239,7 @@ impl IRTCClientPresence2 { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddBuddyEx)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), ensubscriptiontype, pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddBuddyEx)(::windows_core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), ensubscriptiontype, pprofile.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1273,7 +1273,7 @@ impl IRTCClientProvisioning { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProfile)(::windows_core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProfile)(::windows_core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableProfile(&self, pprofile: P0, lregisterflags: i32) -> ::windows_core::Result<()> where @@ -1289,12 +1289,12 @@ impl IRTCClientProvisioning { } pub unsafe fn EnumerateProfiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateProfiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateProfiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Profiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProfile(&self, bstruseraccount: P0, bstruserpassword: P1, bstruseruri: P2, bstrserver: P3, ltransport: i32, lcookie: isize) -> ::windows_core::Result<()> where @@ -1307,7 +1307,7 @@ impl IRTCClientProvisioning { } pub unsafe fn SessionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1333,7 +1333,7 @@ impl IRTCClientProvisioning2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateProfile)(::windows_core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateProfile)(::windows_core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableProfile(&self, pprofile: P0, lregisterflags: i32) -> ::windows_core::Result<()> where @@ -1349,12 +1349,12 @@ impl IRTCClientProvisioning2 { } pub unsafe fn EnumerateProfiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateProfiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateProfiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Profiles(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Profiles)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetProfile(&self, bstruseraccount: P0, bstruserpassword: P1, bstruseruri: P2, bstrserver: P3, ltransport: i32, lcookie: isize) -> ::windows_core::Result<()> where @@ -1367,7 +1367,7 @@ impl IRTCClientProvisioning2 { } pub unsafe fn SessionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableProfileEx(&self, pprofile: P0, lregisterflags: i32, lroamingflags: i32) -> ::windows_core::Result<()> where @@ -1390,15 +1390,15 @@ pub struct IRTCClientProvisioning2_Vtbl { impl IRTCCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1436,7 +1436,7 @@ impl IRTCEnumBuddies { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1462,7 +1462,7 @@ impl IRTCEnumGroups { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1488,7 +1488,7 @@ impl IRTCEnumParticipants { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1514,7 +1514,7 @@ impl IRTCEnumPresenceDevices { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1540,7 +1540,7 @@ impl IRTCEnumProfiles { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1566,7 +1566,7 @@ impl IRTCEnumUserSearchResults { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1592,7 +1592,7 @@ impl IRTCEnumWatchers { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1632,19 +1632,19 @@ pub struct IRTCEventNotification_Vtbl { impl IRTCInfoEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Participant(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Info(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Info)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Info)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InfoHeader(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InfoHeader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InfoHeader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1665,19 +1665,19 @@ pub struct IRTCInfoEvent_Vtbl { impl IRTCIntensityEvent { pub unsafe fn Level(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Level)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Min(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Min)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Min)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Max(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Max)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Max)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Direction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Direction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1698,15 +1698,15 @@ pub struct IRTCIntensityEvent_Vtbl { impl IRTCMediaEvent { pub unsafe fn MediaType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EventReason(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventReason)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventReason)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1726,29 +1726,29 @@ pub struct IRTCMediaEvent_Vtbl { impl IRTCMediaRequestEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProposedMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProposedMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProposedMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentMedia(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentMedia)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentMedia)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Accept(&self, lmediatypes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Accept)(::windows_core::Interface::as_raw(self), lmediatypes).ok() } pub unsafe fn get_RemotePreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).map(|| result__) } pub unsafe fn Reject(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reject)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1772,27 +1772,27 @@ pub struct IRTCMediaRequestEvent_Vtbl { impl IRTCMessagingEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Participant(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Message(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MessageHeader(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageHeader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageHeader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1812,23 +1812,23 @@ pub struct IRTCMessagingEvent_Vtbl { impl IRTCParticipant { pub unsafe fn UserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Removable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Removable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Removable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1849,15 +1849,15 @@ pub struct IRTCParticipant_Vtbl { impl IRTCParticipantStateChangeEvent { pub unsafe fn Participant(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1907,7 +1907,7 @@ pub struct IRTCPortManager_Vtbl { impl IRTCPresenceContact { pub unsafe fn PresentityURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows_core::Result<()> where @@ -1917,7 +1917,7 @@ impl IRTCPresenceContact { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -1927,7 +1927,7 @@ impl IRTCPresenceContact { } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -1937,7 +1937,7 @@ impl IRTCPresenceContact { } pub unsafe fn Persistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Persistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Persistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows_core::Result<()> where @@ -1967,11 +1967,11 @@ pub struct IRTCPresenceContact_Vtbl { impl IRTCPresenceDataEvent { pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPresenceData(&self, pbstrnamespace: *mut ::windows_core::BSTR, pbstrdata: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPresenceData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrnamespace), ::core::mem::transmute(pbstrdata)).ok() @@ -1991,15 +1991,15 @@ pub struct IRTCPresenceDataEvent_Vtbl { impl IRTCPresenceDevice { pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Notes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Notes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Notes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PresenceProperty)(::windows_core::Interface::as_raw(self), enproperty, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPresenceData(&self, pbstrnamespace: *mut ::windows_core::BSTR, pbstrdata: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPresenceData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrnamespace), ::core::mem::transmute(pbstrdata)).ok() @@ -2022,19 +2022,19 @@ pub struct IRTCPresenceDevice_Vtbl { impl IRTCPresencePropertyEvent { pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PresenceProperty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PresenceProperty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PresenceProperty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2055,11 +2055,11 @@ pub struct IRTCPresencePropertyEvent_Vtbl { impl IRTCPresenceStatusEvent { pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocalPresenceInfo(&self, penstatus: *mut RTC_PRESENCE_STATUS, pbstrnotes: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLocalPresenceInfo)(::windows_core::Interface::as_raw(self), penstatus, ::core::mem::transmute(pbstrnotes)).ok() @@ -2079,63 +2079,63 @@ pub struct IRTCPresenceStatusEvent_Vtbl { impl IRTCProfile { pub unsafe fn Key(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Key)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn XML(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ProviderURI(&self, enuri: RTC_PROVIDER_URI) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_ProviderURI)(::windows_core::Interface::as_raw(self), enuri, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_ProviderURI)(::windows_core::Interface::as_raw(self), enuri, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProviderData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientBanner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientBanner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientBanner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClientMinVer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientMinVer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientMinVer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientCurVer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientCurVer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientCurVer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientUpdateURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientUpdateURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientUpdateURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, bstruseruri: P0, bstruseraccount: P1, bstrpassword: P2) -> ::windows_core::Result<()> where @@ -2147,11 +2147,11 @@ impl IRTCProfile { } pub unsafe fn SessionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2182,63 +2182,63 @@ pub struct IRTCProfile_Vtbl { impl IRTCProfile2 { pub unsafe fn Key(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Key)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Key)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn XML(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.XML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.XML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProviderName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ProviderURI(&self, enuri: RTC_PROVIDER_URI) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_ProviderURI)(::windows_core::Interface::as_raw(self), enuri, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_ProviderURI)(::windows_core::Interface::as_raw(self), enuri, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProviderData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientBanner(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientBanner)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientBanner)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClientMinVer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientMinVer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientMinVer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientCurVer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientCurVer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientCurVer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientUpdateURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientUpdateURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientUpdateURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClientData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCredentials(&self, bstruseruri: P0, bstruseraccount: P1, bstrpassword: P2) -> ::windows_core::Result<()> where @@ -2250,15 +2250,15 @@ impl IRTCProfile2 { } pub unsafe fn SessionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Realm(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Realm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Realm)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRealm(&self, bstrrealm: P0) -> ::windows_core::Result<()> where @@ -2268,7 +2268,7 @@ impl IRTCProfile2 { } pub unsafe fn AllowedAuth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowedAuth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowedAuth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowedAuth(&self, lallowedauth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllowedAuth)(::windows_core::Interface::as_raw(self), lallowedauth).ok() @@ -2291,15 +2291,15 @@ pub struct IRTCProfile2_Vtbl { impl IRTCProfileEvent { pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2319,19 +2319,19 @@ pub struct IRTCProfileEvent_Vtbl { impl IRTCProfileEvent2 { pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Cookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Cookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2349,7 +2349,7 @@ pub struct IRTCProfileEvent2_Vtbl { impl IRTCReInviteEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Accept(&self, bstrcontenttype: P0, bstrsessiondescription: P1) -> ::windows_core::Result<()> where @@ -2363,7 +2363,7 @@ impl IRTCReInviteEvent { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows_core::BSTR, pbstrsessiondescription: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRemoteSessionDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() @@ -2388,19 +2388,19 @@ pub struct IRTCReInviteEvent_Vtbl { impl IRTCRegistrationStateChangeEvent { pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2421,19 +2421,19 @@ pub struct IRTCRegistrationStateChangeEvent_Vtbl { impl IRTCRoamingEvent { pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2451,24 +2451,24 @@ pub struct IRTCRoamingEvent_Vtbl { impl IRTCSession { pub unsafe fn Client(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Client)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Client)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Participants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Participants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Participants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Answer(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Answer)(::windows_core::Interface::as_raw(self)).ok() @@ -2489,7 +2489,7 @@ impl IRTCSession { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddParticipant)(::windows_core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddParticipant)(::windows_core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveParticipant(&self, pparticipant: P0) -> ::windows_core::Result<()> where @@ -2499,19 +2499,19 @@ impl IRTCSession { } pub unsafe fn EnumerateParticipants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateParticipants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateParticipants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanAddParticipants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanAddParticipants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanAddParticipants)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RedirectedUserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectedUserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectedUserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RedirectedUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectedUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectedUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NextRedirectedUser(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NextRedirectedUser)(::windows_core::Interface::as_raw(self)).ok() @@ -2572,24 +2572,24 @@ pub struct IRTCSession_Vtbl { impl IRTCSession2 { pub unsafe fn Client(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Client)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Client)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Participants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Participants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Participants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Answer(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Answer)(::windows_core::Interface::as_raw(self)).ok() @@ -2610,7 +2610,7 @@ impl IRTCSession2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddParticipant)(::windows_core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddParticipant)(::windows_core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveParticipant(&self, pparticipant: P0) -> ::windows_core::Result<()> where @@ -2620,19 +2620,19 @@ impl IRTCSession2 { } pub unsafe fn EnumerateParticipants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateParticipants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateParticipants)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanAddParticipants(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanAddParticipants)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanAddParticipants)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RedirectedUserURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RedirectedUserURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RedirectedUserURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RedirectedUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RedirectedUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RedirectedUserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NextRedirectedUser(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.NextRedirectedUser)(::windows_core::Interface::as_raw(self)).ok() @@ -2671,11 +2671,11 @@ impl IRTCSession2 { } pub unsafe fn get_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).map(|| result__) } pub unsafe fn IsSecurityEnabled(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSecurityEnabled)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).map(|| result__) } pub unsafe fn AnswerWithSessionDescription(&self, bstrcontenttype: P0, bstrsessiondescription: P1) -> ::windows_core::Result<()> where @@ -2733,7 +2733,7 @@ impl IRTCSessionCallControl { } pub unsafe fn ReferredByURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferredByURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferredByURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetReferCookie(&self, bstrrefercookie: P0) -> ::windows_core::Result<()> where @@ -2743,11 +2743,11 @@ impl IRTCSessionCallControl { } pub unsafe fn ReferCookie(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferCookie)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsReferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsReferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsReferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2789,19 +2789,19 @@ pub struct IRTCSessionDescriptionManager_Vtbl { impl IRTCSessionOperationCompleteEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2822,23 +2822,23 @@ pub struct IRTCSessionOperationCompleteEvent_Vtbl { impl IRTCSessionOperationCompleteEvent2 { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Cookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Cookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Participant(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Participant)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows_core::BSTR, pbstrsessiondescription: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRemoteSessionDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() @@ -2876,19 +2876,19 @@ pub struct IRTCSessionPortManagement_Vtbl { impl IRTCSessionReferStatusEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReferStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2909,19 +2909,19 @@ pub struct IRTCSessionReferStatusEvent_Vtbl { impl IRTCSessionReferredEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReferredByURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferredByURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferredByURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReferToURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferToURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferToURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReferCookie(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferCookie)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Accept(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Accept)(::windows_core::Interface::as_raw(self)).ok() @@ -2954,19 +2954,19 @@ pub struct IRTCSessionReferredEvent_Vtbl { impl IRTCSessionStateChangeEvent { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2987,31 +2987,31 @@ pub struct IRTCSessionStateChangeEvent_Vtbl { impl IRTCSessionStateChangeEvent2 { pub unsafe fn Session(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Session)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Session)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MediaTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MediaTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn get_RemotePreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows_core::Interface::as_raw(self), ensecuritytype, &mut result__).map(|| result__) } pub unsafe fn IsForked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsForked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsForked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows_core::BSTR, pbstrsessiondescription: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRemoteSessionDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() @@ -3032,7 +3032,7 @@ pub struct IRTCSessionStateChangeEvent2_Vtbl { impl IRTCUserSearch { pub unsafe fn CreateQuery(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateQuery)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExecuteSearch(&self, pquery: P0, pprofile: P1, lcookie: isize) -> ::windows_core::Result<()> where @@ -3064,18 +3064,18 @@ impl IRTCUserSearchQuery { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SearchTerm)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SearchTerm)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SearchTerms(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchTerms)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchTerms)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_SearchPreference(&self, enpreference: RTC_USER_SEARCH_PREFERENCE, lvalue: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).put_SearchPreference)(::windows_core::Interface::as_raw(self), enpreference, lvalue).ok() } pub unsafe fn get_SearchPreference(&self, enpreference: RTC_USER_SEARCH_PREFERENCE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_SearchPreference)(::windows_core::Interface::as_raw(self), enpreference, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_SearchPreference)(::windows_core::Interface::as_raw(self), enpreference, &mut result__).map(|| result__) } pub unsafe fn SetSearchDomain(&self, bstrdomain: P0) -> ::windows_core::Result<()> where @@ -3085,7 +3085,7 @@ impl IRTCUserSearchQuery { } pub unsafe fn SearchDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3105,7 +3105,7 @@ pub struct IRTCUserSearchQuery_Vtbl { impl IRTCUserSearchResult { pub unsafe fn get_Value(&self, encolumn: RTC_USER_SEARCH_COLUMN) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), encolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Value)(::windows_core::Interface::as_raw(self), encolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3122,32 +3122,32 @@ pub struct IRTCUserSearchResult_Vtbl { impl IRTCUserSearchResultsEvent { pub unsafe fn EnumerateResults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateResults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateResults)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Results(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Query(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Cookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoreAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoreAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoreAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3171,7 +3171,7 @@ pub struct IRTCUserSearchResultsEvent_Vtbl { impl IRTCWatcher { pub unsafe fn PresentityURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows_core::Result<()> where @@ -3181,7 +3181,7 @@ impl IRTCWatcher { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -3191,7 +3191,7 @@ impl IRTCWatcher { } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -3201,7 +3201,7 @@ impl IRTCWatcher { } pub unsafe fn Persistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows_core::Result<()> where @@ -3211,7 +3211,7 @@ impl IRTCWatcher { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, enstate: RTC_WATCHER_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), enstate).ok() @@ -3229,7 +3229,7 @@ pub struct IRTCWatcher_Vtbl { impl IRTCWatcher2 { pub unsafe fn PresentityURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PresentityURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows_core::Result<()> where @@ -3239,7 +3239,7 @@ impl IRTCWatcher2 { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstrname: P0) -> ::windows_core::Result<()> where @@ -3249,7 +3249,7 @@ impl IRTCWatcher2 { } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows_core::Result<()> where @@ -3259,7 +3259,7 @@ impl IRTCWatcher2 { } pub unsafe fn Persistent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Persistent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows_core::Result<()> where @@ -3269,18 +3269,18 @@ impl IRTCWatcher2 { } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, enstate: RTC_WATCHER_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetState)(::windows_core::Interface::as_raw(self), enstate).ok() } pub unsafe fn Profile(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Profile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Scope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3298,7 +3298,7 @@ pub struct IRTCWatcher2_Vtbl { impl IRTCWatcherEvent { pub unsafe fn Watcher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Watcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Watcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3316,15 +3316,15 @@ pub struct IRTCWatcherEvent_Vtbl { impl IRTCWatcherEvent2 { pub unsafe fn Watcher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Watcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Watcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EventType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StatusCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/Recovery/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Recovery/mod.rs index e625239e80..e029bffb58 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Recovery/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Recovery/mod.rs @@ -10,7 +10,7 @@ where pub unsafe fn ApplicationRecoveryInProgress() -> ::windows_core::Result { ::windows_targets::link!("kernel32.dll" "system" fn ApplicationRecoveryInProgress(pbcancelled : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ApplicationRecoveryInProgress(&mut result__).from_abi(result__) + ApplicationRecoveryInProgress(&mut result__).map(|| result__) } #[cfg(feature = "Win32_System_WindowsProgramming")] #[inline] diff --git a/crates/libs/windows/src/Windows/Win32/System/RemoteAssistance/mod.rs b/crates/libs/windows/src/Windows/Win32/System/RemoteAssistance/mod.rs index 0869c24409..e2dd13e8ea 100644 --- a/crates/libs/windows/src/Windows/Win32/System/RemoteAssistance/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/RemoteAssistance/mod.rs @@ -31,15 +31,15 @@ pub struct IRendezvousApplication_Vtbl { impl IRendezvousSession { pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoteUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoteUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoteUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SendContextData(&self, bstrdata: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/RemoteDesktop/mod.rs b/crates/libs/windows/src/Windows/Win32/System/RemoteDesktop/mod.rs index 22a9b20938..86a9072d76 100644 --- a/crates/libs/windows/src/Windows/Win32/System/RemoteDesktop/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/RemoteDesktop/mod.rs @@ -533,7 +533,7 @@ where impl IADsTSUserEx { pub unsafe fn TerminalServicesProfilePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalServicesProfilePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalServicesProfilePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTerminalServicesProfilePath(&self, pnewval: P0) -> ::windows_core::Result<()> where @@ -543,7 +543,7 @@ impl IADsTSUserEx { } pub unsafe fn TerminalServicesHomeDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalServicesHomeDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalServicesHomeDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTerminalServicesHomeDirectory(&self, pnewval: P0) -> ::windows_core::Result<()> where @@ -553,7 +553,7 @@ impl IADsTSUserEx { } pub unsafe fn TerminalServicesHomeDrive(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalServicesHomeDrive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalServicesHomeDrive)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTerminalServicesHomeDrive(&self, pnewval: P0) -> ::windows_core::Result<()> where @@ -563,77 +563,77 @@ impl IADsTSUserEx { } pub unsafe fn AllowLogon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowLogon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowLogon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowLogon(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllowLogon)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn EnableRemoteControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnableRemoteControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnableRemoteControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnableRemoteControl(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEnableRemoteControl)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn MaxDisconnectionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxDisconnectionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxDisconnectionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxDisconnectionTime(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxDisconnectionTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn MaxConnectionTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxConnectionTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxConnectionTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxConnectionTime(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxConnectionTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn MaxIdleTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxIdleTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxIdleTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxIdleTime(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxIdleTime)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ReconnectionAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReconnectionAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReconnectionAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetReconnectionAction(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetReconnectionAction)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn BrokenConnectionAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BrokenConnectionAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BrokenConnectionAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBrokenConnectionAction(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBrokenConnectionAction)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ConnectClientDrivesAtLogon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectClientDrivesAtLogon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectClientDrivesAtLogon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectClientDrivesAtLogon(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectClientDrivesAtLogon)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn ConnectClientPrintersAtLogon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectClientPrintersAtLogon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectClientPrintersAtLogon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectClientPrintersAtLogon(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectClientPrintersAtLogon)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn DefaultToMainPrinter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultToMainPrinter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultToMainPrinter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultToMainPrinter(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultToMainPrinter)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn TerminalServicesWorkDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalServicesWorkDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalServicesWorkDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTerminalServicesWorkDirectory(&self, pnewval: P0) -> ::windows_core::Result<()> where @@ -643,7 +643,7 @@ impl IADsTSUserEx { } pub unsafe fn TerminalServicesInitialProgram(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TerminalServicesInitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TerminalServicesInitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTerminalServicesInitialProgram(&self, pnewval: P0) -> ::windows_core::Result<()> where @@ -696,11 +696,11 @@ impl IAudioDeviceEndpoint { } pub unsafe fn GetRTCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRTCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRTCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEventDrivenCapable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventDrivenCapable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventDrivenCapable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WriteExclusiveModeParametersToSharedMemory(&self, htargetprocess: usize, hnsperiod: i64, hnsbufferduration: i64, u32latencycoefficient: u32, pu32sharedmemorysize: *mut u32, phsharedmemory: *mut usize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteExclusiveModeParametersToSharedMemory)(::windows_core::Interface::as_raw(self), htargetprocess, hnsperiod, hnsbufferduration, u32latencycoefficient, pu32sharedmemorysize, phsharedmemory).ok() @@ -721,15 +721,15 @@ impl IAudioEndpoint { #[cfg(feature = "Win32_Media_Audio")] pub unsafe fn GetFrameFormat(&self) -> ::windows_core::Result<*mut super::super::Media::Audio::WAVEFORMATEX> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFramesPerPacket(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFramesPerPacket)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFramesPerPacket)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLatency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLatency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStreamFlags(&self, streamflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStreamFlags)(::windows_core::Interface::as_raw(self), streamflags).ok() @@ -868,17 +868,17 @@ impl IRemoteDesktopClient { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Actions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TouchPointer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TouchPointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TouchPointer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteSavedCredentials(&self, servername: P0) -> ::windows_core::Result<()> where @@ -954,7 +954,7 @@ impl IRemoteDesktopClientActions { } pub unsafe fn GetSnapshot(&self, snapshotencoding: SnapshotEncodingType, snapshotformat: SnapshotFormatType, snapshotwidth: u32, snapshotheight: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapshot)(::windows_core::Interface::as_raw(self), snapshotencoding, snapshotformat, snapshotwidth, snapshotheight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapshot)(::windows_core::Interface::as_raw(self), snapshotencoding, snapshotformat, snapshotwidth, snapshotheight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -981,14 +981,14 @@ impl IRemoteDesktopClientSettings { } pub unsafe fn RetrieveSettings(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRdpProperty(&self, propertyname: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRdpProperty)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRdpProperty)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRdpProperty(&self, propertyname: P0, value: P1) -> ::windows_core::Result<()> where @@ -1022,7 +1022,7 @@ impl IRemoteDesktopClientTouchPointer { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEventsEnabled(&self, eventsenabled: P0) -> ::windows_core::Result<()> where @@ -1032,14 +1032,14 @@ impl IRemoteDesktopClientTouchPointer { } pub unsafe fn EventsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EventsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EventsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPointerSpeed(&self, pointerspeed: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPointerSpeed)(::windows_core::Interface::as_raw(self), pointerspeed).ok() } pub unsafe fn PointerSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PointerSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PointerSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1062,7 +1062,7 @@ impl IRemoteSystemAdditionalInfoProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAdditionalInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(deduplicationid), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdditionalInfo)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(deduplicationid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1186,7 +1186,7 @@ impl ITSGPolicyEngine { } pub unsafe fn IsQuarantineEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsQuarantineEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsQuarantineEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1220,23 +1220,23 @@ pub struct ITsSbBaseNotifySink_Vtbl { impl ITsSbClientConnection { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitialProgram(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadBalanceResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadBalanceResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadBalanceResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FarmName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FarmName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FarmName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutContext(&self, contextid: P0, context: P1, existingcontext: ::core::option::Option<*mut ::windows_core::VARIANT>) -> ::windows_core::Result<()> where @@ -1250,39 +1250,39 @@ impl ITsSbClientConnection { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), contextid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), contextid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Environment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Environment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Environment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_ConnectionError(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).get_ConnectionError)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn SamUserAccount(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SamUserAccount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SamUserAccount)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn ClientConnectionPropertySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientConnectionPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientConnectionPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsFirstAssignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFirstAssignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFirstAssignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RdFarmType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RdFarmType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RdFarmType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserSidString(&self) -> ::windows_core::Result<*mut i8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserSidString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserSidString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisconnectedSession(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisconnectedSession)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisconnectedSession)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1341,16 +1341,16 @@ pub struct ITsSbClientConnectionPropertySet_Vtbl { impl ITsSbEnvironment { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServerWeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerWeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerWeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn EnvironmentPropertySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnvironmentPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnvironmentPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn SetEnvironmentPropertySet(&self, pval: P0) -> ::windows_core::Result<()> @@ -1416,7 +1416,7 @@ impl ITsSbFilterPluginStore { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn EnumerateProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteProperties(&self, propertyname: P0) -> ::windows_core::Result<()> where @@ -1447,7 +1447,7 @@ impl ITsSbGenericNotifySink { } pub unsafe fn GetWaitTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWaitTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWaitTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1467,7 +1467,7 @@ impl ITsSbGlobalStore { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryTarget)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryTarget)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuerySessionBySessionId(&self, providername: P0, dwsessionid: u32, targetname: P1) -> ::windows_core::Result where @@ -1475,7 +1475,7 @@ impl ITsSbGlobalStore { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySessionBySessionId)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), dwsessionid, targetname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySessionBySessionId)(::windows_core::Interface::as_raw(self), providername.into_param().abi(), dwsessionid, targetname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateFarms(&self, providername: P0, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -1537,7 +1537,7 @@ pub struct ITsSbGlobalStore_Vtbl { impl ITsSbLoadBalanceResult { pub unsafe fn TargetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1814,14 +1814,14 @@ impl ITsSbProvider { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTargetObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), environmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTargetObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), environmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLoadBalanceResultObject(&self, targetname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLoadBalanceResultObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLoadBalanceResultObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSessionObject(&self, targetname: P0, username: P1, domain: P2, sessionid: u32) -> ::windows_core::Result where @@ -1830,32 +1830,32 @@ impl ITsSbProvider { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSessionObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), username.into_param().abi(), domain.into_param().abi(), sessionid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSessionObject)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), username.into_param().abi(), domain.into_param().abi(), sessionid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn CreatePluginPropertySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePluginPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePluginPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn CreateTargetPropertySetObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTargetPropertySetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTargetPropertySetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEnvironmentObject(&self, name: P0, serverweight: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEnvironmentObject)(::windows_core::Interface::as_raw(self), name.into_param().abi(), serverweight, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEnvironmentObject)(::windows_core::Interface::as_raw(self), name.into_param().abi(), serverweight, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResourcePluginStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourcePluginStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourcePluginStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilterPluginStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterPluginStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterPluginStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterForNotification(&self, notificationtype: u32, resourcetomonitor: P0, ppluginnotification: P1) -> ::windows_core::Result<()> where @@ -1872,12 +1872,12 @@ impl ITsSbProvider { } pub unsafe fn GetInstanceOfGlobalStore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceOfGlobalStore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceOfGlobalStore)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn CreateEnvironmentPropertySetObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEnvironmentPropertySetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEnvironmentPropertySetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2100,14 +2100,14 @@ impl ITsSbResourcePluginStore { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryTarget)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryTarget)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QuerySessionBySessionId(&self, dwsessionid: u32, targetname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySessionBySessionId)(::windows_core::Interface::as_raw(self), dwsessionid, targetname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySessionBySessionId)(::windows_core::Interface::as_raw(self), dwsessionid, targetname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddTargetToStore(&self, ptarget: P0) -> ::windows_core::Result<()> where @@ -2143,7 +2143,7 @@ impl ITsSbResourcePluginStore { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryEnvironment)(::windows_core::Interface::as_raw(self), environmentname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryEnvironment)(::windows_core::Interface::as_raw(self), environmentname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateEnvironments(&self, pdwcount: *mut u32, pval: *mut *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnumerateEnvironments)(::windows_core::Interface::as_raw(self), pdwcount, pval).ok() @@ -2187,7 +2187,7 @@ impl ITsSbResourcePluginStore { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetTargetState)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), newstate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetTargetState)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), newstate, &mut result__).map(|| result__) } pub unsafe fn SetSessionState(&self, sbsession: P0) -> ::windows_core::Result<()> where @@ -2246,7 +2246,7 @@ impl ITsSbResourcePluginStore { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AcquireTargetLock)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), dwtimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AcquireTargetLock)(::windows_core::Interface::as_raw(self), targetname.into_param().abi(), dwtimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReleaseTargetLock(&self, pcontext: P0) -> ::windows_core::Result<()> where @@ -2260,7 +2260,7 @@ impl ITsSbResourcePluginStore { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TestAndSetServerState)(::windows_core::Interface::as_raw(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), newstate, teststate, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TestAndSetServerState)(::windows_core::Interface::as_raw(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), newstate, teststate, &mut result__).map(|| result__) } pub unsafe fn SetServerWaitingToStart(&self, poolname: P0, servername: P1) -> ::windows_core::Result<()> where @@ -2275,7 +2275,7 @@ impl ITsSbResourcePluginStore { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServerState)(::windows_core::Interface::as_raw(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServerState)(::windows_core::Interface::as_raw(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetServerDrainMode(&self, serverfqdn: P0, drainmode: u32) -> ::windows_core::Result<()> where @@ -2342,11 +2342,11 @@ pub struct ITsSbServiceNotification_Vtbl { impl ITsSbSession { pub unsafe fn SessionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TargetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetName(&self, targetname: P0) -> ::windows_core::Result<()> where @@ -2356,36 +2356,36 @@ impl ITsSbSession { } pub unsafe fn Username(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Username)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Domain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Domain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetState(&self, state: TSSESSION_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn CreateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreateTime(&self, time: super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCreateTime)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(time)).ok() } pub unsafe fn DisconnectTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisconnectTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisconnectTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisconnectTime(&self, time: super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDisconnectTime)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(time)).ok() } pub unsafe fn InitialProgram(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialProgram)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetInitialProgram(&self, application: P0) -> ::windows_core::Result<()> where @@ -2395,14 +2395,14 @@ impl ITsSbSession { } pub unsafe fn ClientDisplay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientDisplay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClientDisplay(&self, pclientdisplay: CLIENT_DISPLAY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClientDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pclientdisplay)).ok() } pub unsafe fn ProtocolType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProtocolType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProtocolType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtocolType(&self, val: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProtocolType)(::windows_core::Interface::as_raw(self), val).ok() @@ -2435,7 +2435,7 @@ pub struct ITsSbSession_Vtbl { impl ITsSbTarget { pub unsafe fn TargetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetName(&self, val: P0) -> ::windows_core::Result<()> where @@ -2445,7 +2445,7 @@ impl ITsSbTarget { } pub unsafe fn FarmName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FarmName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FarmName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFarmName(&self, val: P0) -> ::windows_core::Result<()> where @@ -2455,7 +2455,7 @@ impl ITsSbTarget { } pub unsafe fn TargetFQDN(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetFQDN)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetFQDN)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetFQDN(&self, val: P0) -> ::windows_core::Result<()> where @@ -2465,7 +2465,7 @@ impl ITsSbTarget { } pub unsafe fn TargetNetbios(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetNetbios)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetNetbios)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetNetbios(&self, val: P0) -> ::windows_core::Result<()> where @@ -2481,7 +2481,7 @@ impl ITsSbTarget { } pub unsafe fn TargetState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTargetState(&self, state: TARGET_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTargetState)(::windows_core::Interface::as_raw(self), state).ok() @@ -2489,7 +2489,7 @@ impl ITsSbTarget { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn TargetPropertySet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetPropertySet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn SetTargetPropertySet(&self, pval: P0) -> ::windows_core::Result<()> @@ -2500,7 +2500,7 @@ impl ITsSbTarget { } pub unsafe fn EnvironmentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnvironmentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnvironmentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnvironmentName(&self, val: P0) -> ::windows_core::Result<()> where @@ -2510,15 +2510,15 @@ impl ITsSbTarget { } pub unsafe fn NumSessions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumSessions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumSessions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumPendingConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumPendingConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumPendingConnections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TargetLoad(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetLoad)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetLoad)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2584,40 +2584,40 @@ pub struct ITsSbTargetPropertySet_Vtbl { impl ITsSbTaskInfo { pub unsafe fn TargetId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn StartTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EndTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Deadline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deadline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Identifier(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Label(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Label)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Context(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Plugin(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Plugin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Plugin)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2729,7 +2729,7 @@ pub struct ITsSbTaskPluginNotifySink_Vtbl { impl IWRdsEnhancedFastReconnectArbitrator { pub unsafe fn GetSessionForEnhancedFastReconnect(&self, psessionidarray: *const i32, dwsessioncount: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSessionForEnhancedFastReconnect)(::windows_core::Interface::as_raw(self), psessionidarray, dwsessioncount, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSessionForEnhancedFastReconnect)(::windows_core::Interface::as_raw(self), psessionidarray, dwsessioncount, &mut result__).map(|| result__) } } #[repr(C)] @@ -2807,7 +2807,7 @@ pub struct IWRdsGraphicsChannelEvents_Vtbl { impl IWRdsGraphicsChannelManager { pub unsafe fn CreateChannel(&self, pszchannelname: *const u8, channeltype: WRdsGraphicsChannelType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateChannel)(::windows_core::Interface::as_raw(self), pszchannelname, channeltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateChannel)(::windows_core::Interface::as_raw(self), pszchannelname, channeltype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2821,7 +2821,7 @@ pub struct IWRdsGraphicsChannelManager_Vtbl { impl IWRdsProtocolConnection { pub unsafe fn GetLogonErrorRedirector(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogonErrorRedirector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogonErrorRedirector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptConnection(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AcceptConnection)(::windows_core::Interface::as_raw(self)).ok() @@ -2837,7 +2837,7 @@ impl IWRdsProtocolConnection { } pub unsafe fn GetLicenseConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLicenseConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLicenseConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AuthenticateClientToSession(&self, sessionid: *mut WTS_SESSION_ID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AuthenticateClientToSession)(::windows_core::Interface::as_raw(self), sessionid).ok() @@ -2853,7 +2853,7 @@ impl IWRdsProtocolConnection { } pub unsafe fn GetVideoHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVideoHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVideoHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConnectNotify(&self, sessionid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ConnectNotify)(::windows_core::Interface::as_raw(self), sessionid).ok() @@ -2895,7 +2895,7 @@ impl IWRdsProtocolConnection { } pub unsafe fn GetLastInputTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastInputTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastInputTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorInfo(&self, ulerror: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetErrorInfo)(::windows_core::Interface::as_raw(self), ulerror).ok() @@ -2906,14 +2906,14 @@ impl IWRdsProtocolConnection { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), requestedpriority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), requestedpriority, &mut result__).map(|| result__) } pub unsafe fn QueryProperty(&self, querytype: ::windows_core::GUID, ppropertyentriesin: &[WTS_PROPERTY_VALUE], ppropertyentriesout: &mut [WTS_PROPERTY_VALUE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryProperty)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(querytype), ppropertyentriesin.len().try_into().unwrap(), ppropertyentriesout.len().try_into().unwrap(), ::core::mem::transmute(ppropertyentriesin.as_ptr()), ::core::mem::transmute(ppropertyentriesout.as_ptr())).ok() } pub unsafe fn GetShadowConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShadowConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShadowConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyCommandProcessCreated(&self, sessionid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyCommandProcessCreated)(::windows_core::Interface::as_raw(self), sessionid).ok() @@ -2965,7 +2965,7 @@ impl IWRdsProtocolConnectionCallback { } pub unsafe fn GetConnectionId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnectionId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3025,7 +3025,7 @@ pub struct IWRdsProtocolLicenseConnection_Vtbl { impl IWRdsProtocolListener { pub unsafe fn GetSettings(&self, wrdslistenersettinglevel: WRDS_LISTENER_SETTING_LEVEL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettings)(::windows_core::Interface::as_raw(self), wrdslistenersettinglevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettings)(::windows_core::Interface::as_raw(self), wrdslistenersettinglevel, &mut result__).map(|| result__) } pub unsafe fn StartListen(&self, pcallback: P0) -> ::windows_core::Result<()> where @@ -3053,7 +3053,7 @@ impl IWRdsProtocolListenerCallback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnConnected)(::windows_core::Interface::as_raw(self), pconnection.into_param().abi(), pwrdsconnectionsettings, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnConnected)(::windows_core::Interface::as_raw(self), pconnection.into_param().abi(), pwrdsconnectionsettings, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3073,7 +3073,7 @@ impl IWRdsProtocolLogonErrorRedirector { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectStatus)(::windows_core::Interface::as_raw(self), pszmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectStatus)(::windows_core::Interface::as_raw(self), pszmessage.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RedirectMessage(&self, pszcaption: P0, pszmessage: P1, utype: u32) -> ::windows_core::Result where @@ -3081,7 +3081,7 @@ impl IWRdsProtocolLogonErrorRedirector { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectMessage)(::windows_core::Interface::as_raw(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectMessage)(::windows_core::Interface::as_raw(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).map(|| result__) } pub unsafe fn RedirectLogonError(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: P0, pszmessage: P1, utype: u32) -> ::windows_core::Result where @@ -3089,7 +3089,7 @@ impl IWRdsProtocolLogonErrorRedirector { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectLogonError)(::windows_core::Interface::as_raw(self), ntsstatus, ntssubstatus, pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectLogonError)(::windows_core::Interface::as_raw(self), ntsstatus, ntssubstatus, pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).map(|| result__) } } #[repr(C)] @@ -3115,7 +3115,7 @@ impl IWRdsProtocolManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), wszlistenername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), wszlistenername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyServiceStateChange)(::windows_core::Interface::as_raw(self), ptsservicestatechange).ok() @@ -3278,7 +3278,7 @@ impl IWTSBitmapRenderService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMappedRenderer)(::windows_core::Interface::as_raw(self), mappingid, pmappedrenderercallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMappedRenderer)(::windows_core::Interface::as_raw(self), mappingid, pmappedrenderercallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3295,7 +3295,7 @@ impl IWTSBitmapRenderer { } pub unsafe fn GetRendererStatistics(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRendererStatistics)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRendererStatistics)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveMapping(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveMapping)(::windows_core::Interface::as_raw(self)).ok() @@ -3328,7 +3328,7 @@ impl IWTSListener { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetConfiguration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConfiguration)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3390,7 +3390,7 @@ pub struct IWTSPlugin_Vtbl { impl IWTSPluginServiceProvider { pub unsafe fn GetService(&self, serviceid: ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(serviceid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(serviceid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3404,7 +3404,7 @@ pub struct IWTSPluginServiceProvider_Vtbl { impl IWTSProtocolConnection { pub unsafe fn GetLogonErrorRedirector(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLogonErrorRedirector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLogonErrorRedirector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SendPolicyData(&self, ppolicydata: *const WTS_POLICY_DATA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SendPolicyData)(::windows_core::Interface::as_raw(self), ppolicydata).ok() @@ -3420,7 +3420,7 @@ impl IWTSProtocolConnection { } pub unsafe fn GetLicenseConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLicenseConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLicenseConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AuthenticateClientToSession(&self, sessionid: *mut WTS_SESSION_ID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AuthenticateClientToSession)(::windows_core::Interface::as_raw(self), sessionid).ok() @@ -3471,7 +3471,7 @@ impl IWTSProtocolConnection { } pub unsafe fn GetLastInputTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastInputTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastInputTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorInfo(&self, ulerror: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetErrorInfo)(::windows_core::Interface::as_raw(self), ulerror).ok() @@ -3485,14 +3485,14 @@ impl IWTSProtocolConnection { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), requestedpriority, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateVirtualChannel)(::windows_core::Interface::as_raw(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), requestedpriority, &mut result__).map(|| result__) } pub unsafe fn QueryProperty(&self, querytype: ::windows_core::GUID, ppropertyentriesin: &[WTS_PROPERTY_VALUE], ppropertyentriesout: &mut [WTS_PROPERTY_VALUE]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryProperty)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(querytype), ppropertyentriesin.len().try_into().unwrap(), ppropertyentriesout.len().try_into().unwrap(), ::core::mem::transmute(ppropertyentriesin.as_ptr()), ::core::mem::transmute(ppropertyentriesout.as_ptr())).ok() } pub unsafe fn GetShadowConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShadowConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShadowConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3605,7 +3605,7 @@ impl IWTSProtocolListenerCallback { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnConnected)(::windows_core::Interface::as_raw(self), pconnection.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnConnected)(::windows_core::Interface::as_raw(self), pconnection.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3625,7 +3625,7 @@ impl IWTSProtocolLogonErrorRedirector { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectStatus)(::windows_core::Interface::as_raw(self), pszmessage.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectStatus)(::windows_core::Interface::as_raw(self), pszmessage.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RedirectMessage(&self, pszcaption: P0, pszmessage: P1, utype: u32) -> ::windows_core::Result where @@ -3633,7 +3633,7 @@ impl IWTSProtocolLogonErrorRedirector { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectMessage)(::windows_core::Interface::as_raw(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectMessage)(::windows_core::Interface::as_raw(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).map(|| result__) } pub unsafe fn RedirectLogonError(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: P0, pszmessage: P1, utype: u32) -> ::windows_core::Result where @@ -3641,7 +3641,7 @@ impl IWTSProtocolLogonErrorRedirector { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectLogonError)(::windows_core::Interface::as_raw(self), ntsstatus, ntssubstatus, pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectLogonError)(::windows_core::Interface::as_raw(self), ntsstatus, ntssubstatus, pszcaption.into_param().abi(), pszmessage.into_param().abi(), utype, &mut result__).map(|| result__) } } #[repr(C)] @@ -3661,7 +3661,7 @@ impl IWTSProtocolManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), wszlistenername.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), wszlistenername.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyServiceStateChange)(::windows_core::Interface::as_raw(self), ptsservicestatechange).ok() @@ -3740,7 +3740,7 @@ pub struct IWTSProtocolShadowConnection_Vtbl { impl IWTSSBPlugin { pub unsafe fn Initialize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Initialize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WTSSBX_MachineChangeNotification(&self, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, pmachineinfo: *const WTSSBX_MACHINE_INFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WTSSBX_MachineChangeNotification)(::windows_core::Interface::as_raw(self), notificationtype, machineid, pmachineinfo).ok() @@ -3826,7 +3826,7 @@ impl IWTSVirtualChannelManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), pszchannelname.into_param().abi(), uflags, plistenercallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateListener)(::windows_core::Interface::as_raw(self), pszchannelname.into_param().abi(), uflags, plistenercallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3841,7 +3841,7 @@ impl IWorkspace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWorkspaceNames(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartRemoteApplication(&self, bstrworkspaceid: P0, psaparams: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3852,7 +3852,7 @@ impl IWorkspace { } pub unsafe fn GetProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3875,7 +3875,7 @@ impl IWorkspace2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWorkspaceNames(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartRemoteApplication(&self, bstrworkspaceid: P0, psaparams: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3886,7 +3886,7 @@ impl IWorkspace2 { } pub unsafe fn GetProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartRemoteApplicationEx(&self, bstrworkspaceid: P0, bstrrequestingappid: P1, bstrrequestingappfamilyname: P2, blaunchintoimmersiveclient: P3, bstrimmersiveclientactivationcontext: P4, psaparams: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3915,7 +3915,7 @@ impl IWorkspace3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWorkspaceNames(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWorkspaceNames)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartRemoteApplication(&self, bstrworkspaceid: P0, psaparams: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3926,7 +3926,7 @@ impl IWorkspace3 { } pub unsafe fn GetProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartRemoteApplicationEx(&self, bstrworkspaceid: P0, bstrrequestingappid: P1, bstrrequestingappfamilyname: P2, blaunchintoimmersiveclient: P3, bstrimmersiveclientactivationcontext: P4, psaparams: *const super::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3945,7 +3945,7 @@ impl IWorkspace3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClaimsToken2)(::windows_core::Interface::as_raw(self), bstrclaimshint.into_param().abi(), bstruserhint.into_param().abi(), claimcookie, hwndcreduiparent, ::core::mem::transmute(rectcreduiparent), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClaimsToken2)(::windows_core::Interface::as_raw(self), bstrclaimshint.into_param().abi(), bstruserhint.into_param().abi(), claimcookie, hwndcreduiparent, ::core::mem::transmute(rectcreduiparent), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClaimsToken(&self, bstraccesstoken: P0, ullaccesstokenexpiration: u64, bstrrefreshtoken: P1) -> ::windows_core::Result<()> where @@ -3967,11 +3967,11 @@ pub struct IWorkspace3_Vtbl { impl IWorkspaceClientExt { pub unsafe fn GetResourceId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResourceDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IssueDisconnect(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IssueDisconnect)(::windows_core::Interface::as_raw(self)).ok() @@ -3993,7 +3993,7 @@ impl IWorkspaceRegistration { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddResource)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddResource)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveResource(&self, dwcookieconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveResource)(::windows_core::Interface::as_raw(self), dwcookieconnection).ok() @@ -4014,7 +4014,7 @@ impl IWorkspaceRegistration2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddResource)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddResource)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveResource(&self, dwcookieconnection: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.RemoveResource)(::windows_core::Interface::as_raw(self), dwcookieconnection).ok() @@ -4052,7 +4052,7 @@ impl IWorkspaceReportMessage { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsErrorMessageRegistered)(::windows_core::Interface::as_raw(self), bstrwkspid.into_param().abi(), dwerrortype, bstrerrormessagetype.into_param().abi(), dwerrorcode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsErrorMessageRegistered)(::windows_core::Interface::as_raw(self), bstrwkspid.into_param().abi(), dwerrortype, bstrerrormessagetype.into_param().abi(), dwerrorcode, &mut result__).map(|| result__) } pub unsafe fn RegisterErrorEvent(&self, bstrwkspid: P0, dwerrortype: u32, bstrerrormessagetype: P1, dwerrorcode: u32) -> ::windows_core::Result<()> where @@ -4097,7 +4097,7 @@ impl IWorkspaceResTypeRegistry { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisteredFileExtensions)(::windows_core::Interface::as_raw(self), fmachinewide.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisteredFileExtensions)(::windows_core::Interface::as_raw(self), fmachinewide.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetResourceTypeInfo(&self, fmachinewide: P0, bstrfileextension: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -4105,7 +4105,7 @@ impl IWorkspaceResTypeRegistry { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceTypeInfo)(::windows_core::Interface::as_raw(self), fmachinewide.into_param().abi(), bstrfileextension.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceTypeInfo)(::windows_core::Interface::as_raw(self), fmachinewide.into_param().abi(), bstrfileextension.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ModifyResourceType(&self, fmachinewide: P0, bstrfileextension: P1, bstrlauncher: P2) -> ::windows_core::Result<()> where @@ -4157,11 +4157,11 @@ impl IWorkspaceScriptable { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClearWorkspaceCredential(&self, bstrworkspaceid: P0) -> ::windows_core::Result<()> where @@ -4223,11 +4223,11 @@ impl IWorkspaceScriptable2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClearWorkspaceCredential(&self, bstrworkspaceid: P0) -> ::windows_core::Result<()> where @@ -4303,11 +4303,11 @@ impl IWorkspaceScriptable3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsWorkspaceCredentialSpecified)(::windows_core::Interface::as_raw(self), bstrworkspaceid.into_param().abi(), bcountunauthenticatedcredentials.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsWorkspaceSSOEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClearWorkspaceCredential(&self, bstrworkspaceid: P0) -> ::windows_core::Result<()> where @@ -4385,15 +4385,15 @@ impl ItsPubPlugin { } pub unsafe fn GetCacheLastUpdateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCacheLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCacheLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn pluginName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).pluginName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).pluginName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn pluginVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).pluginVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).pluginVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResolveResource(&self, resourcetype: *mut u32, resourcelocation: &mut [u16; 256], endpointname: &mut [u16; 256], userid: P0, alias: P1) -> ::windows_core::Result<()> where @@ -4431,15 +4431,15 @@ impl ItsPubPlugin2 { } pub unsafe fn GetCacheLastUpdateTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCacheLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCacheLastUpdateTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn pluginName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.pluginName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.pluginName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn pluginVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.pluginVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.pluginVersion)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResolveResource(&self, resourcetype: *mut u32, resourcelocation: &mut [u16; 256], endpointname: &mut [u16; 256], userid: P0, alias: P1) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/System/RemoteManagement/mod.rs b/crates/libs/windows/src/Windows/Win32/System/RemoteManagement/mod.rs index d21e55cbcb..094d33bfd6 100644 --- a/crates/libs/windows/src/Windows/Win32/System/RemoteManagement/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/RemoteManagement/mod.rs @@ -40,7 +40,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManConnectShell(session : WSMAN_SESSION_HANDLE, flags : u32, resourceuri : ::windows_core::PCWSTR, shellid : ::windows_core::PCWSTR, options : *const WSMAN_OPTION_SET, connectxml : *const WSMAN_DATA, r#async : *const WSMAN_SHELL_ASYNC, shell : *mut WSMAN_SHELL_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManConnectShell(session.into_param().abi(), flags, resourceuri.into_param().abi(), shellid.into_param().abi(), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), ::core::mem::transmute(connectxml.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManConnectShellCommand(shell: P0, flags: u32, commandid: P1, options: ::core::option::Option<*const WSMAN_OPTION_SET>, connectxml: ::core::option::Option<*const WSMAN_DATA>, r#async: *const WSMAN_SHELL_ASYNC) -> WSMAN_COMMAND_HANDLE @@ -51,7 +51,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManConnectShellCommand(shell : WSMAN_SHELL_HANDLE, flags : u32, commandid : ::windows_core::PCWSTR, options : *const WSMAN_OPTION_SET, connectxml : *const WSMAN_DATA, r#async : *const WSMAN_SHELL_ASYNC, command : *mut WSMAN_COMMAND_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManConnectShellCommand(shell.into_param().abi(), flags, commandid.into_param().abi(), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), ::core::mem::transmute(connectxml.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManCreateSession(apihandle: P0, connection: P1, flags: u32, serverauthenticationcredentials: ::core::option::Option<*const WSMAN_AUTHENTICATION_CREDENTIALS>, proxyinfo: ::core::option::Option<*const WSMAN_PROXY_INFO>, session: *mut WSMAN_SESSION_HANDLE) -> u32 @@ -71,7 +71,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManCreateShell(session : WSMAN_SESSION_HANDLE, flags : u32, resourceuri : ::windows_core::PCWSTR, startupinfo : *const WSMAN_SHELL_STARTUP_INFO_V11, options : *const WSMAN_OPTION_SET, createxml : *const WSMAN_DATA, r#async : *const WSMAN_SHELL_ASYNC, shell : *mut WSMAN_SHELL_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManCreateShell(session.into_param().abi(), flags, resourceuri.into_param().abi(), ::core::mem::transmute(startupinfo.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), ::core::mem::transmute(createxml.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManCreateShellEx(session: P0, flags: u32, resourceuri: P1, shellid: P2, startupinfo: ::core::option::Option<*const WSMAN_SHELL_STARTUP_INFO_V11>, options: ::core::option::Option<*const WSMAN_OPTION_SET>, createxml: ::core::option::Option<*const WSMAN_DATA>, r#async: *const WSMAN_SHELL_ASYNC) -> WSMAN_SHELL_HANDLE @@ -83,7 +83,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManCreateShellEx(session : WSMAN_SESSION_HANDLE, flags : u32, resourceuri : ::windows_core::PCWSTR, shellid : ::windows_core::PCWSTR, startupinfo : *const WSMAN_SHELL_STARTUP_INFO_V11, options : *const WSMAN_OPTION_SET, createxml : *const WSMAN_DATA, r#async : *const WSMAN_SHELL_ASYNC, shell : *mut WSMAN_SHELL_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManCreateShellEx(session.into_param().abi(), flags, resourceuri.into_param().abi(), shellid.into_param().abi(), ::core::mem::transmute(startupinfo.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), ::core::mem::transmute(createxml.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManDeinitialize(apihandle: P0, flags: u32) -> u32 @@ -208,7 +208,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManReceiveShellOutput(shell : WSMAN_SHELL_HANDLE, command : WSMAN_COMMAND_HANDLE, flags : u32, desiredstreamset : *const WSMAN_STREAM_ID_SET, r#async : *const WSMAN_SHELL_ASYNC, receiveoperation : *mut WSMAN_OPERATION_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManReceiveShellOutput(shell.into_param().abi(), command.into_param().abi(), flags, ::core::mem::transmute(desiredstreamset.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManReconnectShell(shell: P0, flags: u32, r#async: *const WSMAN_SHELL_ASYNC) @@ -235,7 +235,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManRunShellCommand(shell : WSMAN_SHELL_HANDLE, flags : u32, commandline : ::windows_core::PCWSTR, args : *const WSMAN_COMMAND_ARG_SET, options : *const WSMAN_OPTION_SET, r#async : *const WSMAN_SHELL_ASYNC, command : *mut WSMAN_COMMAND_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManRunShellCommand(shell.into_param().abi(), flags, commandline.into_param().abi(), ::core::mem::transmute(args.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManRunShellCommandEx(shell: P0, flags: u32, commandid: P1, commandline: P2, args: ::core::option::Option<*const WSMAN_COMMAND_ARG_SET>, options: ::core::option::Option<*const WSMAN_OPTION_SET>, r#async: *const WSMAN_SHELL_ASYNC) -> WSMAN_COMMAND_HANDLE @@ -247,7 +247,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManRunShellCommandEx(shell : WSMAN_SHELL_HANDLE, flags : u32, commandid : ::windows_core::PCWSTR, commandline : ::windows_core::PCWSTR, args : *const WSMAN_COMMAND_ARG_SET, options : *const WSMAN_OPTION_SET, r#async : *const WSMAN_SHELL_ASYNC, command : *mut WSMAN_COMMAND_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManRunShellCommandEx(shell.into_param().abi(), flags, commandid.into_param().abi(), commandline.into_param().abi(), ::core::mem::transmute(args.unwrap_or(::std::ptr::null())), ::core::mem::transmute(options.unwrap_or(::std::ptr::null())), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManSendShellInput(shell: P0, command: P1, flags: u32, streamid: P2, streamdata: *const WSMAN_DATA, endofstream: P3, r#async: *const WSMAN_SHELL_ASYNC) -> WSMAN_OPERATION_HANDLE @@ -260,7 +260,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManSendShellInput(shell : WSMAN_SHELL_HANDLE, command : WSMAN_COMMAND_HANDLE, flags : u32, streamid : ::windows_core::PCWSTR, streamdata : *const WSMAN_DATA, endofstream : super::super::Foundation:: BOOL, r#async : *const WSMAN_SHELL_ASYNC, sendoperation : *mut WSMAN_OPERATION_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManSendShellInput(shell.into_param().abi(), command.into_param().abi(), flags, streamid.into_param().abi(), streamdata, endofstream.into_param().abi(), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn WSManSetSessionOption(session: P0, option: WSManSessionOption, data: *const WSMAN_DATA) -> u32 @@ -280,7 +280,7 @@ where ::windows_targets::link!("wsmsvc.dll" "system" fn WSManSignalShell(shell : WSMAN_SHELL_HANDLE, command : WSMAN_COMMAND_HANDLE, flags : u32, code : ::windows_core::PCWSTR, r#async : *const WSMAN_SHELL_ASYNC, signaloperation : *mut WSMAN_OPERATION_HANDLE)); let mut result__ = ::std::mem::zeroed(); WSManSignalShell(shell.into_param().abi(), command.into_param().abi(), flags, code.into_param().abi(), r#async, &mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_System_Com")] ::windows_core::imp::com_interface!(IWSMan, IWSMan_Vtbl, 0x190d8637_5cd3_496d_ad24_69636bb5a3b5); @@ -295,20 +295,20 @@ impl IWSMan { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateConnectionOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommandLine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -335,7 +335,7 @@ pub struct IWSMan_Vtbl { impl IWSManConnectionOptions { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUserName(&self, name: P0) -> ::windows_core::Result<()> where @@ -367,7 +367,7 @@ pub struct IWSManConnectionOptions_Vtbl { impl IWSManConnectionOptionsEx { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUserName(&self, name: P0) -> ::windows_core::Result<()> where @@ -383,7 +383,7 @@ impl IWSManConnectionOptionsEx { } pub unsafe fn CertificateThumbprint(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CertificateThumbprint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CertificateThumbprint)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateThumbprint(&self, thumbprint: P0) -> ::windows_core::Result<()> where @@ -408,7 +408,7 @@ pub struct IWSManConnectionOptionsEx_Vtbl { impl IWSManConnectionOptionsEx2 { pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUserName(&self, name: P0) -> ::windows_core::Result<()> where @@ -424,7 +424,7 @@ impl IWSManConnectionOptionsEx2 { } pub unsafe fn CertificateThumbprint(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CertificateThumbprint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CertificateThumbprint)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCertificateThumbprint(&self, thumbprint: P0) -> ::windows_core::Result<()> where @@ -441,31 +441,31 @@ impl IWSManConnectionOptionsEx2 { } pub unsafe fn ProxyIEConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyIEConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyIEConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyWinHttpConfig(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyWinHttpConfig)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyWinHttpConfig)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyAutoDetect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyAutoDetect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyAutoDetect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyNoProxyServer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyNoProxyServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyNoProxyServer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyAuthenticationUseNegotiate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyAuthenticationUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyAuthenticationUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyAuthenticationUseBasic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyAuthenticationUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyAuthenticationUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProxyAuthenticationUseDigest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyAuthenticationUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyAuthenticationUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -490,15 +490,15 @@ pub struct IWSManConnectionOptionsEx2_Vtbl { impl IWSManEnumerator { pub unsafe fn ReadItem(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AtEndOfStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AtEndOfStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AtEndOfStream)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -523,20 +523,20 @@ impl IWSManEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateConnectionOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommandLine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResourceLocator(&self, strresourcelocator: P0) -> ::windows_core::Result @@ -544,83 +544,83 @@ impl IWSManEx { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionFlagUTF8(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagCredUsernamePassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCACheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCNCheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseDigest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNegotiate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseBasic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseKerberos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagNoEncryption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagEnableSPNServerPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNoAuthentication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagNonXmlText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObjectAndEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorMessage(&self, errornumber: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerationFlagHierarchyDeep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyShallow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyDeepBasePropsOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -665,20 +665,20 @@ impl IWSManEx2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateConnectionOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommandLine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResourceLocator(&self, strresourcelocator: P0) -> ::windows_core::Result @@ -686,87 +686,87 @@ impl IWSManEx2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionFlagUTF8(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagCredUsernamePassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCACheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCNCheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseDigest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNegotiate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseBasic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseKerberos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagNoEncryption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagEnableSPNServerPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNoAuthentication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagNonXmlText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObjectAndEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorMessage(&self, errornumber: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerationFlagHierarchyDeep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyShallow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyDeepBasePropsOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseClientCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -789,20 +789,20 @@ impl IWSManEx3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSession)(::windows_core::Interface::as_raw(self), connection.into_param().abi(), flags, connectionoptions.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateConnectionOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateConnectionOptions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CommandLine(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CommandLine)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateResourceLocator(&self, strresourcelocator: P0) -> ::windows_core::Result @@ -810,115 +810,115 @@ impl IWSManEx3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateResourceLocator)(::windows_core::Interface::as_raw(self), strresourcelocator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SessionFlagUTF8(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUTF8)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagCredUsernamePassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagCredUsernamePassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCACheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagSkipCACheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipCNCheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagSkipCNCheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseDigest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseDigest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNegotiate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseNegotiate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseBasic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseBasic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseKerberos(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseKerberos)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagNoEncryption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagNoEncryption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagEnableSPNServerPort(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagEnableSPNServerPort)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseNoAuthentication(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SessionFlagUseNoAuthentication)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagNonXmlText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagNonXmlText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObjectAndEPR(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnObjectAndEPR)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorMessage(&self, errornumber: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetErrorMessage)(::windows_core::Interface::as_raw(self), errornumber, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerationFlagHierarchyDeep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyDeep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyShallow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyShallow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagHierarchyDeepBasePropsOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagHierarchyDeepBasePropsOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagReturnObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EnumerationFlagReturnObject)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseClientCertificate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SessionFlagUseClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SessionFlagUseClientCertificate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUTF16(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUTF16)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUTF16)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseCredSsp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseCredSsp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseCredSsp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagAssociationInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagAssociationInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagAssociationInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumerationFlagAssociatedInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationFlagAssociatedInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationFlagAssociatedInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagSkipRevocationCheck(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagSkipRevocationCheck)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagSkipRevocationCheck)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagAllowNegotiateImplicitCredentials(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagAllowNegotiateImplicitCredentials)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagAllowNegotiateImplicitCredentials)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SessionFlagUseSsl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SessionFlagUseSsl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SessionFlagUseSsl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -947,7 +947,7 @@ impl IWSManInternal { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConfigSDDL)(::windows_core::Interface::as_raw(self), session.into_param().abi(), resourceuri.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConfigSDDL)(::windows_core::Interface::as_raw(self), session.into_param().abi(), resourceuri.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -974,7 +974,7 @@ impl IWSManResourceLocator { } pub unsafe fn ResourceURI(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResourceURI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResourceURI)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSelector(&self, resourceselname: P0, selvalue: P1) -> ::windows_core::Result<()> where @@ -988,7 +988,7 @@ impl IWSManResourceLocator { } pub unsafe fn FragmentPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FragmentPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FragmentPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFragmentPath(&self, text: P0) -> ::windows_core::Result<()> where @@ -998,7 +998,7 @@ impl IWSManResourceLocator { } pub unsafe fn FragmentDialect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FragmentDialect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FragmentDialect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFragmentDialect(&self, text: P0) -> ::windows_core::Result<()> where @@ -1022,14 +1022,14 @@ impl IWSManResourceLocator { } pub unsafe fn MustUnderstandOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MustUnderstandOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MustUnderstandOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClearOptions(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ClearOptions)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1070,7 +1070,7 @@ impl IWSManSession { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Put(&self, resourceuri: P0, resource: P1, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where @@ -1078,7 +1078,7 @@ impl IWSManSession { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Put)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), resource.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Put)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), resource.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Create(&self, resourceuri: P0, resource: P1, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> where @@ -1086,7 +1086,7 @@ impl IWSManSession { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), resource.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), resource.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, resourceuri: P0, flags: i32) -> ::windows_core::Result<()> where @@ -1101,7 +1101,7 @@ impl IWSManSession { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Invoke2)(::windows_core::Interface::as_raw(self), actionuri.into_param().abi(), resourceuri.into_param().abi(), parameters.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Invoke2)(::windows_core::Interface::as_raw(self), actionuri.into_param().abi(), resourceuri.into_param().abi(), parameters.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Enumerate(&self, resourceuri: P0, filter: P1, dialect: P2, flags: i32) -> ::windows_core::Result @@ -1111,26 +1111,26 @@ impl IWSManSession { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enumerate)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), filter.into_param().abi(), dialect.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enumerate)(::windows_core::Interface::as_raw(self), resourceuri.into_param().abi(), filter.into_param().abi(), dialect.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Identify(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Identify)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Identify)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Error(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Error)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BatchItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BatchItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BatchItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBatchItems(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBatchItems)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn Timeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Timeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Timeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTimeout(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTimeout)(::windows_core::Interface::as_raw(self), value).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/Search/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Search/mod.rs index e6ec9483b3..5e371e4752 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Search/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Search/mod.rs @@ -1632,15 +1632,15 @@ pub unsafe fn dbprtypeW(param0: i32) -> ::windows_core::PWSTR { impl DataSource { pub unsafe fn getDataMember(&self, bstrdm: *const u16, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDataMember)(::windows_core::Interface::as_raw(self), bstrdm, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDataMember)(::windows_core::Interface::as_raw(self), bstrdm, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getDataMemberName(&self, lindex: i32) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDataMemberName)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDataMemberName)(::windows_core::Interface::as_raw(self), lindex, &mut result__).map(|| result__) } pub unsafe fn getDataMemberCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDataMemberCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDataMemberCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn addDataSourceListener(&self, pdsl: P0) -> ::windows_core::Result<()> where @@ -1870,7 +1870,7 @@ impl IColumnMapperCreator { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnMapper)(::windows_core::Interface::as_raw(self), wcsmachinename.into_param().abi(), wcscatalogname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnMapper)(::windows_core::Interface::as_raw(self), wcsmachinename.into_param().abi(), wcscatalogname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1971,7 +1971,7 @@ impl ICommand { } pub unsafe fn GetDBSession(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDBSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDBSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2043,7 +2043,7 @@ impl ICommandPersist { #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn GetCurrentCommand(&self) -> ::windows_core::Result<*mut super::super::Storage::IndexServer::DBID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentCommand)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentCommand)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn LoadCommand(&self, pcommandid: *const super::super::Storage::IndexServer::DBID, dwflags: u32) -> ::windows_core::Result<()> { @@ -2151,7 +2151,7 @@ impl ICommandText { } pub unsafe fn GetDBSession(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDBSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDBSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCommandText(&self, pguiddialect: ::core::option::Option<*mut ::windows_core::GUID>, ppwszcommand: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCommandText)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguiddialect.unwrap_or(::std::ptr::null_mut())), ppwszcommand).ok() @@ -2221,7 +2221,7 @@ impl ICondition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { @@ -2245,19 +2245,19 @@ impl ICondition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConditionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConditionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubConditions(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSubConditions)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubConditions)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetComparisonInfo(&self, ppszpropertyname: ::core::option::Option<*mut ::windows_core::PWSTR>, pcop: ::core::option::Option<*mut Common::CONDITION_OPERATION>, ppropvar: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { @@ -2265,11 +2265,11 @@ impl ICondition { } pub unsafe fn GetValueType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueNormalization(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueNormalization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueNormalization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputTerms(&self, pppropertyterm: ::core::option::Option<*mut ::core::option::Option>, ppoperationterm: ::core::option::Option<*mut ::core::option::Option>, ppvalueterm: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputTerms)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pppropertyterm.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppoperationterm.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppvalueterm.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2277,7 +2277,7 @@ impl ICondition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2311,7 +2311,7 @@ impl ICondition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT { @@ -2335,19 +2335,19 @@ impl ICondition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConditionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConditionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubConditions(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetSubConditions)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSubConditions)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetComparisonInfo(&self, ppszpropertyname: ::core::option::Option<*mut ::windows_core::PWSTR>, pcop: ::core::option::Option<*mut Common::CONDITION_OPERATION>, ppropvar: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { @@ -2355,11 +2355,11 @@ impl ICondition2 { } pub unsafe fn GetValueType(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValueType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueNormalization(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValueNormalization)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValueNormalization)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputTerms(&self, pppropertyterm: ::core::option::Option<*mut ::core::option::Option>, ppoperationterm: ::core::option::Option<*mut ::core::option::Option>, ppvalueterm: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetInputTerms)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pppropertyterm.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppoperationterm.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppvalueterm.unwrap_or(::std::ptr::null_mut()))).ok() @@ -2367,11 +2367,11 @@ impl ICondition2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLocale(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetLeafConditionInfo(&self, ppropkey: ::core::option::Option<*mut super::super::UI::Shell::PropertiesSystem::PROPERTYKEY>, pcop: ::core::option::Option<*mut Common::CONDITION_OPERATION>, ppropvar: ::core::option::Option<*mut ::windows_core::PROPVARIANT>) -> ::windows_core::Result<()> { @@ -2399,7 +2399,7 @@ impl IConditionFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeAndOr(&self, ct: Common::CONDITION_TYPE, peusubs: P0, fsimplify: P1) -> ::windows_core::Result @@ -2408,7 +2408,7 @@ impl IConditionFactory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeLeaf(&self, pszpropertyname: P0, cop: Common::CONDITION_OPERATION, pszvaluetype: P1, ppropvar: *const ::windows_core::PROPVARIANT, ppropertynameterm: P2, poperationterm: P3, pvalueterm: P4, fexpand: P5) -> ::windows_core::Result @@ -2421,7 +2421,7 @@ impl IConditionFactory { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resolve(&self, pc: P0, sqro: STRUCTURED_QUERY_RESOLVE_OPTION, pstreferencetime: ::core::option::Option<*const super::super::Foundation::SYSTEMTIME>) -> ::windows_core::Result @@ -2429,7 +2429,7 @@ impl IConditionFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2463,7 +2463,7 @@ impl IConditionFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeAndOr(&self, ct: Common::CONDITION_TYPE, peusubs: P0, fsimplify: P1) -> ::windows_core::Result @@ -2472,7 +2472,7 @@ impl IConditionFactory2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeLeaf(&self, pszpropertyname: P0, cop: Common::CONDITION_OPERATION, pszvaluetype: P1, ppropvar: *const ::windows_core::PROPVARIANT, ppropertynameterm: P2, poperationterm: P3, pvalueterm: P4, fexpand: P5) -> ::windows_core::Result @@ -2485,7 +2485,7 @@ impl IConditionFactory2 { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resolve(&self, pc: P0, sqro: STRUCTURED_QUERY_RESOLVE_OPTION, pstreferencetime: ::core::option::Option<*const super::super::Foundation::SYSTEMTIME>) -> ::windows_core::Result @@ -2493,7 +2493,7 @@ impl IConditionFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueFalse(&self, fval: P0, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result where @@ -2501,7 +2501,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateTrueFalse)(::windows_core::Interface::as_raw(self), fval.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTrueFalse)(::windows_core::Interface::as_raw(self), fval.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateNegation(&self, pcsub: P0, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2510,7 +2510,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateNegation)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNegation)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_Common"))] pub unsafe fn CreateCompoundFromObjectArray(&self, ct: Common::CONDITION_TYPE, poasubs: P0, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2519,7 +2519,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCompoundFromObjectArray)(::windows_core::Interface::as_raw(self), ct, poasubs.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompoundFromObjectArray)(::windows_core::Interface::as_raw(self), ct, poasubs.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn CreateCompoundFromArray(&self, ct: Common::CONDITION_TYPE, ppcondsubs: &[::core::option::Option], cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2527,7 +2527,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCompoundFromArray)(::windows_core::Interface::as_raw(self), ct, ::core::mem::transmute(ppcondsubs.as_ptr()), ppcondsubs.len().try_into().unwrap(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompoundFromArray)(::windows_core::Interface::as_raw(self), ct, ::core::mem::transmute(ppcondsubs.as_ptr()), ppcondsubs.len().try_into().unwrap(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn CreateStringLeaf(&self, propkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, cop: Common::CONDITION_OPERATION, pszvalue: P0, pszlocalename: P1, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2537,7 +2537,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateStringLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, pszvalue.into_param().abi(), pszlocalename.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStringLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, pszvalue.into_param().abi(), pszlocalename.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn CreateIntegerLeaf(&self, propkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, cop: Common::CONDITION_OPERATION, lvalue: i32, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2545,7 +2545,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateIntegerLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, lvalue, cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIntegerLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, lvalue, cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn CreateBooleanLeaf(&self, propkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, cop: Common::CONDITION_OPERATION, fvalue: P0, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2554,7 +2554,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateBooleanLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, fvalue.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBooleanLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, fvalue.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Search_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn CreateLeaf(&self, propkey: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, cop: Common::CONDITION_OPERATION, propvar: *const ::windows_core::PROPVARIANT, pszsemantictype: P0, pszlocalename: P1, ppropertynameterm: P2, poperationterm: P3, pvalueterm: P4, cco: CONDITION_CREATION_OPTIONS) -> ::windows_core::Result @@ -2567,7 +2567,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, ::core::mem::transmute(propvar), pszsemantictype.into_param().abi(), pszlocalename.into_param().abi(), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), cco, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLeaf)(::windows_core::Interface::as_raw(self), propkey, cop, ::core::mem::transmute(propvar), pszsemantictype.into_param().abi(), pszlocalename.into_param().abi(), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), cco, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResolveCondition(&self, pc: P0, sqro: STRUCTURED_QUERY_RESOLVE_OPTION, pstreferencetime: ::core::option::Option<*const super::super::Foundation::SYSTEMTIME>) -> ::windows_core::Result @@ -2576,7 +2576,7 @@ impl IConditionFactory2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ResolveCondition)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResolveCondition)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2648,7 +2648,7 @@ impl IConditionGenerator { P8: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateForLeaf)(::windows_core::Interface::as_raw(self), pconditionfactory.into_param().abi(), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), pszvalue.into_param().abi(), pszvalue2.into_param().abi(), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), automaticwildcard.into_param().abi(), pnostringquery, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateForLeaf)(::windows_core::Interface::as_raw(self), pconditionfactory.into_param().abi(), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), pszvalue.into_param().abi(), pszvalue2.into_param().abi(), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), automaticwildcard.into_param().abi(), pnostringquery, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DefaultPhrase(&self, pszvaluetype: P0, ppropvar: *const ::windows_core::PROPVARIANT, fuseenglish: P1, ppszphrase: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> where @@ -2782,7 +2782,7 @@ impl IDBCreateCommand { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCommand)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCommand)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2799,7 +2799,7 @@ impl IDBCreateSession { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2853,7 +2853,7 @@ pub struct IDBDataSourceAdmin_Vtbl { impl IDBInfo { pub unsafe fn GetKeywords(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeywords)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeywords)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLiteralInfo(&self, rgliterals: ::core::option::Option<&[u32]>, pcliteralinfo: *mut u32, prgliteralinfo: *mut *mut DBLITERALINFO, ppcharbuffer: *mut *mut u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLiteralInfo)(::windows_core::Interface::as_raw(self), rgliterals.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(rgliterals.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pcliteralinfo, prgliteralinfo, ppcharbuffer).ok() @@ -2901,7 +2901,7 @@ impl IDBPromptInitialize { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PromptFileName)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), dwpromptoptions, pwszinitialdirectory.into_param().abi(), pwszinitialfile.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PromptFileName)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), dwpromptoptions, pwszinitialdirectory.into_param().abi(), pwszinitialfile.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2952,7 +2952,7 @@ impl IDBSchemaCommand { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCommand)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), rguidschema, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCommand)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), rguidschema, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSchemas(&self, pcschemas: *mut u32, prgschemas: *mut *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSchemas)(::windows_core::Interface::as_raw(self), pcschemas, prgschemas).ok() @@ -3053,7 +3053,7 @@ impl IDataInitialize { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInitializationString)(::windows_core::Interface::as_raw(self), pdatasource.into_param().abi(), fincludepassword, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInitializationString)(::windows_core::Interface::as_raw(self), pdatasource.into_param().abi(), fincludepassword, &mut result__).map(|| result__) } pub unsafe fn CreateDBInstance(&self, clsidprovider: *const ::windows_core::GUID, punkouter: P0, dwclsctx: u32, pwszreserved: P1, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -3061,7 +3061,7 @@ impl IDataInitialize { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDBInstance)(::windows_core::Interface::as_raw(self), clsidprovider, punkouter.into_param().abi(), dwclsctx, pwszreserved.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDBInstance)(::windows_core::Interface::as_raw(self), clsidprovider, punkouter.into_param().abi(), dwclsctx, pwszreserved.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateDBInstanceEx(&self, clsidprovider: *const ::windows_core::GUID, punkouter: P0, dwclsctx: u32, pwszreserved: P1, pserverinfo: *const super::Com::COSERVERINFO, rgmqresults: &mut [super::Com::MULTI_QI]) -> ::windows_core::Result<()> @@ -3076,7 +3076,7 @@ impl IDataInitialize { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadStringFromStorage)(::windows_core::Interface::as_raw(self), pwszfilename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadStringFromStorage)(::windows_core::Interface::as_raw(self), pwszfilename.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn WriteStringToStorage(&self, pwszfilename: P0, pwszinitializationstring: P1, dwcreationdisposition: u32) -> ::windows_core::Result<()> where @@ -3108,7 +3108,7 @@ pub struct IDataInitialize_Vtbl { impl IDataSourceLocator { pub unsafe fn hWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SethWnd(&self, hwndparent: P0) -> ::windows_core::Result<()> where @@ -3119,7 +3119,7 @@ impl IDataSourceLocator { #[cfg(feature = "Win32_System_Com")] pub unsafe fn PromptNew(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PromptNew)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PromptNew)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PromptEdit(&self, ppadoconnection: *mut ::core::option::Option, pbsuccess: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { @@ -3150,42 +3150,42 @@ impl IEntity { } pub unsafe fn Base(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Base)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Base)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Relationships(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Relationships)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Relationships)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRelationship(&self, pszrelationname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelationship)(::windows_core::Interface::as_raw(self), pszrelationname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelationship)(::windows_core::Interface::as_raw(self), pszrelationname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MetaData(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NamedEntities(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).NamedEntities)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NamedEntities)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNamedEntity(&self, pszvalue: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamedEntity)(::windows_core::Interface::as_raw(self), pszvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamedEntity)(::windows_core::Interface::as_raw(self), pszvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DefaultPhrase(&self, ppszphrase: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DefaultPhrase)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppszphrase.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3218,11 +3218,11 @@ impl IEnumItemProperties { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3249,7 +3249,7 @@ impl IEnumSearchRoots { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3275,7 +3275,7 @@ impl IEnumSearchScopeRules { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3301,11 +3301,11 @@ impl IEnumSubscription { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3358,21 +3358,21 @@ impl IErrorRecords { } pub unsafe fn GetCustomErrorObject(&self, ulrecordnum: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCustomErrorObject)(::windows_core::Interface::as_raw(self), ulrecordnum, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCustomErrorObject)(::windows_core::Interface::as_raw(self), ulrecordnum, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetErrorInfo(&self, ulrecordnum: u32, lcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorInfo)(::windows_core::Interface::as_raw(self), ulrecordnum, lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorInfo)(::windows_core::Interface::as_raw(self), ulrecordnum, lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetErrorParameters(&self, ulrecordnum: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorParameters)(::windows_core::Interface::as_raw(self), ulrecordnum, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorParameters)(::windows_core::Interface::as_raw(self), ulrecordnum, &mut result__).map(|| result__) } pub unsafe fn GetRecordCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRecordCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3400,7 +3400,7 @@ pub struct IErrorRecords_Vtbl { impl IGetDataSource { pub unsafe fn GetDataSource(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataSource)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataSource)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3417,11 +3417,11 @@ impl IGetRow { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRowFromHROW)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), hrow, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRowFromHROW)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), hrow, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetURLFromHROW(&self, hrow: usize) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURLFromHROW)(::windows_core::Interface::as_raw(self), hrow, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURLFromHROW)(::windows_core::Interface::as_raw(self), hrow, &mut result__).map(|| result__) } } #[repr(C)] @@ -3436,7 +3436,7 @@ pub struct IGetRow_Vtbl { impl IGetSession { pub unsafe fn GetSession(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSession)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3450,7 +3450,7 @@ pub struct IGetSession_Vtbl { impl IGetSourceRow { pub unsafe fn GetSourceRow(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceRow)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceRow)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3618,7 +3618,7 @@ impl IMDDataset { } pub unsafe fn GetSpecification(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3639,11 +3639,11 @@ pub struct IMDDataset_Vtbl { impl IMDFind { pub unsafe fn FindCell(&self, ulstartingordinal: usize, rgpwszmember: &[::windows_core::PCWSTR]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindCell)(::windows_core::Interface::as_raw(self), ulstartingordinal, rgpwszmember.len().try_into().unwrap(), ::core::mem::transmute(rgpwszmember.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindCell)(::windows_core::Interface::as_raw(self), ulstartingordinal, rgpwszmember.len().try_into().unwrap(), ::core::mem::transmute(rgpwszmember.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn FindTuple(&self, ulaxisidentifier: u32, ulstartingordinal: usize, rgpwszmember: &[::windows_core::PCWSTR]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindTuple)(::windows_core::Interface::as_raw(self), ulaxisidentifier, ulstartingordinal, rgpwszmember.len().try_into().unwrap(), ::core::mem::transmute(rgpwszmember.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindTuple)(::windows_core::Interface::as_raw(self), ulaxisidentifier, ulstartingordinal, rgpwszmember.len().try_into().unwrap(), ::core::mem::transmute(rgpwszmember.as_ptr()), &mut result__).map(|| result__) } } #[repr(C)] @@ -3707,7 +3707,7 @@ pub struct IMultipleResults_Vtbl { impl INamedEntity { pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultPhrase(&self, ppszphrase: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DefaultPhrase)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppszphrase.unwrap_or(::std::ptr::null_mut()))).ok() @@ -3747,12 +3747,12 @@ impl IObjectAccessControl { #[cfg(all(feature = "Win32_Security_Authorization", feature = "Win32_Storage_IndexServer"))] pub unsafe fn GetObjectOwner(&self, pobject: *const SEC_OBJECT) -> ::windows_core::Result<*mut super::super::Security::Authorization::TRUSTEE_W> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectOwner)(::windows_core::Interface::as_raw(self), pobject, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectOwner)(::windows_core::Interface::as_raw(self), pobject, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Security_Authorization", feature = "Win32_Storage_IndexServer"))] pub unsafe fn IsObjectAccessAllowed(&self, pobject: *const SEC_OBJECT, paccessentry: *const super::super::Security::Authorization::EXPLICIT_ACCESS_W) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsObjectAccessAllowed)(::windows_core::Interface::as_raw(self), pobject, paccessentry, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsObjectAccessAllowed)(::windows_core::Interface::as_raw(self), pobject, paccessentry, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Security_Authorization", feature = "Win32_Storage_IndexServer"))] pub unsafe fn SetObjectAccessRights(&self, pobject: *const SEC_OBJECT, caccessentries: u32, prgaccessentries: *mut super::super::Security::Authorization::EXPLICIT_ACCESS_W) -> ::windows_core::Result<()> { @@ -3793,15 +3793,15 @@ pub struct IObjectAccessControl_Vtbl { impl IOpLockStatus { pub unsafe fn IsOplockValid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOplockValid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOplockValid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsOplockBroken(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOplockBroken)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOplockBroken)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOplockEventHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOplockEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOplockEventHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3840,7 +3840,7 @@ impl IParentRowset { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), iordinal, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), iordinal, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3859,7 +3859,7 @@ impl IProtocolHandlerSite { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), pclsidobj, pcwszcontenttype.into_param().abi(), pcwszextension.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), pclsidobj, pcwszcontenttype.into_param().abi(), pcwszextension.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3877,7 +3877,7 @@ impl IProvideMoniker { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMoniker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3899,14 +3899,14 @@ impl IQueryParser { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parse)(::windows_core::Interface::as_raw(self), pszinputstring.into_param().abi(), pcustomproperties.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parse)(::windows_core::Interface::as_raw(self), pszinputstring.into_param().abi(), pcustomproperties.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOption(&self, option: STRUCTURED_QUERY_SINGLE_OPTION, poptionvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOption)(::windows_core::Interface::as_raw(self), option, ::core::mem::transmute(poptionvalue)).ok() } pub unsafe fn GetOption(&self, option: STRUCTURED_QUERY_SINGLE_OPTION) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), option, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOption)(::windows_core::Interface::as_raw(self), option, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMultiOption(&self, option: STRUCTURED_QUERY_MULTIOPTION, pszoptionkey: P0, poptionvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -3916,7 +3916,7 @@ impl IQueryParser { } pub unsafe fn GetSchemaProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSchemaProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSchemaProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestateToString(&self, pcondition: P0, fuseenglish: P1) -> ::windows_core::Result<::windows_core::PWSTR> @@ -3925,7 +3925,7 @@ impl IQueryParser { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RestateToString)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), fuseenglish.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RestateToString)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), fuseenglish.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ParsePropertyValue(&self, pszpropertyname: P0, pszinputstring: P1) -> ::windows_core::Result where @@ -3933,7 +3933,7 @@ impl IQueryParser { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParsePropertyValue)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), pszinputstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParsePropertyValue)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), pszinputstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RestatePropertyValueToString(&self, pcondition: P0, fuseenglish: P1, ppszpropertyname: *mut ::windows_core::PWSTR, ppszquerystring: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> @@ -3975,7 +3975,7 @@ impl IQueryParserManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateLoadedParser)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), langidforkeywords, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLoadedParser)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), langidforkeywords, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InitializeOptions(&self, funderstandnqs: P0, fautowildcard: P1, pqueryparser: P2) -> ::windows_core::Result<()> where @@ -4007,7 +4007,7 @@ impl IQuerySolution { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeNot)(::windows_core::Interface::as_raw(self), pcsub.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeAndOr(&self, ct: Common::CONDITION_TYPE, peusubs: P0, fsimplify: P1) -> ::windows_core::Result @@ -4016,7 +4016,7 @@ impl IQuerySolution { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeAndOr)(::windows_core::Interface::as_raw(self), ct, peusubs.into_param().abi(), fsimplify.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search_Common"))] pub unsafe fn MakeLeaf(&self, pszpropertyname: P0, cop: Common::CONDITION_OPERATION, pszvaluetype: P1, ppropvar: *const ::windows_core::PROPVARIANT, ppropertynameterm: P2, poperationterm: P3, pvalueterm: P4, fexpand: P5) -> ::windows_core::Result @@ -4029,7 +4029,7 @@ impl IQuerySolution { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MakeLeaf)(::windows_core::Interface::as_raw(self), pszpropertyname.into_param().abi(), cop, pszvaluetype.into_param().abi(), ::core::mem::transmute(ppropvar), ppropertynameterm.into_param().abi(), poperationterm.into_param().abi(), pvalueterm.into_param().abi(), fexpand.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Resolve(&self, pc: P0, sqro: STRUCTURED_QUERY_RESOLVE_OPTION, pstreferencetime: ::core::option::Option<*const super::super::Foundation::SYSTEMTIME>) -> ::windows_core::Result @@ -4037,7 +4037,7 @@ impl IQuerySolution { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Resolve)(::windows_core::Interface::as_raw(self), pc.into_param().abi(), sqro, ::core::mem::transmute(pstreferencetime.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetQuery(&self, ppquerynode: ::core::option::Option<*mut ::core::option::Option>, ppmaintype: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> { @@ -4048,7 +4048,7 @@ impl IQuerySolution { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetErrors)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrors)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLexicalData(&self, ppszinputstring: ::core::option::Option<*mut ::windows_core::PWSTR>, pptokens: ::core::option::Option<*mut ::core::option::Option>, plcid: ::core::option::Option<*mut u32>, ppwordbreaker: ::core::option::Option<*mut ::core::option::Option<::windows_core::IUnknown>>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLexicalData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppszinputstring.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pptokens.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(plcid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppwordbreaker.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4093,7 +4093,7 @@ impl IRegisterProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURLMapping)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), dwreserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURLMapping)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), dwreserved, &mut result__).map(|| result__) } pub unsafe fn SetURLMapping(&self, pwszurl: P0, dwreserved: usize, rclsidprovider: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -4124,18 +4124,18 @@ impl IRelationship { } pub unsafe fn IsReal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsReal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsReal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Destination(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Destination)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MetaData(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DefaultPhrase(&self, ppszphrase: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DefaultPhrase)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppszphrase.unwrap_or(::std::ptr::null_mut()))).ok() @@ -4224,7 +4224,7 @@ impl IRowPosition { } pub unsafe fn GetRowset(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRowset)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRowset)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Initialize(&self, prowset: P0) -> ::windows_core::Result<()> where @@ -4370,7 +4370,7 @@ impl IRowsetChange { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertRow)(::windows_core::Interface::as_raw(self), hreserved, haccessor.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertRow)(::windows_core::Interface::as_raw(self), hreserved, haccessor.into_param().abi(), pdata, &mut result__).map(|| result__) } } #[repr(C)] @@ -4422,14 +4422,14 @@ impl IRowsetCopyRows { } pub unsafe fn CopyRows(&self, hsourceid: u16, hreserved: usize, crows: isize, bflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyRows)(::windows_core::Interface::as_raw(self), hsourceid, hreserved, crows, bflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyRows)(::windows_core::Interface::as_raw(self), hsourceid, hreserved, crows, bflags, &mut result__).map(|| result__) } pub unsafe fn DefineSource(&self, prowsetsource: P0, ccolids: usize, rgsourcecolumns: *const isize, rgtargetcolumns: *const isize) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefineSource)(::windows_core::Interface::as_raw(self), prowsetsource.into_param().abi(), ccolids, rgsourcecolumns, rgtargetcolumns, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefineSource)(::windows_core::Interface::as_raw(self), prowsetsource.into_param().abi(), ccolids, rgsourcecolumns, rgtargetcolumns, &mut result__).map(|| result__) } } #[repr(C)] @@ -4463,7 +4463,7 @@ impl IRowsetCurrentIndex { #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn GetIndex(&self) -> ::windows_core::Result<*mut super::super::Storage::IndexServer::DBID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn SetIndex(&self, pindexid: *const super::super::Storage::IndexServer::DBID) -> ::windows_core::Result<()> { @@ -4531,7 +4531,7 @@ impl IRowsetExactScroll { } pub unsafe fn Compare(&self, hreserved: usize, pbookmark1: &[u8], pbookmark2: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetRowsAt(&self, hreserved1: usize, hreserved2: usize, pbookmark: &[u8], lrowsoffset: isize, pcrowsobtained: *mut usize, prghrows: &mut [*mut usize]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetRowsAt)(::windows_core::Interface::as_raw(self), hreserved1, hreserved2, pbookmark.len().try_into().unwrap(), ::core::mem::transmute(pbookmark.as_ptr()), lrowsoffset, prghrows.len().try_into().unwrap(), pcrowsobtained, ::core::mem::transmute(prghrows.as_ptr())).ok() @@ -4650,11 +4650,11 @@ impl IRowsetInfo { } pub unsafe fn GetReferencedRowset(&self, iordinal: usize, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReferencedRowset)(::windows_core::Interface::as_raw(self), iordinal, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReferencedRowset)(::windows_core::Interface::as_raw(self), iordinal, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSpecification(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4704,7 +4704,7 @@ impl IRowsetLocate { } pub unsafe fn Compare(&self, hreserved: usize, pbookmark1: &[u8], pbookmark2: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetRowsAt(&self, hreserved1: usize, hreserved2: usize, pbookmark: &[u8], lrowsoffset: isize, pcrowsobtained: *mut usize, prghrows: &mut [*mut usize]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRowsAt)(::windows_core::Interface::as_raw(self), hreserved1, hreserved2, pbookmark.len().try_into().unwrap(), ::core::mem::transmute(pbookmark.as_ptr()), lrowsoffset, prghrows.len().try_into().unwrap(), pcrowsobtained, ::core::mem::transmute(prghrows.as_ptr())).ok() @@ -4733,7 +4733,7 @@ impl IRowsetNewRowAfter { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetNewDataAfter)(::windows_core::Interface::as_raw(self), hchapter, pbmprevious.len().try_into().unwrap(), ::core::mem::transmute(pbmprevious.as_ptr()), haccessor.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetNewDataAfter)(::windows_core::Interface::as_raw(self), hchapter, pbmprevious.len().try_into().unwrap(), ::core::mem::transmute(pbmprevious.as_ptr()), haccessor.into_param().abi(), pdata, &mut result__).map(|| result__) } } #[repr(C)] @@ -4750,7 +4750,7 @@ impl IRowsetNextRowset { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4896,7 +4896,7 @@ impl IRowsetScroll { } pub unsafe fn Compare(&self, hreserved: usize, pbookmark1: &[u8], pbookmark2: &[u8]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), hreserved, pbookmark1.len().try_into().unwrap(), ::core::mem::transmute(pbookmark1.as_ptr()), pbookmark2.len().try_into().unwrap(), ::core::mem::transmute(pbookmark2.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn GetRowsAt(&self, hreserved1: usize, hreserved2: usize, pbookmark: &[u8], lrowsoffset: isize, pcrowsobtained: *mut usize, prghrows: &mut [*mut usize]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRowsAt)(::windows_core::Interface::as_raw(self), hreserved1, hreserved2, pbookmark.len().try_into().unwrap(), ::core::mem::transmute(pbookmark.as_ptr()), lrowsoffset, prghrows.len().try_into().unwrap(), pcrowsobtained, ::core::mem::transmute(prghrows.as_ptr())).ok() @@ -4938,7 +4938,7 @@ impl IRowsetUpdate { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InsertRow)(::windows_core::Interface::as_raw(self), hreserved, haccessor.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InsertRow)(::windows_core::Interface::as_raw(self), hreserved, haccessor.into_param().abi(), pdata, &mut result__).map(|| result__) } pub unsafe fn GetOriginalData(&self, hrow: usize, haccessor: P0, pdata: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -4977,7 +4977,7 @@ impl IRowsetView { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateView)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetView(&self, hchapter: usize, riid: *const ::windows_core::GUID, phchaptersource: *mut usize, ppview: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetView)(::windows_core::Interface::as_raw(self), hchapter, riid, phchaptersource, ::core::mem::transmute(ppview)).ok() @@ -5041,7 +5041,7 @@ impl IRowsetWatchRegion { } pub unsafe fn CreateWatchRegion(&self, dwwatchmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateWatchRegion)(::windows_core::Interface::as_raw(self), dwwatchmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateWatchRegion)(::windows_core::Interface::as_raw(self), dwwatchmode, &mut result__).map(|| result__) } pub unsafe fn ChangeWatchMode(&self, hregion: usize, dwwatchmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ChangeWatchMode)(::windows_core::Interface::as_raw(self), hregion, dwwatchmode).ok() @@ -5155,7 +5155,7 @@ impl ISchemaLocalizerSupport { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Localize)(::windows_core::Interface::as_raw(self), pszglobalstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Localize)(::windows_core::Interface::as_raw(self), pszglobalstring.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -5196,25 +5196,25 @@ impl ISchemaProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Entities)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Entities)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RootEntity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootEntity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootEntity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEntity(&self, pszentityname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntity)(::windows_core::Interface::as_raw(self), pszentityname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntity)(::windows_core::Interface::as_raw(self), pszentityname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MetaData(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MetaData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Localize(&self, lcid: u32, pschemalocalizersupport: P0) -> ::windows_core::Result<()> where @@ -5309,14 +5309,14 @@ pub struct IScopedOperations_Vtbl { impl ISearchCatalogManager { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParameter(&self, pszname: P0) -> ::windows_core::Result<*mut ::windows_core::PROPVARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParameter(&self, pszname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -5350,36 +5350,36 @@ impl ISearchCatalogManager { } pub unsafe fn ConnectTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataTimeout(&self, dwdatatimeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDataTimeout)(::windows_core::Interface::as_raw(self), dwdatatimeout).ok() } pub unsafe fn DataTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfItemsToIndex(&self, plincrementalcount: *mut i32, plnotificationqueue: *mut i32, plhighpriorityqueue: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NumberOfItemsToIndex)(::windows_core::Interface::as_raw(self), plincrementalcount, plnotificationqueue, plhighpriorityqueue).ok() } pub unsafe fn URLBeingIndexed(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).URLBeingIndexed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).URLBeingIndexed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetURLIndexingState(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURLIndexingState)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURLIndexingState)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPersistentItemsChangedSink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPersistentItemsChangedSink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPersistentItemsChangedSink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterViewForNotification(&self, pszview: P0, pviewchangedsink: P1) -> ::windows_core::Result where @@ -5387,7 +5387,7 @@ impl ISearchCatalogManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterViewForNotification)(::windows_core::Interface::as_raw(self), pszview.into_param().abi(), pviewchangedsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterViewForNotification)(::windows_core::Interface::as_raw(self), pszview.into_param().abi(), pviewchangedsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetItemsChangedSink(&self, pisearchnotifyinlinesite: P0, pguidcatalogresetsignature: *mut ::windows_core::GUID, pguidcheckpointsignature: *mut ::windows_core::GUID, pdwlastcheckpointnumber: *mut u32) -> ::windows_core::Result where @@ -5395,7 +5395,7 @@ impl ISearchCatalogManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItemsChangedSink)(::windows_core::Interface::as_raw(self), pisearchnotifyinlinesite.into_param().abi(), &T::IID, &mut result__, pguidcatalogresetsignature, pguidcheckpointsignature, pdwlastcheckpointnumber).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemsChangedSink)(::windows_core::Interface::as_raw(self), pisearchnotifyinlinesite.into_param().abi(), &T::IID, &mut result__, pguidcatalogresetsignature, pguidcheckpointsignature, pdwlastcheckpointnumber).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterViewForNotification(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterViewForNotification)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -5410,11 +5410,11 @@ impl ISearchCatalogManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateExcludedExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateExcludedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateExcludedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQueryHelper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQueryHelper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQueryHelper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDiacriticSensitivity(&self, fdiacriticsensitive: P0) -> ::windows_core::Result<()> where @@ -5424,11 +5424,11 @@ impl ISearchCatalogManager { } pub unsafe fn DiacriticSensitivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCrawlScopeManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCrawlScopeManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCrawlScopeManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5470,14 +5470,14 @@ pub struct ISearchCatalogManager_Vtbl { impl ISearchCatalogManager2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParameter(&self, pszname: P0) -> ::windows_core::Result<*mut ::windows_core::PROPVARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParameter(&self, pszname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -5511,36 +5511,36 @@ impl ISearchCatalogManager2 { } pub unsafe fn ConnectTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ConnectTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ConnectTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataTimeout(&self, dwdatatimeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDataTimeout)(::windows_core::Interface::as_raw(self), dwdatatimeout).ok() } pub unsafe fn DataTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NumberOfItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NumberOfItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfItemsToIndex(&self, plincrementalcount: *mut i32, plnotificationqueue: *mut i32, plhighpriorityqueue: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.NumberOfItemsToIndex)(::windows_core::Interface::as_raw(self), plincrementalcount, plnotificationqueue, plhighpriorityqueue).ok() } pub unsafe fn URLBeingIndexed(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.URLBeingIndexed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.URLBeingIndexed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetURLIndexingState(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetURLIndexingState)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetURLIndexingState)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPersistentItemsChangedSink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPersistentItemsChangedSink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPersistentItemsChangedSink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterViewForNotification(&self, pszview: P0, pviewchangedsink: P1) -> ::windows_core::Result where @@ -5548,7 +5548,7 @@ impl ISearchCatalogManager2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterViewForNotification)(::windows_core::Interface::as_raw(self), pszview.into_param().abi(), pviewchangedsink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterViewForNotification)(::windows_core::Interface::as_raw(self), pszview.into_param().abi(), pviewchangedsink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetItemsChangedSink(&self, pisearchnotifyinlinesite: P0, pguidcatalogresetsignature: *mut ::windows_core::GUID, pguidcheckpointsignature: *mut ::windows_core::GUID, pdwlastcheckpointnumber: *mut u32) -> ::windows_core::Result where @@ -5556,7 +5556,7 @@ impl ISearchCatalogManager2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetItemsChangedSink)(::windows_core::Interface::as_raw(self), pisearchnotifyinlinesite.into_param().abi(), &T::IID, &mut result__, pguidcatalogresetsignature, pguidcheckpointsignature, pdwlastcheckpointnumber).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemsChangedSink)(::windows_core::Interface::as_raw(self), pisearchnotifyinlinesite.into_param().abi(), &T::IID, &mut result__, pguidcatalogresetsignature, pguidcheckpointsignature, pdwlastcheckpointnumber).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterViewForNotification(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UnregisterViewForNotification)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -5571,11 +5571,11 @@ impl ISearchCatalogManager2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumerateExcludedExtensions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateExcludedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateExcludedExtensions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetQueryHelper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQueryHelper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQueryHelper)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDiacriticSensitivity(&self, fdiacriticsensitive: P0) -> ::windows_core::Result<()> where @@ -5585,11 +5585,11 @@ impl ISearchCatalogManager2 { } pub unsafe fn DiacriticSensitivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCrawlScopeManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCrawlScopeManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCrawlScopeManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PrioritizeMatchingURLs(&self, pszpattern: P0, dwprioritizeflags: PRIORITIZE_FLAGS) -> ::windows_core::Result<()> where @@ -5628,7 +5628,7 @@ impl ISearchCrawlScopeManager { } pub unsafe fn EnumerateRoots(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateRoots)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddHierarchicalScope(&self, pszurl: P0, finclude: P1, fdefault: P2, foverridechildren: P3) -> ::windows_core::Result<()> where @@ -5655,28 +5655,28 @@ impl ISearchCrawlScopeManager { } pub unsafe fn EnumerateScopeRules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateScopeRules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateScopeRules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasParentScopeRule(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasParentScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasParentScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn HasChildScopeRule(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasChildScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasChildScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IncludedInCrawlScope(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludedInCrawlScope)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludedInCrawlScope)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IncludedInCrawlScopeEx(&self, pszurl: P0, pfisincluded: *mut super::super::Foundation::BOOL, preason: *mut CLUSION_REASON) -> ::windows_core::Result<()> where @@ -5695,7 +5695,7 @@ impl ISearchCrawlScopeManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentScopeVersionId)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentScopeVersionId)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveDefaultScopeRule(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -5749,7 +5749,7 @@ impl ISearchCrawlScopeManager2 { } pub unsafe fn EnumerateRoots(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateRoots)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddHierarchicalScope(&self, pszurl: P0, finclude: P1, fdefault: P2, foverridechildren: P3) -> ::windows_core::Result<()> where @@ -5776,28 +5776,28 @@ impl ISearchCrawlScopeManager2 { } pub unsafe fn EnumerateScopeRules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumerateScopeRules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumerateScopeRules)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasParentScopeRule(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HasParentScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HasParentScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn HasChildScopeRule(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HasChildScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HasChildScopeRule)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IncludedInCrawlScope(&self, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IncludedInCrawlScope)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IncludedInCrawlScope)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IncludedInCrawlScopeEx(&self, pszurl: P0, pfisincluded: *mut super::super::Foundation::BOOL, preason: *mut CLUSION_REASON) -> ::windows_core::Result<()> where @@ -5816,7 +5816,7 @@ impl ISearchCrawlScopeManager2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentScopeVersionId)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentScopeVersionId)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RemoveDefaultScopeRule(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -5876,25 +5876,25 @@ impl ISearchLanguageSupport { } pub unsafe fn GetDiacriticSensitivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDiacriticSensitivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LoadWordBreaker(&self, lcid: u32, plcidused: *mut u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).LoadWordBreaker)(::windows_core::Interface::as_raw(self), lcid, &T::IID, &mut result__, plcidused).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadWordBreaker)(::windows_core::Interface::as_raw(self), lcid, &T::IID, &mut result__, plcidused).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LoadStemmer(&self, lcid: u32, plcidused: *mut u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).LoadStemmer)(::windows_core::Interface::as_raw(self), lcid, &T::IID, &mut result__, plcidused).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadStemmer)(::windows_core::Interface::as_raw(self), lcid, &T::IID, &mut result__, plcidused).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPrefixNormalized(&self, pwcsquerytoken: &[u16], pwcsdocumenttoken: &[u16]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPrefixNormalized)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwcsquerytoken.as_ptr()), pwcsquerytoken.len().try_into().unwrap(), ::core::mem::transmute(pwcsdocumenttoken.as_ptr()), pwcsdocumenttoken.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPrefixNormalized)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pwcsquerytoken.as_ptr()), pwcsquerytoken.len().try_into().unwrap(), ::core::mem::transmute(pwcsdocumenttoken.as_ptr()), pwcsdocumenttoken.len().try_into().unwrap(), &mut result__).map(|| result__) } } #[repr(C)] @@ -5912,7 +5912,7 @@ pub struct ISearchLanguageSupport_Vtbl { impl ISearchManager { pub unsafe fn GetIndexerVersionStr(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndexerVersionStr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndexerVersionStr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIndexerVersion(&self, pdwmajor: *mut u32, pdwminor: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIndexerVersion)(::windows_core::Interface::as_raw(self), pdwmajor, pdwminor).ok() @@ -5922,7 +5922,7 @@ impl ISearchManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParameter(&self, pszname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -5932,11 +5932,11 @@ impl ISearchManager { } pub unsafe fn ProxyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BypassList(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BypassList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BypassList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxy(&self, suseproxy: PROXY_ACCESS, flocalbypassproxy: P0, dwportnumber: u32, pszproxyname: P1, pszbypasslist: P2) -> ::windows_core::Result<()> where @@ -5951,11 +5951,11 @@ impl ISearchManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAgent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserAgent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserAgent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserAgent(&self, pszuseragent: P0) -> ::windows_core::Result<()> where @@ -5965,15 +5965,15 @@ impl ISearchManager { } pub unsafe fn UseProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseProxy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalBypass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocalBypass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocalBypass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PortNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5999,7 +5999,7 @@ pub struct ISearchManager_Vtbl { impl ISearchManager2 { pub unsafe fn GetIndexerVersionStr(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndexerVersionStr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndexerVersionStr)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIndexerVersion(&self, pdwmajor: *mut u32, pdwminor: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIndexerVersion)(::windows_core::Interface::as_raw(self), pdwmajor, pdwminor).ok() @@ -6009,7 +6009,7 @@ impl ISearchManager2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParameter)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParameter(&self, pszname: P0, pvalue: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -6019,11 +6019,11 @@ impl ISearchManager2 { } pub unsafe fn ProxyName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProxyName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProxyName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BypassList(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BypassList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BypassList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProxy(&self, suseproxy: PROXY_ACCESS, flocalbypassproxy: P0, dwportnumber: u32, pszproxyname: P1, pszbypasslist: P2) -> ::windows_core::Result<()> where @@ -6038,11 +6038,11 @@ impl ISearchManager2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserAgent(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserAgent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserAgent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserAgent(&self, pszuseragent: P0) -> ::windows_core::Result<()> where @@ -6052,22 +6052,22 @@ impl ISearchManager2 { } pub unsafe fn UseProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UseProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UseProxy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LocalBypass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocalBypass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocalBypass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PortNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PortNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateCatalog(&self, pszcatalog: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCatalog)(::windows_core::Interface::as_raw(self), pszcatalog.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteCatalog(&self, pszcatalog: P0) -> ::windows_core::Result<()> where @@ -6141,7 +6141,7 @@ impl ISearchProtocol { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAccessor)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAccessor)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloseAccessor(&self, paccessor: P0) -> ::windows_core::Result<()> where @@ -6176,7 +6176,7 @@ impl ISearchProtocol2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAccessor)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAccessor)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloseAccessor(&self, paccessor: P0) -> ::windows_core::Result<()> where @@ -6193,7 +6193,7 @@ impl ISearchProtocol2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAccessorEx)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, puserdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAccessorEx)(::windows_core::Interface::as_raw(self), pcwszurl.into_param().abi(), pauthenticationinfo, pincrementalaccessinfo, piteminfo, puserdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6231,35 +6231,35 @@ pub struct ISearchProtocolThreadContext_Vtbl { impl ISearchQueryHelper { pub unsafe fn ConnectionString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryContentLocale(&self, lcid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQueryContentLocale)(::windows_core::Interface::as_raw(self), lcid).ok() } pub unsafe fn QueryContentLocale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryContentLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryContentLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryKeywordLocale(&self, lcid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQueryKeywordLocale)(::windows_core::Interface::as_raw(self), lcid).ok() } pub unsafe fn QueryKeywordLocale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryKeywordLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryKeywordLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryTermExpansion(&self, expandterms: SEARCH_TERM_EXPANSION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQueryTermExpansion)(::windows_core::Interface::as_raw(self), expandterms).ok() } pub unsafe fn QueryTermExpansion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryTermExpansion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryTermExpansion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuerySyntax(&self, querysyntax: SEARCH_QUERY_SYNTAX) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetQuerySyntax)(::windows_core::Interface::as_raw(self), querysyntax).ok() } pub unsafe fn QuerySyntax(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySyntax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySyntax)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryContentProperties(&self, pszcontentproperties: P0) -> ::windows_core::Result<()> where @@ -6269,7 +6269,7 @@ impl ISearchQueryHelper { } pub unsafe fn QueryContentProperties(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryContentProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryContentProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuerySelectColumns(&self, pszselectcolumns: P0) -> ::windows_core::Result<()> where @@ -6279,7 +6279,7 @@ impl ISearchQueryHelper { } pub unsafe fn QuerySelectColumns(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySelectColumns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySelectColumns)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQueryWhereRestrictions(&self, pszrestrictions: P0) -> ::windows_core::Result<()> where @@ -6289,7 +6289,7 @@ impl ISearchQueryHelper { } pub unsafe fn QueryWhereRestrictions(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryWhereRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryWhereRestrictions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetQuerySorting(&self, pszsorting: P0) -> ::windows_core::Result<()> where @@ -6299,14 +6299,14 @@ impl ISearchQueryHelper { } pub unsafe fn QuerySorting(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QuerySorting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QuerySorting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GenerateSQLFromUserQuery(&self, pszquery: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GenerateSQLFromUserQuery)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GenerateSQLFromUserQuery)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn WriteProperties(&self, itemid: i32, dwnumberofcolumns: u32, pcolumns: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, pvalues: *const SEARCH_COLUMN_PROPERTIES, pftgathermodifiedtime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { @@ -6317,7 +6317,7 @@ impl ISearchQueryHelper { } pub unsafe fn QueryMaxResults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryMaxResults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryMaxResults)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6396,7 +6396,7 @@ impl ISearchRoot { } pub unsafe fn Schedule(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Schedule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Schedule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRootURL(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -6406,7 +6406,7 @@ impl ISearchRoot { } pub unsafe fn RootURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHierarchical(&self, fishierarchical: P0) -> ::windows_core::Result<()> where @@ -6416,7 +6416,7 @@ impl ISearchRoot { } pub unsafe fn IsHierarchical(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsHierarchical)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsHierarchical)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProvidesNotifications(&self, fprovidesnotifications: P0) -> ::windows_core::Result<()> where @@ -6426,7 +6426,7 @@ impl ISearchRoot { } pub unsafe fn ProvidesNotifications(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProvidesNotifications)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProvidesNotifications)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseNotificationsOnly(&self, fusenotificationsonly: P0) -> ::windows_core::Result<()> where @@ -6436,21 +6436,21 @@ impl ISearchRoot { } pub unsafe fn UseNotificationsOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseNotificationsOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseNotificationsOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnumerationDepth(&self, dwdepth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEnumerationDepth)(::windows_core::Interface::as_raw(self), dwdepth).ok() } pub unsafe fn EnumerationDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerationDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerationDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHostDepth(&self, dwdepth: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHostDepth)(::windows_core::Interface::as_raw(self), dwdepth).ok() } pub unsafe fn HostDepth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostDepth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostDepth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFollowDirectories(&self, ffollowdirectories: P0) -> ::windows_core::Result<()> where @@ -6460,14 +6460,14 @@ impl ISearchRoot { } pub unsafe fn FollowDirectories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FollowDirectories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FollowDirectories)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationType(&self, authtype: AUTH_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationType)(::windows_core::Interface::as_raw(self), authtype).ok() } pub unsafe fn AuthenticationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUser(&self, pszuser: P0) -> ::windows_core::Result<()> where @@ -6477,7 +6477,7 @@ impl ISearchRoot { } pub unsafe fn User(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).User)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPassword(&self, pszpassword: P0) -> ::windows_core::Result<()> where @@ -6487,7 +6487,7 @@ impl ISearchRoot { } pub unsafe fn Password(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Password)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6522,19 +6522,19 @@ pub struct ISearchRoot_Vtbl { impl ISearchScopeRule { pub unsafe fn PatternOrURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PatternOrURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PatternOrURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsIncluded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsIncluded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsIncluded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FollowFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FollowFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FollowFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6569,14 +6569,14 @@ impl ISecurityInfo { #[cfg(feature = "Win32_Security_Authorization")] pub unsafe fn GetCurrentTrustee(&self) -> ::windows_core::Result<*mut super::super::Security::Authorization::TRUSTEE_W> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentTrustee)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentTrustee)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetObjectTypes(&self, cobjecttypes: *mut u32, rgobjecttypes: *mut *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetObjectTypes)(::windows_core::Interface::as_raw(self), cobjecttypes, rgobjecttypes).ok() } pub unsafe fn GetPermissions(&self, objecttype: ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPermissions)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objecttype), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPermissions)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(objecttype), &mut result__).map(|| result__) } } #[repr(C)] @@ -6712,7 +6712,7 @@ pub struct IStemmer_Vtbl { impl ISubscriptionItem { pub unsafe fn GetCookie(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSubscriptionItemInfo(&self, psubscriptioniteminfo: *mut SUBSCRIPTIONITEMINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSubscriptionItemInfo)(::windows_core::Interface::as_raw(self), psubscriptioniteminfo).ok() @@ -6728,7 +6728,7 @@ impl ISubscriptionItem { } pub unsafe fn EnumProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NotifyChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NotifyChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -6770,7 +6770,7 @@ impl ISubscriptionMgr { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSubscriptionInfo(&self, pwszurl: P0, pinfo: *mut SUBSCRIPTIONINFO) -> ::windows_core::Result<()> where @@ -6834,7 +6834,7 @@ impl ISubscriptionMgr2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSubscribed)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSubscribed)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSubscriptionInfo(&self, pwszurl: P0, pinfo: *mut SUBSCRIPTIONINFO) -> ::windows_core::Result<()> where @@ -6865,18 +6865,18 @@ impl ISubscriptionMgr2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFromURL)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFromURL)(::windows_core::Interface::as_raw(self), pwszurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemFromCookie(&self, psubscriptioncookie: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFromCookie)(::windows_core::Interface::as_raw(self), psubscriptioncookie, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFromCookie)(::windows_core::Interface::as_raw(self), psubscriptioncookie, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSubscriptionRunState(&self, dwnumcookies: u32, pcookies: *const ::windows_core::GUID, pdwrunstate: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSubscriptionRunState)(::windows_core::Interface::as_raw(self), dwnumcookies, pcookies, pdwrunstate).ok() } pub unsafe fn EnumSubscriptions(&self, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSubscriptions)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSubscriptions)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UpdateItems(&self, dwflags: u32, pcookies: &[::windows_core::GUID]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateItems)(::windows_core::Interface::as_raw(self), dwflags, pcookies.len().try_into().unwrap(), ::core::mem::transmute(pcookies.as_ptr())).ok() @@ -7145,7 +7145,7 @@ impl ITransactionJoin { #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn GetOptionsObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn JoinTransaction(&self, punktransactioncoord: P0, isolevel: i32, isoflags: u32, potheroptions: P1) -> ::windows_core::Result<()> @@ -7197,7 +7197,7 @@ impl ITransactionLocal { #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn GetOptionsObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptionsObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn StartTransaction(&self, isolevel: i32, isoflags: u32, potheroptions: P0, pultransactionlevel: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> @@ -7227,7 +7227,7 @@ impl ITransactionObject { #[cfg(feature = "Win32_System_DistributedTransactionCoordinator")] pub unsafe fn GetTransactionObject(&self, ultransactionlevel: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransactionObject)(::windows_core::Interface::as_raw(self), ultransactionlevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransactionObject)(::windows_core::Interface::as_raw(self), ultransactionlevel, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7302,7 +7302,7 @@ impl ITrusteeGroupAdmin { #[cfg(feature = "Win32_Security_Authorization")] pub unsafe fn IsMember(&self, pmembershiptrustee: *const super::super::Security::Authorization::TRUSTEE_W, pmembertrustee: *const super::super::Security::Authorization::TRUSTEE_W) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), pmembershiptrustee, pmembertrustee, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), pmembershiptrustee, pmembertrustee, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Security_Authorization")] pub unsafe fn GetMembers(&self, pmembershiptrustee: *const super::super::Security::Authorization::TRUSTEE_W, pcmembers: *mut u32, prgmembers: *mut *mut super::super::Security::Authorization::TRUSTEE_W) -> ::windows_core::Result<()> { @@ -7390,7 +7390,7 @@ impl IUrlAccessor { } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHost(&self, wszhost: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetHost)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszhost.as_ptr()), wszhost.len().try_into().unwrap(), pdwlength).ok() @@ -7400,11 +7400,11 @@ impl IUrlAccessor { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileName(&self, wszfilename: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszfilename.as_ptr()), wszfilename.len().try_into().unwrap(), pdwlength).ok() @@ -7417,17 +7417,17 @@ impl IUrlAccessor { } pub unsafe fn GetSecurityProvider(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn BindToFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7469,7 +7469,7 @@ impl IUrlAccessor2 { } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHost(&self, wszhost: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetHost)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszhost.as_ptr()), wszhost.len().try_into().unwrap(), pdwlength).ok() @@ -7479,11 +7479,11 @@ impl IUrlAccessor2 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileName(&self, wszfilename: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszfilename.as_ptr()), wszfilename.len().try_into().unwrap(), pdwlength).ok() @@ -7496,17 +7496,17 @@ impl IUrlAccessor2 { } pub unsafe fn GetSecurityProvider(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn BindToFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayUrl(&self, wszdocurl: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDisplayUrl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszdocurl.as_ptr()), wszdocurl.len().try_into().unwrap(), pdwlength).ok() @@ -7538,7 +7538,7 @@ impl IUrlAccessor3 { } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHost(&self, wszhost: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetHost)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszhost.as_ptr()), wszhost.len().try_into().unwrap(), pdwlength).ok() @@ -7548,11 +7548,11 @@ impl IUrlAccessor3 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileName(&self, wszfilename: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetFileName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszfilename.as_ptr()), wszfilename.len().try_into().unwrap(), pdwlength).ok() @@ -7565,17 +7565,17 @@ impl IUrlAccessor3 { } pub unsafe fn GetSecurityProvider(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn BindToFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayUrl(&self, wszdocurl: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDisplayUrl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszdocurl.as_ptr()), wszdocurl.len().try_into().unwrap(), pdwlength).ok() @@ -7615,7 +7615,7 @@ impl IUrlAccessor4 { } pub unsafe fn GetCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHost(&self, wszhost: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetHost)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszhost.as_ptr()), wszhost.len().try_into().unwrap(), pdwlength).ok() @@ -7625,11 +7625,11 @@ impl IUrlAccessor4 { } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastModified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetLastModified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFileName(&self, wszfilename: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.GetFileName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszfilename.as_ptr()), wszfilename.len().try_into().unwrap(), pdwlength).ok() @@ -7642,17 +7642,17 @@ impl IUrlAccessor4 { } pub unsafe fn GetSecurityProvider(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSecurityProvider)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BindToStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Storage_IndexServer")] pub unsafe fn BindToFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BindToFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayUrl(&self, wszdocurl: &mut [u16], pdwlength: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetDisplayUrl)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(wszdocurl.as_ptr()), wszdocurl.len().try_into().unwrap(), pdwlength).ok() @@ -7672,12 +7672,12 @@ impl IUrlAccessor4 { } pub unsafe fn ShouldIndexItemContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShouldIndexItemContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShouldIndexItemContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn ShouldIndexProperty(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShouldIndexProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShouldIndexProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } } #[repr(C)] @@ -7695,7 +7695,7 @@ pub struct IUrlAccessor4_Vtbl { impl IViewChapter { pub unsafe fn GetSpecification(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenViewChapter(&self, hsource: usize, phviewchapter: ::core::option::Option<*mut usize>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OpenViewChapter)(::windows_core::Interface::as_raw(self), hsource, ::core::mem::transmute(phviewchapter.unwrap_or(::std::ptr::null_mut()))).ok() @@ -7744,14 +7744,14 @@ pub struct IViewFilter_Vtbl { impl IViewRowset { pub unsafe fn GetSpecification(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpecification)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenViewRowset(&self, punkouter: P0, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenViewRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenViewRowset)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7886,19 +7886,19 @@ pub struct IWordSink_Vtbl { impl OLEDBSimpleProvider { pub unsafe fn getRowCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getRowCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getRowCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getRWStatus(&self, irow: isize, icolumn: isize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getRWStatus)(::windows_core::Interface::as_raw(self), irow, icolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getRWStatus)(::windows_core::Interface::as_raw(self), irow, icolumn, &mut result__).map(|| result__) } pub unsafe fn getVariant(&self, irow: isize, icolumn: isize, format: OSPFORMAT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getVariant)(::windows_core::Interface::as_raw(self), irow, icolumn, format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getVariant)(::windows_core::Interface::as_raw(self), irow, icolumn, format, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setVariant(&self, irow: isize, icolumn: isize, format: OSPFORMAT, var: P0) -> ::windows_core::Result<()> where @@ -7908,22 +7908,22 @@ impl OLEDBSimpleProvider { } pub unsafe fn getLocale(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getLocale)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn deleteRows(&self, irow: isize, crows: isize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).deleteRows)(::windows_core::Interface::as_raw(self), irow, crows, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).deleteRows)(::windows_core::Interface::as_raw(self), irow, crows, &mut result__).map(|| result__) } pub unsafe fn insertRows(&self, irow: isize, crows: isize) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).insertRows)(::windows_core::Interface::as_raw(self), irow, crows, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).insertRows)(::windows_core::Interface::as_raw(self), irow, crows, &mut result__).map(|| result__) } pub unsafe fn find(&self, irowstart: isize, icolumn: isize, val: P0, findflags: OSPFIND, comptype: OSPCOMP) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).find)(::windows_core::Interface::as_raw(self), irowstart, icolumn, val.into_param().abi(), findflags, comptype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).find)(::windows_core::Interface::as_raw(self), irowstart, icolumn, val.into_param().abi(), findflags, comptype, &mut result__).map(|| result__) } pub unsafe fn addOLEDBSimpleProviderListener(&self, pospilistener: P0) -> ::windows_core::Result<()> where @@ -7939,11 +7939,11 @@ impl OLEDBSimpleProvider { } pub unsafe fn isAsync(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isAsync)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isAsync)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getEstimatedRows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getEstimatedRows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getEstimatedRows)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn stopTransfer(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).stopTransfer)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/SecurityCenter/mod.rs b/crates/libs/windows/src/Windows/Win32/System/SecurityCenter/mod.rs index a6a9abd729..08b4f6517b 100644 --- a/crates/libs/windows/src/Windows/Win32/System/SecurityCenter/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/SecurityCenter/mod.rs @@ -2,7 +2,7 @@ pub unsafe fn WscGetAntiMalwareUri() -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("wscapi.dll" "system" fn WscGetAntiMalwareUri(ppszuri : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WscGetAntiMalwareUri(&mut result__).from_abi(result__) + WscGetAntiMalwareUri(&mut result__).map(|| result__) } #[inline] pub unsafe fn WscGetSecurityProviderHealth(providers: u32, phealth: *mut WSC_SECURITY_PROVIDER_HEALTH) -> ::windows_core::Result<()> { @@ -64,12 +64,12 @@ impl IWSCProductList { } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -92,31 +92,31 @@ pub struct IWSCProductList_Vtbl { impl IWscProduct { pub unsafe fn ProductName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SignatureStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemediationPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductStateTimestamp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductIsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -140,55 +140,55 @@ pub struct IWscProduct_Vtbl { impl IWscProduct2 { pub unsafe fn ProductName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProductName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProductName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProductState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProductState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SignatureStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemediationPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductStateTimestamp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductIsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusScanSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntivirusScanSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntivirusScanSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusSettingsSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntivirusSettingsSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntivirusSettingsSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusProtectionUpdateSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntivirusProtectionUpdateSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntivirusProtectionUpdateSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallDomainProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirewallDomainProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirewallDomainProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallPrivateProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirewallPrivateProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirewallPrivateProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallPublicProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirewallPublicProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirewallPublicProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -211,59 +211,59 @@ pub struct IWscProduct2_Vtbl { impl IWscProduct3 { pub unsafe fn ProductName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProductName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProductName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProductState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProductState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SignatureStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SignatureStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemediationPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RemediationPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductStateTimestamp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProductStateTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProductGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProductIsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProductIsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusScanSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AntivirusScanSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AntivirusScanSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusSettingsSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AntivirusSettingsSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AntivirusSettingsSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusProtectionUpdateSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AntivirusProtectionUpdateSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AntivirusProtectionUpdateSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallDomainProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FirewallDomainProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FirewallDomainProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallPrivateProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FirewallPrivateProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FirewallPrivateProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirewallPublicProfileSubstatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FirewallPublicProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FirewallPublicProfileSubstatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AntivirusDaysUntilExpired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntivirusDaysUntilExpired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntivirusDaysUntilExpired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/ServerBackup/mod.rs b/crates/libs/windows/src/Windows/Win32/System/ServerBackup/mod.rs index 5fb1f2df92..e9577198dd 100644 --- a/crates/libs/windows/src/Windows/Win32/System/ServerBackup/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/ServerBackup/mod.rs @@ -3,7 +3,7 @@ impl IWsbApplicationAsync { pub unsafe fn QueryStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Abort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Abort)(::windows_core::Interface::as_raw(self)).ok() @@ -26,7 +26,7 @@ impl IWsbApplicationBackupSupport { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckConsistency)(::windows_core::Interface::as_raw(self), wszwritermetadata.into_param().abi(), wszcomponentname.into_param().abi(), wszcomponentlogicalpath.into_param().abi(), cvolumes, rgwszsourcevolumepath, rgwszsnapshotvolumepath, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckConsistency)(::windows_core::Interface::as_raw(self), wszwritermetadata.into_param().abi(), wszcomponentname.into_param().abi(), wszcomponentlogicalpath.into_param().abi(), cvolumes, rgwszsourcevolumepath, rgwszsnapshotvolumepath, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -61,7 +61,7 @@ impl IWsbApplicationRestoreSupport { } pub unsafe fn IsRollForwardSupported(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRollForwardSupported)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRollForwardSupported)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/SettingsManagementInfrastructure/mod.rs b/crates/libs/windows/src/Windows/Win32/System/SettingsManagementInfrastructure/mod.rs index ee84134840..70deebf08d 100644 --- a/crates/libs/windows/src/Windows/Win32/System/SettingsManagementInfrastructure/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/SettingsManagementInfrastructure/mod.rs @@ -3,11 +3,11 @@ impl IItemEnumerator { pub unsafe fn Current(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Current)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Current)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MoveNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -39,18 +39,18 @@ impl ISettingsContext { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), ptarget.into_param().abi(), pppresults, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deserialize)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), ptarget.into_param().abi(), pppresults, &mut result__).map(|| result__) } pub unsafe fn SetUserData(&self, puserdata: *const ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUserData)(::windows_core::Interface::as_raw(self), puserdata).ok() } pub unsafe fn GetUserData(&self) -> ::windows_core::Result<*mut ::core::ffi::c_void> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNamespaces(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespaces)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespaces)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoredSettings(&self, pidentity: P0, ppaddedsettings: *mut ::core::option::Option, ppmodifiedsettings: *mut ::core::option::Option, ppdeletedsettings: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -89,26 +89,26 @@ pub struct ISettingsContext_Vtbl { impl ISettingsEngine { pub unsafe fn GetNamespaces(&self, flags: WcmNamespaceEnumerationFlags, reserved: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespaces)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespaces)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNamespace(&self, settingsid: P0, access: WcmNamespaceAccess, reserved: *const ::core::ffi::c_void) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespace)(::windows_core::Interface::as_raw(self), settingsid.into_param().abi(), access, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespace)(::windows_core::Interface::as_raw(self), settingsid.into_param().abi(), access, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorDescription(&self, hresult: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), hresult, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorDescription)(::windows_core::Interface::as_raw(self), hresult, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSettingsIdentity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSettingsIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSettingsIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoreStatus(&self, reserved: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoreStatus)(::windows_core::Interface::as_raw(self), reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoreStatus)(::windows_core::Interface::as_raw(self), reserved, &mut result__).map(|| result__) } pub unsafe fn LoadStore(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).LoadStore)(::windows_core::Interface::as_raw(self), flags).ok() @@ -124,7 +124,7 @@ impl ISettingsEngine { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterNamespace)(::windows_core::Interface::as_raw(self), settingsid.into_param().abi(), stream.into_param().abi(), pushsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterNamespace)(::windows_core::Interface::as_raw(self), settingsid.into_param().abi(), stream.into_param().abi(), pushsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterNamespace(&self, settingsid: P0, removesettings: P1) -> ::windows_core::Result<()> where @@ -135,11 +135,11 @@ impl ISettingsEngine { } pub unsafe fn CreateTargetInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTargetInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTargetInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetInfo(&self, target: P0) -> ::windows_core::Result<()> where @@ -149,7 +149,7 @@ impl ISettingsEngine { } pub unsafe fn CreateSettingsContext(&self, flags: u32, reserved: *const ::core::ffi::c_void) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSettingsContext)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSettingsContext)(::windows_core::Interface::as_raw(self), flags, reserved, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSettingsContext(&self, settingscontext: P0) -> ::windows_core::Result<()> where @@ -162,11 +162,11 @@ impl ISettingsEngine { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplySettingsContext)(::windows_core::Interface::as_raw(self), settingscontext.into_param().abi(), pppwzidentities, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplySettingsContext)(::windows_core::Interface::as_raw(self), settingscontext.into_param().abi(), pppwzidentities, &mut result__).map(|| result__) } pub unsafe fn GetSettingsContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettingsContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettingsContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -201,7 +201,7 @@ impl ISettingsIdentity { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), reserved, name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), reserved, name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAttribute(&self, reserved: *const ::core::ffi::c_void, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -212,7 +212,7 @@ impl ISettingsIdentity { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() @@ -232,58 +232,58 @@ pub struct ISettingsIdentity_Vtbl { impl ISettingsItem { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, value: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(value)).ok() } pub unsafe fn GetSettingType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettingType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettingType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValueRaw(&self, data: *mut *mut u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValueRaw)(::windows_core::Interface::as_raw(self), data, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValueRaw)(::windows_core::Interface::as_raw(self), data, &mut result__).map(|| result__) } pub unsafe fn SetValueRaw(&self, datatype: i32, data: &[u8]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValueRaw)(::windows_core::Interface::as_raw(self), datatype, ::core::mem::transmute(data.as_ptr()), data.len().try_into().unwrap()).ok() } pub unsafe fn HasChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasChild)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetChild(&self, name: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSettingByPath(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSettingByPath(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveSettingByPath(&self, path: P0) -> ::windows_core::Result<()> where @@ -293,11 +293,11 @@ impl ISettingsItem { } pub unsafe fn GetListKeyInformation(&self, keyname: *mut ::windows_core::BSTR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListKeyInformation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(keyname), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListKeyInformation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(keyname), &mut result__).map(|| result__) } pub unsafe fn CreateListElement(&self, keydata: *const ::windows_core::VARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateListElement)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(keydata), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateListElement)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(keydata), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveListElement(&self, elementname: P0) -> ::windows_core::Result<()> where @@ -307,30 +307,30 @@ impl ISettingsItem { } pub unsafe fn Attributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Attributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttribute(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRestrictionFacets(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictionFacets)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictionFacets)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRestriction(&self, restrictionfacet: WcmRestrictionFacets) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestriction)(::windows_core::Interface::as_raw(self), restrictionfacet, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestriction)(::windows_core::Interface::as_raw(self), restrictionfacet, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetKeyValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -365,32 +365,32 @@ pub struct ISettingsItem_Vtbl { impl ISettingsNamespace { pub unsafe fn GetIdentity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Save(&self, pushsettings: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), pushsettings.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), pushsettings.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSettingByPath(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSettingByPath(&self, path: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSettingByPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveSettingByPath(&self, path: P0) -> ::windows_core::Result<()> where @@ -403,7 +403,7 @@ impl ISettingsNamespace { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -423,27 +423,27 @@ pub struct ISettingsNamespace_Vtbl { impl ISettingsResult { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContextDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContextDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContextDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -462,14 +462,14 @@ pub struct ISettingsResult_Vtbl { impl ITargetInfo { pub unsafe fn GetTargetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTargetMode(&self, targetmode: WcmTargetMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTargetMode)(::windows_core::Interface::as_raw(self), targetmode).ok() } pub unsafe fn GetTemporaryStoreLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTemporaryStoreLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTemporaryStoreLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTemporaryStoreLocation(&self, temporarystorelocation: P0) -> ::windows_core::Result<()> where @@ -479,14 +479,14 @@ impl ITargetInfo { } pub unsafe fn GetTargetID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetID(&self, targetid: ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTargetID)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(targetid)).ok() } pub unsafe fn GetTargetProcessorArchitecture(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetProcessorArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetProcessorArchitecture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTargetProcessorArchitecture(&self, processorarchitecture: P0) -> ::windows_core::Result<()> where @@ -500,7 +500,7 @@ impl ITargetInfo { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), property.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), property.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetProperty(&self, offline: P0, property: P1, value: P2) -> ::windows_core::Result<()> where @@ -512,7 +512,7 @@ impl ITargetInfo { } pub unsafe fn GetEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExpandTarget(&self, offline: P0, location: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -520,7 +520,7 @@ impl ITargetInfo { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpandTarget)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), location.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpandTarget)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), location.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExpandTargetPath(&self, offline: P0, location: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -528,7 +528,7 @@ impl ITargetInfo { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpandTargetPath)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), location.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpandTargetPath)(::windows_core::Interface::as_raw(self), offline.into_param().abi(), location.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetModulePath(&self, module: P0, path: P1) -> ::windows_core::Result<()> where @@ -542,7 +542,7 @@ impl ITargetInfo { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadModule)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadModule)(::windows_core::Interface::as_raw(self), module.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetWow64Context(&self, installermodule: P0, wow64context: *const u8) -> ::windows_core::Result<()> where @@ -556,7 +556,7 @@ impl ITargetInfo { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TranslateWow64)(::windows_core::Interface::as_raw(self), clientarchitecture.into_param().abi(), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TranslateWow64)(::windows_core::Interface::as_raw(self), clientarchitecture.into_param().abi(), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSchemaHiveLocation(&self, pwzhivedir: P0) -> ::windows_core::Result<()> where @@ -566,7 +566,7 @@ impl ITargetInfo { } pub unsafe fn GetSchemaHiveLocation(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSchemaHiveLocation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSchemaHiveLocation)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSchemaHiveMountName(&self, pwzmountname: P0) -> ::windows_core::Result<()> where @@ -576,7 +576,7 @@ impl ITargetInfo { } pub unsafe fn GetSchemaHiveMountName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSchemaHiveMountName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSchemaHiveMountName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/SideShow/mod.rs b/crates/libs/windows/src/Windows/Win32/System/SideShow/mod.rs index b0356d5e86..e48f7b154c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/SideShow/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/SideShow/mod.rs @@ -40,11 +40,11 @@ pub struct ISideShowCapabilities_Vtbl { impl ISideShowCapabilitiesCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, in_dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), in_dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), in_dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -65,11 +65,11 @@ impl ISideShowContent { } pub unsafe fn ContentId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DifferentiateContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DifferentiateContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DifferentiateContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -103,7 +103,7 @@ impl ISideShowContentManager { } pub unsafe fn GetDeviceCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -121,7 +121,7 @@ pub struct ISideShowContentManager_Vtbl { impl ISideShowEvents { pub unsafe fn ContentMissing(&self, in_contentid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentMissing)(::windows_core::Interface::as_raw(self), in_contentid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentMissing)(::windows_core::Interface::as_raw(self), in_contentid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplicationEvent(&self, in_picapabilities: P0, in_dweventid: u32, in_pbeventdata: ::core::option::Option<&[u8]>) -> ::windows_core::Result<()> where @@ -193,14 +193,14 @@ pub struct ISideShowKeyCollection_Vtbl { impl ISideShowNotification { pub unsafe fn NotificationId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotificationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotificationId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationId(&self, in_notificationid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotificationId)(::windows_core::Interface::as_raw(self), in_notificationid).ok() } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, in_pwsztitle: P0) -> ::windows_core::Result<()> where @@ -210,7 +210,7 @@ impl ISideShowNotification { } pub unsafe fn Message(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMessage(&self, in_pwszmessage: P0) -> ::windows_core::Result<()> where @@ -221,7 +221,7 @@ impl ISideShowNotification { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn SetImage(&self, in_hicon: P0) -> ::windows_core::Result<()> @@ -232,7 +232,7 @@ impl ISideShowNotification { } pub unsafe fn ExpirationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpirationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpirationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpirationTime(&self, in_ptime: ::core::option::Option<*const super::super::Foundation::SYSTEMTIME>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetExpirationTime)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(in_ptime.unwrap_or(::std::ptr::null()))).ok() @@ -317,11 +317,11 @@ pub struct ISideShowPropVariantCollection_Vtbl { impl ISideShowSession { pub unsafe fn RegisterContent(&self, in_applicationid: *const ::windows_core::GUID, in_endpointid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterContent)(::windows_core::Interface::as_raw(self), in_applicationid, in_endpointid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterContent)(::windows_core::Interface::as_raw(self), in_applicationid, in_endpointid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterNotifications(&self, in_applicationid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterNotifications)(::windows_core::Interface::as_raw(self), in_applicationid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterNotifications)(::windows_core::Interface::as_raw(self), in_applicationid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/SubsystemForLinux/mod.rs b/crates/libs/windows/src/Windows/Win32/System/SubsystemForLinux/mod.rs index 6dc2bfed6b..ba2eb0de0b 100644 --- a/crates/libs/windows/src/Windows/Win32/System/SubsystemForLinux/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/SubsystemForLinux/mod.rs @@ -34,7 +34,7 @@ where { ::windows_targets::link!("api-ms-win-wsl-api-l1-1-0.dll" "system" fn WslLaunch(distributionname : ::windows_core::PCWSTR, command : ::windows_core::PCWSTR, usecurrentworkingdirectory : super::super::Foundation:: BOOL, stdin : super::super::Foundation:: HANDLE, stdout : super::super::Foundation:: HANDLE, stderr : super::super::Foundation:: HANDLE, process : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WslLaunch(distributionname.into_param().abi(), command.into_param().abi(), usecurrentworkingdirectory.into_param().abi(), stdin.into_param().abi(), stdout.into_param().abi(), stderr.into_param().abi(), &mut result__).from_abi(result__) + WslLaunch(distributionname.into_param().abi(), command.into_param().abi(), usecurrentworkingdirectory.into_param().abi(), stdin.into_param().abi(), stdout.into_param().abi(), stderr.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WslLaunchInteractive(distributionname: P0, command: P1, usecurrentworkingdirectory: P2) -> ::windows_core::Result @@ -45,7 +45,7 @@ where { ::windows_targets::link!("api-ms-win-wsl-api-l1-1-0.dll" "system" fn WslLaunchInteractive(distributionname : ::windows_core::PCWSTR, command : ::windows_core::PCWSTR, usecurrentworkingdirectory : super::super::Foundation:: BOOL, exitcode : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WslLaunchInteractive(distributionname.into_param().abi(), command.into_param().abi(), usecurrentworkingdirectory.into_param().abi(), &mut result__).from_abi(result__) + WslLaunchInteractive(distributionname.into_param().abi(), command.into_param().abi(), usecurrentworkingdirectory.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WslRegisterDistribution(distributionname: P0, targzfilename: P1) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/SystemInformation/mod.rs b/crates/libs/windows/src/Windows/Win32/System/SystemInformation/mod.rs index 3fc3f0e340..8a8f93c8eb 100644 --- a/crates/libs/windows/src/Windows/Win32/System/SystemInformation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/SystemInformation/mod.rs @@ -35,14 +35,14 @@ pub unsafe fn GetFirmwareType(firmwaretype: *mut FIRMWARE_TYPE) -> ::windows_cor pub unsafe fn GetIntegratedDisplaySize() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-sysinfo-l1-2-3.dll" "system" fn GetIntegratedDisplaySize(sizeininches : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetIntegratedDisplaySize(&mut result__).from_abi(result__) + GetIntegratedDisplaySize(&mut result__).map(|| result__) } #[inline] pub unsafe fn GetLocalTime() -> super::super::Foundation::SYSTEMTIME { ::windows_targets::link!("kernel32.dll" "system" fn GetLocalTime(lpsystemtime : *mut super::super::Foundation:: SYSTEMTIME)); let mut result__ = ::std::mem::zeroed(); GetLocalTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn GetLogicalProcessorInformation(buffer: ::core::option::Option<*mut SYSTEM_LOGICAL_PROCESSOR_INFORMATION>, returnedlength: *mut u32) -> ::windows_core::Result<()> { @@ -127,7 +127,7 @@ pub unsafe fn GetSystemTime() -> super::super::Foundation::SYSTEMTIME { ::windows_targets::link!("kernel32.dll" "system" fn GetSystemTime(lpsystemtime : *mut super::super::Foundation:: SYSTEMTIME)); let mut result__ = ::std::mem::zeroed(); GetSystemTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn GetSystemTimeAdjustment(lptimeadjustment: *mut u32, lptimeincrement: *mut u32, lptimeadjustmentdisabled: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { @@ -144,14 +144,14 @@ pub unsafe fn GetSystemTimeAsFileTime() -> super::super::Foundation::FILETIME { ::windows_targets::link!("kernel32.dll" "system" fn GetSystemTimeAsFileTime(lpsystemtimeasfiletime : *mut super::super::Foundation:: FILETIME)); let mut result__ = ::std::mem::zeroed(); GetSystemTimeAsFileTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn GetSystemTimePreciseAsFileTime() -> super::super::Foundation::FILETIME { ::windows_targets::link!("kernel32.dll" "system" fn GetSystemTimePreciseAsFileTime(lpsystemtimeasfiletime : *mut super::super::Foundation:: FILETIME)); let mut result__ = ::std::mem::zeroed(); GetSystemTimePreciseAsFileTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn GetSystemWindowsDirectoryA(lpbuffer: ::core::option::Option<&mut [u8]>) -> u32 { @@ -237,7 +237,7 @@ pub unsafe fn IsUserCetAvailableInEnvironment(usercetenvironment: USER_CET_ENVIR pub unsafe fn IsWow64GuestMachineSupported(wowguestmachine: IMAGE_FILE_MACHINE) -> ::windows_core::Result { ::windows_targets::link!("kernel32.dll" "system" fn IsWow64GuestMachineSupported(wowguestmachine : IMAGE_FILE_MACHINE, machineissupported : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IsWow64GuestMachineSupported(wowguestmachine, &mut result__).from_abi(result__) + IsWow64GuestMachineSupported(wowguestmachine, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtlConvertDeviceFamilyInfoToString(puldevicefamilybuffersize: *mut u32, puldeviceformbuffersize: *mut u32, devicefamily: ::windows_core::PWSTR, deviceform: ::windows_core::PWSTR) -> u32 { diff --git a/crates/libs/windows/src/Windows/Win32/System/TaskScheduler/mod.rs b/crates/libs/windows/src/Windows/Win32/System/TaskScheduler/mod.rs index 5c5a7f8a02..2166a54c78 100644 --- a/crates/libs/windows/src/Windows/Win32/System/TaskScheduler/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/TaskScheduler/mod.rs @@ -38,11 +38,11 @@ impl IActionCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn XmlText(&self, ptext: *mut ::windows_core::BSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).XmlText)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ptext)).ok() @@ -56,7 +56,7 @@ impl IActionCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Create(&self, r#type: TASK_ACTION_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -120,7 +120,7 @@ impl IBootTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -251,7 +251,7 @@ impl IDailyTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -406,7 +406,7 @@ impl IEmailAction { #[cfg(feature = "Win32_System_Com")] pub unsafe fn HeaderFields(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HeaderFields)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HeaderFields)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetHeaderFields(&self, pheaderfields: P0) -> ::windows_core::Result<()> @@ -485,7 +485,7 @@ impl IEnumWorkItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -518,7 +518,7 @@ impl IEventTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -584,7 +584,7 @@ impl IEventTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ValueQueries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ValueQueries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ValueQueries)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetValueQueries(&self, pnamedxpaths: P0) -> ::windows_core::Result<()> @@ -811,7 +811,7 @@ impl IIdleTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -884,7 +884,7 @@ impl ILogonTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -1025,7 +1025,7 @@ impl IMonthlyDOWTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -1144,7 +1144,7 @@ impl IMonthlyTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -1387,7 +1387,7 @@ impl IProvideTaskPage { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPage)(::windows_core::Interface::as_raw(self), tptype, fpersistchanges.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPage)(::windows_core::Interface::as_raw(self), tptype, fpersistchanges.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1407,19 +1407,19 @@ pub struct IProvideTaskPage_Vtbl { impl IRegisteredTask { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -1433,7 +1433,7 @@ impl IRegisteredTask { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), params.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), params.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RunEx(&self, params: P0, flags: i32, sessionid: i32, user: P1) -> ::windows_core::Result @@ -1442,41 +1442,41 @@ impl IRegisteredTask { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunEx)(::windows_core::Interface::as_raw(self), params.into_param().abi(), flags, sessionid, user.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunEx)(::windows_core::Interface::as_raw(self), params.into_param().abi(), flags, sessionid, user.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetInstances(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstances)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstances)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastRunTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastRunTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastRunTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LastTaskResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastTaskResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastTaskResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NumberOfMissedRuns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NumberOfMissedRuns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NumberOfMissedRuns)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NextRunTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextRunTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextRunTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Definition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Definition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Definition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Xml(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Xml)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSecurityDescriptor(&self, securityinformation: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), securityinformation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), securityinformation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityDescriptor(&self, sddl: P0, flags: i32) -> ::windows_core::Result<()> where @@ -1535,7 +1535,7 @@ pub struct IRegisteredTask_Vtbl { impl IRegisteredTaskCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -1543,11 +1543,11 @@ impl IRegisteredTaskCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1695,7 +1695,7 @@ impl IRegistrationTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -1812,23 +1812,23 @@ pub struct IRepetitionPattern_Vtbl { impl IRunningTask { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InstanceGuid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstanceGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstanceGuid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAction(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Stop(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Stop)(::windows_core::Interface::as_raw(self)).ok() @@ -1838,7 +1838,7 @@ impl IRunningTask { } pub unsafe fn EnginePID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnginePID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnginePID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1863,7 +1863,7 @@ pub struct IRunningTask_Vtbl { impl IRunningTaskCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -1871,11 +1871,11 @@ impl IRunningTaskCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1901,15 +1901,15 @@ impl IScheduledWorkItem { } pub unsafe fn GetTriggerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTriggerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTriggerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTrigger(&self, itrigger: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrigger)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrigger)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTriggerString(&self, itrigger: u16) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTriggerString)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTriggerString)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).map(|| result__) } pub unsafe fn GetRunTimes(&self, pstbegin: *const super::super::Foundation::SYSTEMTIME, pstend: *const super::super::Foundation::SYSTEMTIME, pcount: *mut u16, rgsttasktimes: *mut *mut super::super::Foundation::SYSTEMTIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRunTimes)(::windows_core::Interface::as_raw(self), pstbegin, pstend, pcount, rgsttasktimes).ok() @@ -1937,15 +1937,15 @@ impl IScheduledWorkItem { } pub unsafe fn GetMostRecentRunTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMostRecentRunTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMostRecentRunTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetComment(&self, pwszcomment: P0) -> ::windows_core::Result<()> where @@ -1955,7 +1955,7 @@ impl IScheduledWorkItem { } pub unsafe fn GetComment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreator(&self, pwszcreator: P0) -> ::windows_core::Result<()> where @@ -1965,7 +1965,7 @@ impl IScheduledWorkItem { } pub unsafe fn GetCreator(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWorkItemData(&self, cbdata: u16, rgbdata: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWorkItemData)(::windows_core::Interface::as_raw(self), cbdata, rgbdata).ok() @@ -1978,21 +1978,21 @@ impl IScheduledWorkItem { } pub unsafe fn GetErrorRetryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorRetryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorRetryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorRetryInterval(&self, wretryinterval: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetErrorRetryInterval)(::windows_core::Interface::as_raw(self), wretryinterval).ok() } pub unsafe fn GetErrorRetryInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorRetryInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorRetryInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountInformation(&self, pwszaccountname: P0, pwszpassword: P1) -> ::windows_core::Result<()> where @@ -2003,7 +2003,7 @@ impl IScheduledWorkItem { } pub unsafe fn GetAccountInformation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccountInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccountInformation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2061,7 +2061,7 @@ impl ISessionStateChangeTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -2201,15 +2201,15 @@ impl ITask { } pub unsafe fn GetTriggerCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTriggerCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTriggerCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTrigger(&self, itrigger: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTrigger)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTrigger)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTriggerString(&self, itrigger: u16) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTriggerString)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTriggerString)(::windows_core::Interface::as_raw(self), itrigger, &mut result__).map(|| result__) } pub unsafe fn GetRunTimes(&self, pstbegin: *const super::super::Foundation::SYSTEMTIME, pstend: *const super::super::Foundation::SYSTEMTIME, pcount: *mut u16, rgsttasktimes: *mut *mut super::super::Foundation::SYSTEMTIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRunTimes)(::windows_core::Interface::as_raw(self), pstbegin, pstend, pcount, rgsttasktimes).ok() @@ -2237,15 +2237,15 @@ impl ITask { } pub unsafe fn GetMostRecentRunTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMostRecentRunTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMostRecentRunTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExitCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExitCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetComment(&self, pwszcomment: P0) -> ::windows_core::Result<()> where @@ -2255,7 +2255,7 @@ impl ITask { } pub unsafe fn GetComment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreator(&self, pwszcreator: P0) -> ::windows_core::Result<()> where @@ -2265,7 +2265,7 @@ impl ITask { } pub unsafe fn GetCreator(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCreator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWorkItemData(&self, cbdata: u16, rgbdata: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetWorkItemData)(::windows_core::Interface::as_raw(self), cbdata, rgbdata).ok() @@ -2278,21 +2278,21 @@ impl ITask { } pub unsafe fn GetErrorRetryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorRetryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorRetryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetErrorRetryInterval(&self, wretryinterval: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetErrorRetryInterval)(::windows_core::Interface::as_raw(self), wretryinterval).ok() } pub unsafe fn GetErrorRetryInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetErrorRetryInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetErrorRetryInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAccountInformation(&self, pwszaccountname: P0, pwszpassword: P1) -> ::windows_core::Result<()> where @@ -2303,7 +2303,7 @@ impl ITask { } pub unsafe fn GetAccountInformation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAccountInformation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAccountInformation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetApplicationName(&self, pwszapplicationname: P0) -> ::windows_core::Result<()> where @@ -2313,7 +2313,7 @@ impl ITask { } pub unsafe fn GetApplicationName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParameters(&self, pwszparameters: P0) -> ::windows_core::Result<()> where @@ -2323,7 +2323,7 @@ impl ITask { } pub unsafe fn GetParameters(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParameters)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWorkingDirectory(&self, pwszworkingdirectory: P0) -> ::windows_core::Result<()> where @@ -2333,28 +2333,28 @@ impl ITask { } pub unsafe fn GetWorkingDirectory(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, dwpriority: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), dwpriority).ok() } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTaskFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTaskFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn GetTaskFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTaskFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTaskFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxRunTime(&self, dwmaxruntimems: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxRunTime)(::windows_core::Interface::as_raw(self), dwmaxruntimems).ok() } pub unsafe fn GetMaxRunTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxRunTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxRunTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2383,7 +2383,7 @@ impl ITaskDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegistrationInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistrationInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistrationInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRegistrationInfo(&self, pregistrationinfo: P0) -> ::windows_core::Result<()> @@ -2395,7 +2395,7 @@ impl ITaskDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Triggers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Triggers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Triggers)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTriggers(&self, ptriggers: P0) -> ::windows_core::Result<()> @@ -2407,7 +2407,7 @@ impl ITaskDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSettings(&self, psettings: P0) -> ::windows_core::Result<()> @@ -2428,7 +2428,7 @@ impl ITaskDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Principal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Principal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Principal)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPrincipal(&self, pprincipal: P0) -> ::windows_core::Result<()> @@ -2440,7 +2440,7 @@ impl ITaskDefinition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Actions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Actions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetActions(&self, pactions: P0) -> ::windows_core::Result<()> @@ -2517,11 +2517,11 @@ pub struct ITaskDefinition_Vtbl { impl ITaskFolder { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFolder(&self, path: P0) -> ::windows_core::Result @@ -2529,12 +2529,12 @@ impl ITaskFolder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFolders(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolders)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolders)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateFolder(&self, subfoldername: P0, sddl: P1) -> ::windows_core::Result @@ -2543,7 +2543,7 @@ impl ITaskFolder { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFolder)(::windows_core::Interface::as_raw(self), subfoldername.into_param().abi(), sddl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFolder)(::windows_core::Interface::as_raw(self), subfoldername.into_param().abi(), sddl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteFolder(&self, subfoldername: P0, flags: i32) -> ::windows_core::Result<()> where @@ -2557,12 +2557,12 @@ impl ITaskFolder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTask)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTask)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTasks(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTasks)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTasks)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteTask(&self, name: P0, flags: i32) -> ::windows_core::Result<()> where @@ -2580,7 +2580,7 @@ impl ITaskFolder { P4: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterTask)(::windows_core::Interface::as_raw(self), path.into_param().abi(), xmltext.into_param().abi(), flags, userid.into_param().abi(), password.into_param().abi(), logontype, sddl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterTask)(::windows_core::Interface::as_raw(self), path.into_param().abi(), xmltext.into_param().abi(), flags, userid.into_param().abi(), password.into_param().abi(), logontype, sddl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RegisterTaskDefinition(&self, path: P0, pdefinition: P1, flags: i32, userid: P2, password: P3, logontype: TASK_LOGON_TYPE, sddl: P4) -> ::windows_core::Result @@ -2592,11 +2592,11 @@ impl ITaskFolder { P4: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterTaskDefinition)(::windows_core::Interface::as_raw(self), path.into_param().abi(), pdefinition.into_param().abi(), flags, userid.into_param().abi(), password.into_param().abi(), logontype, sddl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterTaskDefinition)(::windows_core::Interface::as_raw(self), path.into_param().abi(), pdefinition.into_param().abi(), flags, userid.into_param().abi(), password.into_param().abi(), logontype, sddl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSecurityDescriptor(&self, securityinformation: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), securityinformation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSecurityDescriptor)(::windows_core::Interface::as_raw(self), securityinformation, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSecurityDescriptor(&self, sddl: P0, flags: i32) -> ::windows_core::Result<()> where @@ -2653,7 +2653,7 @@ pub struct ITaskFolder_Vtbl { impl ITaskFolderCollection { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: P0) -> ::windows_core::Result @@ -2661,11 +2661,11 @@ impl ITaskFolderCollection { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2692,7 +2692,7 @@ impl ITaskHandler { } pub unsafe fn Stop(&self) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Stop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Stop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Pause(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self)).ok() @@ -2742,11 +2742,11 @@ impl ITaskNamedValueCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Create(&self, name: P0, value: P1) -> ::windows_core::Result @@ -2755,7 +2755,7 @@ impl ITaskNamedValueCollection { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), name.into_param().abi(), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), index).ok() @@ -2828,18 +2828,18 @@ impl ITaskScheduler { } pub unsafe fn GetTargetComputer(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetComputer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetComputer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Activate(&self, pwszname: P0, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), pwszname.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), pwszname.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Delete(&self, pwszname: P0) -> ::windows_core::Result<()> where @@ -2852,7 +2852,7 @@ impl ITaskScheduler { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NewWorkItem)(::windows_core::Interface::as_raw(self), pwsztaskname.into_param().abi(), rclsid, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NewWorkItem)(::windows_core::Interface::as_raw(self), pwsztaskname.into_param().abi(), rclsid, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddWorkItem(&self, pwsztaskname: P0, pworkitem: P1) -> ::windows_core::Result<()> where @@ -2893,17 +2893,17 @@ impl ITaskService { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRunningTasks(&self, flags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRunningTasks)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRunningTasks)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NewTask(&self, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NewTask)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NewTask)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Connect(&self, servername: P0, user: P1, domain: P2, password: P3) -> ::windows_core::Result<()> where @@ -2916,23 +2916,23 @@ impl ITaskService { } pub unsafe fn Connected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Connected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Connected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TargetServer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TargetServer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TargetServer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConnectedUser(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectedUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectedUser)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConnectedDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectedDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectedDomain)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HighestVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HighestVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HighestVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3100,7 +3100,7 @@ impl ITaskSettings { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IdleSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IdleSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IdleSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIdleSettings(&self, pidlesettings: P0) -> ::windows_core::Result<()> @@ -3130,7 +3130,7 @@ impl ITaskSettings { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NetworkSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NetworkSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NetworkSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNetworkSettings(&self, pnetworksettings: P0) -> ::windows_core::Result<()> @@ -3374,7 +3374,7 @@ impl ITaskSettings3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IdleSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IdleSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IdleSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetIdleSettings(&self, pidlesettings: P0) -> ::windows_core::Result<()> @@ -3404,7 +3404,7 @@ impl ITaskSettings3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NetworkSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NetworkSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NetworkSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetNetworkSettings(&self, pnetworksettings: P0) -> ::windows_core::Result<()> @@ -3434,7 +3434,7 @@ impl ITaskSettings3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaintenanceSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaintenanceSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaintenanceSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetMaintenanceSettings(&self, pmaintenancesettings: P0) -> ::windows_core::Result<()> @@ -3446,7 +3446,7 @@ impl ITaskSettings3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateMaintenanceSettings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateMaintenanceSettings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateMaintenanceSettings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Volatile(&self, pvolatile: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Volatile)(::windows_core::Interface::as_raw(self), pvolatile).ok() @@ -3493,7 +3493,7 @@ impl ITaskTrigger { } pub unsafe fn GetTriggerString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTriggerString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTriggerString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3509,7 +3509,7 @@ pub struct ITaskTrigger_Vtbl { impl ITaskVariables { pub unsafe fn GetInput(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInput)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOutput(&self, input: P0) -> ::windows_core::Result<()> where @@ -3519,7 +3519,7 @@ impl ITaskVariables { } pub unsafe fn GetContext(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3551,7 +3551,7 @@ impl ITimeTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -3635,7 +3635,7 @@ impl ITrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> @@ -3718,16 +3718,16 @@ impl ITriggerCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Create(&self, r#type: TASK_TRIGGER_TYPE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, index: P0) -> ::windows_core::Result<()> where @@ -3778,7 +3778,7 @@ impl IWeeklyTrigger { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Repetition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Repetition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetRepetition(&self, prepeat: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/Threading/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Threading/mod.rs index 71c489375d..99947f2ada 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Threading/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Threading/mod.rs @@ -814,7 +814,7 @@ pub unsafe fn GetCurrentProcessorNumberEx() -> super::Kernel::PROCESSOR_NUMBER { ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentProcessorNumberEx(procnumber : *mut super::Kernel:: PROCESSOR_NUMBER)); let mut result__ = ::std::mem::zeroed(); GetCurrentProcessorNumberEx(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn GetCurrentThread() -> super::super::Foundation::HANDLE { @@ -864,7 +864,7 @@ where pub unsafe fn GetMachineTypeAttributes(machine: u16) -> ::windows_core::Result { ::windows_targets::link!("kernel32.dll" "system" fn GetMachineTypeAttributes(machine : u16, machinetypeattributes : *mut MACHINE_ATTRIBUTES) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetMachineTypeAttributes(machine, &mut result__).from_abi(result__) + GetMachineTypeAttributes(machine, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetMaximumProcessorCount(groupnumber: u16) -> u32 { @@ -1095,7 +1095,7 @@ where { ::windows_targets::link!("kernel32.dll" "system" fn GetThreadDescription(hthread : super::super::Foundation:: HANDLE, ppszthreaddescription : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThreadDescription(hthread.into_param().abi(), &mut result__).from_abi(result__) + GetThreadDescription(hthread.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_SystemInformation")] #[inline] @@ -1213,14 +1213,14 @@ pub unsafe fn InitOnceInitialize() -> INIT_ONCE { ::windows_targets::link!("kernel32.dll" "system" fn InitOnceInitialize(initonce : *mut INIT_ONCE)); let mut result__ = ::std::mem::zeroed(); InitOnceInitialize(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn InitializeConditionVariable() -> CONDITION_VARIABLE { ::windows_targets::link!("kernel32.dll" "system" fn InitializeConditionVariable(conditionvariable : *mut CONDITION_VARIABLE)); let mut result__ = ::std::mem::zeroed(); InitializeConditionVariable(&mut result__); - ::std::mem::transmute(result__) + result__ } #[cfg(feature = "Win32_System_Kernel")] #[inline] @@ -1251,14 +1251,14 @@ pub unsafe fn InitializeSListHead() -> super::Kernel::SLIST_HEADER { ::windows_targets::link!("kernel32.dll" "system" fn InitializeSListHead(listhead : *mut super::Kernel:: SLIST_HEADER)); let mut result__ = ::std::mem::zeroed(); InitializeSListHead(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn InitializeSRWLock() -> SRWLOCK { ::windows_targets::link!("kernel32.dll" "system" fn InitializeSRWLock(srwlock : *mut SRWLOCK)); let mut result__ = ::std::mem::zeroed(); InitializeSRWLock(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn InitializeSynchronizationBarrier(lpbarrier: *mut SYNCHRONIZATION_BARRIER, ltotalthreads: i32, lspincount: i32) -> ::windows_core::Result<()> { @@ -1624,13 +1624,13 @@ where pub unsafe fn RtwqAllocateSerialWorkQueue(workqueueidin: u32) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqAllocateSerialWorkQueue(workqueueidin : u32, workqueueidout : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqAllocateSerialWorkQueue(workqueueidin, &mut result__).from_abi(result__) + RtwqAllocateSerialWorkQueue(workqueueidin, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqAllocateWorkQueue(workqueuetype: RTWQ_WORKQUEUE_TYPE) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqAllocateWorkQueue(workqueuetype : RTWQ_WORKQUEUE_TYPE, workqueueid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqAllocateWorkQueue(workqueuetype, &mut result__).from_abi(result__) + RtwqAllocateWorkQueue(workqueuetype, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqBeginRegisterWorkQueueWithMMCSS(workqueueid: u32, usageclass: P0, dwtaskid: u32, lpriority: i32, donecallback: P1, donestate: P2) -> ::windows_core::Result<()> @@ -1673,7 +1673,7 @@ where { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqCreateAsyncResult(appobject : * mut::core::ffi::c_void, callback : * mut::core::ffi::c_void, appstate : * mut::core::ffi::c_void, asyncresult : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqCreateAsyncResult(appobject.into_param().abi(), callback.into_param().abi(), appstate.into_param().abi(), &mut result__).from_abi(result__) + RtwqCreateAsyncResult(appobject.into_param().abi(), callback.into_param().abi(), appstate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RtwqEndRegisterWorkQueueWithMMCSS(result: P0) -> ::windows_core::Result @@ -1682,7 +1682,7 @@ where { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqEndRegisterWorkQueueWithMMCSS(result : * mut::core::ffi::c_void, taskid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqEndRegisterWorkQueueWithMMCSS(result.into_param().abi(), &mut result__).from_abi(result__) + RtwqEndRegisterWorkQueueWithMMCSS(result.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqGetWorkQueueMMCSSClass(workqueueid: u32, usageclass: ::windows_core::PWSTR, usageclasslength: *mut u32) -> ::windows_core::Result<()> { @@ -1693,13 +1693,13 @@ pub unsafe fn RtwqGetWorkQueueMMCSSClass(workqueueid: u32, usageclass: ::windows pub unsafe fn RtwqGetWorkQueueMMCSSPriority(workqueueid: u32) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqGetWorkQueueMMCSSPriority(workqueueid : u32, priority : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqGetWorkQueueMMCSSPriority(workqueueid, &mut result__).from_abi(result__) + RtwqGetWorkQueueMMCSSPriority(workqueueid, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqGetWorkQueueMMCSSTaskId(workqueueid: u32) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqGetWorkQueueMMCSSTaskId(workqueueid : u32, taskid : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqGetWorkQueueMMCSSTaskId(workqueueid, &mut result__).from_abi(result__) + RtwqGetWorkQueueMMCSSTaskId(workqueueid, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqInvokeCallback(result: P0) -> ::windows_core::Result<()> @@ -1716,7 +1716,7 @@ where { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqJoinWorkQueue(workqueueid : u32, hfile : super::super::Foundation:: HANDLE, out : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqJoinWorkQueue(workqueueid, hfile.into_param().abi(), &mut result__).from_abi(result__) + RtwqJoinWorkQueue(workqueueid, hfile.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqLockPlatform() -> ::windows_core::Result<()> { @@ -1786,13 +1786,13 @@ where pub unsafe fn RtwqSetDeadline(workqueueid: u32, deadlineinhns: i64) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqSetDeadline(workqueueid : u32, deadlineinhns : i64, prequest : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqSetDeadline(workqueueid, deadlineinhns, &mut result__).from_abi(result__) + RtwqSetDeadline(workqueueid, deadlineinhns, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqSetDeadline2(workqueueid: u32, deadlineinhns: i64, predeadlineinhns: i64) -> ::windows_core::Result { ::windows_targets::link!("rtworkq.dll" "system" fn RtwqSetDeadline2(workqueueid : u32, deadlineinhns : i64, predeadlineinhns : i64, prequest : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RtwqSetDeadline2(workqueueid, deadlineinhns, predeadlineinhns, &mut result__).from_abi(result__) + RtwqSetDeadline2(workqueueid, deadlineinhns, predeadlineinhns, &mut result__).map(|| result__) } #[inline] pub unsafe fn RtwqSetLongRunning(workqueueid: u32, enable: P0) -> ::windows_core::Result<()> @@ -2464,7 +2464,7 @@ pub struct IRtwqAsyncCallback_Vtbl { impl IRtwqAsyncResult { pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self)).ok() @@ -2474,7 +2474,7 @@ impl IRtwqAsyncResult { } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> { (::windows_core::Interface::vtable(self).GetStateNoAddRef)(::windows_core::Interface::as_raw(self)) @@ -2516,7 +2516,7 @@ pub struct IRtwqPlatformEvents_Vtbl { impl RTWQASYNCRESULT { pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self)).ok() @@ -2526,7 +2526,7 @@ impl RTWQASYNCRESULT { } pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> { (::windows_core::Interface::vtable(self).base__.GetStateNoAddRef)(::windows_core::Interface::as_raw(self)) diff --git a/crates/libs/windows/src/Windows/Win32/System/TransactionServer/mod.rs b/crates/libs/windows/src/Windows/Win32/System/TransactionServer/mod.rs index ddfb99032a..bfa8fe58e6 100644 --- a/crates/libs/windows/src/Windows/Win32/System/TransactionServer/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/TransactionServer/mod.rs @@ -10,7 +10,7 @@ impl ICatalog { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCollection)(::windows_core::Interface::as_raw(self), bstrcollname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Connect(&self, bstrconnectstring: P0) -> ::windows_core::Result @@ -18,7 +18,7 @@ impl ICatalog { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), bstrconnectstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), bstrconnectstring.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MajorVersion(&self, retval: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MajorVersion)(::windows_core::Interface::as_raw(self), retval).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/UpdateAgent/mod.rs b/crates/libs/windows/src/Windows/Win32/System/UpdateAgent/mod.rs index 09a686f02b..10a710c558 100644 --- a/crates/libs/windows/src/Windows/Win32/System/UpdateAgent/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/UpdateAgent/mod.rs @@ -19,11 +19,11 @@ impl IAutomaticUpdates { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableService(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnableService)(::windows_core::Interface::as_raw(self)).ok() @@ -66,11 +66,11 @@ impl IAutomaticUpdates2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Settings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Settings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Settings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableService(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EnableService)(::windows_core::Interface::as_raw(self)).ok() @@ -78,7 +78,7 @@ impl IAutomaticUpdates2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Results(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Results)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -99,11 +99,11 @@ pub struct IAutomaticUpdates2_Vtbl { impl IAutomaticUpdatesResults { pub unsafe fn LastSearchSuccessDate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastSearchSuccessDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastSearchSuccessDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastInstallationSuccessDate(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastInstallationSuccessDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastInstallationSuccessDate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -122,29 +122,29 @@ pub struct IAutomaticUpdatesResults_Vtbl { impl IAutomaticUpdatesSettings { pub unsafe fn NotificationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationLevel(&self, value: AutomaticUpdatesNotificationLevel) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotificationLevel)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Required(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Required)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Required)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledInstallationDay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationDay(&self, value: AutomaticUpdatesScheduledInstallationDay) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScheduledInstallationDay)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ScheduledInstallationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationTime(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScheduledInstallationTime)(::windows_core::Interface::as_raw(self), value).ok() @@ -180,29 +180,29 @@ pub struct IAutomaticUpdatesSettings_Vtbl { impl IAutomaticUpdatesSettings2 { pub unsafe fn NotificationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationLevel(&self, value: AutomaticUpdatesNotificationLevel) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNotificationLevel)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Required(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Required)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Required)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledInstallationDay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationDay(&self, value: AutomaticUpdatesScheduledInstallationDay) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScheduledInstallationDay)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ScheduledInstallationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationTime(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetScheduledInstallationTime)(::windows_core::Interface::as_raw(self), value).ok() @@ -215,7 +215,7 @@ impl IAutomaticUpdatesSettings2 { } pub unsafe fn IncludeRecommendedUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludeRecommendedUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludeRecommendedUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncludeRecommendedUpdates(&self, value: P0) -> ::windows_core::Result<()> where @@ -225,7 +225,7 @@ impl IAutomaticUpdatesSettings2 { } pub unsafe fn CheckPermission(&self, usertype: AutomaticUpdatesUserType, permissiontype: AutomaticUpdatesPermissionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckPermission)(::windows_core::Interface::as_raw(self), usertype, permissiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckPermission)(::windows_core::Interface::as_raw(self), usertype, permissiontype, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -245,29 +245,29 @@ pub struct IAutomaticUpdatesSettings2_Vtbl { impl IAutomaticUpdatesSettings3 { pub unsafe fn NotificationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NotificationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationLevel(&self, value: AutomaticUpdatesNotificationLevel) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetNotificationLevel)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Required(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Required)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Required)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ScheduledInstallationDay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ScheduledInstallationDay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationDay(&self, value: AutomaticUpdatesScheduledInstallationDay) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetScheduledInstallationDay)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn ScheduledInstallationTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ScheduledInstallationTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScheduledInstallationTime(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetScheduledInstallationTime)(::windows_core::Interface::as_raw(self), value).ok() @@ -280,7 +280,7 @@ impl IAutomaticUpdatesSettings3 { } pub unsafe fn IncludeRecommendedUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IncludeRecommendedUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IncludeRecommendedUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncludeRecommendedUpdates(&self, value: P0) -> ::windows_core::Result<()> where @@ -290,11 +290,11 @@ impl IAutomaticUpdatesSettings3 { } pub unsafe fn CheckPermission(&self, usertype: AutomaticUpdatesUserType, permissiontype: AutomaticUpdatesPermissionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckPermission)(::windows_core::Interface::as_raw(self), usertype, permissiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckPermission)(::windows_core::Interface::as_raw(self), usertype, permissiontype, &mut result__).map(|| result__) } pub unsafe fn NonAdministratorsElevated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NonAdministratorsElevated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NonAdministratorsElevated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNonAdministratorsElevated(&self, value: P0) -> ::windows_core::Result<()> where @@ -304,7 +304,7 @@ impl IAutomaticUpdatesSettings3 { } pub unsafe fn FeaturedUpdatesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FeaturedUpdatesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FeaturedUpdatesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFeaturedUpdatesEnabled(&self, value: P0) -> ::windows_core::Result<()> where @@ -331,43 +331,43 @@ pub struct IAutomaticUpdatesSettings3_Vtbl { impl ICategory { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CategoryID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CategoryID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CategoryID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Children(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Children)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Order(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Order)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Order)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -406,15 +406,15 @@ impl ICategoryCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -470,16 +470,16 @@ pub struct IDownloadCompletedCallbackArgs_Vtbl { impl IDownloadJob { pub unsafe fn AsyncState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCompleted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CleanUp(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CleanUp)(::windows_core::Interface::as_raw(self)).ok() @@ -487,7 +487,7 @@ impl IDownloadJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAbort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestAbort)(::windows_core::Interface::as_raw(self)).ok() @@ -519,40 +519,40 @@ pub struct IDownloadJob_Vtbl { impl IDownloadProgress { pub unsafe fn CurrentUpdateBytesDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdateBytesDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdateBytesDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentUpdateBytesToDownload(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdateBytesToDownload)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdateBytesToDownload)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentUpdateIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdateIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdateIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PercentComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalBytesDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalBytesDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalBytesDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TotalBytesToDownload(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TotalBytesToDownload)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TotalBytesToDownload)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUpdateResult(&self, updateindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentUpdateDownloadPhase(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdateDownloadPhase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdateDownloadPhase)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentUpdatePercentComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdatePercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdatePercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -603,7 +603,7 @@ impl IDownloadProgressChangedCallbackArgs { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Progress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Progress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Progress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -624,16 +624,16 @@ pub struct IDownloadProgressChangedCallbackArgs_Vtbl { impl IDownloadResult { pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUpdateResult(&self, updateindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -656,19 +656,19 @@ pub struct IDownloadResult_Vtbl { impl IImageInformation { pub unsafe fn AltText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AltText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AltText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Source(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Source)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -714,19 +714,19 @@ pub struct IInstallationAgent_Vtbl { impl IInstallationBehavior { pub unsafe fn CanRequestUserInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanRequestUserInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanRequestUserInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Impact(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Impact)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Impact)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootBehavior)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RequiresNetworkConnectivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequiresNetworkConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequiresNetworkConnectivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -780,16 +780,16 @@ pub struct IInstallationCompletedCallbackArgs_Vtbl { impl IInstallationJob { pub unsafe fn AsyncState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCompleted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CleanUp(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CleanUp)(::windows_core::Interface::as_raw(self)).ok() @@ -797,7 +797,7 @@ impl IInstallationJob { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetProgress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestAbort(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RequestAbort)(::windows_core::Interface::as_raw(self)).ok() @@ -829,20 +829,20 @@ pub struct IInstallationJob_Vtbl { impl IInstallationProgress { pub unsafe fn CurrentUpdateIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdateIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdateIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentUpdatePercentComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentUpdatePercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentUpdatePercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PercentComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PercentComplete)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUpdateResult(&self, updateindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -888,7 +888,7 @@ impl IInstallationProgressChangedCallbackArgs { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Progress(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Progress)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Progress)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -909,20 +909,20 @@ pub struct IInstallationProgressChangedCallbackArgs_Vtbl { impl IInstallationResult { pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetUpdateResult(&self, updateindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdateResult)(::windows_core::Interface::as_raw(self), updateindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -946,19 +946,19 @@ pub struct IInstallationResult_Vtbl { impl IInvalidProductLicenseException { pub unsafe fn Message(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Context(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Context)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Context)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Product(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Product)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Product)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1009,11 +1009,11 @@ pub struct ISearchCompletedCallbackArgs_Vtbl { impl ISearchJob { pub unsafe fn AsyncState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AsyncState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsCompleted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsCompleted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CleanUp(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CleanUp)(::windows_core::Interface::as_raw(self)).ok() @@ -1040,22 +1040,22 @@ pub struct ISearchJob_Vtbl { impl ISearchResult { pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RootCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RootCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RootCategories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Warnings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Warnings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Warnings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1085,7 +1085,7 @@ pub struct ISearchResult_Vtbl { impl IStringCollection { pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Item(&self, index: i32, value: P0) -> ::windows_core::Result<()> where @@ -1095,22 +1095,22 @@ impl IStringCollection { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Add(&self, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -1118,7 +1118,7 @@ impl IStringCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Copy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Insert(&self, index: i32, value: P0) -> ::windows_core::Result<()> where @@ -1157,11 +1157,11 @@ pub struct IStringCollection_Vtbl { impl ISystemInformation { pub unsafe fn OemHardwareSupportLink(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OemHardwareSupportLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OemHardwareSupportLink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1180,80 +1180,80 @@ pub struct ISystemInformation_Vtbl { impl IUpdate { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -1263,101 +1263,101 @@ impl IUpdate { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -1368,12 +1368,12 @@ impl IUpdate { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1474,80 +1474,80 @@ pub struct IUpdate_Vtbl { impl IUpdate2 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -1557,101 +1557,101 @@ impl IUpdate2 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -1662,25 +1662,25 @@ impl IUpdate2 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -1714,80 +1714,80 @@ pub struct IUpdate2_Vtbl { impl IUpdate3 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -1797,101 +1797,101 @@ impl IUpdate3 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -1902,25 +1902,25 @@ impl IUpdate3 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -1931,7 +1931,7 @@ impl IUpdate3 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1949,80 +1949,80 @@ pub struct IUpdate3_Vtbl { impl IUpdate4 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -2032,101 +2032,101 @@ impl IUpdate4 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -2137,25 +2137,25 @@ impl IUpdate4 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -2166,11 +2166,11 @@ impl IUpdate4 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PerUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2188,80 +2188,80 @@ pub struct IUpdate4_Vtbl { impl IUpdate5 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -2271,101 +2271,101 @@ impl IUpdate5 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -2376,25 +2376,25 @@ impl IUpdate5 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -2405,19 +2405,19 @@ impl IUpdate5 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PerUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PerUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PerUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutoSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutoDownload(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoDownload)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoDownload)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2437,7 +2437,7 @@ impl IUpdateCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn put_Item(&self, index: i32, value: P0) -> ::windows_core::Result<()> @@ -2448,15 +2448,15 @@ impl IUpdateCollection { } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, value: P0) -> ::windows_core::Result @@ -2464,7 +2464,7 @@ impl IUpdateCollection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Clear(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Clear)(::windows_core::Interface::as_raw(self)).ok() @@ -2472,7 +2472,7 @@ impl IUpdateCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Copy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Insert(&self, index: i32, value: P0) -> ::windows_core::Result<()> @@ -2524,7 +2524,7 @@ pub struct IUpdateCollection_Vtbl { impl IUpdateDownloadContent { pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2542,11 +2542,11 @@ pub struct IUpdateDownloadContent_Vtbl { impl IUpdateDownloadContent2 { pub unsafe fn DownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsDeltaCompressedContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDeltaCompressedContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDeltaCompressedContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2565,15 +2565,15 @@ impl IUpdateDownloadContentCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2596,11 +2596,11 @@ pub struct IUpdateDownloadContentCollection_Vtbl { impl IUpdateDownloadResult { pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2619,7 +2619,7 @@ pub struct IUpdateDownloadResult_Vtbl { impl IUpdateDownloader { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -2629,7 +2629,7 @@ impl IUpdateDownloader { } pub unsafe fn IsForced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsForced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsForced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsForced(&self, value: P0) -> ::windows_core::Result<()> where @@ -2639,7 +2639,7 @@ impl IUpdateDownloader { } pub unsafe fn Priority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Priority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPriority(&self, value: DownloadPriority) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), value).ok() @@ -2647,7 +2647,7 @@ impl IUpdateDownloader { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetUpdates(&self, value: P0) -> ::windows_core::Result<()> @@ -2664,12 +2664,12 @@ impl IUpdateDownloader { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginDownload)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginDownload)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Download(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Download)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Download)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndDownload(&self, value: P0) -> ::windows_core::Result @@ -2677,7 +2677,7 @@ impl IUpdateDownloader { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndDownload)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndDownload)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2720,15 +2720,15 @@ pub struct IUpdateDownloader_Vtbl { impl IUpdateException { pub unsafe fn Message(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Message)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Context(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Context)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2749,15 +2749,15 @@ impl IUpdateExceptionCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2780,61 +2780,61 @@ pub struct IUpdateExceptionCollection_Vtbl { impl IUpdateHistoryEntry { pub unsafe fn Operation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Operation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Operation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Date(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Date)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Date)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateIdentity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnmappedResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnmappedResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnmappedResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServerSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2871,66 +2871,66 @@ pub struct IUpdateHistoryEntry_Vtbl { impl IUpdateHistoryEntry2 { pub unsafe fn Operation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Operation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Operation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Date(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Date)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Date)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateIdentity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UpdateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UpdateIdentity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnmappedResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UnmappedResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UnmappedResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServerSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2952,15 +2952,15 @@ impl IUpdateHistoryEntryCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2983,11 +2983,11 @@ pub struct IUpdateHistoryEntryCollection_Vtbl { impl IUpdateIdentity { pub unsafe fn RevisionNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RevisionNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RevisionNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3006,15 +3006,15 @@ pub struct IUpdateIdentity_Vtbl { impl IUpdateInstallationResult { pub unsafe fn HResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HResult)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResultCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3034,7 +3034,7 @@ pub struct IUpdateInstallationResult_Vtbl { impl IUpdateInstaller { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3044,7 +3044,7 @@ impl IUpdateInstaller { } pub unsafe fn IsForced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsForced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsForced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsForced(&self, value: P0) -> ::windows_core::Result<()> where @@ -3054,7 +3054,7 @@ impl IUpdateInstaller { } pub unsafe fn ParentHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentHwnd(&self, value: P0) -> ::windows_core::Result<()> where @@ -3070,12 +3070,12 @@ impl IUpdateInstaller { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetUpdates(&self, value: P0) -> ::windows_core::Result<()> @@ -3092,7 +3092,7 @@ impl IUpdateInstaller { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginUninstall(&self, onprogresschanged: P0, oncompleted: P1, state: P2) -> ::windows_core::Result @@ -3102,7 +3102,7 @@ impl IUpdateInstaller { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndInstall(&self, value: P0) -> ::windows_core::Result @@ -3110,7 +3110,7 @@ impl IUpdateInstaller { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndUninstall(&self, value: P0) -> ::windows_core::Result @@ -3118,12 +3118,12 @@ impl IUpdateInstaller { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Install(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Install)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Install)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RunWizard(&self, dialogtitle: P0) -> ::windows_core::Result @@ -3131,20 +3131,20 @@ impl IUpdateInstaller { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBusy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Uninstall(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllowSourcePrompts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowSourcePrompts(&self, value: P0) -> ::windows_core::Result<()> where @@ -3154,7 +3154,7 @@ impl IUpdateInstaller { } pub unsafe fn RebootRequiredBeforeInstallation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3219,7 +3219,7 @@ pub struct IUpdateInstaller_Vtbl { impl IUpdateInstaller2 { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3229,7 +3229,7 @@ impl IUpdateInstaller2 { } pub unsafe fn IsForced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsForced(&self, value: P0) -> ::windows_core::Result<()> where @@ -3239,7 +3239,7 @@ impl IUpdateInstaller2 { } pub unsafe fn ParentHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentHwnd(&self, value: P0) -> ::windows_core::Result<()> where @@ -3255,12 +3255,12 @@ impl IUpdateInstaller2 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetUpdates(&self, value: P0) -> ::windows_core::Result<()> @@ -3277,7 +3277,7 @@ impl IUpdateInstaller2 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginUninstall(&self, onprogresschanged: P0, oncompleted: P1, state: P2) -> ::windows_core::Result @@ -3287,7 +3287,7 @@ impl IUpdateInstaller2 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndInstall(&self, value: P0) -> ::windows_core::Result @@ -3295,7 +3295,7 @@ impl IUpdateInstaller2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndUninstall(&self, value: P0) -> ::windows_core::Result @@ -3303,12 +3303,12 @@ impl IUpdateInstaller2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Install(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RunWizard(&self, dialogtitle: P0) -> ::windows_core::Result @@ -3316,20 +3316,20 @@ impl IUpdateInstaller2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBusy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Uninstall(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllowSourcePrompts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowSourcePrompts(&self, value: P0) -> ::windows_core::Result<()> where @@ -3339,11 +3339,11 @@ impl IUpdateInstaller2 { } pub unsafe fn RebootRequiredBeforeInstallation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForceQuiet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceQuiet(&self, value: P0) -> ::windows_core::Result<()> where @@ -3368,7 +3368,7 @@ pub struct IUpdateInstaller2_Vtbl { impl IUpdateInstaller3 { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3378,7 +3378,7 @@ impl IUpdateInstaller3 { } pub unsafe fn IsForced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsForced(&self, value: P0) -> ::windows_core::Result<()> where @@ -3388,7 +3388,7 @@ impl IUpdateInstaller3 { } pub unsafe fn ParentHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentHwnd(&self, value: P0) -> ::windows_core::Result<()> where @@ -3404,12 +3404,12 @@ impl IUpdateInstaller3 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetUpdates(&self, value: P0) -> ::windows_core::Result<()> @@ -3426,7 +3426,7 @@ impl IUpdateInstaller3 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginUninstall(&self, onprogresschanged: P0, oncompleted: P1, state: P2) -> ::windows_core::Result @@ -3436,7 +3436,7 @@ impl IUpdateInstaller3 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndInstall(&self, value: P0) -> ::windows_core::Result @@ -3444,7 +3444,7 @@ impl IUpdateInstaller3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndUninstall(&self, value: P0) -> ::windows_core::Result @@ -3452,12 +3452,12 @@ impl IUpdateInstaller3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Install(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RunWizard(&self, dialogtitle: P0) -> ::windows_core::Result @@ -3465,20 +3465,20 @@ impl IUpdateInstaller3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBusy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Uninstall(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllowSourcePrompts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowSourcePrompts(&self, value: P0) -> ::windows_core::Result<()> where @@ -3488,11 +3488,11 @@ impl IUpdateInstaller3 { } pub unsafe fn RebootRequiredBeforeInstallation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForceQuiet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceQuiet(&self, value: P0) -> ::windows_core::Result<()> where @@ -3502,7 +3502,7 @@ impl IUpdateInstaller3 { } pub unsafe fn AttemptCloseAppsIfNecessary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttemptCloseAppsIfNecessary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttemptCloseAppsIfNecessary)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttemptCloseAppsIfNecessary(&self, value: P0) -> ::windows_core::Result<()> where @@ -3527,7 +3527,7 @@ pub struct IUpdateInstaller3_Vtbl { impl IUpdateInstaller4 { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3537,7 +3537,7 @@ impl IUpdateInstaller4 { } pub unsafe fn IsForced(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsForced)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsForced(&self, value: P0) -> ::windows_core::Result<()> where @@ -3547,7 +3547,7 @@ impl IUpdateInstaller4 { } pub unsafe fn ParentHwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ParentHwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetParentHwnd(&self, value: P0) -> ::windows_core::Result<()> where @@ -3563,12 +3563,12 @@ impl IUpdateInstaller4 { } pub unsafe fn ParentWindow(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ParentWindow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Updates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Updates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetUpdates(&self, value: P0) -> ::windows_core::Result<()> @@ -3585,7 +3585,7 @@ impl IUpdateInstaller4 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BeginInstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BeginUninstall(&self, onprogresschanged: P0, oncompleted: P1, state: P2) -> ::windows_core::Result @@ -3595,7 +3595,7 @@ impl IUpdateInstaller4 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BeginUninstall)(::windows_core::Interface::as_raw(self), onprogresschanged.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndInstall(&self, value: P0) -> ::windows_core::Result @@ -3603,7 +3603,7 @@ impl IUpdateInstaller4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EndInstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndUninstall(&self, value: P0) -> ::windows_core::Result @@ -3611,12 +3611,12 @@ impl IUpdateInstaller4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EndUninstall)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Install(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Install)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RunWizard(&self, dialogtitle: P0) -> ::windows_core::Result @@ -3624,20 +3624,20 @@ impl IUpdateInstaller4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RunWizard)(::windows_core::Interface::as_raw(self), dialogtitle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBusy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsBusy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Uninstall(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Uninstall)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllowSourcePrompts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AllowSourcePrompts)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllowSourcePrompts(&self, value: P0) -> ::windows_core::Result<()> where @@ -3647,11 +3647,11 @@ impl IUpdateInstaller4 { } pub unsafe fn RebootRequiredBeforeInstallation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequiredBeforeInstallation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ForceQuiet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ForceQuiet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForceQuiet(&self, value: P0) -> ::windows_core::Result<()> where @@ -3661,7 +3661,7 @@ impl IUpdateInstaller4 { } pub unsafe fn AttemptCloseAppsIfNecessary(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AttemptCloseAppsIfNecessary)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AttemptCloseAppsIfNecessary)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttemptCloseAppsIfNecessary(&self, value: P0) -> ::windows_core::Result<()> where @@ -3701,7 +3701,7 @@ pub struct IUpdateLockdown_Vtbl { impl IUpdateSearcher { pub unsafe fn CanAutomaticallyUpgradeService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCanAutomaticallyUpgradeService(&self, value: P0) -> ::windows_core::Result<()> where @@ -3711,7 +3711,7 @@ impl IUpdateSearcher { } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3721,7 +3721,7 @@ impl IUpdateSearcher { } pub unsafe fn IncludePotentiallySupersededUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncludePotentiallySupersededUpdates(&self, value: P0) -> ::windows_core::Result<()> where @@ -3731,7 +3731,7 @@ impl IUpdateSearcher { } pub unsafe fn ServerSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerSelection(&self, value: ServerSelection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetServerSelection)(::windows_core::Interface::as_raw(self), value).ok() @@ -3744,7 +3744,7 @@ impl IUpdateSearcher { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndSearch(&self, searchjob: P0) -> ::windows_core::Result @@ -3752,19 +3752,19 @@ impl IUpdateSearcher { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EscapeString(&self, unescaped: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryHistory(&self, startindex: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Search(&self, criteria: P0) -> ::windows_core::Result @@ -3772,11 +3772,11 @@ impl IUpdateSearcher { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Online(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Online)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOnline(&self, value: P0) -> ::windows_core::Result<()> where @@ -3786,11 +3786,11 @@ impl IUpdateSearcher { } pub unsafe fn GetTotalHistoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3843,7 +3843,7 @@ pub struct IUpdateSearcher_Vtbl { impl IUpdateSearcher2 { pub unsafe fn CanAutomaticallyUpgradeService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCanAutomaticallyUpgradeService(&self, value: P0) -> ::windows_core::Result<()> where @@ -3853,7 +3853,7 @@ impl IUpdateSearcher2 { } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3863,7 +3863,7 @@ impl IUpdateSearcher2 { } pub unsafe fn IncludePotentiallySupersededUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncludePotentiallySupersededUpdates(&self, value: P0) -> ::windows_core::Result<()> where @@ -3873,7 +3873,7 @@ impl IUpdateSearcher2 { } pub unsafe fn ServerSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerSelection(&self, value: ServerSelection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetServerSelection)(::windows_core::Interface::as_raw(self), value).ok() @@ -3886,7 +3886,7 @@ impl IUpdateSearcher2 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndSearch(&self, searchjob: P0) -> ::windows_core::Result @@ -3894,19 +3894,19 @@ impl IUpdateSearcher2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EscapeString(&self, unescaped: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryHistory(&self, startindex: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Search(&self, criteria: P0) -> ::windows_core::Result @@ -3914,11 +3914,11 @@ impl IUpdateSearcher2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Online(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Online)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Online)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOnline(&self, value: P0) -> ::windows_core::Result<()> where @@ -3928,11 +3928,11 @@ impl IUpdateSearcher2 { } pub unsafe fn GetTotalHistoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3942,7 +3942,7 @@ impl IUpdateSearcher2 { } pub unsafe fn IgnoreDownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IgnoreDownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IgnoreDownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIgnoreDownloadPriority(&self, value: P0) -> ::windows_core::Result<()> where @@ -3967,7 +3967,7 @@ pub struct IUpdateSearcher2_Vtbl { impl IUpdateSearcher3 { pub unsafe fn CanAutomaticallyUpgradeService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanAutomaticallyUpgradeService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCanAutomaticallyUpgradeService(&self, value: P0) -> ::windows_core::Result<()> where @@ -3977,7 +3977,7 @@ impl IUpdateSearcher3 { } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -3987,7 +3987,7 @@ impl IUpdateSearcher3 { } pub unsafe fn IncludePotentiallySupersededUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IncludePotentiallySupersededUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIncludePotentiallySupersededUpdates(&self, value: P0) -> ::windows_core::Result<()> where @@ -3997,7 +3997,7 @@ impl IUpdateSearcher3 { } pub unsafe fn ServerSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ServerSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetServerSelection(&self, value: ServerSelection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetServerSelection)(::windows_core::Interface::as_raw(self), value).ok() @@ -4010,7 +4010,7 @@ impl IUpdateSearcher3 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BeginSearch)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), oncompleted.into_param().abi(), state.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndSearch(&self, searchjob: P0) -> ::windows_core::Result @@ -4018,19 +4018,19 @@ impl IUpdateSearcher3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndSearch)(::windows_core::Interface::as_raw(self), searchjob.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EscapeString(&self, unescaped: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EscapeString)(::windows_core::Interface::as_raw(self), unescaped.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryHistory(&self, startindex: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.QueryHistory)(::windows_core::Interface::as_raw(self), startindex, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Search(&self, criteria: P0) -> ::windows_core::Result @@ -4038,11 +4038,11 @@ impl IUpdateSearcher3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Search)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Online(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Online)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Online)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOnline(&self, value: P0) -> ::windows_core::Result<()> where @@ -4052,11 +4052,11 @@ impl IUpdateSearcher3 { } pub unsafe fn GetTotalHistoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTotalHistoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServiceID(&self, value: P0) -> ::windows_core::Result<()> where @@ -4066,7 +4066,7 @@ impl IUpdateSearcher3 { } pub unsafe fn IgnoreDownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IgnoreDownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IgnoreDownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIgnoreDownloadPriority(&self, value: P0) -> ::windows_core::Result<()> where @@ -4076,7 +4076,7 @@ impl IUpdateSearcher3 { } pub unsafe fn SearchScope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchScope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchScope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSearchScope(&self, value: SearchScope) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSearchScope)(::windows_core::Interface::as_raw(self), value).ok() @@ -4098,56 +4098,56 @@ pub struct IUpdateSearcher3_Vtbl { impl IUpdateService { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentValidationCert(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentValidationCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentValidationCert)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExpirationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsManaged(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsManaged)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsManaged)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsRegisteredWithAU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRegisteredWithAU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRegisteredWithAU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IssueDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IssueDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IssueDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OffersWindowsUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OffersWindowsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OffersWindowsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RedirectUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RedirectUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RedirectUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsScanPackageService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsScanPackageService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsScanPackageService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanRegisterWithAU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanRegisterWithAU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanRegisterWithAU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetupPrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetupPrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetupPrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4180,60 +4180,60 @@ pub struct IUpdateService_Vtbl { impl IUpdateService2 { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentValidationCert(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContentValidationCert)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContentValidationCert)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExpirationDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExpirationDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsManaged(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsManaged)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsManaged)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsRegisteredWithAU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRegisteredWithAU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRegisteredWithAU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IssueDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IssueDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IssueDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OffersWindowsUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OffersWindowsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OffersWindowsUpdates)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RedirectUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RedirectUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RedirectUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsScanPackageService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsScanPackageService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsScanPackageService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanRegisterWithAU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanRegisterWithAU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanRegisterWithAU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetupPrefix(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetupPrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetupPrefix)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsDefaultAUService(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDefaultAUService)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDefaultAUService)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4252,15 +4252,15 @@ impl IUpdateServiceCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4284,7 +4284,7 @@ impl IUpdateServiceManager { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Services(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Services)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddService(&self, serviceid: P0, authorizationcabpath: P1) -> ::windows_core::Result @@ -4293,7 +4293,7 @@ impl IUpdateServiceManager { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddService)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), authorizationcabpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddService)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), authorizationcabpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterServiceWithAU(&self, serviceid: P0) -> ::windows_core::Result<()> where @@ -4320,7 +4320,7 @@ impl IUpdateServiceManager { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddScanPackageService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), scanfilelocation.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddScanPackageService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), scanfilelocation.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOption(&self, optionname: P0, optionvalue: P1) -> ::windows_core::Result<()> where @@ -4361,7 +4361,7 @@ impl IUpdateServiceManager2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Services(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Services)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Services)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddService(&self, serviceid: P0, authorizationcabpath: P1) -> ::windows_core::Result @@ -4370,7 +4370,7 @@ impl IUpdateServiceManager2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddService)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), authorizationcabpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddService)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), authorizationcabpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterServiceWithAU(&self, serviceid: P0) -> ::windows_core::Result<()> where @@ -4397,7 +4397,7 @@ impl IUpdateServiceManager2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddScanPackageService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), scanfilelocation.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddScanPackageService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), scanfilelocation.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOption(&self, optionname: P0, optionvalue: P1) -> ::windows_core::Result<()> where @@ -4408,7 +4408,7 @@ impl IUpdateServiceManager2 { } pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -4422,7 +4422,7 @@ impl IUpdateServiceManager2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryServiceRegistration)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryServiceRegistration)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddService2(&self, serviceid: P0, flags: i32, authorizationcabpath: P1) -> ::windows_core::Result @@ -4431,7 +4431,7 @@ impl IUpdateServiceManager2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddService2)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), flags, authorizationcabpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddService2)(::windows_core::Interface::as_raw(self), serviceid.into_param().abi(), flags, authorizationcabpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4458,20 +4458,20 @@ pub struct IUpdateServiceManager2_Vtbl { impl IUpdateServiceRegistration { pub unsafe fn RegistrationState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegistrationState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegistrationState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ServiceID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPendingRegistrationWithAU(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPendingRegistrationWithAU)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPendingRegistrationWithAU)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Service(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Service)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Service)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4495,7 +4495,7 @@ pub struct IUpdateServiceRegistration_Vtbl { impl IUpdateSession { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -4505,12 +4505,12 @@ impl IUpdateSession { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WebProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWebProxy(&self, value: P0) -> ::windows_core::Result<()> @@ -4522,17 +4522,17 @@ impl IUpdateSession { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateSearcher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateDownloader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateInstaller(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4572,7 +4572,7 @@ pub struct IUpdateSession_Vtbl { impl IUpdateSession2 { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -4582,12 +4582,12 @@ impl IUpdateSession2 { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WebProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWebProxy(&self, value: P0) -> ::windows_core::Result<()> @@ -4599,21 +4599,21 @@ impl IUpdateSession2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateSearcher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateDownloader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateInstaller(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserLocale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserLocale(&self, lcid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUserLocale)(::windows_core::Interface::as_raw(self), lcid).ok() @@ -4635,7 +4635,7 @@ pub struct IUpdateSession2_Vtbl { impl IUpdateSession3 { pub unsafe fn ClientApplicationID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ClientApplicationID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClientApplicationID(&self, value: P0) -> ::windows_core::Result<()> where @@ -4645,12 +4645,12 @@ impl IUpdateSession3 { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WebProxy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.WebProxy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWebProxy(&self, value: P0) -> ::windows_core::Result<()> @@ -4662,21 +4662,21 @@ impl IUpdateSession3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateSearcher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateSearcher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateDownloader(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateDownloader)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateInstaller(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateUpdateInstaller)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UserLocale(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UserLocale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UserLocale)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUserLocale(&self, lcid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetUserLocale)(::windows_core::Interface::as_raw(self), lcid).ok() @@ -4684,7 +4684,7 @@ impl IUpdateSession3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateUpdateServiceManager(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateUpdateServiceManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateUpdateServiceManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryHistory(&self, criteria: P0, startindex: i32, count: i32) -> ::windows_core::Result @@ -4692,7 +4692,7 @@ impl IUpdateSession3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryHistory)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), startindex, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryHistory)(::windows_core::Interface::as_raw(self), criteria.into_param().abi(), startindex, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4717,7 +4717,7 @@ pub struct IUpdateSession3_Vtbl { impl IWebProxy { pub unsafe fn Address(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Address)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAddress(&self, value: P0) -> ::windows_core::Result<()> where @@ -4728,7 +4728,7 @@ impl IWebProxy { #[cfg(feature = "Win32_System_Com")] pub unsafe fn BypassList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BypassList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BypassList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetBypassList(&self, value: P0) -> ::windows_core::Result<()> @@ -4739,7 +4739,7 @@ impl IWebProxy { } pub unsafe fn BypassProxyOnLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BypassProxyOnLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BypassProxyOnLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBypassProxyOnLocal(&self, value: P0) -> ::windows_core::Result<()> where @@ -4749,11 +4749,11 @@ impl IWebProxy { } pub unsafe fn ReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UserName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetUserName(&self, value: P0) -> ::windows_core::Result<()> where @@ -4783,7 +4783,7 @@ impl IWebProxy { } pub unsafe fn AutoDetect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoDetect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoDetect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoDetect(&self, value: P0) -> ::windows_core::Result<()> where @@ -4826,80 +4826,80 @@ pub struct IWebProxy_Vtbl { impl IWindowsDriverUpdate { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -4909,101 +4909,101 @@ impl IWindowsDriverUpdate { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -5014,44 +5014,44 @@ impl IWindowsDriverUpdate { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5076,80 +5076,80 @@ pub struct IWindowsDriverUpdate_Vtbl { impl IWindowsDriverUpdate2 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -5159,101 +5159,101 @@ impl IWindowsDriverUpdate2 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -5264,57 +5264,57 @@ impl IWindowsDriverUpdate2 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -5348,80 +5348,80 @@ pub struct IWindowsDriverUpdate2_Vtbl { impl IWindowsDriverUpdate3 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -5431,101 +5431,101 @@ impl IWindowsDriverUpdate3 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -5536,57 +5536,57 @@ impl IWindowsDriverUpdate3 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -5597,7 +5597,7 @@ impl IWindowsDriverUpdate3 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5615,80 +5615,80 @@ pub struct IWindowsDriverUpdate3_Vtbl { impl IWindowsDriverUpdate4 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -5698,101 +5698,101 @@ impl IWindowsDriverUpdate4 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -5803,57 +5803,57 @@ impl IWindowsDriverUpdate4 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -5864,16 +5864,16 @@ impl IWindowsDriverUpdate4 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WindowsDriverUpdateEntries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowsDriverUpdateEntries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowsDriverUpdateEntries)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PerUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PerUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -5895,80 +5895,80 @@ pub struct IWindowsDriverUpdate4_Vtbl { impl IWindowsDriverUpdate5 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSelectOnWebSites(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AutoSelectOnWebSites)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BundledUpdates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BundledUpdates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanRequireSource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CanRequireSource)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Categories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Categories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deadline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Deadline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeltaCompressedContentAvailable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeltaCompressedContentAvailable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeltaCompressedContentPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeltaCompressedContentPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EulaAccepted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EulaAccepted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EulaText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EulaText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HandlerID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.HandlerID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Identity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Identity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Image(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Image)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsBeta(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsBeta)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsDownloaded(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsDownloaded)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsHidden(&self, value: P0) -> ::windows_core::Result<()> where @@ -5978,101 +5978,101 @@ impl IWindowsDriverUpdate5 { } pub unsafe fn IsInstalled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsInstalled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsMandatory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsMandatory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsUninstallable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsUninstallable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Languages(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastDeploymentChangeTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.LastDeploymentChangeTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaxDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MaxDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinDownloadSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MinDownloadSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoreInfoUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MoreInfoUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MsrcSeverity(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MsrcSeverity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecommendedCpuSpeed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedCpuSpeed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedHardDiskSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedHardDiskSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecommendedMemory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RecommendedMemory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReleaseNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SecurityBulletinIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SecurityBulletinIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SupersededUpdateIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SupersededUpdateIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SupportUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Type(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UninstallationNotes(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationNotes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationBehavior)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UninstallationSteps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.UninstallationSteps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn KBArticleIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.KBArticleIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AcceptEula(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AcceptEula)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn DeploymentAction(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DeploymentAction)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CopyFromCache(&self, path: P0, toextractcabfiles: P1) -> ::windows_core::Result<()> where @@ -6083,57 +6083,57 @@ impl IWindowsDriverUpdate5 { } pub unsafe fn DownloadPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DownloadPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DownloadContents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DownloadContents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RebootRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RebootRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPresent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsPresent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CveIDs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CveIDs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CopyToCache(&self, pfiles: P0) -> ::windows_core::Result<()> @@ -6144,24 +6144,24 @@ impl IWindowsDriverUpdate5 { } pub unsafe fn BrowseOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BrowseOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn WindowsDriverUpdateEntries(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WindowsDriverUpdateEntries)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WindowsDriverUpdateEntries)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PerUser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PerUser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PerUser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutoSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AutoDownload(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoDownload)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoDownload)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6180,35 +6180,35 @@ pub struct IWindowsDriverUpdate5_Vtbl { impl IWindowsDriverUpdateEntry { pub unsafe fn DriverClass(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverClass)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverHardwareID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverHardwareID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverManufacturer(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverManufacturer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverModel(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DriverVerDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverVerDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceProblemNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceProblemNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6234,15 +6234,15 @@ impl IWindowsDriverUpdateEntryCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -6268,7 +6268,7 @@ impl IWindowsUpdateAgentInfo { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), varinfoidentifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), varinfoidentifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] diff --git a/crates/libs/windows/src/Windows/Win32/System/UpdateAssessment/mod.rs b/crates/libs/windows/src/Windows/Win32/System/UpdateAssessment/mod.rs index 24e5adbd8f..1bdbf07ee0 100644 --- a/crates/libs/windows/src/Windows/Win32/System/UpdateAssessment/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/UpdateAssessment/mod.rs @@ -3,7 +3,7 @@ impl IWaaSAssessor { pub unsafe fn GetOSUpdateAssessment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOSUpdateAssessment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOSUpdateAssessment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Variant/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Variant/mod.rs index 5160e68147..9392789b7c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Variant/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Variant/mod.rs @@ -12,55 +12,55 @@ pub unsafe fn DosDateTimeToVariantTime(wdosdate: u16, wdostime: u16, pvtime: *mu pub unsafe fn InitVariantFromBooleanArray(prgf: &[super::super::Foundation::BOOL]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromBooleanArray(prgf : *const super::super::Foundation:: BOOL, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromBooleanArray(::core::mem::transmute(prgf.as_ptr()), prgf.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromBooleanArray(::core::mem::transmute(prgf.as_ptr()), prgf.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromBuffer(pv: *const ::core::ffi::c_void, cb: u32) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromBuffer(pv : *const ::core::ffi::c_void, cb : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromBuffer(pv, cb, &mut result__).from_abi(result__) + InitVariantFromBuffer(pv, cb, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromDoubleArray(prgn: &[f64]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromDoubleArray(prgn : *const f64, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromDoubleArray(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromDoubleArray(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromFileTime(pft: *const super::super::Foundation::FILETIME) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromFileTime(pft : *const super::super::Foundation:: FILETIME, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromFileTime(pft, &mut result__).from_abi(result__) + InitVariantFromFileTime(pft, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromFileTimeArray(prgft: ::core::option::Option<&[super::super::Foundation::FILETIME]>) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromFileTimeArray(prgft : *const super::super::Foundation:: FILETIME, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromFileTimeArray(::core::mem::transmute(prgft.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgft.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + InitVariantFromFileTimeArray(::core::mem::transmute(prgft.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), prgft.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromGUIDAsString(guid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromGUIDAsString(guid : *const ::windows_core::GUID, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromGUIDAsString(guid, &mut result__).from_abi(result__) + InitVariantFromGUIDAsString(guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromInt16Array(prgn: &[i16]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromInt16Array(prgn : *const i16, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromInt16Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromInt16Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromInt32Array(prgn: &[i32]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromInt32Array(prgn : *const i32, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromInt32Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromInt32Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromInt64Array(prgn: &[i64]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromInt64Array(prgn : *const i64, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromInt64Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromInt64Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromResource(hinst: P0, id: u32) -> ::windows_core::Result<::windows_core::VARIANT> @@ -69,37 +69,37 @@ where { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromResource(hinst : super::super::Foundation:: HINSTANCE, id : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromResource(hinst.into_param().abi(), id, &mut result__).from_abi(result__) + InitVariantFromResource(hinst.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromStringArray(prgsz: &[::windows_core::PCWSTR]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromStringArray(prgsz : *const ::windows_core::PCWSTR, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromStringArray(::core::mem::transmute(prgsz.as_ptr()), prgsz.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromStringArray(::core::mem::transmute(prgsz.as_ptr()), prgsz.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromUInt16Array(prgn: &[u16]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromUInt16Array(prgn : *const u16, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromUInt16Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromUInt16Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromUInt32Array(prgn: &[u32]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromUInt32Array(prgn : *const u32, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromUInt32Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromUInt32Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromUInt64Array(prgn: &[u64]) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromUInt64Array(prgn : *const u64, celems : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromUInt64Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).from_abi(result__) + InitVariantFromUInt64Array(::core::mem::transmute(prgn.as_ptr()), prgn.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn InitVariantFromVariantArrayElem(varin: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromVariantArrayElem(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromVariantArrayElem(::core::mem::transmute(varin), ielem, &mut result__).from_abi(result__) + InitVariantFromVariantArrayElem(::core::mem::transmute(varin), ielem, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SystemTimeToVariantTime(lpsystemtime: *const super::super::Foundation::SYSTEMTIME, pvtime: *mut f64) -> i32 { @@ -180,13 +180,13 @@ pub unsafe fn VariantCopyInd(pvardest: *mut ::windows_core::VARIANT, pvargsrc: * pub unsafe fn VariantGetBooleanElem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetBooleanElem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pfval : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetBooleanElem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetBooleanElem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetDoubleElem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetDoubleElem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetDoubleElem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetDoubleElem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetElementCount(varin: *const ::windows_core::VARIANT) -> u32 { @@ -197,43 +197,43 @@ pub unsafe fn VariantGetElementCount(varin: *const ::windows_core::VARIANT) -> u pub unsafe fn VariantGetInt16Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetInt16Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetInt16Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetInt16Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetInt32Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetInt32Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetInt32Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetInt32Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetInt64Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetInt64Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetInt64Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetInt64Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetStringElem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn VariantGetStringElem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, ppszval : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetStringElem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetStringElem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetUInt16Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetUInt16Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetUInt16Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetUInt16Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetUInt32Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetUInt32Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetUInt32Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetUInt32Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantGetUInt64Elem(var: *const ::windows_core::VARIANT, ielem: u32) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantGetUInt64Elem(var : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ielem : u32, pnval : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantGetUInt64Elem(::core::mem::transmute(var), ielem, &mut result__).from_abi(result__) + VariantGetUInt64Elem(::core::mem::transmute(var), ielem, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantInit() -> ::windows_core::VARIANT { @@ -256,7 +256,7 @@ pub unsafe fn VariantTimeToSystemTime(vtime: f64, lpsystemtime: *mut super::supe pub unsafe fn VariantToBoolean(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToBoolean(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pfret : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToBoolean(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToBoolean(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToBooleanArray(var: *const ::windows_core::VARIANT, prgf: &mut [super::super::Foundation::BOOL], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -290,7 +290,7 @@ pub unsafe fn VariantToDosDateTime(varin: *const ::windows_core::VARIANT, pwdate pub unsafe fn VariantToDouble(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToDouble(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pdblret : *mut f64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToDouble(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToDouble(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToDoubleArray(var: *const ::windows_core::VARIANT, prgn: &mut [f64], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -311,19 +311,19 @@ pub unsafe fn VariantToDoubleWithDefault(varin: *const ::windows_core::VARIANT, pub unsafe fn VariantToFileTime(varin: *const ::windows_core::VARIANT, stfout: PSTIME_FLAGS) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToFileTime(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, stfout : PSTIME_FLAGS, pftout : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToFileTime(::core::mem::transmute(varin), stfout, &mut result__).from_abi(result__) + VariantToFileTime(::core::mem::transmute(varin), stfout, &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToGUID(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::GUID> { ::windows_targets::link!("propsys.dll" "system" fn VariantToGUID(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToGUID(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToGUID(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToInt16(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToInt16(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, piret : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToInt16(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToInt16(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToInt16Array(var: *const ::windows_core::VARIANT, prgn: &mut [i16], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -344,7 +344,7 @@ pub unsafe fn VariantToInt16WithDefault(varin: *const ::windows_core::VARIANT, i pub unsafe fn VariantToInt32(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToInt32(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, plret : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToInt32(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToInt32(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToInt32Array(var: *const ::windows_core::VARIANT, prgn: &mut [i32], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -365,7 +365,7 @@ pub unsafe fn VariantToInt32WithDefault(varin: *const ::windows_core::VARIANT, l pub unsafe fn VariantToInt64(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToInt64(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pllret : *mut i64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToInt64(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToInt64(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToInt64Array(var: *const ::windows_core::VARIANT, prgn: &mut [i64], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -391,7 +391,7 @@ pub unsafe fn VariantToString(varin: *const ::windows_core::VARIANT, pszbuf: &mu pub unsafe fn VariantToStringAlloc(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn VariantToStringAlloc(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, ppszbuf : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToStringAlloc(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToStringAlloc(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToStringArray(var: *const ::windows_core::VARIANT, prgsz: &mut [::windows_core::PWSTR], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -415,7 +415,7 @@ where pub unsafe fn VariantToUInt16(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToUInt16(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, puiret : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToUInt16(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToUInt16(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToUInt16Array(var: *const ::windows_core::VARIANT, prgn: &mut [u16], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -436,7 +436,7 @@ pub unsafe fn VariantToUInt16WithDefault(varin: *const ::windows_core::VARIANT, pub unsafe fn VariantToUInt32(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToUInt32(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pulret : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToUInt32(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToUInt32(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToUInt32Array(var: *const ::windows_core::VARIANT, prgn: &mut [u32], pcelem: *mut u32) -> ::windows_core::Result<()> { @@ -457,7 +457,7 @@ pub unsafe fn VariantToUInt32WithDefault(varin: *const ::windows_core::VARIANT, pub unsafe fn VariantToUInt64(varin: *const ::windows_core::VARIANT) -> ::windows_core::Result { ::windows_targets::link!("propsys.dll" "system" fn VariantToUInt64(varin : *const ::std::mem::MaybeUninit <::windows_core::VARIANT >, pullret : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - VariantToUInt64(::core::mem::transmute(varin), &mut result__).from_abi(result__) + VariantToUInt64(::core::mem::transmute(varin), &mut result__).map(|| result__) } #[inline] pub unsafe fn VariantToUInt64Array(var: *const ::windows_core::VARIANT, prgn: &mut [u64], pcelem: *mut u32) -> ::windows_core::Result<()> { diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/AllJoyn/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/AllJoyn/mod.rs index 2666b89a25..63a94bacee 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/AllJoyn/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/AllJoyn/mod.rs @@ -6,7 +6,7 @@ impl IWindowsDevicesAllJoynBusAttachmentFactoryInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromWin32Handle)(::windows_core::Interface::as_raw(self), win32handle, enableaboutdata, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromWin32Handle)(::windows_core::Interface::as_raw(self), win32handle, enableaboutdata, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -20,7 +20,7 @@ pub struct IWindowsDevicesAllJoynBusAttachmentFactoryInterop_Vtbl { impl IWindowsDevicesAllJoynBusAttachmentInterop { pub unsafe fn Win32Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Win32Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Win32Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -37,7 +37,7 @@ impl IWindowsDevicesAllJoynBusObjectFactoryInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromWin32Handle)(::windows_core::Interface::as_raw(self), win32handle, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromWin32Handle)(::windows_core::Interface::as_raw(self), win32handle, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -57,7 +57,7 @@ impl IWindowsDevicesAllJoynBusObjectInterop { } pub unsafe fn Win32Handle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Win32Handle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Win32Handle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Composition/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Composition/mod.rs index 216b44dd0e..09adae0dc2 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Composition/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Composition/mod.rs @@ -7,7 +7,7 @@ impl ICompositionCapabilitiesInteropFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -27,7 +27,7 @@ impl ICompositionDrawingSurfaceInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndDraw(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EndDraw)(::windows_core::Interface::as_raw(self)).ok() @@ -64,7 +64,7 @@ impl ICompositionDrawingSurfaceInterop2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BeginDraw)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(updaterect.unwrap_or(::std::ptr::null())), &T::IID, &mut result__, updateoffset).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EndDraw(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.EndDraw)(::windows_core::Interface::as_raw(self)).ok() @@ -99,7 +99,7 @@ pub struct ICompositionDrawingSurfaceInterop2_Vtbl { impl ICompositionGraphicsDeviceInterop { pub unsafe fn GetRenderingDevice(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRenderingDevice)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRenderingDevice)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRenderingDevice(&self, value: P0) -> ::windows_core::Result<()> where @@ -138,7 +138,7 @@ impl ICompositorDesktopInterop { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDesktopWindowTarget)(::windows_core::Interface::as_raw(self), hwndtarget.into_param().abi(), istopmost.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDesktopWindowTarget)(::windows_core::Interface::as_raw(self), hwndtarget.into_param().abi(), istopmost.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnsureOnThread(&self, threadid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnsureOnThread)(::windows_core::Interface::as_raw(self), threadid).ok() @@ -163,7 +163,7 @@ impl ICompositorInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompositionSurfaceForHandle)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompositionSurfaceForHandle)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "UI_Composition")] pub unsafe fn CreateCompositionSurfaceForSwapChain(&self, swapchain: P0) -> ::windows_core::Result @@ -171,7 +171,7 @@ impl ICompositorInterop { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompositionSurfaceForSwapChain)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompositionSurfaceForSwapChain)(::windows_core::Interface::as_raw(self), swapchain.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "UI_Composition")] pub unsafe fn CreateGraphicsDevice(&self, renderingdevice: P0) -> ::windows_core::Result @@ -179,7 +179,7 @@ impl ICompositorInterop { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateGraphicsDevice)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateGraphicsDevice)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -207,7 +207,7 @@ impl ICompositorInterop2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckCompositionTextureSupport)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckCompositionTextureSupport)(::windows_core::Interface::as_raw(self), renderingdevice.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "UI_Composition")] pub unsafe fn CreateCompositionTexture(&self, d3dtexture: P0) -> ::windows_core::Result @@ -215,7 +215,7 @@ impl ICompositorInterop2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCompositionTexture)(::windows_core::Interface::as_raw(self), d3dtexture.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCompositionTexture)(::windows_core::Interface::as_raw(self), d3dtexture.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -233,7 +233,7 @@ pub struct ICompositorInterop2_Vtbl { impl IDesktopWindowTargetInterop { pub unsafe fn Hwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/CoreInputView/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/CoreInputView/mod.rs index e12eee915c..65d7cd2743 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/CoreInputView/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/CoreInputView/mod.rs @@ -7,7 +7,7 @@ impl ICoreFrameworkInputViewInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Direct3D11/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Direct3D11/mod.rs index 32b0a65d82..9df30dc8b5 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Direct3D11/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Direct3D11/mod.rs @@ -6,7 +6,7 @@ where { ::windows_targets::link!("d3d11.dll" "system" fn CreateDirect3D11DeviceFromDXGIDevice(dxgidevice : * mut::core::ffi::c_void, graphicsdevice : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDirect3D11DeviceFromDXGIDevice(dxgidevice.into_param().abi(), &mut result__).from_abi(result__) + CreateDirect3D11DeviceFromDXGIDevice(dxgidevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Dxgi")] #[inline] @@ -16,7 +16,7 @@ where { ::windows_targets::link!("d3d11.dll" "system" fn CreateDirect3D11SurfaceFromDXGISurface(dgxisurface : * mut::core::ffi::c_void, graphicssurface : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDirect3D11SurfaceFromDXGISurface(dgxisurface.into_param().abi(), &mut result__).from_abi(result__) + CreateDirect3D11SurfaceFromDXGISurface(dgxisurface.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IDirect3DDxgiInterfaceAccess, IDirect3DDxgiInterfaceAccess_Vtbl, 0xa9b3d012_3df2_4ee3_b8d1_8695f457d3c1); ::windows_core::imp::interface_hierarchy!(IDirect3DDxgiInterfaceAccess, ::windows_core::IUnknown); @@ -26,7 +26,7 @@ impl IDirect3DDxgiInterfaceAccess { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInterface)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Display/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Display/mod.rs index 2934094345..81eccab48a 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Display/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Display/mod.rs @@ -7,14 +7,14 @@ impl IDisplayDeviceInterop { P0: ::windows_core::IntoParam<::windows_core::IInspectable>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), psecurityattributes, access, ::core::mem::transmute_copy(name), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), psecurityattributes, access, ::core::mem::transmute_copy(name), &mut result__).map(|| result__) } pub unsafe fn OpenSharedHandle(&self, nthandle: P0, riid: ::windows_core::GUID) -> ::windows_core::Result<*mut ::core::ffi::c_void> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), ::core::mem::transmute(riid), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), ::core::mem::transmute(riid), &mut result__).map(|| result__) } } #[repr(C)] @@ -32,11 +32,11 @@ pub struct IDisplayDeviceInterop_Vtbl { impl IDisplayPathInterop { pub unsafe fn CreateSourcePresentationHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSourcePresentationHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSourcePresentationHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Capture/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Capture/mod.rs index c64c152f01..b2f80e9ce4 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Capture/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Capture/mod.rs @@ -7,7 +7,7 @@ impl IGraphicsCaptureItemInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn CreateForMonitor(&self, monitor: P0) -> ::windows_core::Result @@ -16,7 +16,7 @@ impl IGraphicsCaptureItemInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateForMonitor)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForMonitor)(::windows_core::Interface::as_raw(self), monitor.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Direct2D/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Direct2D/mod.rs index 7a3687fb81..b8470cc530 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Direct2D/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Direct2D/mod.rs @@ -4,7 +4,7 @@ impl IGeometrySource2DInterop { #[cfg(feature = "Win32_Graphics_Direct2D")] pub unsafe fn GetGeometry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGeometry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGeometry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct2D")] pub unsafe fn TryGetGeometryUsingFactory(&self, factory: P0) -> ::windows_core::Result @@ -12,7 +12,7 @@ impl IGeometrySource2DInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TryGetGeometryUsingFactory)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TryGetGeometryUsingFactory)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -33,7 +33,7 @@ pub struct IGeometrySource2DInterop_Vtbl { impl IGraphicsEffectD2D1Interop { pub unsafe fn GetEffectId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNamedPropertyMapping(&self, name: P0, index: *mut u32, mapping: *mut GRAPHICS_EFFECT_PROPERTY_MAPPING) -> ::windows_core::Result<()> where @@ -43,21 +43,21 @@ impl IGraphicsEffectD2D1Interop { } pub unsafe fn GetPropertyCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Foundation")] pub unsafe fn GetProperty(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Graphics_Effects")] pub unsafe fn GetSource(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Imaging/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Imaging/mod.rs index 3fa1950d5f..b0b04d9bc4 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Imaging/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Graphics/Imaging/mod.rs @@ -6,7 +6,7 @@ impl ISoftwareBitmapNative { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26,7 +26,7 @@ impl ISoftwareBitmapNativeFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromWICBitmap)(::windows_core::Interface::as_raw(self), data.into_param().abi(), forcereadonly.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromWICBitmap)(::windows_core::Interface::as_raw(self), data.into_param().abi(), forcereadonly.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Media_MediaFoundation")] pub unsafe fn CreateFromMF2DBuffer2(&self, data: P0, subtype: *const ::windows_core::GUID, width: u32, height: u32, forcereadonly: P1, mindisplayaperture: ::core::option::Option<*const super::super::super::super::Media::MediaFoundation::MFVideoArea>) -> ::windows_core::Result @@ -36,7 +36,7 @@ impl ISoftwareBitmapNativeFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromMF2DBuffer2)(::windows_core::Interface::as_raw(self), data.into_param().abi(), subtype, width, height, forcereadonly.into_param().abi(), ::core::mem::transmute(mindisplayaperture.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromMF2DBuffer2)(::windows_core::Interface::as_raw(self), data.into_param().abi(), subtype, width, height, forcereadonly.into_param().abi(), ::core::mem::transmute(mindisplayaperture.unwrap_or(::std::ptr::null())), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Holographic/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Holographic/mod.rs index 44994d5625..5adddf5419 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Holographic/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Holographic/mod.rs @@ -7,7 +7,7 @@ impl IHolographicCameraInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirect3D12BackBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirect3D12BackBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDirect3D12HardwareProtectedBackBufferResource(&self, pdevice: P0, ptexture2ddesc: *const super::super::super::Graphics::Direct3D12::D3D12_RESOURCE_DESC, pprotectedresourcesession: P1) -> ::windows_core::Result @@ -16,7 +16,7 @@ impl IHolographicCameraInterop { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirect3D12HardwareProtectedBackBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, pprotectedresourcesession.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirect3D12HardwareProtectedBackBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, pprotectedresourcesession.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn AcquireDirect3D12BufferResource(&self, presourcetoacquire: P0, pcommandqueue: P1) -> ::windows_core::Result<()> @@ -111,7 +111,7 @@ impl IHolographicQuadLayerInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirect3D12ContentBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirect3D12ContentBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Direct3D12", feature = "Win32_Graphics_Dxgi_Common"))] pub unsafe fn CreateDirect3D12HardwareProtectedContentBufferResource(&self, pdevice: P0, ptexture2ddesc: *const super::super::super::Graphics::Direct3D12::D3D12_RESOURCE_DESC, pprotectedresourcesession: P1) -> ::windows_core::Result @@ -120,7 +120,7 @@ impl IHolographicQuadLayerInterop { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDirect3D12HardwareProtectedContentBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, pprotectedresourcesession.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDirect3D12HardwareProtectedContentBufferResource)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), ptexture2ddesc, pprotectedresourcesession.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn AcquireDirect3D12BufferResource(&self, presourcetoacquire: P0, pcommandqueue: P1) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Isolation/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Isolation/mod.rs index 95946bff82..c0f8bc569c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Isolation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Isolation/mod.rs @@ -6,7 +6,7 @@ impl IIsolatedEnvironmentInterop { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHostHwndInterop)(::windows_core::Interface::as_raw(self), containerhwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHostHwndInterop)(::windows_core::Interface::as_raw(self), containerhwnd.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/ML/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/ML/mod.rs index ed36851b9f..d1631662e2 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/ML/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/ML/mod.rs @@ -7,7 +7,7 @@ impl ILearningModelDeviceFactoryNative { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFromD3D12CommandQueue)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromD3D12CommandQueue)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -25,7 +25,7 @@ impl ILearningModelOperatorProviderNative { #[cfg(feature = "Win32_AI_MachineLearning_WinML")] pub unsafe fn GetRegistry(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegistry)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegistry)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -72,7 +72,7 @@ impl ITensorNative { #[cfg(feature = "Win32_Graphics_Direct3D12")] pub unsafe fn GetD3D12Resource(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetD3D12Resource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetD3D12Resource)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Media/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Media/mod.rs index ba0ec0e5aa..8d2eb207b8 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Media/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Media/mod.rs @@ -6,7 +6,7 @@ impl IAudioFrameNative { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26,7 +26,7 @@ impl IAudioFrameNativeFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromMFSample)(::windows_core::Interface::as_raw(self), data.into_param().abi(), forcereadonly.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromMFSample)(::windows_core::Interface::as_raw(self), data.into_param().abi(), forcereadonly.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -46,14 +46,14 @@ impl IVideoFrameNative { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDevice(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -75,7 +75,7 @@ impl IVideoFrameNativeFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateFromMFSample)(::windows_core::Interface::as_raw(self), data.into_param().abi(), subtype, width, height, forcereadonly.into_param().abi(), ::core::mem::transmute(mindisplayaperture.unwrap_or(::std::ptr::null())), device.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromMFSample)(::windows_core::Interface::as_raw(self), data.into_param().abi(), subtype, width, height, forcereadonly.into_param().abi(), ::core::mem::transmute(mindisplayaperture.unwrap_or(::std::ptr::null())), device.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Metadata/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Metadata/mod.rs index 3a5958c2e0..4045a5031c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Metadata/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Metadata/mod.rs @@ -8,14 +8,14 @@ pub unsafe fn MetaDataGetDispenser(rclsid: *const ::windows_core::GUID, riid: *c pub unsafe fn RoCreateNonAgilePropertySet() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-ro-typeresolution-l1-1-1.dll" "system" fn RoCreateNonAgilePropertySet(pppropertyset : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoCreateNonAgilePropertySet(&mut result__).from_abi(result__) + RoCreateNonAgilePropertySet(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Storage_Streams")] #[inline] pub unsafe fn RoCreatePropertySetSerializer() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-ro-typeresolution-l1-1-1.dll" "system" fn RoCreatePropertySetSerializer(pppropertysetserializer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoCreatePropertySetSerializer(&mut result__).from_abi(result__) + RoCreatePropertySetSerializer(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoFreeParameterizedTypeExtra(extra: P0) @@ -48,7 +48,7 @@ where { ::windows_targets::link!("api-ms-win-ro-typeresolution-l1-1-1.dll" "system" fn RoIsApiContractMajorVersionPresent(name : ::windows_core::PCWSTR, majorversion : u16, present : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoIsApiContractMajorVersionPresent(name.into_param().abi(), majorversion, &mut result__).from_abi(result__) + RoIsApiContractMajorVersionPresent(name.into_param().abi(), majorversion, &mut result__).map(|| result__) } #[inline] pub unsafe fn RoIsApiContractPresent(name: P0, majorversion: u16, minorversion: u16) -> ::windows_core::Result @@ -57,7 +57,7 @@ where { ::windows_targets::link!("api-ms-win-ro-typeresolution-l1-1-1.dll" "system" fn RoIsApiContractPresent(name : ::windows_core::PCWSTR, majorversion : u16, minorversion : u16, present : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoIsApiContractPresent(name.into_param().abi(), majorversion, minorversion, &mut result__).from_abi(result__) + RoIsApiContractPresent(name.into_param().abi(), majorversion, minorversion, &mut result__).map(|| result__) } #[inline] pub unsafe fn RoParameterizedTypeExtraGetTypeSignature(extra: P0) -> ::windows_core::PCSTR @@ -107,7 +107,7 @@ impl ICeeGen { } pub unsafe fn GetIMapTokenIface(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIMapTokenIface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIMapTokenIface)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GenerateCeeFile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GenerateCeeFile)(::windows_core::Interface::as_raw(self)).ok() @@ -340,18 +340,18 @@ pub struct IMetaDataAssemblyImport_Vtbl { impl IMetaDataDispenser { pub unsafe fn DefineScope(&self, rclsid: *const ::windows_core::GUID, dwcreateflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefineScope)(::windows_core::Interface::as_raw(self), rclsid, dwcreateflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefineScope)(::windows_core::Interface::as_raw(self), rclsid, dwcreateflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenScope(&self, szscope: P0, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenScope)(::windows_core::Interface::as_raw(self), szscope.into_param().abi(), dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenScope)(::windows_core::Interface::as_raw(self), szscope.into_param().abi(), dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenScopeOnMemory(&self, pdata: *const ::core::ffi::c_void, cbdata: u32, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenScopeOnMemory)(::windows_core::Interface::as_raw(self), pdata, cbdata, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenScopeOnMemory)(::windows_core::Interface::as_raw(self), pdata, cbdata, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -367,18 +367,18 @@ pub struct IMetaDataDispenser_Vtbl { impl IMetaDataDispenserEx { pub unsafe fn DefineScope(&self, rclsid: *const ::windows_core::GUID, dwcreateflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefineScope)(::windows_core::Interface::as_raw(self), rclsid, dwcreateflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefineScope)(::windows_core::Interface::as_raw(self), rclsid, dwcreateflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenScope(&self, szscope: P0, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenScope)(::windows_core::Interface::as_raw(self), szscope.into_param().abi(), dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenScope)(::windows_core::Interface::as_raw(self), szscope.into_param().abi(), dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenScopeOnMemory(&self, pdata: *const ::core::ffi::c_void, cbdata: u32, dwopenflags: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OpenScopeOnMemory)(::windows_core::Interface::as_raw(self), pdata, cbdata, dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OpenScopeOnMemory)(::windows_core::Interface::as_raw(self), pdata, cbdata, dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetOption(&self, optionid: *const ::windows_core::GUID, value: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOption)(::windows_core::Interface::as_raw(self), optionid, ::core::mem::transmute(value)).ok() @@ -392,7 +392,7 @@ impl IMetaDataDispenserEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenScopeOnITypeInfo)(::windows_core::Interface::as_raw(self), piti.into_param().abi(), dwopenflags, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenScopeOnITypeInfo)(::windows_core::Interface::as_raw(self), piti.into_param().abi(), dwopenflags, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCORSystemDirectory(&self, szbuffer: ::core::option::Option<&mut [u16]>, pchbuffer: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCORSystemDirectory)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(szbuffer.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), szbuffer.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pchbuffer).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Pdf/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Pdf/mod.rs index 113c8bc6a3..6a04015649 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Pdf/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Pdf/mod.rs @@ -6,7 +6,7 @@ where { ::windows_targets::link!("windows.data.pdf.dll" "system" fn PdfCreateRenderer(pdevice : * mut::core::ffi::c_void, pprenderer : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PdfCreateRenderer(pdevice.into_param().abi(), &mut result__).from_abi(result__) + PdfCreateRenderer(pdevice.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IPdfRendererNative, IPdfRendererNative_Vtbl, 0x7d9dcd91_d277_4947_8527_07a0daeda94a); ::windows_core::imp::interface_hierarchy!(IPdfRendererNative, ::windows_core::IUnknown); diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Printing/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Printing/mod.rs index 8062a956d5..fad5eff746 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Printing/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Printing/mod.rs @@ -7,7 +7,7 @@ impl IPrintManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowPrintUIForWindowAsync(&self, appwindow: P0) -> ::windows_core::Result where @@ -15,7 +15,7 @@ impl IPrintManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ShowPrintUIForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowPrintUIForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -31,17 +31,17 @@ impl IPrintWorkflowConfigurationNative { #[cfg(all(feature = "Win32_Graphics_Printing", feature = "Win32_System_Com"))] pub unsafe fn PrinterQueue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrinterQueue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Printing", feature = "Win32_System_Com"))] pub unsafe fn DriverProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DriverProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Graphics_Printing", feature = "Win32_System_Com"))] pub unsafe fn UserProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UserProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -73,7 +73,7 @@ impl IPrintWorkflowObjectModelSourceFileContentNative { #[cfg(feature = "Win32_Storage_Xps")] pub unsafe fn ObjectFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectFactory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -92,7 +92,7 @@ impl IPrintWorkflowXpsObjectModelTargetPackageNative { #[cfg(feature = "Win32_Storage_Xps")] pub unsafe fn DocumentPackageTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentPackageTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentPackageTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -213,7 +213,7 @@ impl IPrinting3DManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowPrintUIForWindowAsync(&self, appwindow: P0) -> ::windows_core::Result where @@ -221,7 +221,7 @@ impl IPrinting3DManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ShowPrintUIForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowPrintUIForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/Storage/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/Storage/mod.rs index c32fd7c7ce..0c87ea035d 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/Storage/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/Storage/mod.rs @@ -16,7 +16,7 @@ pub struct IOplockBreakingHandler_Vtbl { impl IRandomAccessStreamFileAccessMode { pub unsafe fn GetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -34,7 +34,7 @@ impl IStorageFolderHandleAccess { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), creationoptions, accessoptions, sharingoptions, options, oplockbreakinghandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), filename.into_param().abi(), creationoptions, accessoptions, sharingoptions, options, oplockbreakinghandler.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -51,7 +51,7 @@ impl IStorageItemHandleAccess { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), accessoptions, sharingoptions, options, oplockbreakinghandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Create)(::windows_core::Interface::as_raw(self), accessoptions, sharingoptions, options, oplockbreakinghandler.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -81,7 +81,7 @@ impl IUnbufferedFileHandleProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OpenUnbufferedFileHandle)(::windows_core::Interface::as_raw(self), oplockbreakcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenUnbufferedFileHandle)(::windows_core::Interface::as_raw(self), oplockbreakcallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CloseUnbufferedFileHandle(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CloseUnbufferedFileHandle)(::windows_core::Interface::as_raw(self)).ok() diff --git a/crates/libs/windows/src/Windows/Win32/System/WinRT/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WinRT/mod.rs index 20d7cd7c9f..33f70dae7b 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WinRT/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WinRT/mod.rs @@ -32,7 +32,7 @@ pub mod Storage; pub unsafe fn CoDecodeProxy(dwclientpid: u32, ui64proxyaddress: u64) -> ::windows_core::Result { ::windows_targets::link!("ole32.dll" "system" fn CoDecodeProxy(dwclientpid : u32, ui64proxyaddress : u64, pserverinformation : *mut ServerInformation) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CoDecodeProxy(dwclientpid, ui64proxyaddress, &mut result__).from_abi(result__) + CoDecodeProxy(dwclientpid, ui64proxyaddress, &mut result__).map(|| result__) } #[inline] pub unsafe fn CreateControlInput() -> ::windows_core::Result @@ -41,7 +41,7 @@ where { ::windows_targets::link!("windows.ui.dll" "cdecl" fn CreateControlInput(riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateControlInput(&T::IID, &mut result__).from_abi(result__) + CreateControlInput(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateControlInputEx(pcorewindow: P0) -> ::windows_core::Result @@ -51,14 +51,14 @@ where { ::windows_targets::link!("windows.ui.dll" "cdecl" fn CreateControlInputEx(pcorewindow : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateControlInputEx(pcorewindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + CreateControlInputEx(pcorewindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "System")] #[inline] pub unsafe fn CreateDispatcherQueueController(options: DispatcherQueueOptions) -> ::windows_core::Result { ::windows_targets::link!("coremessaging.dll" "system" fn CreateDispatcherQueueController(options : DispatcherQueueOptions, dispatcherqueuecontroller : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDispatcherQueueController(::core::mem::transmute(options), &mut result__).from_abi(result__) + CreateDispatcherQueueController(::core::mem::transmute(options), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateRandomAccessStreamOnFile(filepath: P0, accessmode: u32) -> ::windows_core::Result @@ -68,7 +68,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-stream-winrt-l1-1-0.dll" "system" fn CreateRandomAccessStreamOnFile(filepath : ::windows_core::PCWSTR, accessmode : u32, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateRandomAccessStreamOnFile(filepath.into_param().abi(), accessmode, &T::IID, &mut result__).from_abi(result__) + CreateRandomAccessStreamOnFile(filepath.into_param().abi(), accessmode, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -79,7 +79,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-stream-winrt-l1-1-0.dll" "system" fn CreateRandomAccessStreamOverStream(stream : * mut::core::ffi::c_void, options : BSOS_OPTIONS, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateRandomAccessStreamOverStream(stream.into_param().abi(), options, &T::IID, &mut result__).from_abi(result__) + CreateRandomAccessStreamOverStream(stream.into_param().abi(), options, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateStreamOverRandomAccessStream(randomaccessstream: P0) -> ::windows_core::Result @@ -89,13 +89,13 @@ where { ::windows_targets::link!("api-ms-win-shcore-stream-winrt-l1-1-0.dll" "system" fn CreateStreamOverRandomAccessStream(randomaccessstream : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - CreateStreamOverRandomAccessStream(randomaccessstream.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + CreateStreamOverRandomAccessStream(randomaccessstream.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn GetRestrictedErrorInfo() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-error-l1-1-0.dll" "system" fn GetRestrictedErrorInfo(pprestrictederrorinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetRestrictedErrorInfo(&mut result__).from_abi(result__) + GetRestrictedErrorInfo(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn HSTRING_UserFree(param0: *const u32, param1: *const ::windows_core::HSTRING) { @@ -146,7 +146,7 @@ pub unsafe fn IsErrorPropagationEnabled() -> super::super::Foundation::BOOL { pub unsafe fn RoActivateInstance(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::IInspectable> { ::windows_targets::link!("api-ms-win-core-winrt-l1-1-0.dll" "system" fn RoActivateInstance(activatableclassid : ::std::mem::MaybeUninit <::windows_core::HSTRING >, instance : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoActivateInstance(::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) + RoActivateInstance(::core::mem::transmute_copy(activatableclassid), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoCaptureErrorContext(hr: ::windows_core::HRESULT) -> ::windows_core::Result<()> { @@ -170,7 +170,7 @@ where { ::windows_targets::link!("api-ms-win-core-winrt-l1-1-0.dll" "system" fn RoGetActivationFactory(activatableclassid : ::std::mem::MaybeUninit <::windows_core::HSTRING >, iid : *const ::windows_core::GUID, factory : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - RoGetActivationFactory(::core::mem::transmute_copy(activatableclassid), &T::IID, &mut result__).from_abi(result__) + RoGetActivationFactory(::core::mem::transmute_copy(activatableclassid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoGetAgileReference(options: AgileReferenceOptions, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result @@ -179,32 +179,32 @@ where { ::windows_targets::link!("ole32.dll" "system" fn RoGetAgileReference(options : AgileReferenceOptions, riid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, ppagilereference : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetAgileReference(options, riid, punk.into_param().abi(), &mut result__).from_abi(result__) + RoGetAgileReference(options, riid, punk.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoGetApartmentIdentifier() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-l1-1-0.dll" "system" fn RoGetApartmentIdentifier(apartmentidentifier : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetApartmentIdentifier(&mut result__).from_abi(result__) + RoGetApartmentIdentifier(&mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_Marshal")] #[inline] pub unsafe fn RoGetBufferMarshaler() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-robuffer-l1-1-0.dll" "system" fn RoGetBufferMarshaler(buffermarshaler : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetBufferMarshaler(&mut result__).from_abi(result__) + RoGetBufferMarshaler(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoGetErrorReportingFlags() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-error-l1-1-0.dll" "system" fn RoGetErrorReportingFlags(pflags : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetErrorReportingFlags(&mut result__).from_abi(result__) + RoGetErrorReportingFlags(&mut result__).map(|| result__) } #[inline] pub unsafe fn RoGetMatchingRestrictedErrorInfo(hrin: ::windows_core::HRESULT) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-error-l1-1-1.dll" "system" fn RoGetMatchingRestrictedErrorInfo(hrin : ::windows_core::HRESULT, pprestrictederrorinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoGetMatchingRestrictedErrorInfo(hrin, &mut result__).from_abi(result__) + RoGetMatchingRestrictedErrorInfo(hrin, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoGetServerActivatableClasses(servername: &::windows_core::HSTRING, activatableclassids: *mut *mut ::windows_core::HSTRING, count: *mut u32) -> ::windows_core::Result<()> { @@ -225,7 +225,7 @@ pub unsafe fn RoInspectCapturedStackBackTrace(targeterrorinfoaddress: usize, mac pub unsafe fn RoInspectThreadErrorInfo(targettebaddress: usize, machine: u16, readmemorycallback: PINSPECT_MEMORY_CALLBACK, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-error-l1-1-1.dll" "system" fn RoInspectThreadErrorInfo(targettebaddress : usize, machine : u16, readmemorycallback : PINSPECT_MEMORY_CALLBACK, context : *const ::core::ffi::c_void, targeterrorinfoaddress : *mut usize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoInspectThreadErrorInfo(targettebaddress, machine, readmemorycallback, ::core::mem::transmute(context.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + RoInspectThreadErrorInfo(targettebaddress, machine, readmemorycallback, ::core::mem::transmute(context.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn RoOriginateError(error: ::windows_core::HRESULT, message: &::windows_core::HSTRING) -> super::super::Foundation::BOOL { @@ -249,7 +249,7 @@ where pub unsafe fn RoRegisterActivationFactories(activatableclassids: *const ::windows_core::HSTRING, activationfactorycallbacks: *const PFNGETACTIVATIONFACTORY, count: u32) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-l1-1-0.dll" "system" fn RoRegisterActivationFactories(activatableclassids : *const ::std::mem::MaybeUninit <::windows_core::HSTRING >, activationfactorycallbacks : *const PFNGETACTIVATIONFACTORY, count : u32, cookie : *mut RO_REGISTRATION_COOKIE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoRegisterActivationFactories(::core::mem::transmute(activatableclassids), activationfactorycallbacks, count, &mut result__).from_abi(result__) + RoRegisterActivationFactories(::core::mem::transmute(activatableclassids), activationfactorycallbacks, count, &mut result__).map(|| result__) } #[inline] pub unsafe fn RoRegisterForApartmentShutdown(callbackobject: P0, apartmentidentifier: *mut u64, regcookie: *mut APARTMENT_SHUTDOWN_REGISTRATION_COOKIE) -> ::windows_core::Result<()> @@ -283,7 +283,7 @@ where { ::windows_targets::link!("api-ms-win-core-winrt-error-l1-1-0.dll" "system" fn RoResolveRestrictedErrorInfoReference(reference : ::windows_core::PCWSTR, pprestrictederrorinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RoResolveRestrictedErrorInfoReference(reference.into_param().abi(), &mut result__).from_abi(result__) + RoResolveRestrictedErrorInfoReference(reference.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn RoRevokeActivationFactories(cookie: P0) @@ -333,19 +333,19 @@ where pub unsafe fn WindowsCompareStringOrdinal(string1: &::windows_core::HSTRING, string2: &::windows_core::HSTRING) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsCompareStringOrdinal(string1 : ::std::mem::MaybeUninit <::windows_core::HSTRING >, string2 : ::std::mem::MaybeUninit <::windows_core::HSTRING >, result : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsCompareStringOrdinal(::core::mem::transmute_copy(string1), ::core::mem::transmute_copy(string2), &mut result__).from_abi(result__) + WindowsCompareStringOrdinal(::core::mem::transmute_copy(string1), ::core::mem::transmute_copy(string2), &mut result__).map(|| result__) } #[inline] pub unsafe fn WindowsConcatString(string1: &::windows_core::HSTRING, string2: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsConcatString(string1 : ::std::mem::MaybeUninit <::windows_core::HSTRING >, string2 : ::std::mem::MaybeUninit <::windows_core::HSTRING >, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsConcatString(::core::mem::transmute_copy(string1), ::core::mem::transmute_copy(string2), &mut result__).from_abi(result__) + WindowsConcatString(::core::mem::transmute_copy(string1), ::core::mem::transmute_copy(string2), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsCreateString(sourcestring: ::core::option::Option<&[u16]>) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsCreateString(sourcestring : ::windows_core::PCWSTR, length : u32, string : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsCreateString(::core::mem::transmute(sourcestring.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), sourcestring.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).from_abi(result__) + WindowsCreateString(::core::mem::transmute(sourcestring.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), sourcestring.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsCreateStringReference(sourcestring: P0, length: u32, hstringheader: *mut HSTRING_HEADER, string: *mut ::windows_core::HSTRING) -> ::windows_core::Result<()> @@ -372,7 +372,7 @@ where pub unsafe fn WindowsDuplicateString(string: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsDuplicateString(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsDuplicateString(::core::mem::transmute_copy(string), &mut result__).from_abi(result__) + WindowsDuplicateString(::core::mem::transmute_copy(string), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsGetStringLen(string: &::windows_core::HSTRING) -> u32 { @@ -411,43 +411,43 @@ where { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsPromoteStringBuffer(bufferhandle : HSTRING_BUFFER, string : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsPromoteStringBuffer(bufferhandle.into_param().abi(), &mut result__).from_abi(result__) + WindowsPromoteStringBuffer(bufferhandle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsReplaceString(string: &::windows_core::HSTRING, stringreplaced: &::windows_core::HSTRING, stringreplacewith: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsReplaceString(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, stringreplaced : ::std::mem::MaybeUninit <::windows_core::HSTRING >, stringreplacewith : ::std::mem::MaybeUninit <::windows_core::HSTRING >, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsReplaceString(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(stringreplaced), ::core::mem::transmute_copy(stringreplacewith), &mut result__).from_abi(result__) + WindowsReplaceString(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(stringreplaced), ::core::mem::transmute_copy(stringreplacewith), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsStringHasEmbeddedNull(string: &::windows_core::HSTRING) -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsStringHasEmbeddedNull(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, hasembednull : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsStringHasEmbeddedNull(::core::mem::transmute_copy(string), &mut result__).from_abi(result__) + WindowsStringHasEmbeddedNull(::core::mem::transmute_copy(string), &mut result__).map(|| result__) } #[inline] pub unsafe fn WindowsSubstring(string: &::windows_core::HSTRING, startindex: u32) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsSubstring(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, startindex : u32, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsSubstring(::core::mem::transmute_copy(string), startindex, &mut result__).from_abi(result__) + WindowsSubstring(::core::mem::transmute_copy(string), startindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsSubstringWithSpecifiedLength(string: &::windows_core::HSTRING, startindex: u32, length: u32) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsSubstringWithSpecifiedLength(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, startindex : u32, length : u32, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsSubstringWithSpecifiedLength(::core::mem::transmute_copy(string), startindex, length, &mut result__).from_abi(result__) + WindowsSubstringWithSpecifiedLength(::core::mem::transmute_copy(string), startindex, length, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsTrimStringEnd(string: &::windows_core::HSTRING, trimstring: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsTrimStringEnd(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, trimstring : ::std::mem::MaybeUninit <::windows_core::HSTRING >, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsTrimStringEnd(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(trimstring), &mut result__).from_abi(result__) + WindowsTrimStringEnd(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(trimstring), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn WindowsTrimStringStart(string: &::windows_core::HSTRING, trimstring: &::windows_core::HSTRING) -> ::windows_core::Result<::windows_core::HSTRING> { ::windows_targets::link!("api-ms-win-core-winrt-string-l1-1-0.dll" "system" fn WindowsTrimStringStart(string : ::std::mem::MaybeUninit <::windows_core::HSTRING >, trimstring : ::std::mem::MaybeUninit <::windows_core::HSTRING >, newstring : *mut ::std::mem::MaybeUninit <::windows_core::HSTRING >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WindowsTrimStringStart(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(trimstring), &mut result__).from_abi(result__) + WindowsTrimStringStart(::core::mem::transmute_copy(string), ::core::mem::transmute_copy(trimstring), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } ::windows_core::imp::com_interface!(IAccountsSettingsPaneInterop, IAccountsSettingsPaneInterop_Vtbl, 0xd3ee12ad_3865_4362_9746_b75a682df0e6); ::windows_core::imp::interface_hierarchy!(IAccountsSettingsPaneInterop, ::windows_core::IUnknown, ::windows_core::IInspectable); @@ -458,7 +458,7 @@ impl IAccountsSettingsPaneInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowManageAccountsForWindowAsync(&self, appwindow: P0) -> ::windows_core::Result where @@ -466,7 +466,7 @@ impl IAccountsSettingsPaneInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ShowManageAccountsForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowManageAccountsForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowAddAccountForWindowAsync(&self, appwindow: P0) -> ::windows_core::Result where @@ -474,7 +474,7 @@ impl IAccountsSettingsPaneInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ShowAddAccountForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowAddAccountForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -490,7 +490,7 @@ pub struct IAccountsSettingsPaneInterop_Vtbl { impl IActivationFactory { pub unsafe fn ActivateInstance(&self) -> ::windows_core::Result<::windows_core::IInspectable> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateInstance)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -507,7 +507,7 @@ impl IAgileReference { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -537,7 +537,7 @@ impl IAppServiceConnectionExtendedExecution { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenForExtendedExecutionAsync)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenForExtendedExecutionAsync)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -551,7 +551,7 @@ pub struct IAppServiceConnectionExtendedExecution_Vtbl { impl IBufferByteAccess { pub unsafe fn Buffer(&self) -> ::windows_core::Result<*mut u8> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buffer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buffer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -581,7 +581,7 @@ impl ICastingController { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), eventhandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), eventhandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnAdvise(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnAdvise)(::windows_core::Interface::as_raw(self), cookie).ok() @@ -622,12 +622,12 @@ pub struct ICastingEventHandler_Vtbl { impl ICastingSourceInfo { pub unsafe fn GetController(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetController)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetController)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -665,7 +665,7 @@ pub struct ICoreInputInterop_Vtbl { impl ICoreInputInterop2 { pub unsafe fn WindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeHostingContext(&self, newparentwindow: P0, newviewinstanceid: u32) -> ::windows_core::Result<()> where @@ -686,31 +686,31 @@ pub struct ICoreInputInterop2_Vtbl { impl ICoreWindowAdapterInterop { pub unsafe fn AppActivationClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AppActivationClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AppActivationClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplicationViewClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplicationViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplicationViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoreApplicationViewClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CoreApplicationViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CoreApplicationViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HoloViewClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HoloViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HoloViewClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PositionerClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PositionerClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PositionerClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SystemNavigationClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemNavigationClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemNavigationClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TitleBarClientAdapter(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TitleBarClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TitleBarClientAdapter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWindowClientAdapter(&self, value: P0) -> ::windows_core::Result<()> where @@ -744,7 +744,7 @@ impl ICoreWindowComponentInterop { } pub unsafe fn GetViewInstanceId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -759,7 +759,7 @@ pub struct ICoreWindowComponentInterop_Vtbl { impl ICoreWindowInterop { pub unsafe fn WindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMessageHandled(&self, value: u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMessageHandled)(::windows_core::Interface::as_raw(self), value).ok() @@ -777,11 +777,11 @@ pub struct ICoreWindowInterop_Vtbl { impl ICorrelationVectorInformation { pub unsafe fn LastCorrelationVectorForThread(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastCorrelationVectorForThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastCorrelationVectorForThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NextCorrelationVectorForThread(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextCorrelationVectorForThread)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextCorrelationVectorForThread)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNextCorrelationVectorForThread(&self, cv: &::windows_core::HSTRING) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNextCorrelationVectorForThread)(::windows_core::Interface::as_raw(self), ::core::mem::transmute_copy(cv)).ok() @@ -800,7 +800,7 @@ pub struct ICorrelationVectorInformation_Vtbl { impl ICorrelationVectorSource { pub unsafe fn CorrelationVector(&self) -> ::windows_core::Result<::windows_core::HSTRING> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CorrelationVector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CorrelationVector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -818,7 +818,7 @@ impl IDragDropManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -836,7 +836,7 @@ impl IHolographicSpaceInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -854,7 +854,7 @@ impl IInputPaneInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -868,7 +868,7 @@ pub struct IInputPaneInterop_Vtbl { impl ILanguageExceptionErrorInfo { pub unsafe fn GetLanguageException(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -882,11 +882,11 @@ pub struct ILanguageExceptionErrorInfo_Vtbl { impl ILanguageExceptionErrorInfo2 { pub unsafe fn GetLanguageException(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageException)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreviousLanguageExceptionErrorInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousLanguageExceptionErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousLanguageExceptionErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CapturePropagationContext(&self, languageexception: P0) -> ::windows_core::Result<()> where @@ -896,7 +896,7 @@ impl ILanguageExceptionErrorInfo2 { } pub unsafe fn GetPropagationContextHead(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropagationContextHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropagationContextHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -925,7 +925,7 @@ pub struct ILanguageExceptionStackBackTrace_Vtbl { impl ILanguageExceptionTransform { pub unsafe fn GetTransformedRestrictedErrorInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTransformedRestrictedErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTransformedRestrictedErrorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -969,7 +969,7 @@ impl IPlayToManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowPlayToUIForWindow(&self, appwindow: P0) -> ::windows_core::Result<()> where @@ -993,7 +993,7 @@ impl IRestrictedErrorInfo { } pub unsafe fn GetReference(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } unsafe impl ::core::marker::Send for IRestrictedErrorInfo {} @@ -1010,7 +1010,7 @@ pub struct IRestrictedErrorInfo_Vtbl { impl IShareWindowCommandEventArgsInterop { pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1028,7 +1028,7 @@ impl IShareWindowCommandSourceInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1046,7 +1046,7 @@ impl ISpatialInteractionManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1064,7 +1064,7 @@ impl ISystemMediaTransportControlsInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1082,7 +1082,7 @@ impl IUIViewSettingsInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1100,7 +1100,7 @@ impl IUserActivityInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateSessionForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSessionForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1118,7 +1118,7 @@ impl IUserActivityRequestManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), window.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1149,7 +1149,7 @@ impl IUserConsentVerifierInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestVerificationForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(message), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestVerificationForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), ::core::mem::transmute_copy(message), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1166,7 +1166,7 @@ impl IWeakReference { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resolve)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1180,7 +1180,7 @@ pub struct IWeakReference_Vtbl { impl IWeakReferenceSource { pub unsafe fn GetWeakReference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWeakReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWeakReference)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1199,7 +1199,7 @@ impl IWebAuthenticationCoreManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestTokenForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), request.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestTokenForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), request.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RequestTokenWithWebAccountForWindowAsync(&self, appwindow: P0, request: P1, webaccount: P2) -> ::windows_core::Result where @@ -1209,7 +1209,7 @@ impl IWebAuthenticationCoreManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).RequestTokenWithWebAccountForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), request.into_param().abi(), webaccount.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestTokenWithWebAccountForWindowAsync)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), request.into_param().abi(), webaccount.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WindowsProgramming/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WindowsProgramming/mod.rs index 301a01eadf..39ca6f52fa 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WindowsProgramming/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WindowsProgramming/mod.rs @@ -809,7 +809,7 @@ where pub unsafe fn QueryAuxiliaryCounterFrequency() -> ::windows_core::Result { ::windows_targets::link!("api-ms-win-core-realtime-l1-1-2.dll" "system" fn QueryAuxiliaryCounterFrequency(lpauxiliarycounterfrequency : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - QueryAuxiliaryCounterFrequency(&mut result__).from_abi(result__) + QueryAuxiliaryCounterFrequency(&mut result__).map(|| result__) } #[inline] pub unsafe fn QueryIdleProcessorCycleTime(bufferlength: *mut u32, processoridlecycletime: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> { @@ -826,14 +826,14 @@ pub unsafe fn QueryInterruptTime() -> u64 { ::windows_targets::link!("api-ms-win-core-realtime-l1-1-1.dll" "system" fn QueryInterruptTime(lpinterrupttime : *mut u64)); let mut result__ = ::std::mem::zeroed(); QueryInterruptTime(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn QueryInterruptTimePrecise() -> u64 { ::windows_targets::link!("api-ms-win-core-realtime-l1-1-1.dll" "system" fn QueryInterruptTimePrecise(lpinterrupttimeprecise : *mut u64)); let mut result__ = ::std::mem::zeroed(); QueryInterruptTimePrecise(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn QueryProcessCycleTime(processhandle: P0, cycletime: *mut u64) -> ::windows_core::Result<()> @@ -861,7 +861,7 @@ pub unsafe fn QueryUnbiasedInterruptTimePrecise() -> u64 { ::windows_targets::link!("api-ms-win-core-realtime-l1-1-1.dll" "system" fn QueryUnbiasedInterruptTimePrecise(lpunbiasedinterrupttimeprecise : *mut u64)); let mut result__ = ::std::mem::zeroed(); QueryUnbiasedInterruptTimePrecise(&mut result__); - ::std::mem::transmute(result__) + result__ } #[inline] pub unsafe fn RaiseCustomSystemEventTrigger(customsystemeventtriggerconfig: *const CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG) -> u32 { @@ -1412,7 +1412,7 @@ where { ::windows_targets::link!("wldp.dll" "system" fn WldpCanExecuteBuffer(host : *const ::windows_core::GUID, options : WLDP_EXECUTION_EVALUATION_OPTIONS, buffer : *const u8, buffersize : u32, auditinfo : ::windows_core::PCWSTR, result : *mut WLDP_EXECUTION_POLICY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WldpCanExecuteBuffer(host, options, ::core::mem::transmute(buffer.as_ptr()), buffer.len().try_into().unwrap(), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + WldpCanExecuteBuffer(host, options, ::core::mem::transmute(buffer.as_ptr()), buffer.len().try_into().unwrap(), auditinfo.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WldpCanExecuteFile(host: *const ::windows_core::GUID, options: WLDP_EXECUTION_EVALUATION_OPTIONS, filehandle: P0, auditinfo: P1) -> ::windows_core::Result @@ -1422,7 +1422,7 @@ where { ::windows_targets::link!("wldp.dll" "system" fn WldpCanExecuteFile(host : *const ::windows_core::GUID, options : WLDP_EXECUTION_EVALUATION_OPTIONS, filehandle : super::super::Foundation:: HANDLE, auditinfo : ::windows_core::PCWSTR, result : *mut WLDP_EXECUTION_POLICY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WldpCanExecuteFile(host, options, filehandle.into_param().abi(), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + WldpCanExecuteFile(host, options, filehandle.into_param().abi(), auditinfo.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1433,7 +1433,7 @@ where { ::windows_targets::link!("wldp.dll" "system" fn WldpCanExecuteStream(host : *const ::windows_core::GUID, options : WLDP_EXECUTION_EVALUATION_OPTIONS, stream : * mut::core::ffi::c_void, auditinfo : ::windows_core::PCWSTR, result : *mut WLDP_EXECUTION_POLICY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WldpCanExecuteStream(host, options, stream.into_param().abi(), auditinfo.into_param().abi(), &mut result__).from_abi(result__) + WldpCanExecuteStream(host, options, stream.into_param().abi(), auditinfo.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn WldpGetLockdownPolicy(hostinformation: ::core::option::Option<*const WLDP_HOST_INFORMATION>, lockdownstate: *mut u32, lockdownflags: u32) -> ::windows_core::Result<()> { @@ -1449,7 +1449,7 @@ pub unsafe fn WldpIsClassInApprovedList(classid: *const ::windows_core::GUID, ho pub unsafe fn WldpIsDynamicCodePolicyEnabled() -> ::windows_core::Result { ::windows_targets::link!("wldp.dll" "system" fn WldpIsDynamicCodePolicyEnabled(isenabled : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - WldpIsDynamicCodePolicyEnabled(&mut result__).from_abi(result__) + WldpIsDynamicCodePolicyEnabled(&mut result__).map(|| result__) } #[inline] pub unsafe fn WldpQueryDeviceSecurityInformation(information: ::core::option::Option<&mut [WLDP_DEVICE_SECURITY_INFORMATION]>, returnlength: *mut u32) -> ::windows_core::Result<()> { @@ -1682,14 +1682,14 @@ impl ICameraUIControl { } pub unsafe fn Suspend(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resume(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetCurrentViewType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentViewType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentViewType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActiveItem(&self, pbstractiveitempath: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetActiveItem)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbstractiveitempath.unwrap_or(::std::ptr::null_mut()))).ok() @@ -1697,7 +1697,7 @@ impl ICameraUIControl { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelectedItems(&self) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveCapturedItem(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -1782,7 +1782,7 @@ pub struct IClipServiceNotificationHelper_Vtbl { impl IContainerActivationHelper { pub unsafe fn CanActivateClientVM(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanActivateClientVM)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanActivateClientVM)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1857,7 +1857,7 @@ pub struct IEditionUpgradeBroker_Vtbl { impl IEditionUpgradeHelper { pub unsafe fn CanUpgrade(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanUpgrade)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanUpgrade)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateOperatingSystem(&self, contentid: P0) -> ::windows_core::Result<()> where @@ -1870,11 +1870,11 @@ impl IEditionUpgradeHelper { } pub unsafe fn GetOsProductContentId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOsProductContentId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOsProductContentId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenuineLocalStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGenuineLocalStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGenuineLocalStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1909,7 +1909,7 @@ pub struct IFClipNotificationHelper_Vtbl { impl IWindowsLockModeHelper { pub unsafe fn GetSMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/WindowsSync/mod.rs b/crates/libs/windows/src/Windows/Win32/System/WindowsSync/mod.rs index a378e1d218..1d7070788c 100644 --- a/crates/libs/windows/src/Windows/Win32/System/WindowsSync/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/WindowsSync/mod.rs @@ -37,19 +37,19 @@ pub struct IAsynchronousDataRetriever_Vtbl { impl IChangeConflict { pub unsafe fn GetDestinationProviderConflictingChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceProviderConflictingChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDestinationProviderConflictingData(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceProviderConflictingData(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResolveActionForChange(&self, presolveaction: *mut SYNC_RESOLVE_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetResolveActionForChange)(::windows_core::Interface::as_raw(self), presolveaction).ok() @@ -173,7 +173,7 @@ impl ICombinedFilterInfo { } pub unsafe fn GetFilterInfo(&self, dwfilterindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterInfo)(::windows_core::Interface::as_raw(self), dwfilterindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterInfo)(::windows_core::Interface::as_raw(self), dwfilterindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilterCombinationType(&self, pfiltercombinationtype: *mut FILTER_COMBINATION_TYPE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFilterCombinationType)(::windows_core::Interface::as_raw(self), pfiltercombinationtype).ok() @@ -192,27 +192,27 @@ pub struct ICombinedFilterInfo_Vtbl { impl IConstraintConflict { pub unsafe fn GetDestinationProviderConflictingChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceProviderConflictingChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceProviderConflictingChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDestinationProviderOriginalChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderOriginalChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderOriginalChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDestinationProviderConflictingData(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceProviderConflictingData(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceProviderConflictingData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDestinationProviderOriginalData(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationProviderOriginalData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationProviderOriginalData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConstraintResolveActionForChange(&self, pconstraintresolveaction: *mut SYNC_CONSTRAINT_RESOLVE_ACTION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetConstraintResolveActionForChange)(::windows_core::Interface::as_raw(self), pconstraintresolveaction).ok() @@ -323,7 +323,7 @@ impl ICustomFilterInfo { } pub unsafe fn GetSyncFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -366,7 +366,7 @@ impl IEnumChangeUnitExceptions { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -392,7 +392,7 @@ impl IEnumClockVector { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -418,7 +418,7 @@ impl IEnumFeedClockVector { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -457,7 +457,7 @@ impl IEnumRangeExceptions { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -483,7 +483,7 @@ impl IEnumSingleItemExceptions { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -509,7 +509,7 @@ impl IEnumSyncChangeUnits { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -535,7 +535,7 @@ impl IEnumSyncChanges { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -562,7 +562,7 @@ impl IEnumSyncProviderConfigUIInfos { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -592,7 +592,7 @@ impl IEnumSyncProviderInfos { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -667,7 +667,7 @@ impl IFilterKeyMap { } pub unsafe fn GetFilter(&self, dwfilterkey: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilter)(::windows_core::Interface::as_raw(self), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Serialize(&self, pbfilterkeymap: *mut u8, pcbfilterkeymap: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), pbfilterkeymap, pcbfilterkeymap).ok() @@ -780,11 +780,11 @@ impl IForgottenKnowledge { } pub unsafe fn GetReplicaKeyMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertVersion(&self, pknowledgein: P0, pbcurrentownerid: *const u8, pversionin: *const SYNC_VERSION, pbnewownerid: *mut u8, pcbidsize: *mut u32, pversionout: *mut SYNC_VERSION) -> ::windows_core::Result<()> where @@ -797,7 +797,7 @@ impl IForgottenKnowledge { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Union(&self, pknowledge: P0) -> ::windows_core::Result<()> where @@ -807,15 +807,15 @@ impl IForgottenKnowledge { } pub unsafe fn ProjectOntoItem(&self, pbitemid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoChangeUnit(&self, pbitemid: *const u8, pbchangeunitid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoRange(&self, psrngsyncrange: *const SYNC_RANGE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExcludeItem(&self, pbitemid: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ExcludeItem)(::windows_core::Interface::as_raw(self), pbitemid).ok() @@ -930,7 +930,7 @@ pub struct IKnowledgeSyncProvider_Vtbl { impl ILoadChangeContext { pub unsafe fn GetSyncChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRecoverableErrorOnChange(&self, hrerror: ::windows_core::HRESULT, perrordata: P0) -> ::windows_core::Result<()> where @@ -1002,7 +1002,7 @@ impl IRecoverableError { } pub unsafe fn GetChangeWithRecoverableError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChangeWithRecoverableError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChangeWithRecoverableError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRecoverableErrorDataForChange(&self, phrerror: *mut ::windows_core::HRESULT, pperrordata: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRecoverableErrorDataForChange)(::windows_core::Interface::as_raw(self), phrerror, ::core::mem::transmute(pperrordata)).ok() @@ -1067,7 +1067,7 @@ impl IRegisteredSyncProvider { } pub unsafe fn GetInstanceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -1273,15 +1273,15 @@ impl ISyncChange { } pub unsafe fn GetChangeUnits(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChangeUnits)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChangeUnits)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMadeWithKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMadeWithKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMadeWithKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkEstimate(&self, dwwork: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWorkEstimate)(::windows_core::Interface::as_raw(self), dwwork).ok() @@ -1307,7 +1307,7 @@ pub struct ISyncChange_Vtbl { impl ISyncChangeBatch { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -1329,19 +1329,19 @@ impl ISyncChangeBatch { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -1370,7 +1370,7 @@ impl ISyncChangeBatch { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1386,7 +1386,7 @@ pub struct ISyncChangeBatch_Vtbl { impl ISyncChangeBatch2 { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -1408,19 +1408,19 @@ impl ISyncChangeBatch2 { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -1449,18 +1449,18 @@ impl ISyncChangeBatch2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddMergeTombstoneMetadataToGroup(&self, pbownerreplicaid: *const u8, pbwinneritemid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddMergeTombstoneMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddMergeTombstoneMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddMergeTombstoneLoggedConflict(&self, pbownerreplicaid: *const u8, pbwinneritemid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwworkforchange: u32, pconflictknowledge: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddMergeTombstoneLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddMergeTombstoneLoggedConflict)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, pconflictknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1475,11 +1475,11 @@ pub struct ISyncChangeBatch2_Vtbl { impl ISyncChangeBatchAdvanced { pub unsafe fn GetFilterInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertFullEnumerationChangeBatchToRegularChangeBatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertFullEnumerationChangeBatchToRegularChangeBatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertFullEnumerationChangeBatchToRegularChangeBatch)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetUpperBoundItemId(&self, pbitemid: *mut u8, pcbidsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetUpperBoundItemId)(::windows_core::Interface::as_raw(self), pbitemid, pcbidsize).ok() @@ -1502,7 +1502,7 @@ pub struct ISyncChangeBatchAdvanced_Vtbl { impl ISyncChangeBatchBase { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -1524,19 +1524,19 @@ impl ISyncChangeBatchBase { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -1575,7 +1575,7 @@ pub struct ISyncChangeBatchBase_Vtbl { impl ISyncChangeBatchBase2 { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -1597,19 +1597,19 @@ impl ISyncChangeBatchBase2 { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -1638,7 +1638,7 @@ pub struct ISyncChangeBatchBase2_Vtbl { impl ISyncChangeBatchWithFilterKeyMap { pub unsafe fn GetFilterKeyMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilterKeyMap(&self, pifilterkeymap: P0) -> ::windows_core::Result<()> where @@ -1658,7 +1658,7 @@ impl ISyncChangeBatchWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedFilterForgottenKnowledge(&self, pdestinationknowledge: P0, pnewmoveins: P1, dwfilterkey: u32) -> ::windows_core::Result where @@ -1666,7 +1666,7 @@ impl ISyncChangeBatchWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredReplicaLearnedForgottenKnowledge(&self, pdestinationknowledge: P0, pnewmoveins: P1) -> ::windows_core::Result where @@ -1674,7 +1674,7 @@ impl ISyncChangeBatchWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete(&self, pdestinationknowledge: P0, pnewmoveins: P1) -> ::windows_core::Result where @@ -1682,7 +1682,7 @@ impl ISyncChangeBatchWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete(&self, pdestinationknowledge: P0, pnewmoveins: P1, dwfilterkey: u32) -> ::windows_core::Result where @@ -1690,7 +1690,7 @@ impl ISyncChangeBatchWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1711,7 +1711,7 @@ pub struct ISyncChangeBatchWithFilterKeyMap_Vtbl { impl ISyncChangeBatchWithPrerequisite { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -1733,19 +1733,19 @@ impl ISyncChangeBatchWithPrerequisite { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -1770,11 +1770,11 @@ impl ISyncChangeBatchWithPrerequisite { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1803,7 +1803,7 @@ pub struct ISyncChangeBuilder_Vtbl { impl ISyncChangeUnit { pub unsafe fn GetItemChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemChange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetChangeUnitId(&self, pbchangeunitid: *mut u8, pcbidsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChangeUnitId)(::windows_core::Interface::as_raw(self), pbchangeunitid, pcbidsize).ok() @@ -1834,7 +1834,7 @@ impl ISyncChangeWithFilterKeyMap { } pub unsafe fn GetFilterForgottenKnowledge(&self, dwfilterkey: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredReplicaLearnedKnowledge(&self, pdestinationknowledge: P0, pnewmoveins: P1) -> ::windows_core::Result where @@ -1842,7 +1842,7 @@ impl ISyncChangeWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedFilterForgottenKnowledge(&self, pdestinationknowledge: P0, pnewmoveins: P1, dwfilterkey: u32) -> ::windows_core::Result where @@ -1850,7 +1850,7 @@ impl ISyncChangeWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredReplicaLearnedForgottenKnowledge(&self, pdestinationknowledge: P0, pnewmoveins: P1) -> ::windows_core::Result where @@ -1858,7 +1858,7 @@ impl ISyncChangeWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete(&self, pdestinationknowledge: P0, pnewmoveins: P1) -> ::windows_core::Result where @@ -1866,7 +1866,7 @@ impl ISyncChangeWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFilteredReplicaLearnedForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete(&self, pdestinationknowledge: P0, pnewmoveins: P1, dwfilterkey: u32) -> ::windows_core::Result where @@ -1874,7 +1874,7 @@ impl ISyncChangeWithFilterKeyMap { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedFilterForgottenKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), pnewmoveins.into_param().abi(), dwfilterkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1896,14 +1896,14 @@ pub struct ISyncChangeWithFilterKeyMap_Vtbl { impl ISyncChangeWithPrerequisite { pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledgeWithPrerequisite(&self, pdestinationknowledge: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pdestinationknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1938,7 +1938,7 @@ impl ISyncDataConverter { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertDataRetrieverFromProviderFormat)(::windows_core::Interface::as_raw(self), punkdataretrieverin.into_param().abi(), penumsyncchanges.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertDataRetrieverFromProviderFormat)(::windows_core::Interface::as_raw(self), punkdataretrieverin.into_param().abi(), penumsyncchanges.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertDataRetrieverToProviderFormat(&self, punkdataretrieverin: P0, penumsyncchanges: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -1946,7 +1946,7 @@ impl ISyncDataConverter { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertDataRetrieverToProviderFormat)(::windows_core::Interface::as_raw(self), punkdataretrieverin.into_param().abi(), penumsyncchanges.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertDataRetrieverToProviderFormat)(::windows_core::Interface::as_raw(self), punkdataretrieverin.into_param().abi(), penumsyncchanges.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertDataFromProviderFormat(&self, pdatacontext: P0, punkdatain: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -1954,7 +1954,7 @@ impl ISyncDataConverter { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertDataFromProviderFormat)(::windows_core::Interface::as_raw(self), pdatacontext.into_param().abi(), punkdatain.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertDataFromProviderFormat)(::windows_core::Interface::as_raw(self), pdatacontext.into_param().abi(), punkdatain.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertDataToProviderFormat(&self, pdatacontext: P0, punkdataout: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -1962,7 +1962,7 @@ impl ISyncDataConverter { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertDataToProviderFormat)(::windows_core::Interface::as_raw(self), pdatacontext.into_param().abi(), punkdataout.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertDataToProviderFormat)(::windows_core::Interface::as_raw(self), pdatacontext.into_param().abi(), punkdataout.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1999,7 +1999,7 @@ pub struct ISyncFilter_Vtbl { impl ISyncFilterDeserializer { pub unsafe fn DeserializeSyncFilter(&self, pbsyncfilter: *const u8, dwcbsyncfilter: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeserializeSyncFilter)(::windows_core::Interface::as_raw(self), pbsyncfilter, dwcbsyncfilter, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeserializeSyncFilter)(::windows_core::Interface::as_raw(self), pbsyncfilter, dwcbsyncfilter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2042,11 +2042,11 @@ pub struct ISyncFilterInfo2_Vtbl { impl ISyncFullEnumerationChange { pub unsafe fn GetLearnedKnowledgeAfterRecoveryComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2061,7 +2061,7 @@ pub struct ISyncFullEnumerationChange_Vtbl { impl ISyncFullEnumerationChangeBatch { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -2083,19 +2083,19 @@ impl ISyncFullEnumerationChangeBatch { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -2111,7 +2111,7 @@ impl ISyncFullEnumerationChangeBatch { } pub unsafe fn GetLearnedKnowledgeAfterRecoveryComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClosedLowerBoundItemId(&self, pbclosedlowerbounditemid: *mut u8, pcbidsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClosedLowerBoundItemId)(::windows_core::Interface::as_raw(self), pbclosedlowerbounditemid, pcbidsize).ok() @@ -2133,7 +2133,7 @@ pub struct ISyncFullEnumerationChangeBatch_Vtbl { impl ISyncFullEnumerationChangeBatch2 { pub unsafe fn GetChangeEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetChangeEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIsLastBatch(&self, pflastbatch: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetIsLastBatch)(::windows_core::Interface::as_raw(self), pflastbatch).ok() @@ -2155,19 +2155,19 @@ impl ISyncFullEnumerationChangeBatch2 { } pub unsafe fn AddItemMetadataToGroup(&self, pbownerreplicaid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwflags: u32, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AddItemMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbitemid, pchangeversion, pcreationversion, dwflags, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLearnedKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetLearnedKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPrerequisiteKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPrerequisiteKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSourceForgottenKnowledge(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSourceForgottenKnowledge)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLastBatch(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLastBatch)(::windows_core::Interface::as_raw(self)).ok() @@ -2183,7 +2183,7 @@ impl ISyncFullEnumerationChangeBatch2 { } pub unsafe fn GetLearnedKnowledgeAfterRecoveryComplete(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLearnedKnowledgeAfterRecoveryComplete)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClosedLowerBoundItemId(&self, pbclosedlowerbounditemid: *mut u8, pcbidsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetClosedLowerBoundItemId)(::windows_core::Interface::as_raw(self), pbclosedlowerbounditemid, pcbidsize).ok() @@ -2193,7 +2193,7 @@ impl ISyncFullEnumerationChangeBatch2 { } pub unsafe fn AddMergeTombstoneMetadataToGroup(&self, pbownerreplicaid: *const u8, pbwinneritemid: *const u8, pbitemid: *const u8, pchangeversion: *const SYNC_VERSION, pcreationversion: *const SYNC_VERSION, dwworkforchange: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddMergeTombstoneMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddMergeTombstoneMetadataToGroup)(::windows_core::Interface::as_raw(self), pbownerreplicaid, pbwinneritemid, pbitemid, pchangeversion, pcreationversion, dwworkforchange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2228,11 +2228,11 @@ impl ISyncKnowledge { } pub unsafe fn GetReplicaKeyMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertVersion(&self, pknowledgein: P0, pbcurrentownerid: *const u8, pversionin: *const SYNC_VERSION, pbnewownerid: *mut u8, pcbidsize: *mut u32, pversionout: *mut SYNC_VERSION) -> ::windows_core::Result<()> where @@ -2245,7 +2245,7 @@ impl ISyncKnowledge { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Union(&self, pknowledge: P0) -> ::windows_core::Result<()> where @@ -2255,15 +2255,15 @@ impl ISyncKnowledge { } pub unsafe fn ProjectOntoItem(&self, pbitemid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoChangeUnit(&self, pbitemid: *const u8, pbchangeunitid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoRange(&self, psrngsyncrange: *const SYNC_RANGE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExcludeItem(&self, pbitemid: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ExcludeItem)(::windows_core::Interface::as_raw(self), pbitemid).ok() @@ -2354,11 +2354,11 @@ impl ISyncKnowledge2 { } pub unsafe fn GetReplicaKeyMap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReplicaKeyMap)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConvertVersion(&self, pknowledgein: P0, pbcurrentownerid: *const u8, pversionin: *const SYNC_VERSION, pbnewownerid: *mut u8, pcbidsize: *mut u32, pversionout: *mut SYNC_VERSION) -> ::windows_core::Result<()> where @@ -2371,7 +2371,7 @@ impl ISyncKnowledge2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MapRemoteToLocal)(::windows_core::Interface::as_raw(self), premoteknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Union(&self, pknowledge: P0) -> ::windows_core::Result<()> where @@ -2381,15 +2381,15 @@ impl ISyncKnowledge2 { } pub unsafe fn ProjectOntoItem(&self, pbitemid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoItem)(::windows_core::Interface::as_raw(self), pbitemid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoChangeUnit(&self, pbitemid: *const u8, pbchangeunitid: *const u8) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoChangeUnit)(::windows_core::Interface::as_raw(self), pbitemid, pbchangeunitid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProjectOntoRange(&self, psrngsyncrange: *const SYNC_RANGE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProjectOntoRange)(::windows_core::Interface::as_raw(self), psrngsyncrange, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExcludeItem(&self, pbitemid: *const u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ExcludeItem)(::windows_core::Interface::as_raw(self), pbitemid).ok() @@ -2429,7 +2429,7 @@ impl ISyncKnowledge2 { } pub unsafe fn ProjectOntoColumnSet(&self, ppcolumns: *const *const u8, count: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProjectOntoColumnSet)(::windows_core::Interface::as_raw(self), ppcolumns, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProjectOntoColumnSet)(::windows_core::Interface::as_raw(self), ppcolumns, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SerializeWithOptions(&self, targetformatversion: SYNC_SERIALIZATION_VERSION, dwflags: u32, pbbuffer: *mut u8, pdwserializedsize: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SerializeWithOptions)(::windows_core::Interface::as_raw(self), targetformatversion, dwflags, pbbuffer, pdwserializedsize).ok() @@ -2467,14 +2467,14 @@ impl ISyncKnowledge2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProjectOntoKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pprerequisiteknowledge.into_param().abi(), ptemplateknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProjectOntoKnowledgeWithPrerequisite)(::windows_core::Interface::as_raw(self), pprerequisiteknowledge.into_param().abi(), ptemplateknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Complement(&self, psyncknowledge: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Complement)(::windows_core::Interface::as_raw(self), psyncknowledge.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Complement)(::windows_core::Interface::as_raw(self), psyncknowledge.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IntersectsWithKnowledge(&self, psyncknowledge: P0) -> ::windows_core::Result<()> where @@ -2484,7 +2484,7 @@ impl ISyncKnowledge2 { } pub unsafe fn GetKnowledgeCookie(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKnowledgeCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKnowledgeCookie)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareToKnowledgeCookie(&self, pknowledgecookie: P0, presult: *mut KNOWLEDGE_COOKIE_COMPARISON_RESULT) -> ::windows_core::Result<()> where @@ -2551,7 +2551,7 @@ impl ISyncProviderConfigUI { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetRegisteredProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegisteredProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegisteredProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn CreateAndRegisterNewSyncProvider(&self, hwndparent: P0, punkcontext: P1) -> ::windows_core::Result @@ -2560,7 +2560,7 @@ impl ISyncProviderConfigUI { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAndRegisterNewSyncProvider)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), punkcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAndRegisterNewSyncProvider)(::windows_core::Interface::as_raw(self), hwndparent.into_param().abi(), punkcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn ModifySyncProvider(&self, hwndparent: P0, punkcontext: P1, pproviderinfo: P2) -> ::windows_core::Result<()> @@ -2602,7 +2602,7 @@ impl ISyncProviderConfigUIInfo { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetAt(&self, iprop: u32, pkey: *mut super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> { @@ -2611,7 +2611,7 @@ impl ISyncProviderConfigUIInfo { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { @@ -2623,7 +2623,7 @@ impl ISyncProviderConfigUIInfo { } pub unsafe fn GetSyncProviderConfigUI(&self, dwclscontext: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderConfigUI)(::windows_core::Interface::as_raw(self), dwclscontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderConfigUI)(::windows_core::Interface::as_raw(self), dwclscontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] @@ -2642,7 +2642,7 @@ impl ISyncProviderInfo { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetAt(&self, iprop: u32, pkey: *mut super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> { @@ -2651,7 +2651,7 @@ impl ISyncProviderInfo { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetValue(&self, key: *const super::super::UI::Shell::PropertiesSystem::PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { @@ -2663,7 +2663,7 @@ impl ISyncProviderInfo { } pub unsafe fn GetSyncProvider(&self, dwclscontext: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProvider)(::windows_core::Interface::as_raw(self), dwclscontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProvider)(::windows_core::Interface::as_raw(self), dwclscontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] @@ -2679,19 +2679,19 @@ impl ISyncProviderRegistration { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn CreateSyncProviderConfigUIRegistrationInstance(&self, pconfiguiconfig: *const SyncProviderConfigUIConfiguration) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSyncProviderConfigUIRegistrationInstance)(::windows_core::Interface::as_raw(self), pconfiguiconfig, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSyncProviderConfigUIRegistrationInstance)(::windows_core::Interface::as_raw(self), pconfiguiconfig, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterSyncProviderConfigUI(&self, pguidinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterSyncProviderConfigUI)(::windows_core::Interface::as_raw(self), pguidinstanceid).ok() } pub unsafe fn EnumerateSyncProviderConfigUIs(&self, pguidcontenttype: ::core::option::Option<*const ::windows_core::GUID>, dwsupportedarchitecture: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateSyncProviderConfigUIs)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguidcontenttype.unwrap_or(::std::ptr::null())), dwsupportedarchitecture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateSyncProviderConfigUIs)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguidcontenttype.unwrap_or(::std::ptr::null())), dwsupportedarchitecture, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn CreateSyncProviderRegistrationInstance(&self, pproviderconfiguration: *const SyncProviderConfiguration) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSyncProviderRegistrationInstance)(::windows_core::Interface::as_raw(self), pproviderconfiguration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSyncProviderRegistrationInstance)(::windows_core::Interface::as_raw(self), pproviderconfiguration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnregisterSyncProvider(&self, pguidinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterSyncProvider)(::windows_core::Interface::as_raw(self), pguidinstanceid).ok() @@ -2699,33 +2699,33 @@ impl ISyncProviderRegistration { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSyncProviderConfigUIInfoforProvider(&self, pguidproviderinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIInfoforProvider)(::windows_core::Interface::as_raw(self), pguidproviderinstanceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIInfoforProvider)(::windows_core::Interface::as_raw(self), pguidproviderinstanceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumerateSyncProviders(&self, pguidcontenttype: ::core::option::Option<*const ::windows_core::GUID>, dwstateflagstofiltermask: u32, dwstateflagstofilter: u32, refproviderclsid: *const ::windows_core::GUID, dwsupportedarchitecture: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumerateSyncProviders)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguidcontenttype.unwrap_or(::std::ptr::null())), dwstateflagstofiltermask, dwstateflagstofilter, refproviderclsid, dwsupportedarchitecture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumerateSyncProviders)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguidcontenttype.unwrap_or(::std::ptr::null())), dwstateflagstofiltermask, dwstateflagstofilter, refproviderclsid, dwsupportedarchitecture, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSyncProviderInfo(&self, pguidinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderInfo)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderInfo)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSyncProviderFromInstanceId(&self, pguidinstanceid: *const ::windows_core::GUID, dwclscontext: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderFromInstanceId)(::windows_core::Interface::as_raw(self), pguidinstanceid, dwclscontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderFromInstanceId)(::windows_core::Interface::as_raw(self), pguidinstanceid, dwclscontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetSyncProviderConfigUIInfo(&self, pguidinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIInfo)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIInfo)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSyncProviderConfigUIFromInstanceId(&self, pguidinstanceid: *const ::windows_core::GUID, dwclscontext: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIFromInstanceId)(::windows_core::Interface::as_raw(self), pguidinstanceid, dwclscontext, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderConfigUIFromInstanceId)(::windows_core::Interface::as_raw(self), pguidinstanceid, dwclscontext, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSyncProviderState(&self, pguidinstanceid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderState)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderState)(::windows_core::Interface::as_raw(self), pguidinstanceid, &mut result__).map(|| result__) } pub unsafe fn SetSyncProviderState(&self, pguidinstanceid: *const ::windows_core::GUID, dwstateflagsmask: u32, dwstateflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSyncProviderState)(::windows_core::Interface::as_raw(self), pguidinstanceid, dwstateflagsmask, dwstateflags).ok() @@ -2744,7 +2744,7 @@ impl ISyncProviderRegistration { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChange)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChange)(::windows_core::Interface::as_raw(self), hevent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2788,11 +2788,11 @@ pub struct ISyncProviderRegistration_Vtbl { impl ISyncRegistrationChange { pub unsafe fn GetEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInstanceId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2807,7 +2807,7 @@ pub struct ISyncRegistrationChange_Vtbl { impl ISyncSessionExtendedErrorInfo { pub unsafe fn GetSyncProviderWithError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncProviderWithError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncProviderWithError)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2905,7 +2905,7 @@ impl ISynchronousDataRetriever { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadChangeData)(::windows_core::Interface::as_raw(self), ploadchangecontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadChangeData)(::windows_core::Interface::as_raw(self), ploadchangecontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs index 72c7e5def1..00e59129d6 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs @@ -20,7 +20,7 @@ impl IEnumWbemClassObject { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Skip(&self, ltimeout: i32, ncount: u32) -> ::windows_core::HRESULT { (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), ltimeout, ncount) @@ -83,7 +83,7 @@ pub struct IMofCompiler_Vtbl { impl ISWbemDateTime { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, strvalue: P0) -> ::windows_core::Result<()> where @@ -93,14 +93,14 @@ impl ISWbemDateTime { } pub unsafe fn Year(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Year)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Year)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetYear(&self, iyear: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetYear)(::windows_core::Interface::as_raw(self), iyear).ok() } pub unsafe fn YearSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).YearSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).YearSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetYearSpecified(&self, byearspecified: P0) -> ::windows_core::Result<()> where @@ -110,14 +110,14 @@ impl ISWbemDateTime { } pub unsafe fn Month(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Month)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Month)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonth(&self, imonth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMonth)(::windows_core::Interface::as_raw(self), imonth).ok() } pub unsafe fn MonthSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MonthSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MonthSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMonthSpecified(&self, bmonthspecified: P0) -> ::windows_core::Result<()> where @@ -127,14 +127,14 @@ impl ISWbemDateTime { } pub unsafe fn Day(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Day)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Day)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDay(&self, iday: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDay)(::windows_core::Interface::as_raw(self), iday).ok() } pub unsafe fn DaySpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DaySpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DaySpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDaySpecified(&self, bdayspecified: P0) -> ::windows_core::Result<()> where @@ -144,14 +144,14 @@ impl ISWbemDateTime { } pub unsafe fn Hours(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hours)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hours)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHours(&self, ihours: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHours)(::windows_core::Interface::as_raw(self), ihours).ok() } pub unsafe fn HoursSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HoursSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HoursSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHoursSpecified(&self, bhoursspecified: P0) -> ::windows_core::Result<()> where @@ -161,14 +161,14 @@ impl ISWbemDateTime { } pub unsafe fn Minutes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Minutes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Minutes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinutes(&self, iminutes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinutes)(::windows_core::Interface::as_raw(self), iminutes).ok() } pub unsafe fn MinutesSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinutesSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinutesSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinutesSpecified(&self, bminutesspecified: P0) -> ::windows_core::Result<()> where @@ -178,14 +178,14 @@ impl ISWbemDateTime { } pub unsafe fn Seconds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Seconds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Seconds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSeconds(&self, iseconds: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSeconds)(::windows_core::Interface::as_raw(self), iseconds).ok() } pub unsafe fn SecondsSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SecondsSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SecondsSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSecondsSpecified(&self, bsecondsspecified: P0) -> ::windows_core::Result<()> where @@ -195,14 +195,14 @@ impl ISWbemDateTime { } pub unsafe fn Microseconds(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Microseconds)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Microseconds)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMicroseconds(&self, imicroseconds: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMicroseconds)(::windows_core::Interface::as_raw(self), imicroseconds).ok() } pub unsafe fn MicrosecondsSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MicrosecondsSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MicrosecondsSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMicrosecondsSpecified(&self, bmicrosecondsspecified: P0) -> ::windows_core::Result<()> where @@ -212,14 +212,14 @@ impl ISWbemDateTime { } pub unsafe fn UTC(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UTC)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UTC)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUTC(&self, iutc: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUTC)(::windows_core::Interface::as_raw(self), iutc).ok() } pub unsafe fn UTCSpecified(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UTCSpecified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UTCSpecified)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUTCSpecified(&self, butcspecified: P0) -> ::windows_core::Result<()> where @@ -229,7 +229,7 @@ impl ISWbemDateTime { } pub unsafe fn IsInterval(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInterval)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInterval)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsInterval(&self, bisinterval: P0) -> ::windows_core::Result<()> where @@ -242,7 +242,7 @@ impl ISWbemDateTime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVarDate)(::windows_core::Interface::as_raw(self), bislocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVarDate)(::windows_core::Interface::as_raw(self), bislocal.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetVarDate(&self, dvardate: f64, bislocal: P0) -> ::windows_core::Result<()> where @@ -255,7 +255,7 @@ impl ISWbemDateTime { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), bislocal.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), bislocal.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileTime(&self, strfiletime: P0, bislocal: P1) -> ::windows_core::Result<()> where @@ -320,12 +320,12 @@ impl ISWbemEventSource { #[cfg(feature = "Win32_System_Com")] pub unsafe fn NextEvent(&self, itimeoutms: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NextEvent)(::windows_core::Interface::as_raw(self), itimeoutms, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NextEvent)(::windows_core::Interface::as_raw(self), itimeoutms, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -354,7 +354,7 @@ impl ISWbemLastError { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PutAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -387,7 +387,7 @@ impl ISWbemLastError { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -404,7 +404,7 @@ impl ISWbemLastError { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SubclassesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -429,7 +429,7 @@ impl ISWbemLastError { P8: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssociatorsAsync_(&self, objwbemsink: P0, strassocclass: P1, strresultclass: P2, strresultrole: P3, strrole: P4, bclassesonly: P5, bschemaonly: P6, strrequiredassocqualifier: P7, strrequiredqualifier: P8, iflags: i32, objwbemnamedvalueset: P9, objwbemasynccontext: P10) -> ::windows_core::Result<()> @@ -459,7 +459,7 @@ impl ISWbemLastError { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReferencesAsync_(&self, objwbemsink: P0, strresultclass: P1, strrole: P2, bclassesonly: P3, bschemaonly: P4, strrequiredqualifier: P5, iflags: i32, objwbemnamedvalueset: P6, objwbemasynccontext: P7) -> ::windows_core::Result<()> @@ -483,7 +483,7 @@ impl ISWbemLastError { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecMethodAsync_(&self, objwbemsink: P0, strmethodname: P1, objwbeminparameters: P2, iflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -499,21 +499,21 @@ impl ISWbemLastError { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectText_(&self, iflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnDerivedClass_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnInstance_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareTo_(&self, objwbemobject: P0, iflags: i32) -> ::windows_core::Result @@ -521,36 +521,36 @@ impl ISWbemLastError { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Methods_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Methods_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Methods_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Derivation_(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Path_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -577,12 +577,12 @@ impl ISWbemLocator { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), strserver.into_param().abi(), strnamespace.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), strauthority.into_param().abi(), isecurityflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), strserver.into_param().abi(), strnamespace.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), strauthority.into_param().abi(), isecurityflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -607,26 +607,26 @@ pub struct ISWbemLocator_Vtbl { impl ISWbemMethod { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Origin(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Origin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Origin)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn OutParameters(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OutParameters)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OutParameters)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -657,7 +657,7 @@ pub struct ISWbemMethod_Vtbl { impl ISWbemMethodSet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, strname: P0, iflags: i32) -> ::windows_core::Result @@ -665,11 +665,11 @@ impl ISWbemMethodSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -692,14 +692,14 @@ pub struct ISWbemMethodSet_Vtbl { impl ISWbemNamedValue { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, varvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(varvalue)).ok() } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -719,7 +719,7 @@ pub struct ISWbemNamedValue_Vtbl { impl ISWbemNamedValueSet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, strname: P0, iflags: i32) -> ::windows_core::Result @@ -727,11 +727,11 @@ impl ISWbemNamedValueSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, strname: P0, varvalue: *const ::windows_core::VARIANT, iflags: i32) -> ::windows_core::Result @@ -739,7 +739,7 @@ impl ISWbemNamedValueSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), ::core::mem::transmute(varvalue), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), ::core::mem::transmute(varvalue), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, strname: P0, iflags: i32) -> ::windows_core::Result<()> where @@ -750,7 +750,7 @@ impl ISWbemNamedValueSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteAll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeleteAll)(::windows_core::Interface::as_raw(self)).ok() @@ -790,7 +790,7 @@ impl ISWbemObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PutAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -823,7 +823,7 @@ impl ISWbemObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -840,7 +840,7 @@ impl ISWbemObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SubclassesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -865,7 +865,7 @@ impl ISWbemObject { P8: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssociatorsAsync_(&self, objwbemsink: P0, strassocclass: P1, strresultclass: P2, strresultrole: P3, strrole: P4, bclassesonly: P5, bschemaonly: P6, strrequiredassocqualifier: P7, strrequiredqualifier: P8, iflags: i32, objwbemnamedvalueset: P9, objwbemasynccontext: P10) -> ::windows_core::Result<()> @@ -895,7 +895,7 @@ impl ISWbemObject { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReferencesAsync_(&self, objwbemsink: P0, strresultclass: P1, strrole: P2, bclassesonly: P3, bschemaonly: P4, strrequiredqualifier: P5, iflags: i32, objwbemnamedvalueset: P6, objwbemasynccontext: P7) -> ::windows_core::Result<()> @@ -919,7 +919,7 @@ impl ISWbemObject { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecMethodAsync_(&self, objwbemsink: P0, strmethodname: P1, objwbeminparameters: P2, iflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -935,21 +935,21 @@ impl ISWbemObject { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectText_(&self, iflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnDerivedClass_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnInstance_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareTo_(&self, objwbemobject: P0, iflags: i32) -> ::windows_core::Result @@ -957,36 +957,36 @@ impl ISWbemObject { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Properties_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Properties_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Methods_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Methods_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Methods_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Derivation_(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Path_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1101,7 +1101,7 @@ impl ISWbemObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Put_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PutAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -1134,7 +1134,7 @@ impl ISWbemObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Instances_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -1151,7 +1151,7 @@ impl ISWbemObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Subclasses_)(::windows_core::Interface::as_raw(self), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SubclassesAsync_(&self, objwbemsink: P0, iflags: i32, objwbemnamedvalueset: P1, objwbemasynccontext: P2) -> ::windows_core::Result<()> @@ -1176,7 +1176,7 @@ impl ISWbemObjectEx { P8: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Associators_)(::windows_core::Interface::as_raw(self), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssociatorsAsync_(&self, objwbemsink: P0, strassocclass: P1, strresultclass: P2, strresultrole: P3, strrole: P4, bclassesonly: P5, bschemaonly: P6, strrequiredassocqualifier: P7, strrequiredqualifier: P8, iflags: i32, objwbemnamedvalueset: P9, objwbemasynccontext: P10) -> ::windows_core::Result<()> @@ -1206,7 +1206,7 @@ impl ISWbemObjectEx { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.References_)(::windows_core::Interface::as_raw(self), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReferencesAsync_(&self, objwbemsink: P0, strresultclass: P1, strrole: P2, bclassesonly: P3, bschemaonly: P4, strrequiredqualifier: P5, iflags: i32, objwbemnamedvalueset: P6, objwbemasynccontext: P7) -> ::windows_core::Result<()> @@ -1230,7 +1230,7 @@ impl ISWbemObjectEx { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExecMethod_)(::windows_core::Interface::as_raw(self), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecMethodAsync_(&self, objwbemsink: P0, strmethodname: P1, objwbeminparameters: P2, iflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -1246,21 +1246,21 @@ impl ISWbemObjectEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectText_(&self, iflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectText_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnDerivedClass_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SpawnInstance_(&self, iflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnInstance_)(::windows_core::Interface::as_raw(self), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareTo_(&self, objwbemobject: P0, iflags: i32) -> ::windows_core::Result @@ -1268,36 +1268,36 @@ impl ISWbemObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareTo_)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Properties_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Properties_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Properties_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Methods_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Methods_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Methods_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Derivation_(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Derivation_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Path_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Refresh_(&self, iflags: i32, objwbemnamedvalueset: P0) -> ::windows_core::Result<()> @@ -1309,7 +1309,7 @@ impl ISWbemObjectEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SystemProperties_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SystemProperties_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SystemProperties_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetText_(&self, iobjecttextformat: WbemObjectTextFormatEnum, iflags: i32, objwbemnamedvalueset: P0) -> ::windows_core::Result<::windows_core::BSTR> @@ -1317,7 +1317,7 @@ impl ISWbemObjectEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText_)(::windows_core::Interface::as_raw(self), iobjecttextformat, iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText_)(::windows_core::Interface::as_raw(self), iobjecttextformat, iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFromText_(&self, bstext: P0, iobjecttextformat: WbemObjectTextFormatEnum, iflags: i32, objwbemnamedvalueset: P1) -> ::windows_core::Result<()> @@ -1358,7 +1358,7 @@ pub struct ISWbemObjectEx_Vtbl { impl ISWbemObjectPath { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, strpath: P0) -> ::windows_core::Result<()> where @@ -1368,7 +1368,7 @@ impl ISWbemObjectPath { } pub unsafe fn RelPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RelPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RelPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRelPath(&self, strrelpath: P0) -> ::windows_core::Result<()> where @@ -1378,7 +1378,7 @@ impl ISWbemObjectPath { } pub unsafe fn Server(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Server)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Server)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetServer(&self, strserver: P0) -> ::windows_core::Result<()> where @@ -1388,7 +1388,7 @@ impl ISWbemObjectPath { } pub unsafe fn Namespace(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Namespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNamespace(&self, strnamespace: P0) -> ::windows_core::Result<()> where @@ -1398,11 +1398,11 @@ impl ISWbemObjectPath { } pub unsafe fn ParentNamespace(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentNamespace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentNamespace)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDisplayName(&self, strdisplayname: P0) -> ::windows_core::Result<()> where @@ -1412,7 +1412,7 @@ impl ISWbemObjectPath { } pub unsafe fn Class(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Class)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetClass(&self, strclass: P0) -> ::windows_core::Result<()> where @@ -1422,14 +1422,14 @@ impl ISWbemObjectPath { } pub unsafe fn IsClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAsClass(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAsClass)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsSingleton(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSingleton)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSingleton)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAsSingleton(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAsSingleton)(::windows_core::Interface::as_raw(self)).ok() @@ -1437,16 +1437,16 @@ impl ISWbemObjectPath { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Keys(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Keys)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Keys)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Locale(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Locale)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Locale)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLocale(&self, strlocale: P0) -> ::windows_core::Result<()> where @@ -1456,7 +1456,7 @@ impl ISWbemObjectPath { } pub unsafe fn Authority(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Authority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Authority)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetAuthority(&self, strauthority: P0) -> ::windows_core::Result<()> where @@ -1508,7 +1508,7 @@ pub struct ISWbemObjectPath_Vtbl { impl ISWbemObjectSet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, strobjectpath: P0, iflags: i32) -> ::windows_core::Result @@ -1516,21 +1516,21 @@ impl ISWbemObjectSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ItemIndex(&self, lindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemIndex)(::windows_core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemIndex)(::windows_core::Interface::as_raw(self), lindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1561,7 +1561,7 @@ pub struct ISWbemObjectSet_Vtbl { impl ISWbemPrivilege { pub unsafe fn IsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsEnabled(&self, bisenabled: P0) -> ::windows_core::Result<()> where @@ -1571,15 +1571,15 @@ impl ISWbemPrivilege { } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Identifier(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Identifier)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1601,16 +1601,16 @@ pub struct ISWbemPrivilege_Vtbl { impl ISWbemPrivilegeSet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, iprivilege: WbemPrivilegeEnum) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iprivilege, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iprivilege, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, iprivilege: WbemPrivilegeEnum, bisenabled: P0) -> ::windows_core::Result @@ -1618,7 +1618,7 @@ impl ISWbemPrivilegeSet { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), iprivilege, bisenabled.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), iprivilege, bisenabled.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, iprivilege: WbemPrivilegeEnum) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), iprivilege).ok() @@ -1633,7 +1633,7 @@ impl ISWbemPrivilegeSet { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddAsString)(::windows_core::Interface::as_raw(self), strprivilege.into_param().abi(), bisenabled.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddAsString)(::windows_core::Interface::as_raw(self), strprivilege.into_param().abi(), bisenabled.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1666,35 +1666,35 @@ pub struct ISWbemPrivilegeSet_Vtbl { impl ISWbemProperty { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, varvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(varvalue)).ok() } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Origin(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Origin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Origin)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CIMType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CIMType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CIMType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Qualifiers_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Qualifiers_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsArray(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsArray)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsArray)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1722,7 +1722,7 @@ pub struct ISWbemProperty_Vtbl { impl ISWbemPropertySet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, strname: P0, iflags: i32) -> ::windows_core::Result @@ -1730,11 +1730,11 @@ impl ISWbemPropertySet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, strname: P0, icimtype: WbemCimtypeEnum, bisarray: P1, iflags: i32) -> ::windows_core::Result @@ -1743,7 +1743,7 @@ impl ISWbemPropertySet { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), icimtype, bisarray.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), icimtype, bisarray.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, strname: P0, iflags: i32) -> ::windows_core::Result<()> where @@ -1777,22 +1777,22 @@ pub struct ISWbemPropertySet_Vtbl { impl ISWbemQualifier { pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, varvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(varvalue)).ok() } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsLocal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLocal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropagatesToSubclass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropagatesToSubclass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropagatesToSubclass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropagatesToSubclass(&self, bpropagatestosubclass: P0) -> ::windows_core::Result<()> where @@ -1802,7 +1802,7 @@ impl ISWbemQualifier { } pub unsafe fn PropagatesToInstance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropagatesToInstance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropagatesToInstance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPropagatesToInstance(&self, bpropagatestoinstance: P0) -> ::windows_core::Result<()> where @@ -1812,7 +1812,7 @@ impl ISWbemQualifier { } pub unsafe fn IsOverridable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsOverridable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsOverridable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIsOverridable(&self, bisoverridable: P0) -> ::windows_core::Result<()> where @@ -1822,7 +1822,7 @@ impl ISWbemQualifier { } pub unsafe fn IsAmended(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAmended)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAmended)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1850,7 +1850,7 @@ pub struct ISWbemQualifier_Vtbl { impl ISWbemQualifierSet { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, name: P0, iflags: i32) -> ::windows_core::Result @@ -1858,11 +1858,11 @@ impl ISWbemQualifierSet { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), name.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, strname: P0, varval: *const ::windows_core::VARIANT, bpropagatestosubclass: P1, bpropagatestoinstance: P2, bisoverridable: P3, iflags: i32) -> ::windows_core::Result @@ -1873,7 +1873,7 @@ impl ISWbemQualifierSet { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), ::core::mem::transmute(varval), bpropagatestosubclass.into_param().abi(), bpropagatestoinstance.into_param().abi(), bisoverridable.into_param().abi(), iflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), strname.into_param().abi(), ::core::mem::transmute(varval), bpropagatestosubclass.into_param().abi(), bpropagatestoinstance.into_param().abi(), bisoverridable.into_param().abi(), iflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, strname: P0, iflags: i32) -> ::windows_core::Result<()> where @@ -1907,26 +1907,26 @@ pub struct ISWbemQualifierSet_Vtbl { impl ISWbemRefreshableItem { pub unsafe fn Index(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Index)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Refresher(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Refresher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Refresher)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Object(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Object)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Object)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ObjectSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ObjectSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ObjectSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, iflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), iflags).ok() @@ -1961,16 +1961,16 @@ pub struct ISWbemRefreshableItem_Vtbl { impl ISWbemRefresher { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, iindex: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, objwbemservices: P0, bsinstancepath: P1, iflags: i32, objwbemnamedvalueset: P2) -> ::windows_core::Result @@ -1980,7 +1980,7 @@ impl ISWbemRefresher { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), objwbemservices.into_param().abi(), bsinstancepath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), objwbemservices.into_param().abi(), bsinstancepath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddEnum(&self, objwbemservices: P0, bsclassname: P1, iflags: i32, objwbemnamedvalueset: P2) -> ::windows_core::Result @@ -1990,7 +1990,7 @@ impl ISWbemRefresher { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddEnum)(::windows_core::Interface::as_raw(self), objwbemservices.into_param().abi(), bsclassname.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddEnum)(::windows_core::Interface::as_raw(self), objwbemservices.into_param().abi(), bsclassname.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, iindex: i32, iflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Remove)(::windows_core::Interface::as_raw(self), iindex, iflags).ok() @@ -2000,7 +2000,7 @@ impl ISWbemRefresher { } pub unsafe fn AutoReconnect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoReconnect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoReconnect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoReconnect(&self, bcount: P0) -> ::windows_core::Result<()> where @@ -2045,14 +2045,14 @@ pub struct ISWbemRefresher_Vtbl { impl ISWbemSecurity { pub unsafe fn ImpersonationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImpersonationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImpersonationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImpersonationLevel(&self, iimpersonationlevel: WbemImpersonationLevelEnum) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImpersonationLevel)(::windows_core::Interface::as_raw(self), iimpersonationlevel).ok() } pub unsafe fn AuthenticationLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AuthenticationLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAuthenticationLevel(&self, iauthenticationlevel: WbemAuthenticationLevelEnum) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAuthenticationLevel)(::windows_core::Interface::as_raw(self), iauthenticationlevel).ok() @@ -2060,7 +2060,7 @@ impl ISWbemSecurity { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Privileges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Privileges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Privileges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2090,7 +2090,7 @@ impl ISWbemServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAsync(&self, objwbemsink: P0, strobjectpath: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2127,7 +2127,7 @@ impl ISWbemServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstancesOf)(::windows_core::Interface::as_raw(self), strclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstancesOf)(::windows_core::Interface::as_raw(self), strclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancesOfAsync(&self, objwbemsink: P0, strclass: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2146,7 +2146,7 @@ impl ISWbemServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubclassesOf)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubclassesOf)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SubclassesOfAsync(&self, objwbemsink: P0, strsuperclass: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2166,7 +2166,7 @@ impl ISWbemServices { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecQueryAsync(&self, objwbemsink: P0, strquery: P1, strquerylanguage: P2, lflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -2194,7 +2194,7 @@ impl ISWbemServices { P9: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssociatorsOf)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssociatorsOf)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssociatorsOfAsync(&self, objwbemsink: P0, strobjectpath: P1, strassocclass: P2, strresultclass: P3, strresultrole: P4, strrole: P5, bclassesonly: P6, bschemaonly: P7, strrequiredassocqualifier: P8, strrequiredqualifier: P9, iflags: i32, objwbemnamedvalueset: P10, objwbemasynccontext: P11) -> ::windows_core::Result<()> @@ -2226,7 +2226,7 @@ impl ISWbemServices { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReferencesTo)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReferencesTo)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReferencesToAsync(&self, objwbemsink: P0, strobjectpath: P1, strresultclass: P2, strrole: P3, bclassesonly: P4, bschemaonly: P5, strrequiredqualifier: P6, iflags: i32, objwbemnamedvalueset: P7, objwbemasynccontext: P8) -> ::windows_core::Result<()> @@ -2251,7 +2251,7 @@ impl ISWbemServices { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecNotificationQueryAsync(&self, objwbemsink: P0, strquery: P1, strquerylanguage: P2, iflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -2273,7 +2273,7 @@ impl ISWbemServices { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecMethod)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecMethod)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecMethodAsync(&self, objwbemsink: P0, strobjectpath: P1, strmethodname: P2, objwbeminparameters: P3, iflags: i32, objwbemnamedvalueset: P4, objwbemasynccontext: P5) -> ::windows_core::Result<()> @@ -2290,7 +2290,7 @@ impl ISWbemServices { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2388,7 +2388,7 @@ impl ISWbemServicesEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Get)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAsync(&self, objwbemsink: P0, strobjectpath: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2425,7 +2425,7 @@ impl ISWbemServicesEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InstancesOf)(::windows_core::Interface::as_raw(self), strclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InstancesOf)(::windows_core::Interface::as_raw(self), strclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InstancesOfAsync(&self, objwbemsink: P0, strclass: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2444,7 +2444,7 @@ impl ISWbemServicesEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubclassesOf)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubclassesOf)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SubclassesOfAsync(&self, objwbemsink: P0, strsuperclass: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2464,7 +2464,7 @@ impl ISWbemServicesEx { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExecQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExecQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecQueryAsync(&self, objwbemsink: P0, strquery: P1, strquerylanguage: P2, lflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -2492,7 +2492,7 @@ impl ISWbemServicesEx { P9: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AssociatorsOf)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AssociatorsOf)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strassocclass.into_param().abi(), strresultclass.into_param().abi(), strresultrole.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredassocqualifier.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AssociatorsOfAsync(&self, objwbemsink: P0, strobjectpath: P1, strassocclass: P2, strresultclass: P3, strresultrole: P4, strrole: P5, bclassesonly: P6, bschemaonly: P7, strrequiredassocqualifier: P8, strrequiredqualifier: P9, iflags: i32, objwbemnamedvalueset: P10, objwbemasynccontext: P11) -> ::windows_core::Result<()> @@ -2524,7 +2524,7 @@ impl ISWbemServicesEx { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReferencesTo)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReferencesTo)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strresultclass.into_param().abi(), strrole.into_param().abi(), bclassesonly.into_param().abi(), bschemaonly.into_param().abi(), strrequiredqualifier.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ReferencesToAsync(&self, objwbemsink: P0, strobjectpath: P1, strresultclass: P2, strrole: P3, bclassesonly: P4, bschemaonly: P5, strrequiredqualifier: P6, iflags: i32, objwbemnamedvalueset: P7, objwbemasynccontext: P8) -> ::windows_core::Result<()> @@ -2549,7 +2549,7 @@ impl ISWbemServicesEx { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquery.into_param().abi(), strquerylanguage.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecNotificationQueryAsync(&self, objwbemsink: P0, strquery: P1, strquerylanguage: P2, iflags: i32, objwbemnamedvalueset: P3, objwbemasynccontext: P4) -> ::windows_core::Result<()> @@ -2571,7 +2571,7 @@ impl ISWbemServicesEx { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExecMethod)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExecMethod)(::windows_core::Interface::as_raw(self), strobjectpath.into_param().abi(), strmethodname.into_param().abi(), objwbeminparameters.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExecMethodAsync(&self, objwbemsink: P0, strobjectpath: P1, strmethodname: P2, objwbeminparameters: P3, iflags: i32, objwbemnamedvalueset: P4, objwbemasynccontext: P5) -> ::windows_core::Result<()> @@ -2588,7 +2588,7 @@ impl ISWbemServicesEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Security_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Security_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Put(&self, objwbemobject: P0, iflags: i32, objwbemnamedvalueset: P1) -> ::windows_core::Result @@ -2597,7 +2597,7 @@ impl ISWbemServicesEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Put)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Put)(::windows_core::Interface::as_raw(self), objwbemobject.into_param().abi(), iflags, objwbemnamedvalueset.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PutAsync(&self, objwbemsink: P0, objwbemobject: P1, iflags: i32, objwbemnamedvalueset: P2, objwbemasynccontext: P3) -> ::windows_core::Result<()> @@ -2661,7 +2661,7 @@ impl IUnsecuredApartment { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateObjectStub)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObjectStub)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2678,17 +2678,17 @@ pub struct IUnsecuredApartment_Vtbl { impl IWMIExtension { pub unsafe fn WMIObjectPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WMIObjectPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WMIObjectPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWMIObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWMIObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWMIServices(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWMIServices)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWMIServices)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2779,19 +2779,19 @@ pub struct IWbemBackupRestoreEx_Vtbl { impl IWbemCallResult { pub unsafe fn GetResultObject(&self, ltimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResultObject)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResultObject)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResultString(&self, ltimeout: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResultString)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResultString)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetResultServices(&self, ltimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResultServices)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResultServices)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCallStatus(&self, ltimeout: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCallStatus)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCallStatus)(::windows_core::Interface::as_raw(self), ltimeout, &mut result__).map(|| result__) } } #[repr(C)] @@ -2808,7 +2808,7 @@ pub struct IWbemCallResult_Vtbl { impl IWbemClassObject { pub unsafe fn GetQualifierSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetQualifierSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetQualifierSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Get(&self, wszname: P0, lflags: i32, pval: *mut ::windows_core::VARIANT, ptype: ::core::option::Option<*mut i32>, plflavor: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> where @@ -2834,7 +2834,7 @@ impl IWbemClassObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), wszqualifiername.into_param().abi(), lflags, ::core::mem::transmute(pqualifierval), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), wszqualifiername.into_param().abi(), lflags, ::core::mem::transmute(pqualifierval), &mut result__).map(|| result__) } pub unsafe fn BeginEnumeration(&self, lenumflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginEnumeration)(::windows_core::Interface::as_raw(self), lenumflags).ok() @@ -2850,23 +2850,23 @@ impl IWbemClassObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyQualifierSet)(::windows_core::Interface::as_raw(self), wszproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyQualifierSet)(::windows_core::Interface::as_raw(self), wszproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectText(&self, lflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectText)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectText)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpawnDerivedClass(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpawnDerivedClass)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpawnDerivedClass)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpawnInstance(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SpawnInstance)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SpawnInstance)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareTo(&self, lflags: WBEM_COMPARISON_FLAG, pcompareto: P0) -> ::windows_core::Result<()> where @@ -2879,7 +2879,7 @@ impl IWbemClassObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyOrigin)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyOrigin)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InheritsFrom(&self, strancestor: P0) -> ::windows_core::Result<()> where @@ -2921,14 +2921,14 @@ impl IWbemClassObject { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMethodQualifierSet)(::windows_core::Interface::as_raw(self), wszmethod.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMethodQualifierSet)(::windows_core::Interface::as_raw(self), wszmethod.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMethodOrigin(&self, wszmethodname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMethodOrigin)(::windows_core::Interface::as_raw(self), wszmethodname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMethodOrigin)(::windows_core::Interface::as_raw(self), wszmethodname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2977,7 +2977,7 @@ impl IWbemClientConnectionTransport { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), straddresstype.into_param().abi(), abbinaryaddress.len().try_into().unwrap(), ::core::mem::transmute(abbinaryaddress.as_ptr()), strobject.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lflags, pctx.into_param().abi(), &T::IID, &mut result__, ::core::mem::transmute(pcallres)).from_abi(result__) + (::windows_core::Interface::vtable(self).Open)(::windows_core::Interface::as_raw(self), straddresstype.into_param().abi(), abbinaryaddress.len().try_into().unwrap(), ::core::mem::transmute(abbinaryaddress.as_ptr()), strobject.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lflags, pctx.into_param().abi(), &T::IID, &mut result__, ::core::mem::transmute(pcallres)).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenAsync(&self, straddresstype: P0, abbinaryaddress: &[u8], strobject: P1, struser: P2, strpassword: P3, strlocale: P4, lflags: i32, pctx: P5, riid: *const ::windows_core::GUID, presponsehandler: P6) -> ::windows_core::Result<()> where @@ -3020,7 +3020,7 @@ impl IWbemClientTransport { P6: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), straddresstype.into_param().abi(), abbinaryaddress.len().try_into().unwrap(), ::core::mem::transmute(abbinaryaddress.as_ptr()), strnetworkresource.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lsecurityflags, strauthority.into_param().abi(), pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), straddresstype.into_param().abi(), abbinaryaddress.len().try_into().unwrap(), ::core::mem::transmute(abbinaryaddress.as_ptr()), strnetworkresource.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lsecurityflags, strauthority.into_param().abi(), pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3087,7 +3087,7 @@ impl IWbemConnectorLogin { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ConnectorLogin)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszpreferredlocale.into_param().abi(), lflags, pctx.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectorLogin)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszpreferredlocale.into_param().abi(), lflags, pctx.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3136,12 +3136,12 @@ pub struct IWbemConstructClassObject_Vtbl { impl IWbemContext { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNames(&self, lflags: i32) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), lflags, &mut result__).map(|| result__) } pub unsafe fn BeginEnumeration(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginEnumeration)(::windows_core::Interface::as_raw(self), lflags).ok() @@ -3163,7 +3163,7 @@ impl IWbemContext { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteValue(&self, wszname: P0, lflags: i32) -> ::windows_core::Result<()> where @@ -3214,14 +3214,14 @@ impl IWbemDecoupledBasicEventProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), a_flags, a_context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSink)(::windows_core::Interface::as_raw(self), a_flags, a_context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetService(&self, a_flags: i32, a_context: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), a_flags, a_context.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetService)(::windows_core::Interface::as_raw(self), a_flags, a_context.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3264,7 +3264,7 @@ impl IWbemEventConsumerProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindConsumer)(::windows_core::Interface::as_raw(self), plogicalconsumer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindConsumer)(::windows_core::Interface::as_raw(self), plogicalconsumer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3343,7 +3343,7 @@ impl IWbemEventSink { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRestrictedSink)(::windows_core::Interface::as_raw(self), awszqueries.len().try_into().unwrap(), ::core::mem::transmute(awszqueries.as_ptr()), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRestrictedSink)(::windows_core::Interface::as_raw(self), awszqueries.len().try_into().unwrap(), ::core::mem::transmute(awszqueries.as_ptr()), pcallback.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBatchingParameters(&self, lflags: i32, dwmaxbuffersize: u32, dwmaxsendlatency: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBatchingParameters)(::windows_core::Interface::as_raw(self), lflags, dwmaxbuffersize, dwmaxsendlatency).ok() @@ -3400,7 +3400,7 @@ impl IWbemHiPerfProvider { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRefresher)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRefresher)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRefreshableObject(&self, pnamespace: P0, ptemplate: P1, prefresher: P2, lflags: i32, pcontext: P3, pprefreshable: *mut ::core::option::Option, plid: *mut i32) -> ::windows_core::Result<()> where @@ -3426,7 +3426,7 @@ impl IWbemHiPerfProvider { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRefreshableEnum)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), wszclass.into_param().abi(), prefresher.into_param().abi(), lflags, pcontext.into_param().abi(), phiperfenum.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRefreshableEnum)(::windows_core::Interface::as_raw(self), pnamespace.into_param().abi(), wszclass.into_param().abi(), prefresher.into_param().abi(), lflags, pcontext.into_param().abi(), phiperfenum.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetObjects(&self, pnamespace: P0, apobj: &mut [::core::option::Option], lflags: i32, pcontext: P1) -> ::windows_core::Result<()> where @@ -3455,7 +3455,7 @@ impl IWbemLevel1Login { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EstablishPosition)(::windows_core::Interface::as_raw(self), wszlocalelist.into_param().abi(), dwnumlocales, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EstablishPosition)(::windows_core::Interface::as_raw(self), wszlocalelist.into_param().abi(), dwnumlocales, &mut result__).map(|| result__) } pub unsafe fn RequestChallenge(&self, wsznetworkresource: P0, wszuser: P1) -> ::windows_core::Result where @@ -3463,7 +3463,7 @@ impl IWbemLevel1Login { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestChallenge)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszuser.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestChallenge)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszuser.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn WBEMLogin(&self, wszpreferredlocale: P0, accesstoken: *const u8, lflags: i32, pctx: P1) -> ::windows_core::Result where @@ -3471,7 +3471,7 @@ impl IWbemLevel1Login { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WBEMLogin)(::windows_core::Interface::as_raw(self), wszpreferredlocale.into_param().abi(), accesstoken, lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WBEMLogin)(::windows_core::Interface::as_raw(self), wszpreferredlocale.into_param().abi(), accesstoken, lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NTLMLogin(&self, wsznetworkresource: P0, wszpreferredlocale: P1, lflags: i32, pctx: P2) -> ::windows_core::Result where @@ -3480,7 +3480,7 @@ impl IWbemLevel1Login { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NTLMLogin)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszpreferredlocale.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NTLMLogin)(::windows_core::Interface::as_raw(self), wsznetworkresource.into_param().abi(), wszpreferredlocale.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3505,7 +3505,7 @@ impl IWbemLocator { P5: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), strnetworkresource.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lsecurityflags, strauthority.into_param().abi(), pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectServer)(::windows_core::Interface::as_raw(self), strnetworkresource.into_param().abi(), struser.into_param().abi(), strpassword.into_param().abi(), strlocale.into_param().abi(), lsecurityflags, strauthority.into_param().abi(), pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3519,7 +3519,7 @@ pub struct IWbemLocator_Vtbl { impl IWbemObjectAccess { pub unsafe fn GetQualifierSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetQualifierSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetQualifierSet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Get(&self, wszname: P0, lflags: i32, pval: *mut ::windows_core::VARIANT, ptype: ::core::option::Option<*mut i32>, plflavor: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()> where @@ -3545,7 +3545,7 @@ impl IWbemObjectAccess { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNames)(::windows_core::Interface::as_raw(self), wszqualifiername.into_param().abi(), lflags, ::core::mem::transmute(pqualifierval), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNames)(::windows_core::Interface::as_raw(self), wszqualifiername.into_param().abi(), lflags, ::core::mem::transmute(pqualifierval), &mut result__).map(|| result__) } pub unsafe fn BeginEnumeration(&self, lenumflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginEnumeration)(::windows_core::Interface::as_raw(self), lenumflags).ok() @@ -3561,23 +3561,23 @@ impl IWbemObjectAccess { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyQualifierSet)(::windows_core::Interface::as_raw(self), wszproperty.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyQualifierSet)(::windows_core::Interface::as_raw(self), wszproperty.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectText(&self, lflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetObjectText)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetObjectText)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpawnDerivedClass(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnDerivedClass)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SpawnInstance(&self, lflags: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SpawnInstance)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SpawnInstance)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CompareTo(&self, lflags: WBEM_COMPARISON_FLAG, pcompareto: P0) -> ::windows_core::Result<()> where @@ -3590,7 +3590,7 @@ impl IWbemObjectAccess { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyOrigin)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyOrigin)(::windows_core::Interface::as_raw(self), wszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InheritsFrom(&self, strancestor: P0) -> ::windows_core::Result<()> where @@ -3632,14 +3632,14 @@ impl IWbemObjectAccess { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMethodQualifierSet)(::windows_core::Interface::as_raw(self), wszmethod.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMethodQualifierSet)(::windows_core::Interface::as_raw(self), wszmethod.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMethodOrigin(&self, wszmethodname: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMethodOrigin)(::windows_core::Interface::as_raw(self), wszmethodname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMethodOrigin)(::windows_core::Interface::as_raw(self), wszmethodname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyHandle(&self, wszpropertyname: P0, ptype: *mut i32, plhandle: *mut i32) -> ::windows_core::Result<()> where @@ -3655,14 +3655,14 @@ impl IWbemObjectAccess { } pub unsafe fn ReadDWORD(&self, lhandle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadDWORD)(::windows_core::Interface::as_raw(self), lhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadDWORD)(::windows_core::Interface::as_raw(self), lhandle, &mut result__).map(|| result__) } pub unsafe fn WriteDWORD(&self, lhandle: i32, dw: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteDWORD)(::windows_core::Interface::as_raw(self), lhandle, dw).ok() } pub unsafe fn ReadQWORD(&self, lhandle: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadQWORD)(::windows_core::Interface::as_raw(self), lhandle, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadQWORD)(::windows_core::Interface::as_raw(self), lhandle, &mut result__).map(|| result__) } pub unsafe fn WriteQWORD(&self, lhandle: i32, pw: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WriteQWORD)(::windows_core::Interface::as_raw(self), lhandle, pw).ok() @@ -3737,14 +3737,14 @@ impl IWbemObjectSinkEx { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WriteError)(::windows_core::Interface::as_raw(self), pobjerror.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WriteError)(::windows_core::Interface::as_raw(self), pobjerror.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn PromptUser(&self, strmessage: P0, uprompttype: u8) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PromptUser)(::windows_core::Interface::as_raw(self), strmessage.into_param().abi(), uprompttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PromptUser)(::windows_core::Interface::as_raw(self), strmessage.into_param().abi(), uprompttype, &mut result__).map(|| result__) } pub unsafe fn WriteProgress(&self, stractivity: P0, strcurrentoperation: P1, strstatusdescription: P2, upercentcomplete: u32, usecondsremaining: u32) -> ::windows_core::Result<()> where @@ -3780,7 +3780,7 @@ impl IWbemObjectTextSrc { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), lflags, pobj.into_param().abi(), uobjtextformat, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), lflags, pobj.into_param().abi(), uobjtextformat, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFromText(&self, lflags: i32, strtext: P0, uobjtextformat: u32, pctx: P1) -> ::windows_core::Result where @@ -3788,7 +3788,7 @@ impl IWbemObjectTextSrc { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFromText)(::windows_core::Interface::as_raw(self), lflags, strtext.into_param().abi(), uobjtextformat, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFromText)(::windows_core::Interface::as_raw(self), lflags, strtext.into_param().abi(), uobjtextformat, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3812,7 +3812,7 @@ impl IWbemPath { } pub unsafe fn GetInfo(&self, urequestedinfo: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), urequestedinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), urequestedinfo, &mut result__).map(|| result__) } pub unsafe fn SetServer(&self, name: P0) -> ::windows_core::Result<()> where @@ -3825,7 +3825,7 @@ impl IWbemPath { } pub unsafe fn GetNamespaceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamespaceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamespaceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNamespaceAt(&self, uindex: u32, pszname: P0) -> ::windows_core::Result<()> where @@ -3844,7 +3844,7 @@ impl IWbemPath { } pub unsafe fn GetScopeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScopeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScopeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScope(&self, uindex: u32, pszclass: P0) -> ::windows_core::Result<()> where @@ -3881,7 +3881,7 @@ impl IWbemPath { } pub unsafe fn GetKeyList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateClassPart(&self, lflags: i32, name: P0) -> ::windows_core::Result<()> where @@ -3955,7 +3955,7 @@ pub struct IWbemPath_Vtbl { impl IWbemPathKeyList { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKey(&self, wszname: P0, uflags: u32, ucimtype: u32, pkeyval: *const ::core::ffi::c_void) -> ::windows_core::Result<()> where @@ -3989,7 +3989,7 @@ impl IWbemPathKeyList { } pub unsafe fn GetInfo(&self, urequestedinfo: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), urequestedinfo, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfo)(::windows_core::Interface::as_raw(self), urequestedinfo, &mut result__).map(|| result__) } pub unsafe fn GetText(&self, lflags: i32, pubufflength: *mut u32, psztext: ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), lflags, pubufflength, ::core::mem::transmute(psztext)).ok() @@ -4021,7 +4021,7 @@ impl IWbemPropertyProvider { P3: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lflags, strlocale.into_param().abi(), strclassmapping.into_param().abi(), strinstmapping.into_param().abi(), strpropmapping.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), lflags, strlocale.into_param().abi(), strclassmapping.into_param().abi(), strinstmapping.into_param().abi(), strpropmapping.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PutProperty(&self, lflags: i32, strlocale: P0, strclassmapping: P1, strinstmapping: P2, strpropmapping: P3, pvvalue: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -4114,7 +4114,7 @@ impl IWbemQualifierSet { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetNames(&self, lflags: i32) -> ::windows_core::Result<*mut super::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), lflags, &mut result__).map(|| result__) } pub unsafe fn BeginEnumeration(&self, lflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginEnumeration)(::windows_core::Interface::as_raw(self), lflags).ok() @@ -4213,7 +4213,7 @@ impl IWbemServices { } pub unsafe fn QueryObjectSink(&self, lflags: WBEM_GENERIC_FLAG_TYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryObjectSink)(::windows_core::Interface::as_raw(self), lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryObjectSink)(::windows_core::Interface::as_raw(self), lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObject(&self, strobjectpath: P0, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P1, ppobject: ::core::option::Option<*mut ::core::option::Option>, ppcallresult: ::core::option::Option<*mut ::core::option::Option>) -> ::windows_core::Result<()> where @@ -4266,7 +4266,7 @@ impl IWbemServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClassEnum)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClassEnum)(::windows_core::Interface::as_raw(self), strsuperclass.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateClassEnumAsync(&self, strsuperclass: P0, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P1, presponsehandler: P2) -> ::windows_core::Result<()> where @@ -4312,7 +4312,7 @@ impl IWbemServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstanceEnum)(::windows_core::Interface::as_raw(self), strfilter.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstanceEnum)(::windows_core::Interface::as_raw(self), strfilter.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstanceEnumAsync(&self, strfilter: P0, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P1, presponsehandler: P2) -> ::windows_core::Result<()> where @@ -4329,7 +4329,7 @@ impl IWbemServices { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecQuery)(::windows_core::Interface::as_raw(self), strquerylanguage.into_param().abi(), strquery.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecQuery)(::windows_core::Interface::as_raw(self), strquerylanguage.into_param().abi(), strquery.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExecQueryAsync(&self, strquerylanguage: P0, strquery: P1, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P2, presponsehandler: P3) -> ::windows_core::Result<()> where @@ -4347,7 +4347,7 @@ impl IWbemServices { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquerylanguage.into_param().abi(), strquery.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecNotificationQuery)(::windows_core::Interface::as_raw(self), strquerylanguage.into_param().abi(), strquery.into_param().abi(), lflags, pctx.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ExecNotificationQueryAsync(&self, strquerylanguage: P0, strquery: P1, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P2, presponsehandler: P3) -> ::windows_core::Result<()> where @@ -4427,11 +4427,11 @@ pub struct IWbemShutdown_Vtbl { impl IWbemStatusCodeText { pub unsafe fn GetErrorCodeText(&self, hres: ::windows_core::HRESULT, localeid: u32, lflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorCodeText)(::windows_core::Interface::as_raw(self), hres, localeid, lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorCodeText)(::windows_core::Interface::as_raw(self), hres, localeid, lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFacilityCodeText(&self, hres: ::windows_core::HRESULT, localeid: u32, lflags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFacilityCodeText)(::windows_core::Interface::as_raw(self), hres, localeid, lflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFacilityCodeText)(::windows_core::Interface::as_raw(self), hres, localeid, lflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4478,7 +4478,7 @@ impl IWbemUnsecuredApartment { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateObjectStub)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateObjectStub)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSinkStub(&self, psink: P0, dwflags: u32, wszreserved: P1) -> ::windows_core::Result where @@ -4486,7 +4486,7 @@ impl IWbemUnsecuredApartment { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSinkStub)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), dwflags, wszreserved.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSinkStub)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), dwflags, wszreserved.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Accessibility/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Accessibility/mod.rs index ca67ea2001..4ea7fd3071 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Accessibility/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Accessibility/mod.rs @@ -169,7 +169,7 @@ where { ::windows_targets::link!("uiautomationcore.dll" "system" fn LegacyIAccessiblePattern_GetIAccessible(hobj : HUIAPATTERNOBJECT, paccessible : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LegacyIAccessiblePattern_GetIAccessible(hobj.into_param().abi(), &mut result__).from_abi(result__) + LegacyIAccessiblePattern_GetIAccessible(hobj.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn LegacyIAccessiblePattern_Select(hobj: P0, flagsselect: i32) -> ::windows_core::Result<()> @@ -646,13 +646,13 @@ where pub unsafe fn UiaGetReservedMixedAttributeValue() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("uiautomationcore.dll" "system" fn UiaGetReservedMixedAttributeValue(punkmixedattributevalue : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - UiaGetReservedMixedAttributeValue(&mut result__).from_abi(result__) + UiaGetReservedMixedAttributeValue(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn UiaGetReservedNotSupportedValue() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("uiautomationcore.dll" "system" fn UiaGetReservedNotSupportedValue(punknotsupportedvalue : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - UiaGetReservedNotSupportedValue(&mut result__).from_abi(result__) + UiaGetReservedNotSupportedValue(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn UiaGetRootNode(phnode: *mut HUIANODE) -> ::windows_core::Result<()> { @@ -707,7 +707,7 @@ where { ::windows_targets::link!("uiautomationcore.dll" "system" fn UiaHostProviderFromHwnd(hwnd : super::super::Foundation:: HWND, ppprovider : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - UiaHostProviderFromHwnd(hwnd.into_param().abi(), &mut result__).from_abi(result__) + UiaHostProviderFromHwnd(hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -783,7 +783,7 @@ where { ::windows_targets::link!("uiautomationcore.dll" "system" fn UiaProviderForNonClient(hwnd : super::super::Foundation:: HWND, idobject : i32, idchild : i32, ppprovider : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - UiaProviderForNonClient(hwnd.into_param().abi(), idobject, idchild, &mut result__).from_abi(result__) + UiaProviderForNonClient(hwnd.into_param().abi(), idobject, idchild, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -793,7 +793,7 @@ where { ::windows_targets::link!("uiautomationcore.dll" "system" fn UiaProviderFromIAccessible(paccessible : * mut::core::ffi::c_void, idchild : i32, dwflags : u32, ppprovider : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - UiaProviderFromIAccessible(paccessible.into_param().abi(), idchild, dwflags, &mut result__).from_abi(result__) + UiaProviderFromIAccessible(paccessible.into_param().abi(), idchild, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn UiaRaiseActiveTextPositionChangedEvent(provider: P0, textrange: P1) -> ::windows_core::Result<()> @@ -1152,11 +1152,11 @@ impl IAccessible { #[cfg(feature = "Win32_System_Com")] pub unsafe fn accParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accChildCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accChildCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accChildCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn get_accChild(&self, varchild: P0) -> ::windows_core::Result @@ -1164,78 +1164,78 @@ impl IAccessible { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accChild)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accChild)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accName(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accName)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accName)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accValue(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accValue)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accValue)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accDescription(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accDescription)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accDescription)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accRole(&self, varchild: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accRole)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accRole)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accState(&self, varchild: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accState)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accState)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accHelp(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accHelp)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accHelp)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accHelpTopic(&self, pszhelpfile: *mut ::windows_core::BSTR, varchild: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accHelpTopic)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszhelpfile), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accHelpTopic)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszhelpfile), varchild.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn get_accKeyboardShortcut(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accKeyboardShortcut)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accKeyboardShortcut)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accFocus(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accSelection(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn get_accDefaultAction(&self, varchild: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_accDefaultAction)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_accDefaultAction)(::windows_core::Interface::as_raw(self), varchild.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accSelect(&self, flagsselect: i32, varchild: P0) -> ::windows_core::Result<()> where @@ -1254,11 +1254,11 @@ impl IAccessible { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accNavigate)(::windows_core::Interface::as_raw(self), navdir, varstart.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accNavigate)(::windows_core::Interface::as_raw(self), navdir, varstart.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accHitTest(&self, xleft: i32, ytop: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).accHitTest)(::windows_core::Interface::as_raw(self), xleft, ytop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).accHitTest)(::windows_core::Interface::as_raw(self), xleft, ytop, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn accDoDefaultAction(&self, varchild: P0) -> ::windows_core::Result<()> where @@ -1319,7 +1319,7 @@ pub struct IAccessible_Vtbl { impl IAccessibleEx { pub unsafe fn GetObjectForChild(&self, idchild: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectForChild)(::windows_core::Interface::as_raw(self), idchild, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectForChild)(::windows_core::Interface::as_raw(self), idchild, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetIAccessiblePair(&self, ppacc: *mut ::core::option::Option, pidchild: *mut i32) -> ::windows_core::Result<()> { @@ -1328,14 +1328,14 @@ impl IAccessibleEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ConvertReturnedElement(&self, pin: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConvertReturnedElement)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConvertReturnedElement)(::windows_core::Interface::as_raw(self), pin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1359,7 +1359,7 @@ impl IAccessibleHandler { #[cfg(feature = "Win32_System_Com")] pub unsafe fn AccessibleObjectFromID(&self, hwnd: i32, lobjectid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AccessibleObjectFromID)(::windows_core::Interface::as_raw(self), hwnd, lobjectid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AccessibleObjectFromID)(::windows_core::Interface::as_raw(self), hwnd, lobjectid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1377,14 +1377,14 @@ impl IAccessibleHostingElementProviders { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEmbeddedFragmentRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbeddedFragmentRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbeddedFragmentRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetObjectIdForProvider(&self, pprovider: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectIdForProvider)(::windows_core::Interface::as_raw(self), pprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectIdForProvider)(::windows_core::Interface::as_raw(self), pprovider.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -1405,7 +1405,7 @@ impl IAccessibleWindowlessSite { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AcquireObjectIdRange)(::windows_core::Interface::as_raw(self), rangesize, prangeowner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AcquireObjectIdRange)(::windows_core::Interface::as_raw(self), rangesize, prangeowner.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReleaseObjectIdRange(&self, rangebase: i32, prangeowner: P0) -> ::windows_core::Result<()> where @@ -1419,12 +1419,12 @@ impl IAccessibleWindowlessSite { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryObjectIdRanges)(::windows_core::Interface::as_raw(self), prangesowner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryObjectIdRanges)(::windows_core::Interface::as_raw(self), prangesowner.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetParentAccessible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentAccessible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentAccessible)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1447,23 +1447,23 @@ pub struct IAccessibleWindowlessSite_Vtbl { impl IAnnotationProvider { pub unsafe fn AnnotationTypeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AnnotationTypeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Author(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Author)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DateTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Target(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Target)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Target)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1481,7 +1481,7 @@ pub struct IAnnotationProvider_Vtbl { impl ICustomNavigationProvider { pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1498,7 +1498,7 @@ impl IDockProvider { } pub unsafe fn DockPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DockPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DockPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1513,21 +1513,21 @@ pub struct IDockProvider_Vtbl { impl IDragProvider { pub unsafe fn IsGrabbed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DropEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DropEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DropEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DropEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DropEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DropEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetGrabbedItems(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1550,12 +1550,12 @@ pub struct IDragProvider_Vtbl { impl IDropTargetProvider { pub unsafe fn DropTargetEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DropTargetEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1579,7 +1579,7 @@ impl IExpandCollapseProvider { } pub unsafe fn ExpandCollapseState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1595,23 +1595,23 @@ pub struct IExpandCollapseProvider_Vtbl { impl IGridItemProvider { pub unsafe fn Row(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Row)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Row)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Column(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Column)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Column)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RowSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RowSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RowSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ColumnSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ContainingGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1629,15 +1629,15 @@ pub struct IGridItemProvider_Vtbl { impl IGridProvider { pub unsafe fn GetItem(&self, row: i32, column: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), row, column, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), row, column, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RowCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RowCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RowCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1670,7 +1670,7 @@ impl IItemContainerProvider { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByProperty)(::windows_core::Interface::as_raw(self), pstartafter.into_param().abi(), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByProperty)(::windows_core::Interface::as_raw(self), pstartafter.into_param().abi(), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1697,48 +1697,48 @@ impl ILegacyIAccessibleProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetIAccessible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIAccessible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIAccessible)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ChildId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChildId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChildId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Role(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Role)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Role)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Help(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Help)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Help)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn KeyboardShortcut(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultAction(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1771,19 +1771,19 @@ pub struct ILegacyIAccessibleProvider_Vtbl { impl IMultipleViewProvider { pub unsafe fn GetViewName(&self, viewid: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewName)(::windows_core::Interface::as_raw(self), viewid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewName)(::windows_core::Interface::as_raw(self), viewid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentView(&self, viewid: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentView)(::windows_core::Interface::as_raw(self), viewid).ok() } pub unsafe fn CurrentView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSupportedViews(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1803,7 +1803,7 @@ pub struct IMultipleViewProvider_Vtbl { impl IObjectModelProvider { pub unsafe fn GetUnderlyingObjectModel(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnderlyingObjectModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnderlyingObjectModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1872,27 +1872,27 @@ impl IRangeValueProvider { } pub unsafe fn Value(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Maximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Maximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Maximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Minimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Minimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Minimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn LargeChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LargeChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LargeChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SmallChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SmallChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SmallChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1937,28 +1937,28 @@ pub struct IRawElementProviderAdviseEvents_Vtbl { impl IRawElementProviderFragment { pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEmbeddedFragmentRoots(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbeddedFragmentRoots)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbeddedFragmentRoots)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFocus(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFocus)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn FragmentRoot(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FragmentRoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FragmentRoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1983,11 +1983,11 @@ pub struct IRawElementProviderFragment_Vtbl { impl IRawElementProviderFragmentRoot { pub unsafe fn ElementProviderFromPoint(&self, x: f64, y: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementProviderFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementProviderFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2003,7 +2003,7 @@ impl IRawElementProviderHostingAccessibles { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetEmbeddedAccessibles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbeddedAccessibles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbeddedAccessibles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2023,7 +2023,7 @@ impl IRawElementProviderHwndOverride { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverrideProviderForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverrideProviderForHwnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2037,19 +2037,19 @@ pub struct IRawElementProviderHwndOverride_Vtbl { impl IRawElementProviderSimple { pub unsafe fn ProviderOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPatternProvider(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HostRawElementProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2066,19 +2066,19 @@ pub struct IRawElementProviderSimple_Vtbl { impl IRawElementProviderSimple2 { pub unsafe fn ProviderOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPatternProvider(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HostRawElementProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() @@ -2095,26 +2095,26 @@ pub struct IRawElementProviderSimple2_Vtbl { impl IRawElementProviderSimple3 { pub unsafe fn ProviderOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProviderOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPatternProvider(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPatternProvider)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HostRawElementProvider(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HostRawElementProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetMetadataValue(&self, targetid: i32, metadataid: UIA_METADATA_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2128,12 +2128,12 @@ pub struct IRawElementProviderSimple3_Vtbl { impl IRawElementProviderWindowlessSite { pub unsafe fn GetAdjacentFragment(&self, direction: NavigateDirection) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdjacentFragment)(::windows_core::Interface::as_raw(self), direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdjacentFragment)(::windows_core::Interface::as_raw(self), direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeIdPrefix(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRuntimeIdPrefix)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuntimeIdPrefix)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2171,7 +2171,7 @@ impl IRicheditWindowlessAccessibility { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), psite.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), psite.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2204,27 +2204,27 @@ impl IScrollProvider { } pub unsafe fn HorizontalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VerticalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HorizontalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VerticalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn HorizontallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VerticallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2254,11 +2254,11 @@ impl ISelectionItemProvider { } pub unsafe fn IsSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SelectionContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2277,15 +2277,15 @@ impl ISelectionProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2305,31 +2305,31 @@ impl ISelectionProvider2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FirstSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LastSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2346,17 +2346,17 @@ pub struct ISelectionProvider2_Vtbl { impl ISpreadsheetItemProvider { pub unsafe fn Formula(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Formula)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Formula)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAnnotationObjects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2381,7 +2381,7 @@ impl ISpreadsheetProvider { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2395,31 +2395,31 @@ pub struct ISpreadsheetProvider_Vtbl { impl IStylesProvider { pub unsafe fn StyleId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StyleId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StyleId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn StyleName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StyleName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StyleName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FillColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FillPatternStyle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Shape(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shape)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shape)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FillPatternColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ExtendedProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2457,12 +2457,12 @@ impl ITableItemProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRowHeaderItems(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetColumnHeaderItems(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2484,16 +2484,16 @@ impl ITableProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRowHeaders(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetColumnHeaders(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RowOrColumnMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2515,11 +2515,11 @@ pub struct ITableProvider_Vtbl { impl ITextChildProvider { pub unsafe fn TextContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TextContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TextContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TextRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TextRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TextRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2535,39 +2535,39 @@ impl ITextEditProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeFromChild(&self, childelement: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromPoint(&self, point: UiaPoint) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActiveComposition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveComposition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveComposition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConversionTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConversionTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConversionTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2583,31 +2583,31 @@ impl ITextProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeFromChild(&self, childelement: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromPoint(&self, point: UiaPoint) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2633,42 +2633,42 @@ impl ITextProvider2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeFromChild(&self, childelement: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), childelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromPoint(&self, point: UiaPoint) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeFromAnnotation(&self, annotationelement: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromAnnotation)(::windows_core::Interface::as_raw(self), annotationelement.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromAnnotation)(::windows_core::Interface::as_raw(self), annotationelement.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCaretRange(&self, isactive: *mut super::super::Foundation::BOOL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaretRange)(::windows_core::Interface::as_raw(self), isactive, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaretRange)(::windows_core::Interface::as_raw(self), isactive, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2683,21 +2683,21 @@ pub struct ITextProvider2_Vtbl { impl ITextRangeProvider { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, range: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CompareEndpoints(&self, endpoint: TextPatternRangeEndpoint, targetrange: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareEndpoints)(::windows_core::Interface::as_raw(self), endpoint, targetrange.into_param().abi(), targetendpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareEndpoints)(::windows_core::Interface::as_raw(self), endpoint, targetrange.into_param().abi(), targetendpoint, &mut result__).map(|| result__) } pub unsafe fn ExpandToEnclosingUnit(&self, unit: TextUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ExpandToEnclosingUnit)(::windows_core::Interface::as_raw(self), unit).ok() @@ -2708,7 +2708,7 @@ impl ITextRangeProvider { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAttribute)(::windows_core::Interface::as_raw(self), attributeid, val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAttribute)(::windows_core::Interface::as_raw(self), attributeid, val.into_param().abi(), backward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindText(&self, text: P0, backward: P1, ignorecase: P2) -> ::windows_core::Result where @@ -2717,32 +2717,32 @@ impl ITextRangeProvider { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue(&self, attributeid: UIA_TEXTATTRIBUTE_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), attributeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), attributeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingRectangles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnclosingElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, maxlength: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByRange(&self, endpoint: TextPatternRangeEndpoint, targetrange: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result<()> where @@ -2768,7 +2768,7 @@ impl ITextRangeProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetChildren(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2805,21 +2805,21 @@ pub struct ITextRangeProvider_Vtbl { impl ITextRangeProvider2 { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, range: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CompareEndpoints(&self, endpoint: TextPatternRangeEndpoint, targetrange: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), endpoint, targetrange.into_param().abi(), targetendpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), endpoint, targetrange.into_param().abi(), targetendpoint, &mut result__).map(|| result__) } pub unsafe fn ExpandToEnclosingUnit(&self, unit: TextUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ExpandToEnclosingUnit)(::windows_core::Interface::as_raw(self), unit).ok() @@ -2830,7 +2830,7 @@ impl ITextRangeProvider2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAttribute)(::windows_core::Interface::as_raw(self), attributeid, val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAttribute)(::windows_core::Interface::as_raw(self), attributeid, val.into_param().abi(), backward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindText(&self, text: P0, backward: P1, ignorecase: P2) -> ::windows_core::Result where @@ -2839,32 +2839,32 @@ impl ITextRangeProvider2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue(&self, attributeid: UIA_TEXTATTRIBUTE_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attributeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attributeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingRectangles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnclosingElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, maxlength: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByRange(&self, endpoint: TextPatternRangeEndpoint, targetrange: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result<()> where @@ -2890,7 +2890,7 @@ impl ITextRangeProvider2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetChildren(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() @@ -2910,7 +2910,7 @@ impl IToggleProvider { } pub unsafe fn ToggleState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ToggleState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ToggleState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2934,15 +2934,15 @@ impl ITransformProvider { } pub unsafe fn CanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2970,34 +2970,34 @@ impl ITransformProvider2 { } pub unsafe fn CanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Zoom(&self, zoom: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Zoom)(::windows_core::Interface::as_raw(self), zoom).ok() } pub unsafe fn CanZoom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanZoom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanZoom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ZoomLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ZoomMinimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ZoomMaximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ZoomByUnit(&self, zoomunit: ZoomUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ZoomByUnit)(::windows_core::Interface::as_raw(self), zoomunit).ok() @@ -3023,38 +3023,38 @@ impl IUIAutomation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -3062,78 +3062,78 @@ impl IUIAutomation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3141,16 +3141,16 @@ impl IUIAutomation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3158,23 +3158,23 @@ impl IUIAutomation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -3249,47 +3249,47 @@ impl IUIAutomation { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3310,15 +3310,15 @@ impl IUIAutomation { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -3326,7 +3326,7 @@ impl IUIAutomation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -3335,7 +3335,7 @@ impl IUIAutomation { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3440,38 +3440,38 @@ impl IUIAutomation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -3479,78 +3479,78 @@ impl IUIAutomation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3558,16 +3558,16 @@ impl IUIAutomation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3575,23 +3575,23 @@ impl IUIAutomation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -3666,47 +3666,47 @@ impl IUIAutomation2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -3727,15 +3727,15 @@ impl IUIAutomation2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -3743,7 +3743,7 @@ impl IUIAutomation2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -3752,11 +3752,11 @@ impl IUIAutomation2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSetFocus(&self, autosetfocus: P0) -> ::windows_core::Result<()> where @@ -3766,14 +3766,14 @@ impl IUIAutomation2 { } pub unsafe fn ConnectionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn TransactionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransactionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -3799,38 +3799,38 @@ impl IUIAutomation3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -3838,78 +3838,78 @@ impl IUIAutomation3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3917,16 +3917,16 @@ impl IUIAutomation3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -3934,23 +3934,23 @@ impl IUIAutomation3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -4025,47 +4025,47 @@ impl IUIAutomation3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -4086,15 +4086,15 @@ impl IUIAutomation3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -4102,7 +4102,7 @@ impl IUIAutomation3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -4111,11 +4111,11 @@ impl IUIAutomation3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSetFocus(&self, autosetfocus: P0) -> ::windows_core::Result<()> where @@ -4125,14 +4125,14 @@ impl IUIAutomation3 { } pub unsafe fn ConnectionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetConnectionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn TransactionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTransactionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -4169,38 +4169,38 @@ impl IUIAutomation4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -4208,78 +4208,78 @@ impl IUIAutomation4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -4287,16 +4287,16 @@ impl IUIAutomation4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -4304,23 +4304,23 @@ impl IUIAutomation4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -4395,47 +4395,47 @@ impl IUIAutomation4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -4456,15 +4456,15 @@ impl IUIAutomation4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -4472,7 +4472,7 @@ impl IUIAutomation4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -4481,11 +4481,11 @@ impl IUIAutomation4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSetFocus(&self, autosetfocus: P0) -> ::windows_core::Result<()> where @@ -4495,14 +4495,14 @@ impl IUIAutomation4 { } pub unsafe fn ConnectionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetConnectionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn TransactionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetTransactionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -4554,38 +4554,38 @@ impl IUIAutomation5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -4593,78 +4593,78 @@ impl IUIAutomation5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -4672,16 +4672,16 @@ impl IUIAutomation5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -4689,23 +4689,23 @@ impl IUIAutomation5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -4780,47 +4780,47 @@ impl IUIAutomation5 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -4841,15 +4841,15 @@ impl IUIAutomation5 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -4857,7 +4857,7 @@ impl IUIAutomation5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -4866,11 +4866,11 @@ impl IUIAutomation5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSetFocus(&self, autosetfocus: P0) -> ::windows_core::Result<()> where @@ -4880,14 +4880,14 @@ impl IUIAutomation5 { } pub unsafe fn ConnectionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetConnectionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn TransactionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetTransactionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -4954,38 +4954,38 @@ impl IUIAutomation6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CompareElements)(::windows_core::Interface::as_raw(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CompareRuntimeIds)(::windows_core::Interface::as_raw(self), runtimeid1, runtimeid2, &mut result__).map(|| result__) } pub unsafe fn GetRootElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRootElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandle(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromHandle)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFocusedElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRootElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRootElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromHandleBuildCache(&self, hwnd: P0, cacherequest: P1) -> ::windows_core::Result where @@ -4993,78 +4993,78 @@ impl IUIAutomation6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromHandleBuildCache)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ElementFromPointBuildCache(&self, pt: super::super::Foundation::POINT, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromPointBuildCache)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocusedElementBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetFocusedElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTreeWalker(&self, pcondition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTreeWalker)(::windows_core::Interface::as_raw(self), pcondition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ControlViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ContentViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewWalker(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RawViewWalker)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RawViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RawViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ControlViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ControlViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ContentViewCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ContentViewCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCacheRequest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCacheRequest)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateTrueCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateTrueCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateFalseCondition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFalseCondition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyCondition(&self, propertyid: UIA_PROPERTY_ID, value: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePropertyCondition)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreatePropertyConditionEx(&self, propertyid: UIA_PROPERTY_ID, value: P0, flags: PropertyConditionFlags) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePropertyConditionEx)(::windows_core::Interface::as_raw(self), propertyid, value.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -5072,16 +5072,16 @@ impl IUIAutomation6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateAndConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrCondition(&self, condition1: P0, condition2: P1) -> ::windows_core::Result where @@ -5089,23 +5089,23 @@ impl IUIAutomation6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrCondition)(::windows_core::Interface::as_raw(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrConditionFromArray)(::windows_core::Interface::as_raw(self), conditions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: &[::core::option::Option]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateOrConditionFromNativeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(conditions.as_ptr()), conditions.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateNotCondition(&self, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateNotCondition)(::windows_core::Interface::as_raw(self), condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddAutomationEventHandler(&self, eventid: UIA_EVENT_ID, element: P0, scope: TreeScope, cacherequest: P1, handler: P2) -> ::windows_core::Result<()> where @@ -5180,47 +5180,47 @@ impl IUIAutomation6 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntNativeArrayToSafeArray(&self, array: &[i32]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IntNativeArrayToSafeArray)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(array.as_ptr()), array.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IntSafeArrayToNativeArray)(::windows_core::Interface::as_raw(self), intarray, array, &mut result__).map(|| result__) } pub unsafe fn RectToVariant(&self, rc: super::super::Foundation::RECT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RectToVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rc), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn VariantToRect(&self, var: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.VariantToRect)(::windows_core::Interface::as_raw(self), var.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SafeArrayToRectNativeArray)(::windows_core::Interface::as_raw(self), rects, rectarray, &mut result__).map(|| result__) } pub unsafe fn CreateProxyFactoryEntry(&self, factory: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProxyFactoryEntry)(::windows_core::Interface::as_raw(self), factory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryMapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ProxyFactoryMapping)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyProgrammaticName(&self, property: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPropertyProgrammaticName)(::windows_core::Interface::as_raw(self), property, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPatternProgrammaticName(&self, pattern: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPatternProgrammaticName)(::windows_core::Interface::as_raw(self), pattern, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn PollForPotentialSupportedPatterns(&self, pelement: P0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> @@ -5241,15 +5241,15 @@ impl IUIAutomation6 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckNotSupported)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReservedNotSupportedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ReservedMixedAttributeValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessible(&self, accessible: P0, childid: i32) -> ::windows_core::Result @@ -5257,7 +5257,7 @@ impl IUIAutomation6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromIAccessible)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ElementFromIAccessibleBuildCache(&self, accessible: P0, childid: i32, cacherequest: P1) -> ::windows_core::Result @@ -5266,11 +5266,11 @@ impl IUIAutomation6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ElementFromIAccessibleBuildCache)(::windows_core::Interface::as_raw(self), accessible.into_param().abi(), childid, cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AutoSetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AutoSetFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoSetFocus(&self, autosetfocus: P0) -> ::windows_core::Result<()> where @@ -5280,14 +5280,14 @@ impl IUIAutomation6 { } pub unsafe fn ConnectionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ConnectionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetConnectionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() } pub unsafe fn TransactionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.TransactionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetTransactionTimeout)(::windows_core::Interface::as_raw(self), timeout).ok() @@ -5339,7 +5339,7 @@ impl IUIAutomation6 { } pub unsafe fn CreateEventHandlerGroup(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEventHandlerGroup)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEventHandlerGroup)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddEventHandlerGroup(&self, element: P0, handlergroup: P1) -> ::windows_core::Result<()> where @@ -5357,14 +5357,14 @@ impl IUIAutomation6 { } pub unsafe fn ConnectionRecoveryBehavior(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConnectionRecoveryBehavior)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConnectionRecoveryBehavior)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetConnectionRecoveryBehavior(&self, connectionrecoverybehavioroptions: ConnectionRecoveryBehaviorOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetConnectionRecoveryBehavior)(::windows_core::Interface::as_raw(self), connectionrecoverybehavioroptions).ok() } pub unsafe fn CoalesceEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CoalesceEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CoalesceEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCoalesceEvents(&self, coalesceeventsoptions: CoalesceEventsOptions) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCoalesceEvents)(::windows_core::Interface::as_raw(self), coalesceeventsoptions).ok() @@ -5421,7 +5421,7 @@ pub struct IUIAutomationActiveTextPositionChangedEventHandler_Vtbl { impl IUIAutomationAndCondition { pub unsafe fn ChildCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChildCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChildCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChildrenAsNativeArray(&self, childarray: *mut *mut ::core::option::Option, childarraycount: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChildrenAsNativeArray)(::windows_core::Interface::as_raw(self), childarray, childarraycount).ok() @@ -5429,7 +5429,7 @@ impl IUIAutomationAndCondition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetChildren(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5448,43 +5448,43 @@ pub struct IUIAutomationAndCondition_Vtbl { impl IUIAutomationAnnotationPattern { pub unsafe fn CurrentAnnotationTypeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationTypeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAuthor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAuthor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAuthor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDateTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAnnotationTypeId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAnnotationTypeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationTypeName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAnnotationTypeName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAuthor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAuthor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAuthor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDateTime(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDateTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDateTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5507,7 +5507,7 @@ pub struct IUIAutomationAnnotationPattern_Vtbl { impl IUIAutomationBoolCondition { pub unsafe fn BooleanValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BooleanValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BooleanValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5527,18 +5527,18 @@ impl IUIAutomationCacheRequest { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TreeScope(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TreeScope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TreeScope)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTreeScope(&self, scope: TreeScope) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTreeScope)(::windows_core::Interface::as_raw(self), scope).ok() } pub unsafe fn TreeFilter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TreeFilter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TreeFilter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTreeFilter(&self, filter: P0) -> ::windows_core::Result<()> where @@ -5548,7 +5548,7 @@ impl IUIAutomationCacheRequest { } pub unsafe fn AutomationElementMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutomationElementMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutomationElementMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutomationElementMode(&self, mode: AutomationElementMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutomationElementMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -5597,7 +5597,7 @@ pub struct IUIAutomationCondition_Vtbl { impl IUIAutomationCustomNavigationPattern { pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Navigate)(::windows_core::Interface::as_raw(self), direction, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5614,11 +5614,11 @@ impl IUIAutomationDockPattern { } pub unsafe fn CurrentDockPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDockPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDockPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedDockPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDockPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDockPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5634,37 +5634,37 @@ pub struct IUIAutomationDockPattern_Vtbl { impl IUIAutomationDragPattern { pub unsafe fn CurrentIsGrabbed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsGrabbed(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsGrabbed)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentDropEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDropEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDropEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDropEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDropEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDropEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentDropEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDropEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDropEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedDropEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDropEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDropEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentGrabbedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedGrabbedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedGrabbedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5691,21 +5691,21 @@ pub struct IUIAutomationDragPattern_Vtbl { impl IUIAutomationDropTargetPattern { pub unsafe fn CurrentDropTargetEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDropTargetEffect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDropTargetEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentDropTargetEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedDropTargetEffects(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDropTargetEffects)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5732,21 +5732,21 @@ impl IUIAutomationElement { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -5754,7 +5754,7 @@ impl IUIAutomationElement { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -5762,326 +5762,326 @@ impl IUIAutomationElement { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } } #[repr(C)] @@ -6183,21 +6183,21 @@ impl IUIAutomationElement2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -6205,7 +6205,7 @@ impl IUIAutomationElement2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -6213,350 +6213,350 @@ impl IUIAutomationElement2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6579,21 +6579,21 @@ impl IUIAutomationElement3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -6601,7 +6601,7 @@ impl IUIAutomationElement3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -6609,361 +6609,361 @@ impl IUIAutomationElement3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6983,21 +6983,21 @@ impl IUIAutomationElement4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7005,7 +7005,7 @@ impl IUIAutomationElement4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7013,403 +7013,403 @@ impl IUIAutomationElement4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7442,21 +7442,21 @@ impl IUIAutomationElement5 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7464,7 +7464,7 @@ impl IUIAutomationElement5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7472,419 +7472,419 @@ impl IUIAutomationElement5 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7905,21 +7905,21 @@ impl IUIAutomationElement6 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7927,7 +7927,7 @@ impl IUIAutomationElement6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -7935,427 +7935,427 @@ impl IUIAutomationElement6 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8374,21 +8374,21 @@ impl IUIAutomationElement7 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -8396,7 +8396,7 @@ impl IUIAutomationElement7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -8404,427 +8404,427 @@ impl IUIAutomationElement7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -8832,7 +8832,7 @@ impl IUIAutomationElement7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -8840,7 +8840,7 @@ impl IUIAutomationElement7 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -8849,7 +8849,7 @@ impl IUIAutomationElement7 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -8858,11 +8858,11 @@ impl IUIAutomationElement7 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: UIA_METADATA_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -8884,21 +8884,21 @@ impl IUIAutomationElement8 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -8906,7 +8906,7 @@ impl IUIAutomationElement8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -8914,427 +8914,427 @@ impl IUIAutomationElement8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -9342,7 +9342,7 @@ impl IUIAutomationElement8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -9350,7 +9350,7 @@ impl IUIAutomationElement8 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -9359,7 +9359,7 @@ impl IUIAutomationElement8 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -9368,19 +9368,19 @@ impl IUIAutomationElement8 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: UIA_METADATA_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHeadingLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHeadingLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9399,21 +9399,21 @@ impl IUIAutomationElement9 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRuntimeId(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetRuntimeId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FindFirst(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindFirst)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAll(&self, scope: TreeScope, condition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindAll)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -9421,7 +9421,7 @@ impl IUIAutomationElement9 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindFirstBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1) -> ::windows_core::Result where @@ -9429,427 +9429,427 @@ impl IUIAutomationElement9 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.FindAllBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BuildUpdatedCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BuildUpdatedCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValue(&self, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValue)(::windows_core::Interface::as_raw(self), propertyid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPropertyValueEx(&self, propertyid: UIA_PROPERTY_ID, ignoredefaultvalue: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPropertyValueEx)(::windows_core::Interface::as_raw(self), propertyid, ignoredefaultvalue.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPatternAs(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPatternAs)(::windows_core::Interface::as_raw(self), patternid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCurrentPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedPattern(&self, patternid: UIA_PATTERN_ID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedPattern)(::windows_core::Interface::as_raw(self), patternid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCachedChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CurrentProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProcessId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedProcessId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControlType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedControlType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedControlType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedLocalizedControlType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAcceleratorKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAcceleratorKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAccessKey(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAccessKey)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedHasKeyboardFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsKeyboardFocusable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAutomationId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAutomationId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedHelpText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedHelpText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCulture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedCulture)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsControlElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsControlElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsContentElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsContentElement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPassword(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsPassword)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedNativeWindowHandle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedNativeWindowHandle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedItemType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsOffscreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsOffscreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOrientation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedOrientation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFrameworkId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedFrameworkId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsRequiredForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedItemStatus(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedItemStatus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLabeledBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedLabeledBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaRole(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAriaRole)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedAriaProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedAriaProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedIsDataValidForForm)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedControllerFor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedControllerFor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescribedBy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedDescribedBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsTo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedFlowsTo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedProviderDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CachedProviderDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetClickablePoint)(::windows_core::Interface::as_raw(self), clickable, &mut result__).map(|| result__) } pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedOptimizeForVisualContent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLiveSetting(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedLiveSetting)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CurrentFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFlowsFrom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CachedFlowsFrom)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CurrentIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CurrentIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsPeripheral(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CachedIsPeripheral)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedPositionInSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedPositionInSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSizeOfSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedSizeOfSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CurrentLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLandmarkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CachedLocalizedLandmarkType)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CurrentFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFullDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CachedFullDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -9857,7 +9857,7 @@ impl IUIAutomationElement9 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindFirstWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptions(&self, scope: TreeScope, condition: P0, traversaloptions: TreeTraversalOptions, root: P1) -> ::windows_core::Result where @@ -9865,7 +9865,7 @@ impl IUIAutomationElement9 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindAllWithOptions)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFirstWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -9874,7 +9874,7 @@ impl IUIAutomationElement9 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindFirstWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindAllWithOptionsBuildCache(&self, scope: TreeScope, condition: P0, cacherequest: P1, traversaloptions: TreeTraversalOptions, root: P2) -> ::windows_core::Result where @@ -9883,27 +9883,27 @@ impl IUIAutomationElement9 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindAllWithOptionsBuildCache)(::windows_core::Interface::as_raw(self), scope, condition.into_param().abi(), cacherequest.into_param().abi(), traversaloptions, root.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: UIA_METADATA_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentMetadataValue)(::windows_core::Interface::as_raw(self), targetid, metadataid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentHeadingLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHeadingLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedHeadingLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsDialog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsDialog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsDialog)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsDialog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsDialog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsDialog)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9918,11 +9918,11 @@ pub struct IUIAutomationElement9_Vtbl { impl IUIAutomationElementArray { pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElement(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10024,11 +10024,11 @@ impl IUIAutomationExpandCollapsePattern { } pub unsafe fn CurrentExpandCollapseState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedExpandCollapseState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedExpandCollapseState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10061,43 +10061,43 @@ pub struct IUIAutomationFocusChangedEventHandler_Vtbl { impl IUIAutomationGridItemPattern { pub unsafe fn CurrentContainingGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentColumn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentColumn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentRowSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRowSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRowSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentColumnSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedContainingGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedContainingGrid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedRow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedRow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedRow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedColumn(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedColumn)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedRowSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedRowSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedRowSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedColumnSpan(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedColumnSpan)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10120,23 +10120,23 @@ pub struct IUIAutomationGridItemPattern_Vtbl { impl IUIAutomationGridPattern { pub unsafe fn GetItem(&self, row: i32, column: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), row, column, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), row, column, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRowCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRowCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRowCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedRowCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedRowCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedRowCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10171,7 +10171,7 @@ impl IUIAutomationItemContainerPattern { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindItemByProperty)(::windows_core::Interface::as_raw(self), pstartafter.into_param().abi(), propertyid, value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindItemByProperty)(::windows_core::Interface::as_raw(self), pstartafter.into_param().abi(), propertyid, value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10197,88 +10197,88 @@ impl IUIAutomationLegacyIAccessiblePattern { } pub unsafe fn CurrentChildId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentChildId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentChildId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRole(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRole)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentHelp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHelp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHelp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentKeyboardShortcut(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentKeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentKeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentDefaultAction(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentDefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentDefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedChildId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedChildId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedChildId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedRole(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedRole)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedRole)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHelp(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHelp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHelp)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedKeyboardShortcut(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedKeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedKeyboardShortcut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedDefaultAction(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedDefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedDefaultAction)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetIAccessible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIAccessible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIAccessible)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10318,28 +10318,28 @@ pub struct IUIAutomationLegacyIAccessiblePattern_Vtbl { impl IUIAutomationMultipleViewPattern { pub unsafe fn GetViewName(&self, view: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewName)(::windows_core::Interface::as_raw(self), view, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewName)(::windows_core::Interface::as_raw(self), view, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentView(&self, view: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentView)(::windows_core::Interface::as_raw(self), view).ok() } pub unsafe fn CurrentCurrentView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCurrentSupportedViews(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCurrentView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCachedSupportedViews(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedSupportedViews)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10364,7 +10364,7 @@ pub struct IUIAutomationMultipleViewPattern_Vtbl { impl IUIAutomationNotCondition { pub unsafe fn GetChild(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChild)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10396,7 +10396,7 @@ pub struct IUIAutomationNotificationEventHandler_Vtbl { impl IUIAutomationObjectModelPattern { pub unsafe fn GetUnderlyingObjectModel(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnderlyingObjectModel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnderlyingObjectModel)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10410,7 +10410,7 @@ pub struct IUIAutomationObjectModelPattern_Vtbl { impl IUIAutomationOrCondition { pub unsafe fn ChildCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChildCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChildCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChildrenAsNativeArray(&self, childarray: *mut *mut ::core::option::Option, childarraycount: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChildrenAsNativeArray)(::windows_core::Interface::as_raw(self), childarray, childarraycount).ok() @@ -10418,7 +10418,7 @@ impl IUIAutomationOrCondition { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetChildren(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10440,7 +10440,7 @@ impl IUIAutomationPatternHandler { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateClientWrapper)(::windows_core::Interface::as_raw(self), ppatterninstance.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateClientWrapper)(::windows_core::Interface::as_raw(self), ppatterninstance.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Dispatch(&self, ptarget: P0, index: u32, pparams: *const UIAutomationParameter, cparams: u32) -> ::windows_core::Result<()> where @@ -10498,15 +10498,15 @@ pub struct IUIAutomationPropertyChangedEventHandler_Vtbl { impl IUIAutomationPropertyCondition { pub unsafe fn PropertyId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PropertyValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PropertyConditionFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PropertyConditionFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PropertyConditionFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10525,11 +10525,11 @@ impl IUIAutomationProxyFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), idobject, idchild, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateProvider)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), idobject, idchild, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProxyFactoryId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyFactoryId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyFactoryId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10544,27 +10544,27 @@ pub struct IUIAutomationProxyFactory_Vtbl { impl IUIAutomationProxyFactoryEntry { pub unsafe fn ProxyFactory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProxyFactory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProxyFactory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClassName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClassName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClassName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ImageName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ImageName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AllowSubstringMatch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AllowSubstringMatch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AllowSubstringMatch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanCheckBaseClass(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanCheckBaseClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanCheckBaseClass)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn NeedsAdviseEvents(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NeedsAdviseEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NeedsAdviseEvents)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClassName(&self, classname: P0) -> ::windows_core::Result<()> where @@ -10603,7 +10603,7 @@ impl IUIAutomationProxyFactoryEntry { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWinEventsForAutomationEvent(&self, eventid: UIA_EVENT_ID, propertyid: UIA_PROPERTY_ID) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWinEventsForAutomationEvent)(::windows_core::Interface::as_raw(self), eventid, propertyid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWinEventsForAutomationEvent)(::windows_core::Interface::as_raw(self), eventid, propertyid, &mut result__).map(|| result__) } } #[repr(C)] @@ -10635,16 +10635,16 @@ pub struct IUIAutomationProxyFactoryEntry_Vtbl { impl IUIAutomationProxyFactoryMapping { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTable(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEntry(&self, index: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEntry)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEntry)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetTable(&self, factorylist: *const super::super::System::Com::SAFEARRAY) -> ::windows_core::Result<()> { @@ -10701,51 +10701,51 @@ impl IUIAutomationRangeValuePattern { } pub unsafe fn CurrentValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentMaximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentMaximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentMaximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentMinimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentMinimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentMinimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentLargeChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLargeChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLargeChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSmallChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSmallChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSmallChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedMaximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedMaximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedMaximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedMinimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedMinimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedMinimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedLargeChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLargeChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLargeChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSmallChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedSmallChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedSmallChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10771,11 +10771,11 @@ pub struct IUIAutomationRangeValuePattern_Vtbl { impl IUIAutomationRegistrar { pub unsafe fn RegisterProperty(&self, property: *const UIAutomationPropertyInfo) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterProperty)(::windows_core::Interface::as_raw(self), property, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterProperty)(::windows_core::Interface::as_raw(self), property, &mut result__).map(|| result__) } pub unsafe fn RegisterEvent(&self, event: *const UIAutomationEventInfo) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterEvent)(::windows_core::Interface::as_raw(self), event, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterEvent)(::windows_core::Interface::as_raw(self), event, &mut result__).map(|| result__) } pub unsafe fn RegisterPattern(&self, pattern: *const UIAutomationPatternInfo, ppatternid: *mut i32, ppatternavailablepropertyid: *mut i32, ppropertyids: &mut [i32], peventids: &mut [i32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegisterPattern)(::windows_core::Interface::as_raw(self), pattern, ppatternid, ppatternavailablepropertyid, ppropertyids.len().try_into().unwrap(), ::core::mem::transmute(ppropertyids.as_ptr()), peventids.len().try_into().unwrap(), ::core::mem::transmute(peventids.as_ptr())).ok() @@ -10813,51 +10813,51 @@ impl IUIAutomationScrollPattern { } pub unsafe fn CurrentHorizontalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentVerticalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentVerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentVerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentHorizontalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentVerticalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentVerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentVerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentHorizontallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentHorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentHorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentVerticallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentVerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentVerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHorizontalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHorizontalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedVerticalScrollPercent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedVerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedVerticalScrollPercent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHorizontalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHorizontalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedVerticalViewSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedVerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedVerticalViewSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedHorizontallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedHorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedHorizontallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedVerticallyScrollable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedVerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedVerticallyScrollable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10893,19 +10893,19 @@ impl IUIAutomationSelectionItemPattern { } pub unsafe fn CurrentIsSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentSelectionContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentSelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentSelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedSelectionContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedSelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedSelectionContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10925,27 +10925,27 @@ pub struct IUIAutomationSelectionItemPattern_Vtbl { impl IUIAutomationSelectionPattern { pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCachedSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10964,59 +10964,59 @@ pub struct IUIAutomationSelectionPattern_Vtbl { impl IUIAutomationSelectionPattern2 { pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCachedSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCachedSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCanSelectMultiple(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedCanSelectMultiple)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsSelectionRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedIsSelectionRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFirstSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentLastSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentLastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentLastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentCurrentSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFirstSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFirstSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedLastSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedLastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedLastSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedCurrentSelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCurrentSelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11037,29 +11037,29 @@ pub struct IUIAutomationSelectionPattern2_Vtbl { impl IUIAutomationSpreadsheetItemPattern { pub unsafe fn CurrentFormula(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFormula)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFormula)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCurrentAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFormula(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFormula)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFormula)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedAnnotationObjects(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedAnnotationObjects)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetCachedAnnotationTypes(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedAnnotationTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11087,7 +11087,7 @@ impl IUIAutomationSpreadsheetPattern { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11121,62 +11121,62 @@ pub struct IUIAutomationStructureChangedEventHandler_Vtbl { impl IUIAutomationStylesPattern { pub unsafe fn CurrentStyleId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentStyleId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentStyleId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentStyleName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentStyleName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentStyleName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFillColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFillColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFillColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentFillPatternStyle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentShape(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentShape)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentShape)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentFillPatternColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentFillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentFillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentExtendedProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentExtendedPropertiesAsArray(&self, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCurrentExtendedPropertiesAsArray)(::windows_core::Interface::as_raw(self), propertyarray, propertycount).ok() } pub unsafe fn CachedStyleId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedStyleId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedStyleId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedStyleName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedStyleName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedStyleName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFillColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFillColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFillColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedFillPatternStyle(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFillPatternStyle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedShape(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedShape)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedShape)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedFillPatternColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedFillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedFillPatternColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedExtendedProperties(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedExtendedPropertiesAsArray(&self, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCachedExtendedPropertiesAsArray)(::windows_core::Interface::as_raw(self), propertyarray, propertycount).ok() @@ -11225,19 +11225,19 @@ pub struct IUIAutomationSynchronizedInputPattern_Vtbl { impl IUIAutomationTableItemPattern { pub unsafe fn GetCurrentRowHeaderItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentColumnHeaderItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedRowHeaderItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedRowHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedColumnHeaderItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedColumnHeaderItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11254,27 +11254,27 @@ pub struct IUIAutomationTableItemPattern_Vtbl { impl IUIAutomationTablePattern { pub unsafe fn GetCurrentRowHeaders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentColumnHeaders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentRowOrColumnMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentRowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentRowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCachedRowHeaders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedRowHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCachedColumnHeaders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCachedColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCachedColumnHeaders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedRowOrColumnMajor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedRowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedRowOrColumnMajor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11293,11 +11293,11 @@ pub struct IUIAutomationTablePattern_Vtbl { impl IUIAutomationTextChildPattern { pub unsafe fn TextContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TextContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TextContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TextRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TextRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TextRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11312,38 +11312,38 @@ pub struct IUIAutomationTextChildPattern_Vtbl { impl IUIAutomationTextEditPattern { pub unsafe fn RangeFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromChild(&self, child: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActiveComposition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveComposition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveComposition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConversionTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConversionTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConversionTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11378,30 +11378,30 @@ pub struct IUIAutomationTextEditTextChangedEventHandler_Vtbl { impl IUIAutomationTextPattern { pub unsafe fn RangeFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromChild(&self, child: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11420,41 +11420,41 @@ pub struct IUIAutomationTextPattern_Vtbl { impl IUIAutomationTextPattern2 { pub unsafe fn RangeFromPoint(&self, pt: super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RangeFromChild(&self, child: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromChild)(::windows_core::Interface::as_raw(self), child.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisibleRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetVisibleRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DocumentRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DocumentRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedTextSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SupportedTextSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RangeFromAnnotation(&self, annotation: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromAnnotation)(::windows_core::Interface::as_raw(self), annotation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromAnnotation)(::windows_core::Interface::as_raw(self), annotation.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCaretRange(&self, isactive: *mut super::super::Foundation::BOOL) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaretRange)(::windows_core::Interface::as_raw(self), isactive, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaretRange)(::windows_core::Interface::as_raw(self), isactive, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11469,21 +11469,21 @@ pub struct IUIAutomationTextPattern2_Vtbl { impl IUIAutomationTextRange { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, range: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CompareEndpoints(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).map(|| result__) } pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ExpandToEnclosingUnit)(::windows_core::Interface::as_raw(self), textunit).ok() @@ -11494,7 +11494,7 @@ impl IUIAutomationTextRange { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindText(&self, text: P0, backward: P1, ignorecase: P2) -> ::windows_core::Result where @@ -11503,32 +11503,32 @@ impl IUIAutomationTextRange { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue(&self, attr: UIA_TEXTATTRIBUTE_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingRectangles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnclosingElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, maxlength: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByRange(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result<()> where @@ -11553,7 +11553,7 @@ impl IUIAutomationTextRange { } pub unsafe fn GetChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11587,21 +11587,21 @@ pub struct IUIAutomationTextRange_Vtbl { impl IUIAutomationTextRange2 { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, range: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CompareEndpoints(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).map(|| result__) } pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ExpandToEnclosingUnit)(::windows_core::Interface::as_raw(self), textunit).ok() @@ -11612,7 +11612,7 @@ impl IUIAutomationTextRange2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindText(&self, text: P0, backward: P1, ignorecase: P2) -> ::windows_core::Result where @@ -11621,32 +11621,32 @@ impl IUIAutomationTextRange2 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue(&self, attr: UIA_TEXTATTRIBUTE_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingRectangles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnclosingElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, maxlength: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByRange(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result<()> where @@ -11671,7 +11671,7 @@ impl IUIAutomationTextRange2 { } pub unsafe fn GetChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() @@ -11688,21 +11688,21 @@ pub struct IUIAutomationTextRange2_Vtbl { impl IUIAutomationTextRange3 { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Compare(&self, range: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Compare)(::windows_core::Interface::as_raw(self), range.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CompareEndpoints(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CompareEndpoints)(::windows_core::Interface::as_raw(self), srcendpoint, range.into_param().abi(), targetendpoint, &mut result__).map(|| result__) } pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ExpandToEnclosingUnit)(::windows_core::Interface::as_raw(self), textunit).ok() @@ -11713,7 +11713,7 @@ impl IUIAutomationTextRange3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindAttribute)(::windows_core::Interface::as_raw(self), attr, val.into_param().abi(), backward.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindText(&self, text: P0, backward: P1, ignorecase: P2) -> ::windows_core::Result where @@ -11722,32 +11722,32 @@ impl IUIAutomationTextRange3 { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindText)(::windows_core::Interface::as_raw(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeValue(&self, attr: UIA_TEXTATTRIBUTE_ID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetAttributeValue)(::windows_core::Interface::as_raw(self), attr, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingRectangles(&self) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBoundingRectangles)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEnclosingElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEnclosingElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, maxlength: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetText)(::windows_core::Interface::as_raw(self), maxlength, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveEndpointByUnit)(::windows_core::Interface::as_raw(self), endpoint, unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEndpointByRange(&self, srcendpoint: TextPatternRangeEndpoint, range: P0, targetendpoint: TextPatternRangeEndpoint) -> ::windows_core::Result<()> where @@ -11772,7 +11772,7 @@ impl IUIAutomationTextRange3 { } pub unsafe fn GetChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowContextMenu(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ShowContextMenu)(::windows_core::Interface::as_raw(self)).ok() @@ -11782,19 +11782,19 @@ impl IUIAutomationTextRange3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnclosingElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnclosingElementBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetChildrenBuildCache(&self, cacherequest: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildrenBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildrenBuildCache)(::windows_core::Interface::as_raw(self), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetAttributeValues(&self, attributeids: &[UIA_TEXTATTRIBUTE_ID]) -> ::windows_core::Result<*mut super::super::System::Com::SAFEARRAY> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributeValues)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(attributeids.as_ptr()), attributeids.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributeValues)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(attributeids.as_ptr()), attributeids.len().try_into().unwrap(), &mut result__).map(|| result__) } } #[repr(C)] @@ -11813,11 +11813,11 @@ pub struct IUIAutomationTextRange3_Vtbl { impl IUIAutomationTextRangeArray { pub unsafe fn Length(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Length)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElement(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElement)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11835,11 +11835,11 @@ impl IUIAutomationTogglePattern { } pub unsafe fn CurrentToggleState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentToggleState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentToggleState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedToggleState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedToggleState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedToggleState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11864,27 +11864,27 @@ impl IUIAutomationTransformPattern { } pub unsafe fn CurrentCanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11915,27 +11915,27 @@ impl IUIAutomationTransformPattern2 { } pub unsafe fn CurrentCanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentCanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentCanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentCanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentCanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanMove(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedCanMove)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedCanMove)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanResize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedCanResize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedCanResize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanRotate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CachedCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CachedCanRotate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Zoom(&self, zoomvalue: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Zoom)(::windows_core::Interface::as_raw(self), zoomvalue).ok() @@ -11945,35 +11945,35 @@ impl IUIAutomationTransformPattern2 { } pub unsafe fn CurrentCanZoom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanZoom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanZoom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanZoom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanZoom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanZoom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentZoomLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedZoomLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedZoomLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentZoomMinimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedZoomMinimum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedZoomMinimum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentZoomMaximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedZoomMaximum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedZoomMaximum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11999,42 +11999,42 @@ impl IUIAutomationTreeWalker { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstChildElement(&self, element: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstChildElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstChildElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLastChildElement(&self, element: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastChildElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastChildElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextSiblingElement(&self, element: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextSiblingElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextSiblingElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreviousSiblingElement(&self, element: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousSiblingElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousSiblingElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NormalizeElement(&self, element: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NormalizeElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NormalizeElement)(::windows_core::Interface::as_raw(self), element.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParentElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12042,7 +12042,7 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFirstChildElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12050,7 +12050,7 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstChildElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstChildElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLastChildElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12058,7 +12058,7 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastChildElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastChildElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNextSiblingElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12066,7 +12066,7 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextSiblingElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextSiblingElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPreviousSiblingElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12074,7 +12074,7 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousSiblingElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousSiblingElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NormalizeElementBuildCache(&self, element: P0, cacherequest: P1) -> ::windows_core::Result where @@ -12082,11 +12082,11 @@ impl IUIAutomationTreeWalker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NormalizeElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NormalizeElementBuildCache)(::windows_core::Interface::as_raw(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Condition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Condition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Condition)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12118,19 +12118,19 @@ impl IUIAutomationValuePattern { } pub unsafe fn CurrentValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CurrentIsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedValue(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CachedIsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12164,58 +12164,58 @@ impl IUIAutomationWindowPattern { } pub unsafe fn WaitForInputIdle(&self, milliseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForInputIdle)(::windows_core::Interface::as_raw(self), milliseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForInputIdle)(::windows_core::Interface::as_raw(self), milliseconds, &mut result__).map(|| result__) } pub unsafe fn SetWindowVisualState(&self, state: WindowVisualState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowVisualState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn CurrentCanMaximize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCanMinimize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsModal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsModal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsModal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentIsTopmost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentIsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentIsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentWindowVisualState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentWindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentWindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentWindowInteractionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentWindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentWindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanMaximize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedCanMinimize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedCanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedCanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsModal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsModal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsModal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedIsTopmost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedIsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedIsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedWindowVisualState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedWindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedWindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CachedWindowInteractionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CachedWindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CachedWindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12249,11 +12249,11 @@ impl IValueProvider { } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsReadOnly(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsReadOnly)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12288,31 +12288,31 @@ impl IWindowProvider { } pub unsafe fn WaitForInputIdle(&self, milliseconds: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WaitForInputIdle)(::windows_core::Interface::as_raw(self), milliseconds, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WaitForInputIdle)(::windows_core::Interface::as_raw(self), milliseconds, &mut result__).map(|| result__) } pub unsafe fn CanMaximize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanMaximize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanMinimize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanMinimize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsModal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsModal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsModal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WindowVisualState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowVisualState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn WindowInteractionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowInteractionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsTopmost(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTopmost)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Animation/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Animation/mod.rs index 1ec787c8bc..93308a4026 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Animation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Animation/mod.rs @@ -9,19 +9,19 @@ impl IUIAnimationInterpolator { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InterpolateValue(&self, offset: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterpolateValue)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterpolateValue)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn InterpolateVelocity(&self, offset: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InterpolateVelocity)(::windows_core::Interface::as_raw(self), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InterpolateVelocity)(::windows_core::Interface::as_raw(self), offset, &mut result__).map(|| result__) } pub unsafe fn GetDependencies(&self, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDependencies)(::windows_core::Interface::as_raw(self), initialvaluedependencies, initialvelocitydependencies, durationdependencies).ok() @@ -44,7 +44,7 @@ pub struct IUIAnimationInterpolator_Vtbl { impl IUIAnimationInterpolator2 { pub unsafe fn GetDimension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialValueAndVelocity(&self, initialvalue: *const f64, initialvelocity: *const f64, cdimension: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialValueAndVelocity)(::windows_core::Interface::as_raw(self), initialvalue, initialvelocity, cdimension).ok() @@ -54,7 +54,7 @@ impl IUIAnimationInterpolator2 { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalValue(&self, value: &mut [f64]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(value.as_ptr()), value.len().try_into().unwrap()).ok() @@ -110,7 +110,7 @@ pub struct IUIAnimationLoopIterationChangeHandler2_Vtbl { impl IUIAnimationManager { pub unsafe fn CreateAnimationVariable(&self, initialvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAnimationVariable)(::windows_core::Interface::as_raw(self), initialvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAnimationVariable)(::windows_core::Interface::as_raw(self), initialvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ScheduleTransition(&self, variable: P0, transition: P1, timenow: f64) -> ::windows_core::Result<()> where @@ -121,7 +121,7 @@ impl IUIAnimationManager { } pub unsafe fn CreateStoryboard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FinishAllStoryboards)(::windows_core::Interface::as_raw(self), completiondeadline).ok() @@ -137,18 +137,18 @@ impl IUIAnimationManager { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVariableFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVariableFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoryboardFromTag(&self, object: P0, id: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryboardFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryboardFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAnimationMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -225,11 +225,11 @@ pub struct IUIAnimationManager_Vtbl { impl IUIAnimationManager2 { pub unsafe fn CreateAnimationVectorVariable(&self, initialvalue: &[f64]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAnimationVectorVariable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(initialvalue.as_ptr()), initialvalue.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAnimationVectorVariable)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(initialvalue.as_ptr()), initialvalue.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAnimationVariable(&self, initialvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAnimationVariable)(::windows_core::Interface::as_raw(self), initialvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAnimationVariable)(::windows_core::Interface::as_raw(self), initialvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ScheduleTransition(&self, variable: P0, transition: P1, timenow: f64) -> ::windows_core::Result<()> where @@ -240,7 +240,7 @@ impl IUIAnimationManager2 { } pub unsafe fn CreateStoryboard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FinishAllStoryboards)(::windows_core::Interface::as_raw(self), completiondeadline).ok() @@ -256,22 +256,22 @@ impl IUIAnimationManager2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVariableFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVariableFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoryboardFromTag(&self, object: P0, id: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryboardFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryboardFromTag)(::windows_core::Interface::as_raw(self), object.into_param().abi(), id, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EstimateNextEventTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EstimateNextEventTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EstimateNextEventTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAnimationMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -438,14 +438,14 @@ impl IUIAnimationStoryboard { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddKeyframeAtOffset)(::windows_core::Interface::as_raw(self), existingkeyframe.into_param().abi(), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddKeyframeAtOffset)(::windows_core::Interface::as_raw(self), existingkeyframe.into_param().abi(), offset, &mut result__).map(|| result__) } pub unsafe fn AddKeyframeAfterTransition(&self, transition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddKeyframeAfterTransition)(::windows_core::Interface::as_raw(self), transition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddKeyframeAfterTransition)(::windows_core::Interface::as_raw(self), transition.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddTransitionAtKeyframe(&self, variable: P0, transition: P1, startkeyframe: P2) -> ::windows_core::Result<()> where @@ -503,11 +503,11 @@ impl IUIAnimationStoryboard { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElapsedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStoryboardEventHandler(&self, handler: P0) -> ::windows_core::Result<()> where @@ -553,14 +553,14 @@ impl IUIAnimationStoryboard2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddKeyframeAtOffset)(::windows_core::Interface::as_raw(self), existingkeyframe.into_param().abi(), offset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddKeyframeAtOffset)(::windows_core::Interface::as_raw(self), existingkeyframe.into_param().abi(), offset, &mut result__).map(|| result__) } pub unsafe fn AddKeyframeAfterTransition(&self, transition: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddKeyframeAfterTransition)(::windows_core::Interface::as_raw(self), transition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddKeyframeAfterTransition)(::windows_core::Interface::as_raw(self), transition.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AddTransitionAtKeyframe(&self, variable: P0, transition: P1, startkeyframe: P2) -> ::windows_core::Result<()> where @@ -623,11 +623,11 @@ impl IUIAnimationStoryboard2 { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetElapsedTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetElapsedTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStoryboardEventHandler(&self, handler: P0, fregisterstatuschangefornextanimationevent: P1, fregisterupdatefornextanimationevent: P2) -> ::windows_core::Result<()> where @@ -733,7 +733,7 @@ impl IUIAnimationTimer { } pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFrameRateThreshold(&self, framespersecond: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrameRateThreshold)(::windows_core::Interface::as_raw(self), framespersecond).ok() @@ -790,7 +790,7 @@ pub struct IUIAnimationTimerEventHandler_Vtbl { impl IUIAnimationTimerUpdateHandler { pub unsafe fn OnUpdate(&self, timenow: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnUpdate)(::windows_core::Interface::as_raw(self), timenow, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnUpdate)(::windows_core::Interface::as_raw(self), timenow, &mut result__).map(|| result__) } pub unsafe fn SetTimerClientEventHandler(&self, handler: P0) -> ::windows_core::Result<()> where @@ -824,7 +824,7 @@ impl IUIAnimationTransition { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -841,7 +841,7 @@ pub struct IUIAnimationTransition_Vtbl { impl IUIAnimationTransition2 { pub unsafe fn GetDimension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialValue(&self, value: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialValue)(::windows_core::Interface::as_raw(self), value).ok() @@ -860,7 +860,7 @@ impl IUIAnimationTransition2 { } pub unsafe fn GetDuration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -883,7 +883,7 @@ impl IUIAnimationTransitionFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransition)(::windows_core::Interface::as_raw(self), interpolator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransition)(::windows_core::Interface::as_raw(self), interpolator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -900,7 +900,7 @@ impl IUIAnimationTransitionFactory2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTransition)(::windows_core::Interface::as_raw(self), interpolator.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTransition)(::windows_core::Interface::as_raw(self), interpolator.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -914,51 +914,51 @@ pub struct IUIAnimationTransitionFactory2_Vtbl { impl IUIAnimationTransitionLibrary { pub unsafe fn CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstantaneousTransition)(::windows_core::Interface::as_raw(self), finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstantaneousTransition)(::windows_core::Interface::as_raw(self), finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantTransition(&self, duration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateConstantTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateConstantTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDiscreteTransition)(::windows_core::Interface::as_raw(self), delay, finalvalue, hold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDiscreteTransition)(::windows_core::Interface::as_raw(self), delay, finalvalue, hold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromVelocity)(::windows_core::Interface::as_raw(self), duration, period, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromVelocity)(::windows_core::Interface::as_raw(self), duration, period, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromRange)(::windows_core::Interface::as_raw(self), duration, minimumvalue, maximumvalue, period, slope, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromRange)(::windows_core::Interface::as_raw(self), duration, minimumvalue, maximumvalue, period, slope, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAccelerateDecelerateTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, accelerationratio, decelerationratio, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAccelerateDecelerateTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, accelerationratio, decelerationratio, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateReversalTransition(&self, duration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReversalTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReversalTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCubicTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCubicTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSmoothStopTransition)(::windows_core::Interface::as_raw(self), maximumduration, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSmoothStopTransition)(::windows_core::Interface::as_raw(self), maximumduration, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateParabolicTransitionFromAcceleration)(::windows_core::Interface::as_raw(self), finalvalue, finalvelocity, acceleration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateParabolicTransitionFromAcceleration)(::windows_core::Interface::as_raw(self), finalvalue, finalvelocity, acceleration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -983,79 +983,79 @@ pub struct IUIAnimationTransitionLibrary_Vtbl { impl IUIAnimationTransitionLibrary2 { pub unsafe fn CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstantaneousTransition)(::windows_core::Interface::as_raw(self), finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstantaneousTransition)(::windows_core::Interface::as_raw(self), finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateInstantaneousVectorTransition(&self, finalvalue: &[f64]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInstantaneousVectorTransition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInstantaneousVectorTransition)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateConstantTransition(&self, duration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateConstantTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateConstantTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDiscreteTransition)(::windows_core::Interface::as_raw(self), delay, finalvalue, hold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDiscreteTransition)(::windows_core::Interface::as_raw(self), delay, finalvalue, hold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateDiscreteVectorTransition(&self, delay: f64, finalvalue: &[f64], hold: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDiscreteVectorTransition)(::windows_core::Interface::as_raw(self), delay, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), hold, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDiscreteVectorTransition)(::windows_core::Interface::as_raw(self), delay, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), hold, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearVectorTransition(&self, duration: f64, finalvalue: &[f64]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearVectorTransition)(::windows_core::Interface::as_raw(self), duration, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearVectorTransition)(::windows_core::Interface::as_raw(self), duration, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateLinearVectorTransitionFromSpeed(&self, speed: f64, finalvalue: &[f64]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateLinearVectorTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateLinearVectorTransitionFromSpeed)(::windows_core::Interface::as_raw(self), speed, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromVelocity)(::windows_core::Interface::as_raw(self), duration, period, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromVelocity)(::windows_core::Interface::as_raw(self), duration, period, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromRange)(::windows_core::Interface::as_raw(self), duration, minimumvalue, maximumvalue, period, slope, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSinusoidalTransitionFromRange)(::windows_core::Interface::as_raw(self), duration, minimumvalue, maximumvalue, period, slope, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateAccelerateDecelerateTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, accelerationratio, decelerationratio, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAccelerateDecelerateTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, accelerationratio, decelerationratio, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateReversalTransition(&self, duration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateReversalTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateReversalTransition)(::windows_core::Interface::as_raw(self), duration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCubicTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCubicTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCubicVectorTransition(&self, duration: f64, finalvalue: *const f64, finalvelocity: *const f64, cdimension: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCubicVectorTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, cdimension, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCubicVectorTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, finalvelocity, cdimension, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSmoothStopTransition)(::windows_core::Interface::as_raw(self), maximumduration, finalvalue, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSmoothStopTransition)(::windows_core::Interface::as_raw(self), maximumduration, finalvalue, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateParabolicTransitionFromAcceleration)(::windows_core::Interface::as_raw(self), finalvalue, finalvelocity, acceleration, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateParabolicTransitionFromAcceleration)(::windows_core::Interface::as_raw(self), finalvalue, finalvelocity, acceleration, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCubicBezierLinearTransition(&self, duration: f64, finalvalue: f64, x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCubicBezierLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, x1, y1, x2, y2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCubicBezierLinearTransition)(::windows_core::Interface::as_raw(self), duration, finalvalue, x1, y1, x2, y2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateCubicBezierLinearVectorTransition(&self, duration: f64, finalvalue: &[f64], x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateCubicBezierLinearVectorTransition)(::windows_core::Interface::as_raw(self), duration, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), x1, y1, x2, y2, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCubicBezierLinearVectorTransition)(::windows_core::Interface::as_raw(self), duration, ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap(), x1, y1, x2, y2, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1087,31 +1087,31 @@ pub struct IUIAnimationTransitionLibrary2_Vtbl { impl IUIAnimationVariable { pub unsafe fn GetValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreviousValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreviousIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCurrentStoryboard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLowerBound(&self, bound: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowerBound)(::windows_core::Interface::as_raw(self), bound).ok() @@ -1168,11 +1168,11 @@ pub struct IUIAnimationVariable_Vtbl { impl IUIAnimationVariable2 { pub unsafe fn GetDimension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDimension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVectorValue(&self, value: &mut [f64]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(value.as_ptr()), value.len().try_into().unwrap()).ok() @@ -1190,42 +1190,42 @@ impl IUIAnimationVariable2 { } pub unsafe fn GetFinalValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalVectorValue(&self, finalvalue: &mut [f64]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFinalVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap()).ok() } pub unsafe fn GetPreviousValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreviousVectorValue(&self, previousvalue: &mut [f64]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreviousVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(previousvalue.as_ptr()), previousvalue.len().try_into().unwrap()).ok() } pub unsafe fn GetIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIntegerVectorValue(&self, value: &mut [i32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIntegerVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(value.as_ptr()), value.len().try_into().unwrap()).ok() } pub unsafe fn GetFinalIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFinalIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFinalIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFinalIntegerVectorValue(&self, finalvalue: &mut [i32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFinalIntegerVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(finalvalue.as_ptr()), finalvalue.len().try_into().unwrap()).ok() } pub unsafe fn GetPreviousIntegerValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousIntegerValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreviousIntegerVectorValue(&self, previousvalue: &mut [i32]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreviousIntegerVectorValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(previousvalue.as_ptr()), previousvalue.len().try_into().unwrap()).ok() } pub unsafe fn GetCurrentStoryboard(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentStoryboard)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetLowerBound(&self, bound: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLowerBound)(::windows_core::Interface::as_raw(self), bound).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/ColorSystem/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/ColorSystem/mod.rs index 95ab8a306e..44afb0eb8e 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/ColorSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/ColorSystem/mod.rs @@ -200,7 +200,7 @@ where pub unsafe fn ColorProfileGetDisplayDefault(scope: WCS_PROFILE_MANAGEMENT_SCOPE, targetadapterid: super::super::Foundation::LUID, sourceid: u32, profiletype: COLORPROFILETYPE, profilesubtype: COLORPROFILESUBTYPE) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("mscms.dll" "system" fn ColorProfileGetDisplayDefault(scope : WCS_PROFILE_MANAGEMENT_SCOPE, targetadapterid : super::super::Foundation:: LUID, sourceid : u32, profiletype : COLORPROFILETYPE, profilesubtype : COLORPROFILESUBTYPE, profilename : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ColorProfileGetDisplayDefault(scope, ::core::mem::transmute(targetadapterid), sourceid, profiletype, profilesubtype, &mut result__).from_abi(result__) + ColorProfileGetDisplayDefault(scope, ::core::mem::transmute(targetadapterid), sourceid, profiletype, profilesubtype, &mut result__).map(|| result__) } #[inline] pub unsafe fn ColorProfileGetDisplayList(scope: WCS_PROFILE_MANAGEMENT_SCOPE, targetadapterid: super::super::Foundation::LUID, sourceid: u32, profilelist: *mut *mut ::windows_core::PWSTR, profilecount: *mut u32) -> ::windows_core::Result<()> { @@ -211,7 +211,7 @@ pub unsafe fn ColorProfileGetDisplayList(scope: WCS_PROFILE_MANAGEMENT_SCOPE, ta pub unsafe fn ColorProfileGetDisplayUserScope(targetadapterid: super::super::Foundation::LUID, sourceid: u32) -> ::windows_core::Result { ::windows_targets::link!("mscms.dll" "system" fn ColorProfileGetDisplayUserScope(targetadapterid : super::super::Foundation:: LUID, sourceid : u32, scope : *mut WCS_PROFILE_MANAGEMENT_SCOPE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ColorProfileGetDisplayUserScope(::core::mem::transmute(targetadapterid), sourceid, &mut result__).from_abi(result__) + ColorProfileGetDisplayUserScope(::core::mem::transmute(targetadapterid), sourceid, &mut result__).map(|| result__) } #[inline] pub unsafe fn ColorProfileRemoveDisplayAssociation(scope: WCS_PROFILE_MANAGEMENT_SCOPE, profilename: P0, targetadapterid: super::super::Foundation::LUID, sourceid: u32, dissociateadvancedcolor: P1) -> ::windows_core::Result<()> @@ -848,18 +848,18 @@ impl IDeviceModelPlugIn { } pub unsafe fn GetNumChannels(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumChannels)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumChannels)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeviceToColorimetricColors(&self, cchannels: u32, pdevicevalues: *const f32, pxyzcolors: &mut [XYZColorF]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DeviceToColorimetricColors)(::windows_core::Interface::as_raw(self), pxyzcolors.len().try_into().unwrap(), cchannels, pdevicevalues, ::core::mem::transmute(pxyzcolors.as_ptr())).ok() } pub unsafe fn ColorimetricToDeviceColors(&self, cchannels: u32, pxyzcolors: &[XYZColorF]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColorimetricToDeviceColors)(::windows_core::Interface::as_raw(self), pxyzcolors.len().try_into().unwrap(), cchannels, ::core::mem::transmute(pxyzcolors.as_ptr()), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColorimetricToDeviceColors)(::windows_core::Interface::as_raw(self), pxyzcolors.len().try_into().unwrap(), cchannels, ::core::mem::transmute(pxyzcolors.as_ptr()), &mut result__).map(|| result__) } pub unsafe fn ColorimetricToDeviceColorsWithBlack(&self, ccolors: u32, cchannels: u32, pxyzcolors: *const XYZColorF, pblackinformation: *const BlackInformation) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ColorimetricToDeviceColorsWithBlack)(::windows_core::Interface::as_raw(self), ccolors, cchannels, pxyzcolors, pblackinformation, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ColorimetricToDeviceColorsWithBlack)(::windows_core::Interface::as_raw(self), ccolors, cchannels, pxyzcolors, pblackinformation, &mut result__).map(|| result__) } pub unsafe fn SetTransformDeviceModelInfo(&self, imodelposition: u32, pidevicemodelother: P0) -> ::windows_core::Result<()> where @@ -878,7 +878,7 @@ impl IDeviceModelPlugIn { } pub unsafe fn GetNeutralAxisSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNeutralAxisSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNeutralAxisSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNeutralAxis(&self, pxyzcolors: &mut [XYZColorF]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetNeutralAxis)(::windows_core::Interface::as_raw(self), pxyzcolors.len().try_into().unwrap(), ::core::mem::transmute(pxyzcolors.as_ptr())).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/Controls/RichEdit/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Controls/RichEdit/mod.rs index f59d4c1c30..2544dff276 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Controls/RichEdit/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Controls/RichEdit/mod.rs @@ -4,7 +4,7 @@ impl IRichEditOle { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetClientSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObjectCount(&self) -> i32 { (::windows_core::Interface::vtable(self).GetObjectCount)(::windows_core::Interface::as_raw(self)) @@ -122,7 +122,7 @@ impl IRichEditOleCallback { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetNewStorage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNewStorage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNewStorage)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_WindowsAndMessaging"))] pub unsafe fn GetInPlaceContext(&self, lplpframe: *mut ::core::option::Option, lplpdoc: *mut ::core::option::Option, lpframeinfo: *mut super::super::super::System::Ole::OLEINPLACEFRAMEINFO) -> ::windows_core::Result<()> { @@ -254,32 +254,32 @@ pub struct ITextDisplays_Vtbl { impl ITextDocument { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStoryRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSaved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSaved(&self, value: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSaved)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetDefaultTabStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultTabStop(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultTabStop)(::windows_core::Interface::as_raw(self), value).ok() @@ -295,11 +295,11 @@ impl ITextDocument { } pub unsafe fn Freeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Freeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Freeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Unfreeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginEditCollection(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginEditCollection)(::windows_core::Interface::as_raw(self)).ok() @@ -309,21 +309,21 @@ impl ITextDocument { } pub unsafe fn Undo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } pub unsafe fn Redo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Range(&self, cpactive: i32, cpanchor: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RangeFromPoint(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -371,32 +371,32 @@ pub struct ITextDocument_Vtbl { impl ITextDocument2 { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStoryRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSaved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSaved(&self, value: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSaved)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetDefaultTabStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultTabStop(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDefaultTabStop)(::windows_core::Interface::as_raw(self), value).ok() @@ -412,11 +412,11 @@ impl ITextDocument2 { } pub unsafe fn Freeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Freeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Freeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Unfreeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginEditCollection(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginEditCollection)(::windows_core::Interface::as_raw(self)).ok() @@ -426,25 +426,25 @@ impl ITextDocument2 { } pub unsafe fn Undo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } pub unsafe fn Redo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Range(&self, cpactive: i32, cpanchor: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RangeFromPoint(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCaretType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaretType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaretType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCaretType(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCaretType)(::windows_core::Interface::as_raw(self), value).ok() @@ -452,12 +452,12 @@ impl ITextDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDisplays(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplays)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplays)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocumentFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDocumentFont(&self, pfont: P0) -> ::windows_core::Result<()> @@ -469,7 +469,7 @@ impl ITextDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocumentPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDocumentPara(&self, ppara: P0) -> ::windows_core::Result<()> @@ -480,18 +480,18 @@ impl ITextDocument2 { } pub unsafe fn GetEastAsianFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEastAsianFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEastAsianFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGenerator(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGenerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGenerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetIMEInProgress(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIMEInProgress)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetNotificationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotificationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotificationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationMode(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotificationMode)(::windows_core::Interface::as_raw(self), value).ok() @@ -499,24 +499,24 @@ impl ITextDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStoryRanges2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryRanges2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryRanges2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTypographyOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypographyOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypographyOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVersion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AttachMsgFilter(&self, pfilter: P0) -> ::windows_core::Result<()> where @@ -529,30 +529,30 @@ impl ITextDocument2 { } pub unsafe fn GetCallManager(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCallManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCallManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetClientRect(&self, r#type: tomConstants, pleft: *mut i32, ptop: *mut i32, pright: *mut i32, pbottom: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetClientRect)(::windows_core::Interface::as_raw(self), r#type, pleft, ptop, pright, pbottom).ok() } pub unsafe fn GetEffectColor(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectColor)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectColor)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetImmContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImmContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImmContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPreferredFont(&self, cp: i32, charrep: i32, options: i32, curcharrep: i32, curfontsize: i32, pbstr: *mut ::windows_core::BSTR, ppitchandfamily: *mut i32, pnewfontsize: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPreferredFont)(::windows_core::Interface::as_raw(self), cp, charrep, options, curcharrep, curfontsize, ::core::mem::transmute(pbstr), ppitchandfamily, pnewfontsize).ok() } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStrings(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrings)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrings)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Notify(&self, notify: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Notify)(::windows_core::Interface::as_raw(self), notify).ok() @@ -560,12 +560,12 @@ impl ITextDocument2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Range2(&self, cpactive: i32, cpanchor: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Range2)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Range2)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RangeFromPoint2(&self, x: i32, y: i32, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RangeFromPoint2)(::windows_core::Interface::as_raw(self), x, y, r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RangeFromPoint2)(::windows_core::Interface::as_raw(self), x, y, r#type, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReleaseCallManager(&self, pvoid: P0) -> ::windows_core::Result<()> where @@ -596,14 +596,14 @@ impl ITextDocument2 { } pub unsafe fn GetMathProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMathProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMathProperties)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMathProperties(&self, options: i32, mask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMathProperties)(::windows_core::Interface::as_raw(self), options, mask).ok() } pub unsafe fn GetActiveStory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveStory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveStory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetActiveStory(&self, pstory: P0) -> ::windows_core::Result<()> where @@ -613,15 +613,15 @@ impl ITextDocument2 { } pub unsafe fn GetMainStory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMainStory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMainStory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNewStory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNewStory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNewStory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStory(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStory)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStory)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -712,32 +712,32 @@ pub struct ITextDocument2_Vtbl { impl ITextDocument2Old { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStoryCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStoryRanges(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSaved(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSaved)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSaved(&self, value: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSaved)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetDefaultTabStop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultTabStop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultTabStop(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDefaultTabStop)(::windows_core::Interface::as_raw(self), value).ok() @@ -753,11 +753,11 @@ impl ITextDocument2Old { } pub unsafe fn Freeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Freeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Freeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Unfreeze(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Unfreeze)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginEditCollection(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginEditCollection)(::windows_core::Interface::as_raw(self)).ok() @@ -767,21 +767,21 @@ impl ITextDocument2Old { } pub unsafe fn Undo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Undo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } pub unsafe fn Redo(&self, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Redo)(::windows_core::Interface::as_raw(self), count, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Range(&self, cpactive: i32, cpanchor: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Range)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RangeFromPoint(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RangeFromPoint)(::windows_core::Interface::as_raw(self), x, y, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AttachMsgFilter(&self, pfilter: P0) -> ::windows_core::Result<()> where @@ -797,18 +797,18 @@ impl ITextDocument2Old { } pub unsafe fn GetEffectColor(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEffectColor)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEffectColor)(::windows_core::Interface::as_raw(self), index, &mut result__).map(|| result__) } pub unsafe fn GetCaretType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCaretType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCaretType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCaretType(&self, carettype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCaretType)(::windows_core::Interface::as_raw(self), carettype).ok() } pub unsafe fn GetImmContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImmContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImmContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ReleaseImmContext(&self, context: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseImmContext)(::windows_core::Interface::as_raw(self), context).ok() @@ -818,7 +818,7 @@ impl ITextDocument2Old { } pub unsafe fn GetNotificationMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNotificationMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNotificationMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNotificationMode(&self, mode: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNotificationMode)(::windows_core::Interface::as_raw(self), mode).ok() @@ -829,15 +829,15 @@ impl ITextDocument2Old { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetSelection2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFEFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFEFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFEFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UpdateWindow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateWindow)(::windows_core::Interface::as_raw(self)).ok() @@ -860,16 +860,16 @@ impl ITextDocument2Old { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocumentFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocumentPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCallManager(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCallManager)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCallManager)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReleaseCallManager(&self, pvoid: P0) -> ::windows_core::Result<()> where @@ -926,7 +926,7 @@ impl ITextFont { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate(&self, pfont: P0) -> ::windows_core::Result<()> @@ -937,7 +937,7 @@ impl ITextFont { } pub unsafe fn CanChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, pfont: P0) -> ::windows_core::Result @@ -945,98 +945,98 @@ impl ITextFont { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, value: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStyle(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStyle)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAllCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAllCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAllCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllCaps(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAllCaps)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnimation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnimation(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAnimation)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetBackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColor)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetBold(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBold)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBold(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBold)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetEmboss(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmboss)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmboss)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEmboss(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEmboss)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetForeColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetForeColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForeColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForeColor(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetForeColor)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHidden(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHidden)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetEngrave(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEngrave)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEngrave)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEngrave(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEngrave)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetItalic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItalic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItalic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetItalic(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetItalic)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKerning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKerning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKerning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKerning(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKerning)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetLanguageID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguageID(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLanguageID)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1046,84 +1046,84 @@ impl ITextFont { } pub unsafe fn GetOutline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutline(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOutline)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPosition)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetProtected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProtected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProtected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtected(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetProtected)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetShadow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShadow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShadow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShadow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetShadow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSize(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSize)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSmallCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSmallCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSmallCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmallCaps(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSmallCaps)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpacing(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpacing)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStrikeThrough(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrikeThrough)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrikeThrough)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrikeThrough(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStrikeThrough)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSubscript(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubscript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubscript)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubscript(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSubscript)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSuperscript(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSuperscript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSuperscript)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuperscript(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSuperscript)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetUnderline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnderline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnderline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnderline(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUnderline)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetWeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWeight(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWeight)(::windows_core::Interface::as_raw(self), value).ok() @@ -1208,7 +1208,7 @@ impl ITextFont2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate(&self, pfont: P0) -> ::windows_core::Result<()> @@ -1219,7 +1219,7 @@ impl ITextFont2 { } pub unsafe fn CanChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, pfont: P0) -> ::windows_core::Result @@ -1227,98 +1227,98 @@ impl ITextFont2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, value: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStyle(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStyle)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAllCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAllCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAllCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAllCaps(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAllCaps)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAnimation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAnimation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAnimation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAnimation(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAnimation)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetBackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBackColor)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetBold(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBold)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBold(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetBold)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetEmboss(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEmboss)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEmboss)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEmboss(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEmboss)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetForeColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetForeColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetForeColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetForeColor(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetForeColor)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHidden(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHidden)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHidden)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHidden(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHidden)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetEngrave(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEngrave)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEngrave)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEngrave(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEngrave)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetItalic(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItalic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItalic)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetItalic(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetItalic)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKerning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetKerning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetKerning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKerning(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKerning)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetLanguageID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLanguageID(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLanguageID)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -1328,144 +1328,144 @@ impl ITextFont2 { } pub unsafe fn GetOutline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOutline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOutline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOutline(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOutline)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPosition)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetProtected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProtected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProtected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetProtected(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetProtected)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetShadow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetShadow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetShadow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShadow(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetShadow)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSize(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSize)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSmallCaps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSmallCaps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSmallCaps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSmallCaps(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSmallCaps)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpacing(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpacing)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStrikeThrough(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStrikeThrough)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStrikeThrough)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStrikeThrough(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStrikeThrough)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSubscript(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSubscript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSubscript)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSubscript(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSubscript)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSuperscript(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSuperscript)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSuperscript)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSuperscript(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSuperscript)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetUnderline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUnderline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUnderline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnderline(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetUnderline)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetWeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWeight(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetWeight)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAutoLigatures(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutoLigatures)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutoLigatures)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoLigatures(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutoLigatures)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAutospaceAlpha(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutospaceAlpha)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutospaceAlpha)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutospaceAlpha(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutospaceAlpha)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAutospaceNumeric(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutospaceNumeric)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutospaceNumeric)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutospaceNumeric(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutospaceNumeric)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAutospaceParens(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAutospaceParens)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAutospaceParens)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutospaceParens(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAutospaceParens)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCharRep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCharRep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCharRep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCharRep(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCharRep)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCompressionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompressionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompressionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompressionMode(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCompressionMode)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCookie(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCookie)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetDoubleStrike(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDoubleStrike)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDoubleStrike)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDoubleStrike(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDoubleStrike)(::windows_core::Interface::as_raw(self), value).ok() @@ -1473,7 +1473,7 @@ impl ITextFont2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate2(&self, pfont: P0) -> ::windows_core::Result<()> @@ -1484,67 +1484,67 @@ impl ITextFont2 { } pub unsafe fn GetLinkType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMathZone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMathZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMathZone)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMathZone(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMathZone)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetModWidthPairs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModWidthPairs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModWidthPairs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModWidthPairs(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetModWidthPairs)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetModWidthSpace(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetModWidthSpace)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetModWidthSpace)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModWidthSpace(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetModWidthSpace)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetOldNumbers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOldNumbers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOldNumbers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOldNumbers(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOldNumbers)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetOverlapping(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverlapping)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverlapping)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOverlapping(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOverlapping)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetPositionSubSuper(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPositionSubSuper)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPositionSubSuper)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPositionSubSuper(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPositionSubSuper)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetScaling(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScaling)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScaling)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScaling(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScaling)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSpaceExtension(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpaceExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpaceExtension)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpaceExtension(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpaceExtension)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetUnderlinePositionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUnderlinePositionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUnderlinePositionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUnderlinePositionMode(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetUnderlinePositionMode)(::windows_core::Interface::as_raw(self), value).ok() @@ -1557,7 +1557,7 @@ impl ITextFont2 { } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn GetPropertyInfo(&self, index: i32, ptype: *mut i32, pvalue: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPropertyInfo)(::windows_core::Interface::as_raw(self), index, ptype, pvalue).ok() @@ -1568,7 +1568,7 @@ impl ITextFont2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual2)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual2)(::windows_core::Interface::as_raw(self), pfont.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetEffects(&self, value: i32, mask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffects)(::windows_core::Interface::as_raw(self), value, mask).ok() @@ -1775,7 +1775,7 @@ impl ITextHost { } pub unsafe fn TxGetPasswordChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TxGetPasswordChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TxGetPasswordChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TxGetAcceleratorPos(&self, pcp: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TxGetAcceleratorPos)(::windows_core::Interface::as_raw(self), pcp).ok() @@ -2022,7 +2022,7 @@ impl ITextHost2 { } pub unsafe fn TxGetPasswordChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TxGetPasswordChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TxGetPasswordChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TxGetAcceleratorPos(&self, pcp: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.TxGetAcceleratorPos)(::windows_core::Interface::as_raw(self), pcp).ok() @@ -2140,7 +2140,7 @@ impl ITextPara { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate(&self, ppara: P0) -> ::windows_core::Result<()> @@ -2151,7 +2151,7 @@ impl ITextPara { } pub unsafe fn CanChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, ppara: P0) -> ::windows_core::Result @@ -2159,114 +2159,114 @@ impl ITextPara { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStyle(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStyle)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHyphenation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHyphenation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHyphenation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHyphenation(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHyphenation)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetFirstLineIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstLineIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstLineIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeepTogether(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepTogether(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeepTogether)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKeepWithNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepWithNext(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeepWithNext)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetLeftIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLeftIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLeftIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLineSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLineSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLineSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLineSpacingRule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLineSpacingRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLineSpacingRule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetListAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListLevelIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListLevelIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListLevelIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListLevelIndex(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListLevelIndex)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListStart(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListStart)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListTab(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListTab)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListTab)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListTab(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListTab)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetListType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetListType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListType(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetListType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetNoLineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNoLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNoLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoLineNumber(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetNoLineNumber)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetPageBreakBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPageBreakBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPageBreakBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPageBreakBefore(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPageBreakBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetRightIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRightIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRightIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRightIndent(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRightIndent)(::windows_core::Interface::as_raw(self), value).ok() @@ -2279,28 +2279,28 @@ impl ITextPara { } pub unsafe fn GetSpaceAfter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpaceAfter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpaceAfter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpaceAfter(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpaceAfter)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSpaceBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSpaceBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSpaceBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpaceBefore(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSpaceBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetWidowControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWidowControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWidowControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidowControl(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidowControl)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetTabCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTabCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTabCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTab(&self, tbpos: f32, tbalign: i32, tbleader: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddTab)(::windows_core::Interface::as_raw(self), tbpos, tbalign, tbleader).ok() @@ -2387,7 +2387,7 @@ impl ITextPara2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate(&self, ppara: P0) -> ::windows_core::Result<()> @@ -2398,7 +2398,7 @@ impl ITextPara2 { } pub unsafe fn CanChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, ppara: P0) -> ::windows_core::Result @@ -2406,114 +2406,114 @@ impl ITextPara2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStyle(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStyle)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHyphenation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetHyphenation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetHyphenation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHyphenation(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHyphenation)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetFirstLineIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFirstLineIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFirstLineIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeepTogether(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepTogether(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeepTogether)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKeepWithNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepWithNext(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetKeepWithNext)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetLeftIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLeftIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLeftIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLineSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLineSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLineSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLineSpacingRule(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLineSpacingRule)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLineSpacingRule)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetListAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetListAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetListAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListLevelIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetListLevelIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetListLevelIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListLevelIndex(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListLevelIndex)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetListStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetListStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListStart(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListStart)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListTab(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetListTab)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetListTab)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListTab(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListTab)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetListType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetListType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetListType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetListType(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetListType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetNoLineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNoLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNoLineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetNoLineNumber(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetNoLineNumber)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetPageBreakBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPageBreakBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPageBreakBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPageBreakBefore(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetPageBreakBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetRightIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRightIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRightIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRightIndent(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetRightIndent)(::windows_core::Interface::as_raw(self), value).ok() @@ -2526,28 +2526,28 @@ impl ITextPara2 { } pub unsafe fn GetSpaceAfter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpaceAfter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpaceAfter)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpaceAfter(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpaceAfter)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSpaceBefore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSpaceBefore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSpaceBefore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSpaceBefore(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetSpaceBefore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetWidowControl(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWidowControl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWidowControl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidowControl(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetWidowControl)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetTabCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTabCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTabCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddTab(&self, tbpos: f32, tbalign: i32, tbleader: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.AddTab)(::windows_core::Interface::as_raw(self), tbpos, tbalign, tbleader).ok() @@ -2563,12 +2563,12 @@ impl ITextPara2 { } pub unsafe fn GetBorders(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDuplicate2(&self, ppara: P0) -> ::windows_core::Result<()> @@ -2579,28 +2579,28 @@ impl ITextPara2 { } pub unsafe fn GetFontAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFontAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFontAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFontAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFontAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHangingPunctuation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHangingPunctuation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHangingPunctuation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHangingPunctuation(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHangingPunctuation)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetSnapToGrid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSnapToGrid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSnapToGrid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSnapToGrid(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSnapToGrid)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetTrimPunctuationAtStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTrimPunctuationAtStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTrimPunctuationAtStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTrimPunctuationAtStart(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTrimPunctuationAtStart)(::windows_core::Interface::as_raw(self), value).ok() @@ -2610,7 +2610,7 @@ impl ITextPara2 { } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual2(&self, ppara: P0) -> ::windows_core::Result @@ -2618,7 +2618,7 @@ impl ITextPara2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual2)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual2)(::windows_core::Interface::as_raw(self), ppara.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetEffects(&self, value: i32, mask: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEffects)(::windows_core::Interface::as_raw(self), value, mask).ok() @@ -2666,7 +2666,7 @@ pub struct ITextPara2_Vtbl { impl ITextRange { pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -2676,7 +2676,7 @@ impl ITextRange { } pub unsafe fn GetChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChar(&self, char: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChar)(::windows_core::Interface::as_raw(self), char).ok() @@ -2684,12 +2684,12 @@ impl ITextRange { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText(&self, prange: P0) -> ::windows_core::Result<()> @@ -2700,14 +2700,14 @@ impl ITextRange { } pub unsafe fn GetStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStart(&self, cpfirst: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStart)(::windows_core::Interface::as_raw(self), cpfirst).ok() } pub unsafe fn GetEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnd(&self, cplim: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEnd)(::windows_core::Interface::as_raw(self), cplim).ok() @@ -2715,7 +2715,7 @@ impl ITextRange { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont(&self, pfont: P0) -> ::windows_core::Result<()> @@ -2727,7 +2727,7 @@ impl ITextRange { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara(&self, ppara: P0) -> ::windows_core::Result<()> @@ -2738,22 +2738,22 @@ impl ITextRange { } pub unsafe fn GetStoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStoryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, bstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Collapse)(::windows_core::Interface::as_raw(self), bstart).ok() } pub unsafe fn Expand(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn GetIndex(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, unit: i32, index: i32, extend: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIndex)(::windows_core::Interface::as_raw(self), unit, index, extend).ok() @@ -2767,7 +2767,7 @@ impl ITextRange { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InStory(&self, prange: P0) -> ::windows_core::Result @@ -2775,7 +2775,7 @@ impl ITextRange { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, prange: P0) -> ::windows_core::Result @@ -2783,98 +2783,98 @@ impl ITextRange { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Select(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Select)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn StartOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn Move(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveStart(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEnd(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn FindText(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextStart(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextEnd(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn Delete(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn Cut(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copy(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Paste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Paste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format).ok() } pub unsafe fn CanPaste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).map(|| result__) } pub unsafe fn CanEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCase(&self, r#type: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ChangeCase)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -2890,7 +2890,7 @@ impl ITextRange { } pub unsafe fn GetEmbeddedObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -2988,7 +2988,7 @@ pub struct ITextRange_Vtbl { impl ITextRange2 { pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -2998,7 +2998,7 @@ impl ITextRange2 { } pub unsafe fn GetChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChar(&self, char: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetChar)(::windows_core::Interface::as_raw(self), char).ok() @@ -3006,12 +3006,12 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText(&self, prange: P0) -> ::windows_core::Result<()> @@ -3022,14 +3022,14 @@ impl ITextRange2 { } pub unsafe fn GetStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStart(&self, cpfirst: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetStart)(::windows_core::Interface::as_raw(self), cpfirst).ok() } pub unsafe fn GetEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnd(&self, cplim: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetEnd)(::windows_core::Interface::as_raw(self), cplim).ok() @@ -3037,7 +3037,7 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont(&self, pfont: P0) -> ::windows_core::Result<()> @@ -3049,7 +3049,7 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara(&self, ppara: P0) -> ::windows_core::Result<()> @@ -3060,22 +3060,22 @@ impl ITextRange2 { } pub unsafe fn GetStoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStoryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, bstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Collapse)(::windows_core::Interface::as_raw(self), bstart).ok() } pub unsafe fn Expand(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn GetIndex(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, unit: i32, index: i32, extend: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetIndex)(::windows_core::Interface::as_raw(self), unit, index, extend).ok() @@ -3089,7 +3089,7 @@ impl ITextRange2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InStory(&self, prange: P0) -> ::windows_core::Result @@ -3097,7 +3097,7 @@ impl ITextRange2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, prange: P0) -> ::windows_core::Result @@ -3105,98 +3105,98 @@ impl ITextRange2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Select(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Select)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn StartOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn Move(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveStart(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEnd(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn FindText(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextStart(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextEnd(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn Delete(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn Cut(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copy(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Paste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.Paste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format).ok() } pub unsafe fn CanPaste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).map(|| result__) } pub unsafe fn CanEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCase(&self, r#type: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ChangeCase)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -3212,42 +3212,42 @@ impl ITextRange2 { } pub unsafe fn GetEmbeddedObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveLeft(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveRight(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveUp(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveDown(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn HomeKey(&self, unit: tomConstants, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndKey(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn TypeText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -3257,29 +3257,29 @@ impl ITextRange2 { } pub unsafe fn GetCch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCells(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCells)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCells)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColumn(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFont2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont2(&self, pfont: P0) -> ::windows_core::Result<()> @@ -3291,7 +3291,7 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText2(&self, prange: P0) -> ::windows_core::Result<()> @@ -3302,7 +3302,7 @@ impl ITextRange2 { } pub unsafe fn GetGravity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGravity(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetGravity)(::windows_core::Interface::as_raw(self), value).ok() @@ -3310,7 +3310,7 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPara2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPara2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara2(&self, ppara: P0) -> ::windows_core::Result<()> @@ -3322,19 +3322,19 @@ impl ITextRange2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStartPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStartPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStartPara)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTable(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetURL(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -3357,7 +3357,7 @@ impl ITextRange2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Find)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Find)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn GetChar2(&self, pchar: *mut i32, offset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetChar2)(::windows_core::Interface::as_raw(self), pchar, offset).ok() @@ -3370,7 +3370,7 @@ impl ITextRange2 { } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn GetRect(&self, r#type: i32, pleft: *mut i32, ptop: *mut i32, pright: *mut i32, pbottom: *mut i32, phit: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRect)(::windows_core::Interface::as_raw(self), r#type, pleft, ptop, pright, pbottom, phit).ok() @@ -3380,7 +3380,7 @@ impl ITextRange2 { } pub unsafe fn GetText2(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText2)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText2)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HexToUnicode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).HexToUnicode)(::windows_core::Interface::as_raw(self)).ok() @@ -3417,7 +3417,7 @@ impl ITextRange2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMathFunctionType)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMathFunctionType)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertImage(&self, width: i32, height: i32, ascent: i32, r#type: i32, bstralttext: P0, pstream: P1) -> ::windows_core::Result<()> @@ -3512,123 +3512,123 @@ pub struct ITextRange2_Vtbl { impl ITextRow { pub unsafe fn GetAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellCount(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellCount)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellCountCache(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellCountCache)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellCountCache)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellCountCache(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellCountCache)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellIndex(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellIndex)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellMargin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellMargin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellMargin)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellMargin(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellMargin)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHeight)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetIndent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIndent(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetIndent)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKeepTogether(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeepTogether)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepTogether(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeepTogether)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetKeepWithNext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeepWithNext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetKeepWithNext(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetKeepWithNext)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetNestLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNestLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNestLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRTL(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRTL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRTL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRTL(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRTL)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellAlignment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellAlignment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellAlignment(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellAlignment)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellColorBack(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellColorBack)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellColorBack)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellColorBack(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellColorBack)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellColorFore(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellColorFore)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellColorFore)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellColorFore(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellColorFore)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellMergeFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellMergeFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellMergeFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellMergeFlags(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellMergeFlags)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellShading(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellShading)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellShading)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellShading(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellShading)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellVerticalText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellVerticalText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellVerticalText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellVerticalText(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellVerticalText)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetCellWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCellWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCellWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCellWidth(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCellWidth)(::windows_core::Interface::as_raw(self), value).ok() @@ -3650,11 +3650,11 @@ impl ITextRow { } pub unsafe fn CanChange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanChange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn Insert(&self, crow: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Insert)(::windows_core::Interface::as_raw(self), crow).ok() @@ -3665,7 +3665,7 @@ impl ITextRow { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), prow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), prow.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Reset(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), value).ok() @@ -3737,7 +3737,7 @@ pub struct ITextRow_Vtbl { impl ITextSelection { pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -3747,7 +3747,7 @@ impl ITextSelection { } pub unsafe fn GetChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChar(&self, char: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetChar)(::windows_core::Interface::as_raw(self), char).ok() @@ -3755,12 +3755,12 @@ impl ITextSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText(&self, prange: P0) -> ::windows_core::Result<()> @@ -3771,14 +3771,14 @@ impl ITextSelection { } pub unsafe fn GetStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStart(&self, cpfirst: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetStart)(::windows_core::Interface::as_raw(self), cpfirst).ok() } pub unsafe fn GetEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnd(&self, cplim: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetEnd)(::windows_core::Interface::as_raw(self), cplim).ok() @@ -3786,7 +3786,7 @@ impl ITextSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont(&self, pfont: P0) -> ::windows_core::Result<()> @@ -3798,7 +3798,7 @@ impl ITextSelection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara(&self, ppara: P0) -> ::windows_core::Result<()> @@ -3809,22 +3809,22 @@ impl ITextSelection { } pub unsafe fn GetStoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStoryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, bstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Collapse)(::windows_core::Interface::as_raw(self), bstart).ok() } pub unsafe fn Expand(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn GetIndex(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, unit: i32, index: i32, extend: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetIndex)(::windows_core::Interface::as_raw(self), unit, index, extend).ok() @@ -3838,7 +3838,7 @@ impl ITextSelection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InStory(&self, prange: P0) -> ::windows_core::Result @@ -3846,7 +3846,7 @@ impl ITextSelection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, prange: P0) -> ::windows_core::Result @@ -3854,98 +3854,98 @@ impl ITextSelection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Select(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Select)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn StartOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn Move(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveStart(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEnd(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn FindText(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextStart(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextEnd(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn Delete(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn Cut(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copy(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Paste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Paste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format).ok() } pub unsafe fn CanPaste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).map(|| result__) } pub unsafe fn CanEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCase(&self, r#type: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ChangeCase)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -3961,42 +3961,42 @@ impl ITextSelection { } pub unsafe fn GetEmbeddedObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveLeft(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveRight(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveUp(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveDown(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn HomeKey(&self, unit: tomConstants, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndKey(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn TypeText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -4029,7 +4029,7 @@ pub struct ITextSelection_Vtbl { impl ITextSelection2 { pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -4039,7 +4039,7 @@ impl ITextSelection2 { } pub unsafe fn GetChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetChar(&self, char: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetChar)(::windows_core::Interface::as_raw(self), char).ok() @@ -4047,12 +4047,12 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetDuplicate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFormattedText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText(&self, prange: P0) -> ::windows_core::Result<()> @@ -4063,14 +4063,14 @@ impl ITextSelection2 { } pub unsafe fn GetStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStart(&self, cpfirst: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetStart)(::windows_core::Interface::as_raw(self), cpfirst).ok() } pub unsafe fn GetEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnd(&self, cplim: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnd)(::windows_core::Interface::as_raw(self), cplim).ok() @@ -4078,7 +4078,7 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFont)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont(&self, pfont: P0) -> ::windows_core::Result<()> @@ -4090,7 +4090,7 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPara)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara(&self, ppara: P0) -> ::windows_core::Result<()> @@ -4101,22 +4101,22 @@ impl ITextSelection2 { } pub unsafe fn GetStoryLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStoryLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStoryType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetStoryType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, bstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Collapse)(::windows_core::Interface::as_raw(self), bstart).ok() } pub unsafe fn Expand(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Expand)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn GetIndex(&self, unit: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), unit, &mut result__).map(|| result__) } pub unsafe fn SetIndex(&self, unit: i32, index: i32, extend: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SetIndex)(::windows_core::Interface::as_raw(self), unit, index, extend).ok() @@ -4130,7 +4130,7 @@ impl ITextSelection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InRange)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InStory(&self, prange: P0) -> ::windows_core::Result @@ -4138,7 +4138,7 @@ impl ITextSelection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InStory)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn IsEqual(&self, prange: P0) -> ::windows_core::Result @@ -4146,98 +4146,98 @@ impl ITextSelection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsEqual)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Select(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Select)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn StartOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.StartOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndOf(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.EndOf)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn Move(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Move)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveStart(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStart)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveEnd(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEnd)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn MoveWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStartWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndWhile(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEndWhile)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveStartUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveStartUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn MoveEndUntil(&self, cset: *const ::windows_core::VARIANT, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.MoveEndUntil)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(cset), count, &mut result__).map(|| result__) } pub unsafe fn FindText(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindText)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextStart(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindTextStart)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn FindTextEnd(&self, bstr: P0, count: i32, flags: tomConstants) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.FindTextEnd)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn Delete(&self, unit: i32, count: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Delete)(::windows_core::Interface::as_raw(self), unit, count, &mut result__).map(|| result__) } pub unsafe fn Cut(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Cut)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Copy(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Copy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Paste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.Paste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format).ok() } pub unsafe fn CanPaste(&self, pvar: *const ::windows_core::VARIANT, format: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CanPaste)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvar), format, &mut result__).map(|| result__) } pub unsafe fn CanEdit(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CanEdit)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCase(&self, r#type: tomConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.ChangeCase)(::windows_core::Interface::as_raw(self), r#type).ok() @@ -4253,42 +4253,42 @@ impl ITextSelection2 { } pub unsafe fn GetEmbeddedObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetEmbeddedObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, flags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetFlags)(::windows_core::Interface::as_raw(self), flags).ok() } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MoveLeft(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveLeft)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveRight(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveRight)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveUp(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveUp)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn MoveDown(&self, unit: i32, count: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.MoveDown)(::windows_core::Interface::as_raw(self), unit, count, extend, &mut result__).map(|| result__) } pub unsafe fn HomeKey(&self, unit: tomConstants, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HomeKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn EndKey(&self, unit: i32, extend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.EndKey)(::windows_core::Interface::as_raw(self), unit, extend, &mut result__).map(|| result__) } pub unsafe fn TypeText(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -4298,29 +4298,29 @@ impl ITextSelection2 { } pub unsafe fn GetCch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCells(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCells)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCells)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetColumn(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumn)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDuplicate2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDuplicate2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFont2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFont2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFont2(&self, pfont: P0) -> ::windows_core::Result<()> @@ -4332,7 +4332,7 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormattedText2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormattedText2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetFormattedText2(&self, prange: P0) -> ::windows_core::Result<()> @@ -4343,7 +4343,7 @@ impl ITextSelection2 { } pub unsafe fn GetGravity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetGravity(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetGravity)(::windows_core::Interface::as_raw(self), value).ok() @@ -4351,7 +4351,7 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetPara2(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPara2)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPara2)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetPara2(&self, ppara: P0) -> ::windows_core::Result<()> @@ -4363,19 +4363,19 @@ impl ITextSelection2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStartPara(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStartPara)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStartPara)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTable(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTable)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetURL(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -4398,7 +4398,7 @@ impl ITextSelection2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Find)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), count, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Find)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), count, flags, &mut result__).map(|| result__) } pub unsafe fn GetChar2(&self, pchar: *mut i32, offset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetChar2)(::windows_core::Interface::as_raw(self), pchar, offset).ok() @@ -4411,7 +4411,7 @@ impl ITextSelection2 { } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn GetRect(&self, r#type: i32, pleft: *mut i32, ptop: *mut i32, pright: *mut i32, pbottom: *mut i32, phit: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRect)(::windows_core::Interface::as_raw(self), r#type, pleft, ptop, pright, pbottom, phit).ok() @@ -4421,7 +4421,7 @@ impl ITextSelection2 { } pub unsafe fn GetText2(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetText2)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetText2)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HexToUnicode(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.HexToUnicode)(::windows_core::Interface::as_raw(self)).ok() @@ -4458,7 +4458,7 @@ impl ITextSelection2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetMathFunctionType)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetMathFunctionType)(::windows_core::Interface::as_raw(self), bstr.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertImage(&self, width: i32, height: i32, ascent: i32, r#type: i32, bstralttext: P0, pstream: P1) -> ::windows_core::Result<()> @@ -4553,7 +4553,7 @@ impl ITextServices { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn TxGetDropTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TxGetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TxGetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnTxPropertyBitsChange(&self, dwmask: u32, dwbits: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnTxPropertyBitsChange)(::windows_core::Interface::as_raw(self), dwmask, dwbits).ok() @@ -4678,7 +4678,7 @@ impl ITextServices2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn TxGetDropTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TxGetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TxGetDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnTxPropertyBitsChange(&self, dwmask: u32, dwbits: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnTxPropertyBitsChange)(::windows_core::Interface::as_raw(self), dwmask, dwbits).ok() @@ -4720,38 +4720,38 @@ pub struct ITextServices2_Vtbl { impl ITextStory { pub unsafe fn GetActive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetActive(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetActive)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetDisplay(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplay)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetType(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetType)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn GetProperty(&self, r#type: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRange(&self, cpactive: i32, cpanchor: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), cpactive, cpanchor, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self, flags: i32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFormattedText(&self, punk: P0) -> ::windows_core::Result<()> where @@ -4797,16 +4797,16 @@ pub struct ITextStory_Vtbl { impl ITextStoryRanges { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4829,21 +4829,21 @@ pub struct ITextStoryRanges_Vtbl { impl ITextStoryRanges2 { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item2(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item2)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item2)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4865,11 +4865,11 @@ impl ITextStrings { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Add(&self, bstr: P0) -> ::windows_core::Result<()> where @@ -4909,7 +4909,7 @@ impl ITextStrings { } pub unsafe fn GetCch(&self, istring: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCch)(::windows_core::Interface::as_raw(self), istring, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCch)(::windows_core::Interface::as_raw(self), istring, &mut result__).map(|| result__) } pub unsafe fn InsertNullStr(&self, istring: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertNullStr)(::windows_core::Interface::as_raw(self), istring).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/Controls/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Controls/mod.rs index 2a10a65120..3768401737 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Controls/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Controls/mod.rs @@ -790,7 +790,7 @@ pub unsafe fn GetBufferedPaintTargetDC(hbufferedpaint: isize) -> super::super::G pub unsafe fn GetBufferedPaintTargetRect(hbufferedpaint: isize) -> ::windows_core::Result { ::windows_targets::link!("uxtheme.dll" "system" fn GetBufferedPaintTargetRect(hbufferedpaint : isize, prc : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetBufferedPaintTargetRect(hbufferedpaint, &mut result__).from_abi(result__) + GetBufferedPaintTargetRect(hbufferedpaint, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetComboBoxInfo(hwndcombo: P0, pcbi: *mut COMBOBOXINFO) -> ::windows_core::Result<()> @@ -856,7 +856,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeBackgroundContentRect(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, pboundingrect : *const super::super::Foundation:: RECT, pcontentrect : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeBackgroundContentRect(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, pboundingrect, &mut result__).from_abi(result__) + GetThemeBackgroundContentRect(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, pboundingrect, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -867,7 +867,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeBackgroundExtent(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, pcontentrect : *const super::super::Foundation:: RECT, pextentrect : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeBackgroundExtent(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, pcontentrect, &mut result__).from_abi(result__) + GetThemeBackgroundExtent(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, pcontentrect, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -878,7 +878,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeBackgroundRegion(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, prect : *const super::super::Foundation:: RECT, pregion : *mut super::super::Graphics::Gdi:: HRGN) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeBackgroundRegion(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, prect, &mut result__).from_abi(result__) + GetThemeBackgroundRegion(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, prect, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -888,7 +888,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeBitmap(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, dwflags : GET_THEME_BITMAP_FLAGS, phbitmap : *mut super::super::Graphics::Gdi:: HBITMAP) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeBitmap(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, dwflags, &mut result__).from_abi(result__) + GetThemeBitmap(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeBool(htheme: P0, ipartid: i32, istateid: i32, ipropid: THEME_PROPERTY_SYMBOL_ID) -> ::windows_core::Result @@ -897,7 +897,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeBool(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, pfval : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeBool(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemeBool(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeColor(htheme: P0, ipartid: i32, istateid: i32, ipropid: THEME_PROPERTY_SYMBOL_ID) -> ::windows_core::Result @@ -906,7 +906,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeColor(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, pcolor : *mut super::super::Foundation:: COLORREF) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeColor(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemeColor(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeDocumentationProperty(pszthemename: P0, pszpropertyname: P1, pszvaluebuff: &mut [u16]) -> ::windows_core::Result<()> @@ -924,7 +924,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeEnumValue(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, pival : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeEnumValue(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemeEnumValue(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeFilename(htheme: P0, ipartid: i32, istateid: i32, ipropid: THEME_PROPERTY_SYMBOL_ID, pszthemefilename: &mut [u16]) -> ::windows_core::Result<()> @@ -951,7 +951,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeInt(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, pival : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeInt(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemeInt(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeIntList(htheme: P0, ipartid: i32, istateid: i32, ipropid: THEME_PROPERTY_SYMBOL_ID, pintlist: *mut INTLIST) -> ::windows_core::Result<()> @@ -970,7 +970,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeMargins(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, ipropid : i32, prc : *const super::super::Foundation:: RECT, pmargins : *mut MARGINS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeMargins(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ipropid.0 as _, ::core::mem::transmute(prc.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + GetThemeMargins(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ipropid.0 as _, ::core::mem::transmute(prc.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -981,7 +981,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeMetric(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, ipropid : i32, pival : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeMetric(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemeMetric(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -992,7 +992,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemePartSize(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, prc : *const super::super::Foundation:: RECT, esize : THEMESIZE, psz : *mut super::super::Foundation:: SIZE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemePartSize(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ::core::mem::transmute(prc.unwrap_or(::std::ptr::null())), esize, &mut result__).from_abi(result__) + GetThemePartSize(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ::core::mem::transmute(prc.unwrap_or(::std::ptr::null())), esize, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemePosition(htheme: P0, ipartid: i32, istateid: i32, ipropid: THEME_PROPERTY_SYMBOL_ID) -> ::windows_core::Result @@ -1001,7 +1001,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemePosition(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, ppoint : *mut super::super::Foundation:: POINT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemePosition(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).from_abi(result__) + GetThemePosition(htheme.into_param().abi(), ipartid, istateid, ipropid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemePropertyOrigin(htheme: P0, ipartid: i32, istateid: i32, ipropid: i32) -> ::windows_core::Result @@ -1010,7 +1010,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemePropertyOrigin(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, porigin : *mut PROPERTYORIGIN) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemePropertyOrigin(htheme.into_param().abi(), ipartid, istateid, ipropid, &mut result__).from_abi(result__) + GetThemePropertyOrigin(htheme.into_param().abi(), ipartid, istateid, ipropid, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeRect(htheme: P0, ipartid: i32, istateid: i32, ipropid: i32) -> ::windows_core::Result @@ -1019,7 +1019,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeRect(htheme : HTHEME, ipartid : i32, istateid : i32, ipropid : i32, prect : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeRect(htheme.into_param().abi(), ipartid, istateid, ipropid, &mut result__).from_abi(result__) + GetThemeRect(htheme.into_param().abi(), ipartid, istateid, ipropid, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeStream(htheme: P0, ipartid: i32, istateid: i32, ipropid: i32, ppvstream: *mut *mut ::core::ffi::c_void, pcbstream: ::core::option::Option<*mut u32>, hinst: P1) -> ::windows_core::Result<()> @@ -1079,7 +1079,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeSysInt(htheme : HTHEME, iintid : i32, pivalue : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeSysInt(htheme.into_param().abi(), iintid.0 as _, &mut result__).from_abi(result__) + GetThemeSysInt(htheme.into_param().abi(), iintid.0 as _, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetThemeSysSize(htheme: P0, isizeid: i32) -> i32 @@ -1106,7 +1106,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeTextExtent(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, psztext : ::windows_core::PCWSTR, cchcharcount : i32, dwtextflags : super::super::Graphics::Gdi:: DRAW_TEXT_FORMAT, pboundingrect : *const super::super::Foundation:: RECT, pextentrect : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeTextExtent(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ::core::mem::transmute(psztext.as_ptr()), psztext.len().try_into().unwrap(), dwtextflags, ::core::mem::transmute(pboundingrect.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + GetThemeTextExtent(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, ::core::mem::transmute(psztext.as_ptr()), psztext.len().try_into().unwrap(), dwtextflags, ::core::mem::transmute(pboundingrect.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -1133,7 +1133,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn GetThemeTransitionDuration(htheme : HTHEME, ipartid : i32, istateidfrom : i32, istateidto : i32, ipropid : i32, pdwduration : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetThemeTransitionDuration(htheme.into_param().abi(), ipartid, istateidfrom, istateidto, ipropid, &mut result__).from_abi(result__) + GetThemeTransitionDuration(htheme.into_param().abi(), ipartid, istateidfrom, istateidto, ipropid, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetWindowFeedbackSetting(hwnd: P0, feedback: FEEDBACK_TYPE, dwflags: u32, psize: *mut u32, config: ::core::option::Option<*mut ::core::ffi::c_void>) -> super::super::Foundation::BOOL @@ -1169,7 +1169,7 @@ where { ::windows_targets::link!("uxtheme.dll" "system" fn HitTestThemeBackground(htheme : HTHEME, hdc : super::super::Graphics::Gdi:: HDC, ipartid : i32, istateid : i32, dwoptions : HIT_TEST_BACKGROUND_OPTIONS, prect : *const super::super::Foundation:: RECT, hrgn : super::super::Graphics::Gdi:: HRGN, pttest : super::super::Foundation:: POINT, pwhittestcode : *mut u16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HitTestThemeBackground(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, dwoptions, prect, hrgn.into_param().abi(), ::core::mem::transmute(pttest), &mut result__).from_abi(result__) + HitTestThemeBackground(htheme.into_param().abi(), hdc.into_param().abi(), ipartid, istateid, dwoptions, prect, hrgn.into_param().abi(), ::core::mem::transmute(pttest), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -1209,7 +1209,7 @@ where { ::windows_targets::link!("comctl32.dll" "system" fn ImageList_CoCreateInstance(rclsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - ImageList_CoCreateInstance(rclsid, punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + ImageList_CoCreateInstance(rclsid, punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn ImageList_Copy(himldst: P0, idst: i32, himlsrc: P1, isrc: i32, uflags: IMAGE_LIST_COPY_FLAGS) -> super::super::Foundation::BOOL @@ -1582,7 +1582,7 @@ where { ::windows_targets::link!("comctl32.dll" "system" fn LoadIconMetric(hinst : super::super::Foundation:: HINSTANCE, pszname : ::windows_core::PCWSTR, lims : _LI_METRIC, phico : *mut super::WindowsAndMessaging:: HICON) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LoadIconMetric(hinst.into_param().abi(), pszname.into_param().abi(), lims, &mut result__).from_abi(result__) + LoadIconMetric(hinst.into_param().abi(), pszname.into_param().abi(), lims, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] #[inline] @@ -1593,7 +1593,7 @@ where { ::windows_targets::link!("comctl32.dll" "system" fn LoadIconWithScaleDown(hinst : super::super::Foundation:: HINSTANCE, pszname : ::windows_core::PCWSTR, cx : i32, cy : i32, phico : *mut super::WindowsAndMessaging:: HICON) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - LoadIconWithScaleDown(hinst.into_param().abi(), pszname.into_param().abi(), cx, cy, &mut result__).from_abi(result__) + LoadIconWithScaleDown(hinst.into_param().abi(), pszname.into_param().abi(), cx, cy, &mut result__).map(|| result__) } #[inline] pub unsafe fn MakeDragList(hlb: P0) -> super::super::Foundation::BOOL @@ -1801,7 +1801,7 @@ impl IImageList { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), hbmmask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), hbmmask.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn ReplaceIcon(&self, i: i32, hicon: P0) -> ::windows_core::Result @@ -1809,7 +1809,7 @@ impl IImageList { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReplaceIcon)(::windows_core::Interface::as_raw(self), i, hicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReplaceIcon)(::windows_core::Interface::as_raw(self), i, hicon.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOverlayImage(&self, iimage: i32, ioverlay: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOverlayImage)(::windows_core::Interface::as_raw(self), iimage, ioverlay).ok() @@ -1829,7 +1829,7 @@ impl IImageList { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddMasked)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), crmask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddMasked)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), crmask.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Draw(&self, pimldp: *const IMAGELISTDRAWPARAMS) -> ::windows_core::Result<()> { @@ -1841,7 +1841,7 @@ impl IImageList { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetIcon(&self, i: i32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), i, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), i, flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetImageInfo(&self, i: i32, pimageinfo: *mut IMAGEINFO) -> ::windows_core::Result<()> { @@ -1864,7 +1864,7 @@ impl IImageList { } pub unsafe fn GetImageRect(&self, i: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageRect)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageRect)(::windows_core::Interface::as_raw(self), i, &mut result__).map(|| result__) } pub unsafe fn GetIconSize(&self, cx: *mut i32, cy: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIconSize)(::windows_core::Interface::as_raw(self), cx, cy).ok() @@ -1874,7 +1874,7 @@ impl IImageList { } pub unsafe fn GetImageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImageCount(&self, unewcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetImageCount)(::windows_core::Interface::as_raw(self), unewcount).ok() @@ -1884,11 +1884,11 @@ impl IImageList { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetBkColor)(::windows_core::Interface::as_raw(self), clrbk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetBkColor)(::windows_core::Interface::as_raw(self), clrbk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetBkColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBkColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBkColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginDrag(&self, itrack: i32, dxhotspot: i32, dyhotspot: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginDrag)(::windows_core::Interface::as_raw(self), itrack, dxhotspot, dyhotspot).ok() @@ -1928,11 +1928,11 @@ impl IImageList { } pub unsafe fn GetItemFlags(&self, i: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFlags)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFlags)(::windows_core::Interface::as_raw(self), i, &mut result__).map(|| result__) } pub unsafe fn GetOverlayImage(&self, ioverlay: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOverlayImage)(::windows_core::Interface::as_raw(self), ioverlay, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOverlayImage)(::windows_core::Interface::as_raw(self), ioverlay, &mut result__).map(|| result__) } } #[repr(C)] @@ -2000,7 +2000,7 @@ impl IImageList2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Add)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), hbmmask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Add)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), hbmmask.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn ReplaceIcon(&self, i: i32, hicon: P0) -> ::windows_core::Result @@ -2008,7 +2008,7 @@ impl IImageList2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ReplaceIcon)(::windows_core::Interface::as_raw(self), i, hicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ReplaceIcon)(::windows_core::Interface::as_raw(self), i, hicon.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetOverlayImage(&self, iimage: i32, ioverlay: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetOverlayImage)(::windows_core::Interface::as_raw(self), iimage, ioverlay).ok() @@ -2028,7 +2028,7 @@ impl IImageList2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AddMasked)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), crmask.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AddMasked)(::windows_core::Interface::as_raw(self), hbmimage.into_param().abi(), crmask.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Draw(&self, pimldp: *const IMAGELISTDRAWPARAMS) -> ::windows_core::Result<()> { @@ -2040,7 +2040,7 @@ impl IImageList2 { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetIcon(&self, i: i32, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIcon)(::windows_core::Interface::as_raw(self), i, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIcon)(::windows_core::Interface::as_raw(self), i, flags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetImageInfo(&self, i: i32, pimageinfo: *mut IMAGEINFO) -> ::windows_core::Result<()> { @@ -2063,7 +2063,7 @@ impl IImageList2 { } pub unsafe fn GetImageRect(&self, i: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImageRect)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImageRect)(::windows_core::Interface::as_raw(self), i, &mut result__).map(|| result__) } pub unsafe fn GetIconSize(&self, cx: *mut i32, cy: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetIconSize)(::windows_core::Interface::as_raw(self), cx, cy).ok() @@ -2073,7 +2073,7 @@ impl IImageList2 { } pub unsafe fn GetImageCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetImageCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetImageCount(&self, unewcount: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetImageCount)(::windows_core::Interface::as_raw(self), unewcount).ok() @@ -2083,11 +2083,11 @@ impl IImageList2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetBkColor)(::windows_core::Interface::as_raw(self), clrbk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetBkColor)(::windows_core::Interface::as_raw(self), clrbk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetBkColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBkColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBkColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginDrag(&self, itrack: i32, dxhotspot: i32, dyhotspot: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.BeginDrag)(::windows_core::Interface::as_raw(self), itrack, dxhotspot, dyhotspot).ok() @@ -2127,11 +2127,11 @@ impl IImageList2 { } pub unsafe fn GetItemFlags(&self, i: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemFlags)(::windows_core::Interface::as_raw(self), i, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemFlags)(::windows_core::Interface::as_raw(self), i, &mut result__).map(|| result__) } pub unsafe fn GetOverlayImage(&self, ioverlay: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOverlayImage)(::windows_core::Interface::as_raw(self), ioverlay, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOverlayImage)(::windows_core::Interface::as_raw(self), ioverlay, &mut result__).map(|| result__) } pub unsafe fn Resize(&self, cxnewiconsize: i32, cynewiconsize: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Resize)(::windows_core::Interface::as_raw(self), cxnewiconsize, cynewiconsize).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/HiDpi/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/HiDpi/mod.rs index bdbe169d4a..f47c8d7b77 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/HiDpi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/HiDpi/mod.rs @@ -93,7 +93,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-scaling-l1-1-1.dll" "system" fn GetProcessDpiAwareness(hprocess : super::super::Foundation:: HANDLE, value : *mut PROCESS_DPI_AWARENESS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetProcessDpiAwareness(hprocess.into_param().abi(), &mut result__).from_abi(result__) + GetProcessDpiAwareness(hprocess.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetSystemDpiForProcess(hprocess: P0) -> u32 diff --git a/crates/libs/windows/src/Windows/Win32/UI/Input/Ime/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Input/Ime/mod.rs index 8a910d5cb9..5a8e098dfe 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Input/Ime/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Input/Ime/mod.rs @@ -840,15 +840,15 @@ impl IActiveIME { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterWord)(::windows_core::Interface::as_raw(self), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterWord)(::windows_core::Interface::as_raw(self), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCodePageA(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLangId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -999,15 +999,15 @@ impl IActiveIME2 { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumRegisterWord)(::windows_core::Interface::as_raw(self), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumRegisterWord)(::windows_core::Interface::as_raw(self), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCodePageA(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCodePageA)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCodePageA)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLangId(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLangId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Sleep(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Sleep)(::windows_core::Interface::as_raw(self)).ok() @@ -1036,7 +1036,7 @@ impl IActiveIMMApp { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssociateContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), hime.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssociateContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), hime.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn ConfigureIMEA(&self, hkl: P0, hwnd: P1, dwmode: u32, pdata: *const REGISTERWORDA) -> ::windows_core::Result<()> @@ -1057,7 +1057,7 @@ impl IActiveIMMApp { #[cfg(feature = "Win32_Globalization")] pub unsafe fn CreateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn DestroyContext(&self, hime: P0) -> ::windows_core::Result<()> @@ -1074,7 +1074,7 @@ impl IActiveIMMApp { P2: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterWordA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterWordA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn EnumRegisterWordW(&self, hkl: P0, szreading: P1, dwstyle: u32, szregister: P2, pdata: *const ::core::ffi::c_void) -> ::windows_core::Result @@ -1084,7 +1084,7 @@ impl IActiveIMMApp { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterWordW)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterWordW)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Globalization", feature = "Win32_UI_TextServices"))] pub unsafe fn EscapeA(&self, hkl: P0, himc: P1, uescape: u32, pdata: *mut ::core::ffi::c_void, plresult: *mut super::super::super::Foundation::LRESULT) -> ::windows_core::Result<()> @@ -1178,7 +1178,7 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Globalization", feature = "Win32_UI_TextServices"))] pub unsafe fn GetConversionListA(&self, hkl: P0, himc: P1, psrc: P2, ubuflen: u32, uflag: u32, pdst: *mut CANDIDATELIST, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -1210,7 +1210,7 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultIMEWnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultIMEWnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetDescriptionA(&self, hkl: P0, ubuflen: u32, szdescription: ::windows_core::PSTR, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -1267,7 +1267,7 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), fdwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), fdwindex, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetRegisterWordStyleA(&self, hkl: P0, nitem: u32, pstylebuf: *mut STYLEBUFA, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -1289,14 +1289,14 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatusWindowPos)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatusWindowPos)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetVirtualKey(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVirtualKey)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVirtualKey)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn InstallIMEA(&self, szimefilename: P0, szlayouttext: P1) -> ::windows_core::Result @@ -1305,7 +1305,7 @@ impl IActiveIMMApp { P1: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallIMEA)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallIMEA)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn InstallIMEW(&self, szimefilename: P0, szlayouttext: P1) -> ::windows_core::Result @@ -1314,7 +1314,7 @@ impl IActiveIMMApp { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallIMEW)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallIMEW)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn IsIME(&self, hkl: P0) -> ::windows_core::Result<()> @@ -1476,7 +1476,7 @@ impl IActiveIMMApp { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnDefWindowProc)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnDefWindowProc)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn FilterClientWindows(&self, aaclasslist: *const u16, usize: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FilterClientWindows)(::windows_core::Interface::as_raw(self), aaclasslist, usize).ok() @@ -1487,7 +1487,7 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetLangId(&self, hkl: P0) -> ::windows_core::Result @@ -1495,7 +1495,7 @@ impl IActiveIMMApp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn AssociateContextEx(&self, hwnd: P0, himc: P1, dwflags: u32) -> ::windows_core::Result<()> @@ -1524,7 +1524,7 @@ impl IActiveIMMApp { } pub unsafe fn EnumInputContext(&self, idthread: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumInputContext)(::windows_core::Interface::as_raw(self), idthread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumInputContext)(::windows_core::Interface::as_raw(self), idthread, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1781,7 +1781,7 @@ impl IActiveIMMIME { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssociateContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), hime.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssociateContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), hime.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn ConfigureIMEA(&self, hkl: P0, hwnd: P1, dwmode: u32, pdata: *const REGISTERWORDA) -> ::windows_core::Result<()> @@ -1802,7 +1802,7 @@ impl IActiveIMMIME { #[cfg(feature = "Win32_Globalization")] pub unsafe fn CreateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn DestroyContext(&self, hime: P0) -> ::windows_core::Result<()> @@ -1819,7 +1819,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterWordA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterWordA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn EnumRegisterWordW(&self, hkl: P0, szreading: P1, dwstyle: u32, szregister: P2, pdata: *const ::core::ffi::c_void) -> ::windows_core::Result @@ -1829,7 +1829,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumRegisterWordW)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumRegisterWordW)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), szreading.into_param().abi(), dwstyle, szregister.into_param().abi(), pdata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_Globalization", feature = "Win32_UI_TextServices"))] pub unsafe fn EscapeA(&self, hkl: P0, himc: P1, uescape: u32, pdata: *mut ::core::ffi::c_void, plresult: *mut super::super::super::Foundation::LRESULT) -> ::windows_core::Result<()> @@ -1923,7 +1923,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Globalization", feature = "Win32_UI_TextServices"))] pub unsafe fn GetConversionListA(&self, hkl: P0, himc: P1, psrc: P2, ubuflen: u32, uflag: u32, pdst: *mut CANDIDATELIST, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -1955,7 +1955,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultIMEWnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultIMEWnd)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetDescriptionA(&self, hkl: P0, ubuflen: u32, szdescription: ::windows_core::PSTR, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -2012,7 +2012,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), fdwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), fdwindex, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetRegisterWordStyleA(&self, hkl: P0, nitem: u32, pstylebuf: *mut STYLEBUFA, pucopied: *mut u32) -> ::windows_core::Result<()> @@ -2034,14 +2034,14 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatusWindowPos)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatusWindowPos)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetVirtualKey(&self, hwnd: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVirtualKey)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVirtualKey)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn InstallIMEA(&self, szimefilename: P0, szlayouttext: P1) -> ::windows_core::Result @@ -2050,7 +2050,7 @@ impl IActiveIMMIME { P1: ::windows_core::IntoParam<::windows_core::PCSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallIMEA)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallIMEA)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn InstallIMEW(&self, szimefilename: P0, szlayouttext: P1) -> ::windows_core::Result @@ -2059,7 +2059,7 @@ impl IActiveIMMIME { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallIMEW)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallIMEW)(::windows_core::Interface::as_raw(self), szimefilename.into_param().abi(), szlayouttext.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn IsIME(&self, hkl: P0) -> ::windows_core::Result<()> @@ -2218,7 +2218,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LockIMC)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LockIMC)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn UnlockIMC(&self, himc: P0) -> ::windows_core::Result<()> @@ -2233,12 +2233,12 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIMCLockCount)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIMCLockCount)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn CreateIMCC(&self, dwsize: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIMCC)(::windows_core::Interface::as_raw(self), dwsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIMCC)(::windows_core::Interface::as_raw(self), dwsize, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn DestroyIMCC(&self, himcc: P0) -> ::windows_core::Result<()> @@ -2267,7 +2267,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReSizeIMCC)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), dwsize, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReSizeIMCC)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), dwsize, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn GetIMCCSize(&self, himcc: P0) -> ::windows_core::Result @@ -2275,7 +2275,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIMCCSize)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIMCCSize)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn GetIMCCLockCount(&self, himcc: P0) -> ::windows_core::Result @@ -2283,7 +2283,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIMCCLockCount)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIMCCLockCount)(::windows_core::Interface::as_raw(self), himcc.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetHotKey(&self, dwhotkeyid: u32, pumodifiers: *mut u32, puvkey: *mut u32, phkl: *mut super::super::TextServices::HKL) -> ::windows_core::Result<()> { @@ -2301,7 +2301,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSoftKeyboard)(::windows_core::Interface::as_raw(self), utype, howner.into_param().abi(), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSoftKeyboard)(::windows_core::Interface::as_raw(self), utype, howner.into_param().abi(), x, y, &mut result__).map(|| result__) } pub unsafe fn DestroySoftKeyboard(&self, hsoftkbdwnd: P0) -> ::windows_core::Result<()> where @@ -2321,7 +2321,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodePageA)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_TextServices")] pub unsafe fn GetLangId(&self, hkl: P0) -> ::windows_core::Result @@ -2329,7 +2329,7 @@ impl IActiveIMMIME { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLangId)(::windows_core::Interface::as_raw(self), hkl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn KeybdEvent(&self, lgidime: u16, bvk: u8, bscan: u8, dwflags: u32, dwextrainfo: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).KeybdEvent)(::windows_core::Interface::as_raw(self), lgidime, bvk, bscan, dwflags, dwextrainfo).ok() @@ -2367,7 +2367,7 @@ impl IActiveIMMIME { } pub unsafe fn EnumInputContext(&self, idthread: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumInputContext)(::windows_core::Interface::as_raw(self), idthread, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumInputContext)(::windows_core::Interface::as_raw(self), idthread, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn RequestMessageA(&self, himc: P0, wparam: P1, lparam: P2) -> ::windows_core::Result @@ -2377,7 +2377,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestMessageA)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestMessageA)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn RequestMessageW(&self, himc: P0, wparam: P1, lparam: P2) -> ::windows_core::Result @@ -2387,7 +2387,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestMessageW)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestMessageW)(::windows_core::Interface::as_raw(self), himc.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SendIMCA(&self, hwnd: P0, umsg: u32, wparam: P1, lparam: P2) -> ::windows_core::Result where @@ -2396,7 +2396,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendIMCA)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), umsg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendIMCA)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), umsg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SendIMCW(&self, hwnd: P0, umsg: u32, wparam: P1, lparam: P2) -> ::windows_core::Result where @@ -2405,7 +2405,7 @@ impl IActiveIMMIME { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SendIMCW)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), umsg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SendIMCW)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), umsg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSleeping(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsSleeping)(::windows_core::Interface::as_raw(self)).ok() @@ -2735,7 +2735,7 @@ impl IActiveIMMMessagePumpOwner { } pub unsafe fn Pause(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Pause)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Resume(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -2780,7 +2780,7 @@ pub struct IActiveIMMRegistrar_Vtbl { impl IEnumInputContext { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Globalization")] pub unsafe fn Next(&self, ulcount: u32, rginputcontext: *mut super::super::super::Globalization::HIMC, pcfetched: *mut u32) -> ::windows_core::Result<()> { @@ -2810,7 +2810,7 @@ pub struct IEnumInputContext_Vtbl { impl IEnumRegisterWordA { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ulcount: u32, rgregisterword: *mut REGISTERWORDA, pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ulcount, rgregisterword, pcfetched).ok() @@ -2836,7 +2836,7 @@ pub struct IEnumRegisterWordA_Vtbl { impl IEnumRegisterWordW { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ulcount: u32, rgregisterword: *mut REGISTERWORDW, pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ulcount, rgregisterword, pcfetched).ok() @@ -2870,7 +2870,7 @@ impl IFEClassFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LockServer(&self, flock: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/UI/Input/Ink/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Input/Ink/mod.rs index 686850ffa7..644df007a1 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Input/Ink/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Input/Ink/mod.rs @@ -60,7 +60,7 @@ impl IInkDesktopHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateInkPresenter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInkPresenter)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateAndInitializeInkPresenter(&self, rootvisual: P0, width: f32, height: f32) -> ::windows_core::Result where @@ -68,7 +68,7 @@ impl IInkDesktopHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateAndInitializeInkPresenter)(::windows_core::Interface::as_raw(self), rootvisual.into_param().abi(), width, height, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateAndInitializeInkPresenter)(::windows_core::Interface::as_raw(self), rootvisual.into_param().abi(), width, height, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Input/Radial/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Input/Radial/mod.rs index f727174cad..d08b38750a 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Input/Radial/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Input/Radial/mod.rs @@ -7,7 +7,7 @@ impl IRadialControllerConfigurationInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -25,7 +25,7 @@ impl IRadialControllerIndependentInputSourceInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -43,7 +43,7 @@ impl IRadialControllerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateForWindow)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Input/Touch/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Input/Touch/mod.rs index 23a6351ac5..27cbf537c1 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Input/Touch/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Input/Touch/mod.rs @@ -83,154 +83,154 @@ where impl IInertiaProcessor { pub unsafe fn InitialOriginX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialOriginX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialOriginX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialOriginX(&self, x: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialOriginX)(::windows_core::Interface::as_raw(self), x).ok() } pub unsafe fn InitialOriginY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialOriginY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialOriginY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialOriginY(&self, y: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialOriginY)(::windows_core::Interface::as_raw(self), y).ok() } pub unsafe fn InitialVelocityX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialVelocityX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialVelocityX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialVelocityX(&self, x: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialVelocityX)(::windows_core::Interface::as_raw(self), x).ok() } pub unsafe fn InitialVelocityY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialVelocityY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialVelocityY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialVelocityY(&self, y: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialVelocityY)(::windows_core::Interface::as_raw(self), y).ok() } pub unsafe fn InitialAngularVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialAngularVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialAngularVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialAngularVelocity(&self, velocity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialAngularVelocity)(::windows_core::Interface::as_raw(self), velocity).ok() } pub unsafe fn InitialExpansionVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialExpansionVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialExpansionVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialExpansionVelocity(&self, velocity: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialExpansionVelocity)(::windows_core::Interface::as_raw(self), velocity).ok() } pub unsafe fn InitialRadius(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialRadius)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialRadius)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialRadius(&self, radius: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialRadius)(::windows_core::Interface::as_raw(self), radius).ok() } pub unsafe fn BoundaryLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BoundaryLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BoundaryLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoundaryLeft(&self, left: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoundaryLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn BoundaryTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BoundaryTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BoundaryTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoundaryTop(&self, top: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoundaryTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn BoundaryRight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BoundaryRight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BoundaryRight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoundaryRight(&self, right: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoundaryRight)(::windows_core::Interface::as_raw(self), right).ok() } pub unsafe fn BoundaryBottom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BoundaryBottom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BoundaryBottom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBoundaryBottom(&self, bottom: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBoundaryBottom)(::windows_core::Interface::as_raw(self), bottom).ok() } pub unsafe fn ElasticMarginLeft(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElasticMarginLeft)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElasticMarginLeft)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElasticMarginLeft(&self, left: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetElasticMarginLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn ElasticMarginTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElasticMarginTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElasticMarginTop)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElasticMarginTop(&self, top: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetElasticMarginTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn ElasticMarginRight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElasticMarginRight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElasticMarginRight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElasticMarginRight(&self, right: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetElasticMarginRight)(::windows_core::Interface::as_raw(self), right).ok() } pub unsafe fn ElasticMarginBottom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ElasticMarginBottom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ElasticMarginBottom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetElasticMarginBottom(&self, bottom: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetElasticMarginBottom)(::windows_core::Interface::as_raw(self), bottom).ok() } pub unsafe fn DesiredDisplacement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredDisplacement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredDisplacement)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredDisplacement(&self, displacement: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredDisplacement)(::windows_core::Interface::as_raw(self), displacement).ok() } pub unsafe fn DesiredRotation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredRotation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredRotation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredRotation(&self, rotation: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredRotation)(::windows_core::Interface::as_raw(self), rotation).ok() } pub unsafe fn DesiredExpansion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredExpansion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredExpansion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredExpansion(&self, expansion: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredExpansion)(::windows_core::Interface::as_raw(self), expansion).ok() } pub unsafe fn DesiredDeceleration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredDeceleration(&self, deceleration: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredDeceleration)(::windows_core::Interface::as_raw(self), deceleration).ok() } pub unsafe fn DesiredAngularDeceleration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredAngularDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredAngularDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredAngularDeceleration(&self, deceleration: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredAngularDeceleration)(::windows_core::Interface::as_raw(self), deceleration).ok() } pub unsafe fn DesiredExpansionDeceleration(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredExpansionDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredExpansionDeceleration)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDesiredExpansionDeceleration(&self, deceleration: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredExpansionDeceleration)(::windows_core::Interface::as_raw(self), deceleration).ok() } pub unsafe fn InitialTimestamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InitialTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InitialTimestamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialTimestamp(&self, timestamp: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInitialTimestamp)(::windows_core::Interface::as_raw(self), timestamp).ok() @@ -240,11 +240,11 @@ impl IInertiaProcessor { } pub unsafe fn Process(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Process)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Process)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ProcessTime(&self, timestamp: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProcessTime)(::windows_core::Interface::as_raw(self), timestamp, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProcessTime)(::windows_core::Interface::as_raw(self), timestamp, &mut result__).map(|| result__) } pub unsafe fn Complete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Complete)(::windows_core::Interface::as_raw(self)).ok() @@ -312,28 +312,28 @@ pub struct IInertiaProcessor_Vtbl { impl IManipulationProcessor { pub unsafe fn SupportedManipulations(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedManipulations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedManipulations)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportedManipulations(&self, manipulations: MANIPULATION_PROCESSOR_MANIPULATIONS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSupportedManipulations)(::windows_core::Interface::as_raw(self), manipulations).ok() } pub unsafe fn PivotPointX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PivotPointX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PivotPointX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPivotPointX(&self, pivotpointx: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPivotPointX)(::windows_core::Interface::as_raw(self), pivotpointx).ok() } pub unsafe fn PivotPointY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PivotPointY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PivotPointY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPivotPointY(&self, pivotpointy: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPivotPointY)(::windows_core::Interface::as_raw(self), pivotpointy).ok() } pub unsafe fn PivotRadius(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PivotRadius)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PivotRadius)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPivotRadius(&self, pivotradius: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPivotRadius)(::windows_core::Interface::as_raw(self), pivotradius).ok() @@ -361,23 +361,23 @@ impl IManipulationProcessor { } pub unsafe fn GetVelocityX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVelocityX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVelocityX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetVelocityY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVelocityY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVelocityY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetExpansionVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExpansionVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExpansionVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAngularVelocity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAngularVelocity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAngularVelocity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MinimumScaleRotateRadius(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MinimumScaleRotateRadius)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MinimumScaleRotateRadius)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMinimumScaleRotateRadius(&self, minradius: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMinimumScaleRotateRadius)(::windows_core::Interface::as_raw(self), minradius).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/InteractionContext/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/InteractionContext/mod.rs index 2796b92777..ab6114e580 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/InteractionContext/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/InteractionContext/mod.rs @@ -19,7 +19,7 @@ where pub unsafe fn CreateInteractionContext() -> ::windows_core::Result { ::windows_targets::link!("ninput.dll" "system" fn CreateInteractionContext(interactioncontext : *mut HINTERACTIONCONTEXT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateInteractionContext(&mut result__).from_abi(result__) + CreateInteractionContext(&mut result__).map(|| result__) } #[inline] pub unsafe fn DestroyInteractionContext(interactioncontext: P0) -> ::windows_core::Result<()> @@ -36,7 +36,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetCrossSlideParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, threshold : CROSS_SLIDE_THRESHOLD, distance : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetCrossSlideParameterInteractionContext(interactioncontext.into_param().abi(), threshold, &mut result__).from_abi(result__) + GetCrossSlideParameterInteractionContext(interactioncontext.into_param().abi(), threshold, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetHoldParameterInteractionContext(interactioncontext: P0, parameter: HOLD_PARAMETER) -> ::windows_core::Result @@ -45,7 +45,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetHoldParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, parameter : HOLD_PARAMETER, value : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetHoldParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).from_abi(result__) + GetHoldParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetInertiaParameterInteractionContext(interactioncontext: P0, inertiaparameter: INERTIA_PARAMETER) -> ::windows_core::Result @@ -54,7 +54,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetInertiaParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, inertiaparameter : INERTIA_PARAMETER, value : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetInertiaParameterInteractionContext(interactioncontext.into_param().abi(), inertiaparameter, &mut result__).from_abi(result__) + GetInertiaParameterInteractionContext(interactioncontext.into_param().abi(), inertiaparameter, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetInteractionConfigurationInteractionContext(interactioncontext: P0, configuration: &mut [INTERACTION_CONTEXT_CONFIGURATION]) -> ::windows_core::Result<()> @@ -71,7 +71,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetMouseWheelParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, parameter : MOUSE_WHEEL_PARAMETER, value : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetMouseWheelParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).from_abi(result__) + GetMouseWheelParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetPropertyInteractionContext(interactioncontext: P0, contextproperty: INTERACTION_CONTEXT_PROPERTY) -> ::windows_core::Result @@ -80,7 +80,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetPropertyInteractionContext(interactioncontext : HINTERACTIONCONTEXT, contextproperty : INTERACTION_CONTEXT_PROPERTY, value : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetPropertyInteractionContext(interactioncontext.into_param().abi(), contextproperty, &mut result__).from_abi(result__) + GetPropertyInteractionContext(interactioncontext.into_param().abi(), contextproperty, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_UI_Input_Pointer", feature = "Win32_UI_WindowsAndMessaging"))] #[inline] @@ -90,7 +90,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetStateInteractionContext(interactioncontext : HINTERACTIONCONTEXT, pointerinfo : *const super::Input::Pointer:: POINTER_INFO, state : *mut INTERACTION_STATE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetStateInteractionContext(interactioncontext.into_param().abi(), ::core::mem::transmute(pointerinfo.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + GetStateInteractionContext(interactioncontext.into_param().abi(), ::core::mem::transmute(pointerinfo.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetTapParameterInteractionContext(interactioncontext: P0, parameter: TAP_PARAMETER) -> ::windows_core::Result @@ -99,7 +99,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetTapParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, parameter : TAP_PARAMETER, value : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetTapParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).from_abi(result__) + GetTapParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).map(|| result__) } #[inline] pub unsafe fn GetTranslationParameterInteractionContext(interactioncontext: P0, parameter: TRANSLATION_PARAMETER) -> ::windows_core::Result @@ -108,7 +108,7 @@ where { ::windows_targets::link!("ninput.dll" "system" fn GetTranslationParameterInteractionContext(interactioncontext : HINTERACTIONCONTEXT, parameter : TRANSLATION_PARAMETER, value : *mut f32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetTranslationParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).from_abi(result__) + GetTranslationParameterInteractionContext(interactioncontext.into_param().abi(), parameter, &mut result__).map(|| result__) } #[inline] pub unsafe fn ProcessBufferedPacketsInteractionContext(interactioncontext: P0) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/UI/LegacyWindowsEnvironmentFeatures/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/LegacyWindowsEnvironmentFeatures/mod.rs index 98cddf44c7..179c6985ba 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/LegacyWindowsEnvironmentFeatures/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/LegacyWindowsEnvironmentFeatures/mod.rs @@ -109,7 +109,7 @@ impl IEmptyVolumeCache { } pub unsafe fn Deactivate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deactivate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deactivate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -156,7 +156,7 @@ impl IEmptyVolumeCache2 { } pub unsafe fn Deactivate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Deactivate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Deactivate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] pub unsafe fn InitializeEx(&self, hkregkey: P0, pcwszvolume: P1, pcwszkeyname: P2, ppwszdisplayname: *mut ::windows_core::PWSTR, ppwszdescription: *mut ::windows_core::PWSTR, ppwszbtntext: *mut ::windows_core::PWSTR, pdwflags: *mut EMPTY_VOLUME_CACHE_FLAGS) -> ::windows_core::Result<()> @@ -215,7 +215,7 @@ impl IReconcilableObject { } pub unsafe fn GetProgressFeedbackMaxEstimate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgressFeedbackMaxEstimate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgressFeedbackMaxEstimate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Ribbon/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Ribbon/mod.rs index 8be82484a4..78618a663a 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Ribbon/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Ribbon/mod.rs @@ -9,7 +9,7 @@ impl IUIApplication { } pub unsafe fn OnCreateUICommand(&self, commandid: u32, typeid: UI_COMMANDTYPE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnCreateUICommand)(::windows_core::Interface::as_raw(self), commandid, typeid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnCreateUICommand)(::windows_core::Interface::as_raw(self), commandid, typeid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDestroyUICommand(&self, commandid: u32, typeid: UI_COMMANDTYPE, commandhandler: P0) -> ::windows_core::Result<()> where @@ -31,11 +31,11 @@ pub struct IUIApplication_Vtbl { impl IUICollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self, index: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, item: P0) -> ::windows_core::Result<()> where @@ -104,7 +104,7 @@ impl IUICommandHandler { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn UpdateProperty(&self, commandid: u32, key: *const super::Shell::PropertiesSystem::PROPERTYKEY, currentvalue: ::core::option::Option<*const ::windows_core::PROPVARIANT>) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateProperty)(::windows_core::Interface::as_raw(self), commandid, key, ::core::mem::transmute(currentvalue.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateProperty)(::windows_core::Interface::as_raw(self), commandid, key, ::core::mem::transmute(currentvalue.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -188,7 +188,7 @@ impl IUIFramework { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetUICommandProperty(&self, commandid: u32, key: *const super::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUICommandProperty)(::windows_core::Interface::as_raw(self), commandid, key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUICommandProperty)(::windows_core::Interface::as_raw(self), commandid, key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetUICommandProperty(&self, commandid: u32, key: *const super::Shell::PropertiesSystem::PROPERTYKEY, value: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { @@ -234,7 +234,7 @@ impl IUIImage { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -255,7 +255,7 @@ impl IUIImageFromBitmap { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImage)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImage)(::windows_core::Interface::as_raw(self), bitmap.into_param().abi(), options, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -272,7 +272,7 @@ pub struct IUIImageFromBitmap_Vtbl { impl IUIRibbon { pub unsafe fn GetHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadSettingsFromStream(&self, pstream: P0) -> ::windows_core::Result<()> @@ -309,7 +309,7 @@ impl IUISimplePropertySet { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, key: *const super::Shell::PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/Shell/Common/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Shell/Common/mod.rs index 5256f07dfe..466d1247a0 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Shell/Common/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Shell/Common/mod.rs @@ -3,14 +3,14 @@ impl IObjectArray { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, uiindex: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -25,14 +25,14 @@ pub struct IObjectArray_Vtbl { impl IObjectCollection { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, uiindex: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetAt)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAt)(::windows_core::Interface::as_raw(self), uiindex, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddObject(&self, punk: P0) -> ::windows_core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Win32/UI/Shell/PropertiesSystem/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Shell/PropertiesSystem/mod.rs index 0b7d4e4b4e..410a011f1b 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Shell/PropertiesSystem/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Shell/PropertiesSystem/mod.rs @@ -70,7 +70,7 @@ pub unsafe fn PSFormatForDisplay(propkey: *const PROPERTYKEY, propvar: *const :: pub unsafe fn PSFormatForDisplayAlloc(key: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT, pdff: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn PSFormatForDisplayAlloc(key : *const PROPERTYKEY, propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, pdff : PROPDESC_FORMAT_FLAGS, ppszdisplay : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSFormatForDisplayAlloc(key, ::core::mem::transmute(propvar), pdff, &mut result__).from_abi(result__) + PSFormatForDisplayAlloc(key, ::core::mem::transmute(propvar), pdff, &mut result__).map(|| result__) } #[inline] pub unsafe fn PSFormatPropertyValue(pps: P0, ppd: P1, pdff: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> @@ -80,13 +80,13 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSFormatPropertyValue(pps : * mut::core::ffi::c_void, ppd : * mut::core::ffi::c_void, pdff : PROPDESC_FORMAT_FLAGS, ppszdisplay : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSFormatPropertyValue(pps.into_param().abi(), ppd.into_param().abi(), pdff, &mut result__).from_abi(result__) + PSFormatPropertyValue(pps.into_param().abi(), ppd.into_param().abi(), pdff, &mut result__).map(|| result__) } #[inline] pub unsafe fn PSGetImageReferenceForValue(propkey: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn PSGetImageReferenceForValue(propkey : *const PROPERTYKEY, propvar : *const ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >, ppszimageres : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSGetImageReferenceForValue(propkey, ::core::mem::transmute(propvar), &mut result__).from_abi(result__) + PSGetImageReferenceForValue(propkey, ::core::mem::transmute(propvar), &mut result__).map(|| result__) } #[inline] pub unsafe fn PSGetItemPropertyHandler(punkitem: P0, freadwrite: P1, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> @@ -111,7 +111,7 @@ where pub unsafe fn PSGetNameFromPropertyKey(propkey: *const PROPERTYKEY) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("propsys.dll" "system" fn PSGetNameFromPropertyKey(propkey : *const PROPERTYKEY, ppszcanonicalname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSGetNameFromPropertyKey(propkey, &mut result__).from_abi(result__) + PSGetNameFromPropertyKey(propkey, &mut result__).map(|| result__) } #[inline] pub unsafe fn PSGetNamedPropertyFromPropertyStorage(psps: P0, cb: u32, pszname: P1) -> ::windows_core::Result<::windows_core::PROPVARIANT> @@ -121,7 +121,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSGetNamedPropertyFromPropertyStorage(psps : PCUSERIALIZEDPROPSTORAGE, cb : u32, pszname : ::windows_core::PCWSTR, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSGetNamedPropertyFromPropertyStorage(psps.into_param().abi(), cb, pszname.into_param().abi(), &mut result__).from_abi(result__) + PSGetNamedPropertyFromPropertyStorage(psps.into_param().abi(), cb, pszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PSGetPropertyDescription(propkey: *const PROPERTYKEY, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { @@ -151,7 +151,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSGetPropertyFromPropertyStorage(psps : PCUSERIALIZEDPROPSTORAGE, cb : u32, rpkey : *const PROPERTYKEY, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSGetPropertyFromPropertyStorage(psps.into_param().abi(), cb, rpkey, &mut result__).from_abi(result__) + PSGetPropertyFromPropertyStorage(psps.into_param().abi(), cb, rpkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PSGetPropertyKeyFromName(pszname: P0, ppropkey: *mut PROPERTYKEY) -> ::windows_core::Result<()> @@ -174,7 +174,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSGetPropertyValue(pps : * mut::core::ffi::c_void, ppd : * mut::core::ffi::c_void, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSGetPropertyValue(pps.into_param().abi(), ppd.into_param().abi(), &mut result__).from_abi(result__) + PSGetPropertyValue(pps.into_param().abi(), ppd.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn PSLookupPropertyHandlerCLSID(pszfilepath: P0) -> ::windows_core::Result<::windows_core::GUID> @@ -183,7 +183,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSLookupPropertyHandlerCLSID(pszfilepath : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSLookupPropertyHandlerCLSID(pszfilepath.into_param().abi(), &mut result__).from_abi(result__) + PSLookupPropertyHandlerCLSID(pszfilepath.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -204,7 +204,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadBOOL(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut super::super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadBOOL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadBOOL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -215,7 +215,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadBSTR(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut ::std::mem::MaybeUninit <::windows_core::BSTR >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadBSTR(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadBSTR(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -226,7 +226,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadDWORD(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadDWORD(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadDWORD(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -237,7 +237,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadGUID(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadGUID(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadGUID(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -248,7 +248,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadInt(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadInt(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadInt(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -259,7 +259,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadLONG(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut i32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadLONG(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadLONG(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -270,7 +270,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadPOINTL(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut super::super::super::Foundation:: POINTL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadPOINTL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadPOINTL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -281,7 +281,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadPOINTS(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut super::super::super::Foundation:: POINTS) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadPOINTS(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadPOINTS(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -302,7 +302,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadRECTL(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut super::super::super::Foundation:: RECTL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadRECTL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadRECTL(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -313,7 +313,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadSHORT(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut i16) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadSHORT(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadSHORT(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -334,7 +334,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadStrAlloc(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadStrAlloc(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadStrAlloc(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -345,7 +345,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadStream(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadStream(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadStream(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Variant"))] #[inline] @@ -366,7 +366,7 @@ where { ::windows_targets::link!("propsys.dll" "system" fn PSPropertyBag_ReadULONGLONG(propbag : * mut::core::ffi::c_void, propname : ::windows_core::PCWSTR, value : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PSPropertyBag_ReadULONGLONG(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).from_abi(result__) + PSPropertyBag_ReadULONGLONG(propbag.into_param().abi(), propname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -628,7 +628,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetPropertyStoreForWindow(hwnd : super::super::super::Foundation:: HWND, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetPropertyStoreForWindow(hwnd.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHGetPropertyStoreForWindow(hwnd.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -646,7 +646,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetPropertyStoreFromParsingName(pszpath : ::windows_core::PCWSTR, pbc : * mut::core::ffi::c_void, flags : GETPROPERTYSTOREFLAGS, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetPropertyStoreFromParsingName(pszpath.into_param().abi(), pbc.into_param().abi(), flags, &T::IID, &mut result__).from_abi(result__) + SHGetPropertyStoreFromParsingName(pszpath.into_param().abi(), pbc.into_param().abi(), flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com_StructuredStorage")] #[inline] @@ -684,7 +684,7 @@ impl ICreateObject { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), clsid, punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), clsid, punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -702,21 +702,21 @@ impl IDelayedPropertyStoreFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, punkfactory.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, punkfactory.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyStoreForKeys(&self, rgkeys: *const PROPERTYKEY, ckeys: u32, flags: GETPROPERTYSTOREFLAGS) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), rgkeys, ckeys, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), rgkeys, ckeys, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDelayedPropertyStore(&self, flags: GETPROPERTYSTOREFLAGS, dwstoreid: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetDelayedPropertyStore)(::windows_core::Interface::as_raw(self), flags, dwstoreid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDelayedPropertyStore)(::windows_core::Interface::as_raw(self), flags, dwstoreid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -769,7 +769,7 @@ impl INamedPropertyStore { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamedValue)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamedValue)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNamedValue(&self, pszname: P0, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> where @@ -779,11 +779,11 @@ impl INamedPropertyStore { } pub unsafe fn GetNameCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNameAt(&self, iprop: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNameAt)(::windows_core::Interface::as_raw(self), iprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNameAt)(::windows_core::Interface::as_raw(self), iprop, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -853,7 +853,7 @@ impl IPersistSerializedPropStorage2 { } pub unsafe fn GetPropertyStorageSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyStorageSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStorageSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyStorageBuffer(&self, psps: *mut SERIALIZEDPROPSTORAGE, cb: u32, pcbwritten: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPropertyStorageBuffer)(::windows_core::Interface::as_raw(self), psps, cb, pcbwritten).ok() @@ -877,7 +877,7 @@ impl IPropertyChange { } pub unsafe fn ApplyToPropVariant(&self, propvarin: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplyToPropVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplyToPropVariant)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -891,14 +891,14 @@ pub struct IPropertyChange_Vtbl { impl IPropertyChangeArray { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, iindex: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), iindex, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), iindex, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InsertAt(&self, iindex: u32, ppropchange: P0) -> ::windows_core::Result<()> where @@ -945,65 +945,65 @@ impl IPropertyDescription { } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEditInvitation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self, mask: PROPDESC_TYPE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).map(|| result__) } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultColumnWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupingRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescription(&self, propvar1: *const ::windows_core::PROPVARIANT, propvar2: *const ::windows_core::PROPVARIANT, ppszdesc1: *mut ::windows_core::PWSTR, ppszdesc2: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetRelativeDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar1), ::core::mem::transmute(propvar2), ppszdesc1, ppszdesc2).ok() } pub unsafe fn GetSortDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortDescriptionLabel(&self, fdescending: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAggregationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self, pcontype: *mut PROPDESC_CONDITION_TYPE, popdefault: *mut super::super::super::System::Search::Common::CONDITION_OPERATION) -> ::windows_core::Result<()> { @@ -1014,14 +1014,14 @@ impl IPropertyDescription { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoerceToCanonicalValue(&self, ppropvar: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CoerceToCanonicalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvar)).ok() } pub unsafe fn FormatForDisplay(&self, propvar: *const ::windows_core::PROPVARIANT, pdfflags: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).map(|| result__) } pub unsafe fn IsValueCanonical(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsValueCanonical)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar)).ok() @@ -1064,65 +1064,65 @@ impl IPropertyDescription2 { } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEditInvitation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self, mask: PROPDESC_TYPE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).map(|| result__) } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultColumnWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupingRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescription(&self, propvar1: *const ::windows_core::PROPVARIANT, propvar2: *const ::windows_core::PROPVARIANT, ppszdesc1: *mut ::windows_core::PWSTR, ppszdesc2: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRelativeDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar1), ::core::mem::transmute(propvar2), ppszdesc1, ppszdesc2).ok() } pub unsafe fn GetSortDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortDescriptionLabel(&self, fdescending: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAggregationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self, pcontype: *mut PROPDESC_CONDITION_TYPE, popdefault: *mut super::super::super::System::Search::Common::CONDITION_OPERATION) -> ::windows_core::Result<()> { @@ -1133,21 +1133,21 @@ impl IPropertyDescription2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoerceToCanonicalValue(&self, ppropvar: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CoerceToCanonicalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvar)).ok() } pub unsafe fn FormatForDisplay(&self, propvar: *const ::windows_core::PROPVARIANT, pdfflags: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).map(|| result__) } pub unsafe fn IsValueCanonical(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsValueCanonical)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar)).ok() } pub unsafe fn GetImageReferenceForValue(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageReferenceForValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageReferenceForValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), &mut result__).map(|| result__) } } #[repr(C)] @@ -1164,65 +1164,65 @@ impl IPropertyDescriptionAliasInfo { } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEditInvitation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self, mask: PROPDESC_TYPE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).map(|| result__) } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultColumnWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupingRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescription(&self, propvar1: *const ::windows_core::PROPVARIANT, propvar2: *const ::windows_core::PROPVARIANT, ppszdesc1: *mut ::windows_core::PWSTR, ppszdesc2: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRelativeDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar1), ::core::mem::transmute(propvar2), ppszdesc1, ppszdesc2).ok() } pub unsafe fn GetSortDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortDescriptionLabel(&self, fdescending: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAggregationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self, pcontype: *mut PROPDESC_CONDITION_TYPE, popdefault: *mut super::super::super::System::Search::Common::CONDITION_OPERATION) -> ::windows_core::Result<()> { @@ -1233,14 +1233,14 @@ impl IPropertyDescriptionAliasInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoerceToCanonicalValue(&self, ppropvar: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CoerceToCanonicalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvar)).ok() } pub unsafe fn FormatForDisplay(&self, propvar: *const ::windows_core::PROPVARIANT, pdfflags: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).map(|| result__) } pub unsafe fn IsValueCanonical(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsValueCanonical)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar)).ok() @@ -1250,14 +1250,14 @@ impl IPropertyDescriptionAliasInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSortByAlias)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSortByAlias)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAdditionalSortByAliases(&self) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAdditionalSortByAliases)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdditionalSortByAliases)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1272,14 +1272,14 @@ pub struct IPropertyDescriptionAliasInfo_Vtbl { impl IPropertyDescriptionList { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, ielem: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ielem, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), ielem, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1297,65 +1297,65 @@ impl IPropertyDescriptionRelatedPropertyInfo { } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEditInvitation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self, mask: PROPDESC_TYPE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).map(|| result__) } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultColumnWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupingRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescription(&self, propvar1: *const ::windows_core::PROPVARIANT, propvar2: *const ::windows_core::PROPVARIANT, ppszdesc1: *mut ::windows_core::PWSTR, ppszdesc2: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRelativeDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar1), ::core::mem::transmute(propvar2), ppszdesc1, ppszdesc2).ok() } pub unsafe fn GetSortDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortDescriptionLabel(&self, fdescending: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAggregationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self, pcontype: *mut PROPDESC_CONDITION_TYPE, popdefault: *mut super::super::super::System::Search::Common::CONDITION_OPERATION) -> ::windows_core::Result<()> { @@ -1366,14 +1366,14 @@ impl IPropertyDescriptionRelatedPropertyInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoerceToCanonicalValue(&self, ppropvar: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CoerceToCanonicalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvar)).ok() } pub unsafe fn FormatForDisplay(&self, propvar: *const ::windows_core::PROPVARIANT, pdfflags: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).map(|| result__) } pub unsafe fn IsValueCanonical(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsValueCanonical)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar)).ok() @@ -1384,7 +1384,7 @@ impl IPropertyDescriptionRelatedPropertyInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetRelatedProperty)(::windows_core::Interface::as_raw(self), pszrelationshipname.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelatedProperty)(::windows_core::Interface::as_raw(self), pszrelationshipname.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1401,65 +1401,65 @@ impl IPropertyDescriptionSearchInfo { } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPropertyType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPropertyType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEditInvitation(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEditInvitation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeFlags(&self, mask: PROPDESC_TYPE_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTypeFlags)(::windows_core::Interface::as_raw(self), mask, &mut result__).map(|| result__) } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultColumnWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultColumnWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetColumnState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetGroupingRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGroupingRange)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescriptionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRelativeDescriptionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRelativeDescription(&self, propvar1: *const ::windows_core::PROPVARIANT, propvar2: *const ::windows_core::PROPVARIANT, ppszdesc1: *mut ::windows_core::PWSTR, ppszdesc2: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetRelativeDescription)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar1), ::core::mem::transmute(propvar2), ppszdesc1, ppszdesc2).ok() } pub unsafe fn GetSortDescription(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortDescriptionLabel(&self, fdescending: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSortDescriptionLabel)(::windows_core::Interface::as_raw(self), fdescending.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetAggregationType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAggregationType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Search_Common")] pub unsafe fn GetConditionType(&self, pcontype: *mut PROPDESC_CONDITION_TYPE, popdefault: *mut super::super::super::System::Search::Common::CONDITION_OPERATION) -> ::windows_core::Result<()> { @@ -1470,33 +1470,33 @@ impl IPropertyDescriptionSearchInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumTypeList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CoerceToCanonicalValue(&self, ppropvar: *mut ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CoerceToCanonicalValue)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppropvar)).ok() } pub unsafe fn FormatForDisplay(&self, propvar: *const ::windows_core::PROPVARIANT, pdfflags: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FormatForDisplay)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar), pdfflags, &mut result__).map(|| result__) } pub unsafe fn IsValueCanonical(&self, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.IsValueCanonical)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvar)).ok() } pub unsafe fn GetSearchInfoFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSearchInfoFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSearchInfoFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetColumnIndexType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnIndexType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnIndexType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProjectionString(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProjectionString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProjectionString)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMaxSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1513,23 +1513,23 @@ pub struct IPropertyDescriptionSearchInfo_Vtbl { impl IPropertyEnumType { pub unsafe fn GetEnumType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRangeMinValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRangeMinValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRangeMinValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRangeSetValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRangeSetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRangeSetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1547,27 +1547,27 @@ pub struct IPropertyEnumType_Vtbl { impl IPropertyEnumType2 { pub unsafe fn GetEnumType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEnumType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEnumType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRangeMinValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRangeMinValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRangeMinValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetRangeSetValue(&self) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRangeSetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRangeSetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetImageReference(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImageReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImageReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1581,25 +1581,25 @@ pub struct IPropertyEnumType2_Vtbl { impl IPropertyEnumTypeList { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, itype: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), itype, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), itype, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetConditionAt(&self, nindex: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetConditionAt)(::windows_core::Interface::as_raw(self), nindex, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConditionAt)(::windows_core::Interface::as_raw(self), nindex, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindMatchingIndex(&self, propvarcmp: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindMatchingIndex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvarcmp), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindMatchingIndex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propvarcmp), &mut result__).map(|| result__) } } #[repr(C)] @@ -1616,14 +1616,14 @@ pub struct IPropertyEnumTypeList_Vtbl { impl IPropertyStore { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, iprop: u32, pkey: *mut PROPERTYKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), iprop, pkey).ok() } pub unsafe fn GetValue(&self, key: *const PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, key: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetValue)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(propvar)).ok() @@ -1647,14 +1647,14 @@ pub struct IPropertyStore_Vtbl { impl IPropertyStoreCache { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, iprop: u32, pkey: *mut PROPERTYKEY) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAt)(::windows_core::Interface::as_raw(self), iprop, pkey).ok() } pub unsafe fn GetValue(&self, key: *const PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetValue(&self, key: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetValue)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(propvar)).ok() @@ -1664,7 +1664,7 @@ impl IPropertyStoreCache { } pub unsafe fn GetState(&self, key: *const PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } pub unsafe fn GetValueAndState(&self, key: *const PROPERTYKEY, ppropvar: *mut ::windows_core::PROPVARIANT, pstate: *mut PSC_STATE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetValueAndState)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(ppropvar), pstate).ok() @@ -1707,14 +1707,14 @@ impl IPropertyStoreFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, punkfactory.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, punkfactory.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyStoreForKeys(&self, rgkeys: *const PROPERTYKEY, ckeys: u32, flags: GETPROPERTYSTOREFLAGS) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), rgkeys, ckeys, flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), rgkeys, ckeys, flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1732,7 +1732,7 @@ impl IPropertySystem { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyDescription)(::windows_core::Interface::as_raw(self), propkey, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDescription)(::windows_core::Interface::as_raw(self), propkey, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyDescriptionByName(&self, pszcanonicalname: P0) -> ::windows_core::Result where @@ -1740,7 +1740,7 @@ impl IPropertySystem { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyDescriptionByName)(::windows_core::Interface::as_raw(self), pszcanonicalname.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDescriptionByName)(::windows_core::Interface::as_raw(self), pszcanonicalname.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyDescriptionListFromString(&self, pszproplist: P0) -> ::windows_core::Result where @@ -1748,21 +1748,21 @@ impl IPropertySystem { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyDescriptionListFromString)(::windows_core::Interface::as_raw(self), pszproplist.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDescriptionListFromString)(::windows_core::Interface::as_raw(self), pszproplist.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumeratePropertyDescriptions(&self, filteron: PROPDESC_ENUMFILTER) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).EnumeratePropertyDescriptions)(::windows_core::Interface::as_raw(self), filteron, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumeratePropertyDescriptions)(::windows_core::Interface::as_raw(self), filteron, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FormatForDisplay(&self, key: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT, pdff: PROPDESC_FORMAT_FLAGS, psztext: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FormatForDisplay)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(propvar), pdff, ::core::mem::transmute(psztext.as_ptr()), psztext.len().try_into().unwrap()).ok() } pub unsafe fn FormatForDisplayAlloc(&self, key: *const PROPERTYKEY, propvar: *const ::windows_core::PROPVARIANT, pdff: PROPDESC_FORMAT_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FormatForDisplayAlloc)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(propvar), pdff, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FormatForDisplayAlloc)(::windows_core::Interface::as_raw(self), key, ::core::mem::transmute(propvar), pdff, &mut result__).map(|| result__) } pub unsafe fn RegisterPropertySchema(&self, pszpath: P0) -> ::windows_core::Result<()> where @@ -1827,11 +1827,11 @@ impl IPropertyUI { } pub unsafe fn GetDefaultWidth(&self, fmtid: *const ::windows_core::GUID, pid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultWidth)(::windows_core::Interface::as_raw(self), fmtid, pid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultWidth)(::windows_core::Interface::as_raw(self), fmtid, pid, &mut result__).map(|| result__) } pub unsafe fn GetFlags(&self, fmtid: *const ::windows_core::GUID, pid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), fmtid, pid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), fmtid, pid, &mut result__).map(|| result__) } pub unsafe fn FormatForDisplay(&self, fmtid: *const ::windows_core::GUID, pid: u32, ppropvar: *const ::windows_core::PROPVARIANT, puiff: PROPERTYUI_FORMAT_FLAGS, pwsztext: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FormatForDisplay)(::windows_core::Interface::as_raw(self), fmtid, pid, ::core::mem::transmute(ppropvar), puiff, ::core::mem::transmute(pwsztext.as_ptr()), pwsztext.len().try_into().unwrap()).ok() diff --git a/crates/libs/windows/src/Windows/Win32/UI/Shell/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Shell/mod.rs index b3a3cff0c2..c137d076f2 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Shell/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Shell/mod.rs @@ -9,7 +9,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn AssocCreate(clsid : ::windows_core::GUID, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - AssocCreate(::core::mem::transmute(clsid), &T::IID, &mut result__).from_abi(result__) + AssocCreate(::core::mem::transmute(clsid), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Registry")] #[inline] @@ -19,7 +19,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn AssocCreateForClasses(rgclasses : *const ASSOCIATIONELEMENT, cclasses : u32, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - AssocCreateForClasses(::core::mem::transmute(rgclasses.as_ptr()), rgclasses.len().try_into().unwrap(), &T::IID, &mut result__).from_abi(result__) + AssocCreateForClasses(::core::mem::transmute(rgclasses.as_ptr()), rgclasses.len().try_into().unwrap(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] #[inline] @@ -56,7 +56,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn AssocQueryKeyA(flags : ASSOCF, key : ASSOCKEY, pszassoc : ::windows_core::PCSTR, pszextra : ::windows_core::PCSTR, phkeyout : *mut super::super::System::Registry:: HKEY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AssocQueryKeyA(flags, key, pszassoc.into_param().abi(), pszextra.into_param().abi(), &mut result__).from_abi(result__) + AssocQueryKeyA(flags, key, pszassoc.into_param().abi(), pszextra.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] #[inline] @@ -67,7 +67,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn AssocQueryKeyW(flags : ASSOCF, key : ASSOCKEY, pszassoc : ::windows_core::PCWSTR, pszextra : ::windows_core::PCWSTR, phkeyout : *mut super::super::System::Registry:: HKEY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - AssocQueryKeyW(flags, key, pszassoc.into_param().abi(), pszextra.into_param().abi(), &mut result__).from_abi(result__) + AssocQueryKeyW(flags, key, pszassoc.into_param().abi(), pszextra.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn AssocQueryStringA(flags: ASSOCF, str: ASSOCSTR, pszassoc: P0, pszextra: P1, pszout: ::windows_core::PSTR, pcchout: *mut u32) -> ::windows_core::HRESULT @@ -116,14 +116,14 @@ where { ::windows_targets::link!("shell32.dll" "system" fn CDefFolderMenu_Create2(pidlfolder : *const Common:: ITEMIDLIST, hwnd : super::super::Foundation:: HWND, cidl : u32, apidl : *const *const Common:: ITEMIDLIST, psf : * mut::core::ffi::c_void, pfn : LPFNDFMCALLBACK, nkeys : u32, ahkeys : *const super::super::System::Registry:: HKEY, ppcm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CDefFolderMenu_Create2(::core::mem::transmute(pidlfolder.unwrap_or(::std::ptr::null())), hwnd.into_param().abi(), apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), psf.into_param().abi(), pfn, ahkeys.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ahkeys.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + CDefFolderMenu_Create2(::core::mem::transmute(pidlfolder.unwrap_or(::std::ptr::null())), hwnd.into_param().abi(), apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), psf.into_param().abi(), pfn, ahkeys.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ahkeys.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] #[inline] pub unsafe fn CIDLData_CreateFromIDArray(pidlfolder: *const Common::ITEMIDLIST, apidl: ::core::option::Option<&[*const Common::ITEMIDLIST]>) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn CIDLData_CreateFromIDArray(pidlfolder : *const Common:: ITEMIDLIST, cidl : u32, apidl : *const *const Common:: ITEMIDLIST, ppdtobj : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CIDLData_CreateFromIDArray(pidlfolder, apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + CIDLData_CreateFromIDArray(pidlfolder, apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn ChrCmpIA(w1: u16, w2: u16) -> super::super::Foundation::BOOL { @@ -450,7 +450,7 @@ pub unsafe fn GetAllUsersProfileDirectoryW(lpprofiledir: ::windows_core::PWSTR, pub unsafe fn GetCurrentProcessExplicitAppUserModelID() -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("shell32.dll" "system" fn GetCurrentProcessExplicitAppUserModelID(appid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetCurrentProcessExplicitAppUserModelID(&mut result__).from_abi(result__) + GetCurrentProcessExplicitAppUserModelID(&mut result__).map(|| result__) } #[inline] pub unsafe fn GetDefaultUserProfileDirectoryA(lpprofiledir: ::windows_core::PSTR, lpcchsize: *mut u32) -> ::windows_core::Result<()> { @@ -526,7 +526,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-scaling-l1-1-1.dll" "system" fn GetScaleFactorForMonitor(hmon : super::super::Graphics::Gdi:: HMONITOR, pscale : *mut Common:: DEVICE_SCALE_FACTOR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - GetScaleFactorForMonitor(hmon.into_param().abi(), &mut result__).from_abi(result__) + GetScaleFactorForMonitor(hmon.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn GetUserProfileDirectoryA(htoken: P0, lpprofiledir: ::windows_core::PSTR, lpcchsize: *mut u32) -> ::windows_core::Result<()> @@ -622,7 +622,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkClone(pihl : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, pihlsiteforclone : * mut::core::ffi::c_void, dwsitedata : u32, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkClone(pihl.into_param().abi(), &T::IID, pihlsiteforclone.into_param().abi(), dwsitedata, &mut result__).from_abi(result__) + HlinkClone(pihl.into_param().abi(), &T::IID, pihlsiteforclone.into_param().abi(), dwsitedata, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn HlinkCreateBrowseContext(piunkouter: P0) -> ::windows_core::Result @@ -632,7 +632,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkCreateBrowseContext(piunkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkCreateBrowseContext(piunkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + HlinkCreateBrowseContext(piunkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn HlinkCreateExtensionServices(pwzadditionalheaders: P0, phwnd: P1, pszusername: P2, pszpassword: P3, piunkouter: P4) -> ::windows_core::Result @@ -646,7 +646,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkCreateExtensionServices(pwzadditionalheaders : ::windows_core::PCWSTR, phwnd : super::super::Foundation:: HWND, pszusername : ::windows_core::PCWSTR, pszpassword : ::windows_core::PCWSTR, piunkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkCreateExtensionServices(pwzadditionalheaders.into_param().abi(), phwnd.into_param().abi(), pszusername.into_param().abi(), pszpassword.into_param().abi(), piunkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + HlinkCreateExtensionServices(pwzadditionalheaders.into_param().abi(), phwnd.into_param().abi(), pszusername.into_param().abi(), pszpassword.into_param().abi(), piunkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -659,7 +659,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkCreateFromData(pidataobj : * mut::core::ffi::c_void, pihlsite : * mut::core::ffi::c_void, dwsitedata : u32, piunkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkCreateFromData(pidataobj.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + HlinkCreateFromData(pidataobj.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -674,7 +674,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkCreateFromMoniker(pimktrgt : * mut::core::ffi::c_void, pwzlocation : ::windows_core::PCWSTR, pwzfriendlyname : ::windows_core::PCWSTR, pihlsite : * mut::core::ffi::c_void, dwsitedata : u32, piunkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkCreateFromMoniker(pimktrgt.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + HlinkCreateFromMoniker(pimktrgt.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn HlinkCreateFromString(pwztarget: P0, pwzlocation: P1, pwzfriendlyname: P2, pihlsite: P3, dwsitedata: u32, piunkouter: P4) -> ::windows_core::Result @@ -688,7 +688,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkCreateFromString(pwztarget : ::windows_core::PCWSTR, pwzlocation : ::windows_core::PCWSTR, pwzfriendlyname : ::windows_core::PCWSTR, pihlsite : * mut::core::ffi::c_void, dwsitedata : u32, piunkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - HlinkCreateFromString(pwztarget.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + HlinkCreateFromString(pwztarget.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), pihlsite.into_param().abi(), dwsitedata, piunkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn HlinkCreateShortcut(grfhlshortcutf: u32, pihl: P0, pwzdir: P1, pwzfilename: P2, ppwzshortcutfile: *mut ::windows_core::PWSTR, dwreserved: u32) -> ::windows_core::Result<()> @@ -727,7 +727,7 @@ where pub unsafe fn HlinkGetSpecialReference(ureference: u32) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("hlink.dll" "system" fn HlinkGetSpecialReference(ureference : u32, ppwzreference : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HlinkGetSpecialReference(ureference, &mut result__).from_abi(result__) + HlinkGetSpecialReference(ureference, &mut result__).map(|| result__) } #[inline] pub unsafe fn HlinkGetValueFromParams(pwzparams: P0, pwzname: P1) -> ::windows_core::Result<::windows_core::PWSTR> @@ -737,7 +737,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkGetValueFromParams(pwzparams : ::windows_core::PCWSTR, pwzname : ::windows_core::PCWSTR, ppwzvalue : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HlinkGetValueFromParams(pwzparams.into_param().abi(), pwzname.into_param().abi(), &mut result__).from_abi(result__) + HlinkGetValueFromParams(pwzparams.into_param().abi(), pwzname.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn HlinkIsShortcut(pwzfilename: P0) -> ::windows_core::Result<()> @@ -819,7 +819,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkPreprocessMoniker(pibc : * mut::core::ffi::c_void, pimkin : * mut::core::ffi::c_void, ppimkout : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HlinkPreprocessMoniker(pibc.into_param().abi(), pimkin.into_param().abi(), &mut result__).from_abi(result__) + HlinkPreprocessMoniker(pibc.into_param().abi(), pimkin.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -896,7 +896,7 @@ where { ::windows_targets::link!("hlink.dll" "system" fn HlinkTranslateURL(pwzurl : ::windows_core::PCWSTR, grfflags : u32, ppwztranslatedurl : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - HlinkTranslateURL(pwzurl.into_param().abi(), grfflags, &mut result__).from_abi(result__) + HlinkTranslateURL(pwzurl.into_param().abi(), grfflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1009,7 +1009,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn ILLoadFromStreamEx(pstm : * mut::core::ffi::c_void, pidl : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - ILLoadFromStreamEx(pstm.into_param().abi(), &mut result__).from_abi(result__) + ILLoadFromStreamEx(pstm.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -1053,7 +1053,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IStream_ReadPidl(pstm : * mut::core::ffi::c_void, ppidlout : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IStream_ReadPidl(pstm.into_param().abi(), &mut result__).from_abi(result__) + IStream_ReadPidl(pstm.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1063,7 +1063,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IStream_ReadStr(pstm : * mut::core::ffi::c_void, ppsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IStream_ReadStr(pstm.into_param().abi(), &mut result__).from_abi(result__) + IStream_ReadStr(pstm.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1082,7 +1082,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IStream_Size(pstm : * mut::core::ffi::c_void, pui : *mut u64) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IStream_Size(pstm.into_param().abi(), &mut result__).from_abi(result__) + IStream_Size(pstm.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -1125,7 +1125,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IUnknown_GetSite(punk : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - IUnknown_GetSite(punk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + IUnknown_GetSite(punk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn IUnknown_GetWindow(punk: P0) -> ::windows_core::Result @@ -1134,7 +1134,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IUnknown_GetWindow(punk : * mut::core::ffi::c_void, phwnd : *mut super::super::Foundation:: HWND) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IUnknown_GetWindow(punk.into_param().abi(), &mut result__).from_abi(result__) + IUnknown_GetWindow(punk.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn IUnknown_QueryService(punk: P0, guidservice: *const ::windows_core::GUID) -> ::windows_core::Result @@ -1144,7 +1144,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn IUnknown_QueryService(punk : * mut::core::ffi::c_void, guidservice : *const ::windows_core::GUID, riid : *const ::windows_core::GUID, ppvout : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - IUnknown_QueryService(punk.into_param().abi(), guidservice, &T::IID, &mut result__).from_abi(result__) + IUnknown_QueryService(punk.into_param().abi(), guidservice, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn IUnknown_Set(ppunk: *mut ::core::option::Option<::windows_core::IUnknown>, punk: P0) @@ -1187,7 +1187,7 @@ pub unsafe fn InitPropVariantFromStrRet(pstrret: *mut Common::STRRET, pidl: ::co pub unsafe fn InitVariantFromStrRet(pstrret: *const Common::STRRET, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<::windows_core::VARIANT> { ::windows_targets::link!("propsys.dll" "system" fn InitVariantFromStrRet(pstrret : *const Common:: STRRET, pidl : *const Common:: ITEMIDLIST, pvar : *mut ::std::mem::MaybeUninit <::windows_core::VARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - InitVariantFromStrRet(pstrret, pidl, &mut result__).from_abi(result__) + InitVariantFromStrRet(pstrret, pidl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn IntlStrEqWorkerA(fcasesens: P0, lpstring1: P1, lpstring2: P2, nchar: i32) -> super::super::Foundation::BOOL @@ -1342,7 +1342,7 @@ where { ::windows_targets::link!("api-ms-win-core-path-l1-1-0.dll" "system" fn PathAllocCanonicalize(pszpathin : ::windows_core::PCWSTR, dwflags : PATHCCH_OPTIONS, ppszpathout : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PathAllocCanonicalize(pszpathin.into_param().abi(), dwflags, &mut result__).from_abi(result__) + PathAllocCanonicalize(pszpathin.into_param().abi(), dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn PathAllocCombine(pszpathin: P0, pszmore: P1, dwflags: PATHCCH_OPTIONS) -> ::windows_core::Result<::windows_core::PWSTR> @@ -1352,7 +1352,7 @@ where { ::windows_targets::link!("api-ms-win-core-path-l1-1-0.dll" "system" fn PathAllocCombine(pszpathin : ::windows_core::PCWSTR, pszmore : ::windows_core::PCWSTR, dwflags : PATHCCH_OPTIONS, ppszpathout : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PathAllocCombine(pszpathin.into_param().abi(), pszmore.into_param().abi(), dwflags, &mut result__).from_abi(result__) + PathAllocCombine(pszpathin.into_param().abi(), pszmore.into_param().abi(), dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn PathAppendA(pszpath: &mut [u8; 260], pszmore: P0) -> super::super::Foundation::BOOL @@ -1471,7 +1471,7 @@ where { ::windows_targets::link!("api-ms-win-core-path-l1-1-0.dll" "system" fn PathCchFindExtension(pszpath : ::windows_core::PCWSTR, cchpath : usize, ppszext : *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PathCchFindExtension(pszpath.into_param().abi(), cchpath, &mut result__).from_abi(result__) + PathCchFindExtension(pszpath.into_param().abi(), cchpath, &mut result__).map(|| result__) } #[inline] pub unsafe fn PathCchIsRoot(pszpath: P0) -> super::super::Foundation::BOOL @@ -1516,7 +1516,7 @@ where { ::windows_targets::link!("api-ms-win-core-path-l1-1-0.dll" "system" fn PathCchSkipRoot(pszpath : ::windows_core::PCWSTR, ppszrootend : *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - PathCchSkipRoot(pszpath.into_param().abi(), &mut result__).from_abi(result__) + PathCchSkipRoot(pszpath.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn PathCchStripPrefix(pszpath: &mut [u16]) -> ::windows_core::HRESULT { @@ -2384,7 +2384,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn QISearch(that : *mut ::core::ffi::c_void, pqit : *const QITAB, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - QISearch(that, pqit, &T::IID, &mut result__).from_abi(result__) + QISearch(that, pqit, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn ReadCabinetState(pcs: *mut CABINETSTATE, clength: i32) -> super::super::Foundation::BOOL { @@ -2416,7 +2416,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-scaling-l1-1-1.dll" "system" fn RegisterScaleChangeEvent(hevent : super::super::Foundation:: HANDLE, pdwcookie : *mut usize) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RegisterScaleChangeEvent(hevent.into_param().abi(), &mut result__).from_abi(result__) + RegisterScaleChangeEvent(hevent.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn RegisterScaleChangeNotifications(displaydevice: DISPLAY_DEVICE_TYPE, hwndnotify: P0, umsgnotify: u32) -> ::windows_core::Result @@ -2425,7 +2425,7 @@ where { ::windows_targets::link!("api-ms-win-shcore-scaling-l1-1-0.dll" "system" fn RegisterScaleChangeNotifications(displaydevice : DISPLAY_DEVICE_TYPE, hwndnotify : super::super::Foundation:: HWND, umsgnotify : u32, pdwcookie : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - RegisterScaleChangeNotifications(displaydevice, hwndnotify.into_param().abi(), umsgnotify, &mut result__).from_abi(result__) + RegisterScaleChangeNotifications(displaydevice, hwndnotify.into_param().abi(), umsgnotify, &mut result__).map(|| result__) } #[inline] pub unsafe fn RemoveWindowSubclass(hwnd: P0, pfnsubclass: SUBCLASSPROC, uidsubclass: usize) -> super::super::Foundation::BOOL @@ -2511,7 +2511,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHAssocEnumHandlers(pszextra : ::windows_core::PCWSTR, affilter : ASSOC_FILTER, ppenumhandler : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHAssocEnumHandlers(pszextra.into_param().abi(), affilter, &mut result__).from_abi(result__) + SHAssocEnumHandlers(pszextra.into_param().abi(), affilter, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHAssocEnumHandlersForProtocolByApplication(protocol: P0) -> ::windows_core::Result @@ -2521,7 +2521,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHAssocEnumHandlersForProtocolByApplication(protocol : ::windows_core::PCWSTR, riid : *const ::windows_core::GUID, enumhandlers : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHAssocEnumHandlersForProtocolByApplication(protocol.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHAssocEnumHandlersForProtocolByApplication(protocol.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHAutoComplete(hwndedit: P0, dwflags: SHELL_AUTOCOMPLETE_FLAGS) -> ::windows_core::Result<()> @@ -2540,7 +2540,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHBindToFolderIDListParent(psfroot : * mut::core::ffi::c_void, pidl : *const Common:: ITEMIDLIST, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void, ppidllast : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHBindToFolderIDListParent(psfroot.into_param().abi(), pidl, &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).from_abi(result__) + SHBindToFolderIDListParent(psfroot.into_param().abi(), pidl, &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] #[inline] @@ -2552,7 +2552,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHBindToFolderIDListParentEx(psfroot : * mut::core::ffi::c_void, pidl : *const Common:: ITEMIDLIST, ppbc : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void, ppidllast : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHBindToFolderIDListParentEx(psfroot.into_param().abi(), pidl, ppbc.into_param().abi(), &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).from_abi(result__) + SHBindToFolderIDListParentEx(psfroot.into_param().abi(), pidl, ppbc.into_param().abi(), &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] #[inline] @@ -2564,7 +2564,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHBindToObject(psf : * mut::core::ffi::c_void, pidl : *const Common:: ITEMIDLIST, pbc : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHBindToObject(psf.into_param().abi(), pidl, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHBindToObject(psf.into_param().abi(), pidl, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2574,7 +2574,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHBindToParent(pidl : *const Common:: ITEMIDLIST, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void, ppidllast : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHBindToParent(pidl, &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).from_abi(result__) + SHBindToParent(pidl, &T::IID, &mut result__, ::core::mem::transmute(ppidllast.unwrap_or(::std::ptr::null_mut()))).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2595,7 +2595,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCLSIDFromString(psz : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCLSIDFromString(psz.into_param().abi(), &mut result__).from_abi(result__) + SHCLSIDFromString(psz.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2657,7 +2657,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCoCreateInstance(pszclsid : ::windows_core::PCWSTR, pclsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCoCreateInstance(pszclsid.into_param().abi(), ::core::mem::transmute(pclsid.unwrap_or(::std::ptr::null())), punkouter.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCoCreateInstance(pszclsid.into_param().abi(), ::core::mem::transmute(pclsid.unwrap_or(::std::ptr::null())), punkouter.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Registry")] #[inline] @@ -2688,7 +2688,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateAssociationRegistration(riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateAssociationRegistration(&T::IID, &mut result__).from_abi(result__) + SHCreateAssociationRegistration(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] #[inline] @@ -2699,7 +2699,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateDataObject(pidlfolder : *const Common:: ITEMIDLIST, cidl : u32, apidl : *const *const Common:: ITEMIDLIST, pdtinner : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateDataObject(::core::mem::transmute(pidlfolder.unwrap_or(::std::ptr::null())), apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pdtinner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateDataObject(::core::mem::transmute(pidlfolder.unwrap_or(::std::ptr::null())), apidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(apidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pdtinner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))] #[inline] @@ -2709,7 +2709,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateDefaultContextMenu(pdcm : *const DEFCONTEXTMENU, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateDefaultContextMenu(pdcm, &T::IID, &mut result__).from_abi(result__) + SHCreateDefaultContextMenu(pdcm, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHCreateDefaultExtractIcon() -> ::windows_core::Result @@ -2718,7 +2718,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateDefaultExtractIcon(riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateDefaultExtractIcon(&T::IID, &mut result__).from_abi(result__) + SHCreateDefaultExtractIcon(&T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHCreateDefaultPropertiesOp(psi: P0) -> ::windows_core::Result @@ -2727,7 +2727,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateDefaultPropertiesOp(psi : * mut::core::ffi::c_void, ppfileop : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateDefaultPropertiesOp(psi.into_param().abi(), &mut result__).from_abi(result__) + SHCreateDefaultPropertiesOp(psi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHCreateDirectory(hwnd: P0, pszpath: P1) -> i32 @@ -2766,7 +2766,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateFileExtractIconW(pszfile : ::windows_core::PCWSTR, dwfileattributes : u32, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateFileExtractIconW(pszfile.into_param().abi(), dwfileattributes, &T::IID, &mut result__).from_abi(result__) + SHCreateFileExtractIconW(pszfile.into_param().abi(), dwfileattributes, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2776,7 +2776,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateItemFromIDList(pidl : *const Common:: ITEMIDLIST, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateItemFromIDList(pidl, &T::IID, &mut result__).from_abi(result__) + SHCreateItemFromIDList(pidl, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2788,7 +2788,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateItemFromParsingName(pszpath : ::windows_core::PCWSTR, pbc : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateItemFromParsingName(pszpath.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateItemFromParsingName(pszpath.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2801,7 +2801,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateItemFromRelativeName(psiparent : * mut::core::ffi::c_void, pszname : ::windows_core::PCWSTR, pbc : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateItemFromRelativeName(psiparent.into_param().abi(), pszname.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateItemFromRelativeName(psiparent.into_param().abi(), pszname.into_param().abi(), pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHCreateItemInKnownFolder(kfid: *const ::windows_core::GUID, dwkfflags: KNOWN_FOLDER_FLAG, pszitem: P0) -> ::windows_core::Result @@ -2811,7 +2811,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateItemInKnownFolder(kfid : *const ::windows_core::GUID, dwkfflags : u32, pszitem : ::windows_core::PCWSTR, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateItemInKnownFolder(kfid, dwkfflags.0 as _, pszitem.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateItemInKnownFolder(kfid, dwkfflags.0 as _, pszitem.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2822,7 +2822,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateItemWithParent(pidlparent : *const Common:: ITEMIDLIST, psfparent : * mut::core::ffi::c_void, pidl : *const Common:: ITEMIDLIST, riid : *const ::windows_core::GUID, ppvitem : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateItemWithParent(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psfparent.into_param().abi(), pidl, &T::IID, &mut result__).from_abi(result__) + SHCreateItemWithParent(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psfparent.into_param().abi(), pidl, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2851,21 +2851,21 @@ where pub unsafe fn SHCreateQueryCancelAutoPlayMoniker() -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHCreateQueryCancelAutoPlayMoniker(ppmoniker : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateQueryCancelAutoPlayMoniker(&mut result__).from_abi(result__) + SHCreateQueryCancelAutoPlayMoniker(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] #[inline] pub unsafe fn SHCreateShellFolderView(pcsfv: *const SFV_CREATE) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellFolderView(pcsfv : *const SFV_CREATE, ppsv : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateShellFolderView(pcsfv, &mut result__).from_abi(result__) + SHCreateShellFolderView(pcsfv, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] #[inline] pub unsafe fn SHCreateShellFolderViewEx(pcsfv: *const CSFV) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellFolderViewEx(pcsfv : *const CSFV, ppsv : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateShellFolderViewEx(pcsfv, &mut result__).from_abi(result__) + SHCreateShellFolderViewEx(pcsfv, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2875,7 +2875,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellItem(pidlparent : *const Common:: ITEMIDLIST, psfparent : * mut::core::ffi::c_void, pidl : *const Common:: ITEMIDLIST, ppsi : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateShellItem(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psfparent.into_param().abi(), pidl, &mut result__).from_abi(result__) + SHCreateShellItem(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psfparent.into_param().abi(), pidl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -2885,7 +2885,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellItemArray(pidlparent : *const Common:: ITEMIDLIST, psf : * mut::core::ffi::c_void, cidl : u32, ppidl : *const *const Common:: ITEMIDLIST, ppsiitemarray : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateShellItemArray(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psf.into_param().abi(), ppidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__) + SHCreateShellItemArray(::core::mem::transmute(pidlparent.unwrap_or(::std::ptr::null())), psf.into_param().abi(), ppidl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppidl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2896,14 +2896,14 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellItemArrayFromDataObject(pdo : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateShellItemArrayFromDataObject(pdo.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateShellItemArrayFromDataObject(pdo.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] pub unsafe fn SHCreateShellItemArrayFromIDLists(rgpidl: &[*const Common::ITEMIDLIST]) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellItemArrayFromIDLists(cidl : u32, rgpidl : *const *const Common:: ITEMIDLIST, ppsiitemarray : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateShellItemArrayFromIDLists(rgpidl.len().try_into().unwrap(), ::core::mem::transmute(rgpidl.as_ptr()), &mut result__).from_abi(result__) + SHCreateShellItemArrayFromIDLists(rgpidl.len().try_into().unwrap(), ::core::mem::transmute(rgpidl.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHCreateShellItemArrayFromShellItem(psi: P0) -> ::windows_core::Result @@ -2913,7 +2913,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHCreateShellItemArrayFromShellItem(psi : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHCreateShellItemArrayFromShellItem(psi.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHCreateShellItemArrayFromShellItem(psi.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] #[inline] @@ -2929,7 +2929,7 @@ where pub unsafe fn SHCreateStdEnumFmtEtc(afmt: &[super::super::System::Com::FORMATETC]) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHCreateStdEnumFmtEtc(cfmt : u32, afmt : *const super::super::System::Com:: FORMATETC, ppenumformatetc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateStdEnumFmtEtc(afmt.len().try_into().unwrap(), ::core::mem::transmute(afmt.as_ptr()), &mut result__).from_abi(result__) + SHCreateStdEnumFmtEtc(afmt.len().try_into().unwrap(), ::core::mem::transmute(afmt.as_ptr()), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2939,7 +2939,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHCreateStreamOnFileA(pszfile : ::windows_core::PCSTR, grfmode : u32, ppstm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateStreamOnFileA(pszfile.into_param().abi(), grfmode, &mut result__).from_abi(result__) + SHCreateStreamOnFileA(pszfile.into_param().abi(), grfmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2951,7 +2951,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHCreateStreamOnFileEx(pszfile : ::windows_core::PCWSTR, grfmode : u32, dwattributes : u32, fcreate : super::super::Foundation:: BOOL, pstmtemplate : * mut::core::ffi::c_void, ppstm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateStreamOnFileEx(pszfile.into_param().abi(), grfmode, dwattributes, fcreate.into_param().abi(), pstmtemplate.into_param().abi(), &mut result__).from_abi(result__) + SHCreateStreamOnFileEx(pszfile.into_param().abi(), grfmode, dwattributes, fcreate.into_param().abi(), pstmtemplate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -2961,7 +2961,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHCreateStreamOnFileW(pszfile : ::windows_core::PCWSTR, grfmode : u32, ppstm : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHCreateStreamOnFileW(pszfile.into_param().abi(), grfmode, &mut result__).from_abi(result__) + SHCreateStreamOnFileW(pszfile.into_param().abi(), grfmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Threading")] #[inline] @@ -3078,7 +3078,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHDoDragDrop(hwnd : super::super::Foundation:: HWND, pdata : * mut::core::ffi::c_void, pdsrc : * mut::core::ffi::c_void, dweffect : super::super::System::Ole:: DROPEFFECT, pdweffect : *mut super::super::System::Ole:: DROPEFFECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHDoDragDrop(hwnd.into_param().abi(), pdata.into_param().abi(), pdsrc.into_param().abi(), dweffect, &mut result__).from_abi(result__) + SHDoDragDrop(hwnd.into_param().abi(), pdata.into_param().abi(), pdsrc.into_param().abi(), dweffect, &mut result__).map(|| result__) } #[inline] pub unsafe fn SHEmptyRecycleBinA(hwnd: P0, pszrootpath: P1, dwflags: u32) -> ::windows_core::Result<()> @@ -3252,7 +3252,7 @@ where pub unsafe fn SHGetDesktopFolder() -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHGetDesktopFolder(ppshf : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetDesktopFolder(&mut result__).from_abi(result__) + SHGetDesktopFolder(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetDiskFreeSpaceExA(pszdirectoryname: P0, pulfreebytesavailabletocaller: ::core::option::Option<*mut u64>, pultotalnumberofbytes: ::core::option::Option<*mut u64>, pultotalnumberoffreebytes: ::core::option::Option<*mut u64>) -> super::super::Foundation::BOOL @@ -3277,7 +3277,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetDriveMedia(pszdrive : ::windows_core::PCWSTR, pdwmediacontent : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetDriveMedia(pszdrive.into_param().abi(), &mut result__).from_abi(result__) + SHGetDriveMedia(pszdrive.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_WindowsAndMessaging"))] #[inline] @@ -3306,7 +3306,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetFolderLocation(hwnd : super::super::Foundation:: HWND, csidl : i32, htoken : super::super::Foundation:: HANDLE, dwflags : u32, ppidl : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetFolderLocation(hwnd.into_param().abi(), csidl, htoken.into_param().abi(), dwflags, &mut result__).from_abi(result__) + SHGetFolderLocation(hwnd.into_param().abi(), csidl, htoken.into_param().abi(), dwflags, &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetFolderPathA(hwnd: P0, csidl: i32, htoken: P1, dwflags: u32, pszpath: &mut [u8; 260]) -> ::windows_core::Result<()> @@ -3354,7 +3354,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetIDListFromObject(punk : * mut::core::ffi::c_void, ppidl : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetIDListFromObject(punk.into_param().abi(), &mut result__).from_abi(result__) + SHGetIDListFromObject(punk.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetIconOverlayIndexA(psziconpath: P0, iiconindex: i32) -> i32 @@ -3379,13 +3379,13 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetImageList(iimagelist : i32, riid : *const ::windows_core::GUID, ppvobj : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetImageList(iimagelist, &T::IID, &mut result__).from_abi(result__) + SHGetImageList(iimagelist, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetInstanceExplorer() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("shell32.dll" "system" fn SHGetInstanceExplorer(ppunk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetInstanceExplorer(&mut result__).from_abi(result__) + SHGetInstanceExplorer(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetInverseCMAP(pbmap: &mut [u8]) -> ::windows_core::Result<()> { @@ -3401,7 +3401,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetItemFromDataObject(pdtobj : * mut::core::ffi::c_void, dwflags : DATAOBJ_GET_ITEM_FLAGS, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetItemFromDataObject(pdtobj.into_param().abi(), dwflags, &T::IID, &mut result__).from_abi(result__) + SHGetItemFromDataObject(pdtobj.into_param().abi(), dwflags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetItemFromObject(punk: P0) -> ::windows_core::Result @@ -3411,7 +3411,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetItemFromObject(punk : * mut::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetItemFromObject(punk.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHGetItemFromObject(punk.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] @@ -3421,7 +3421,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetKnownFolderIDList(rfid : *const ::windows_core::GUID, dwflags : u32, htoken : super::super::Foundation:: HANDLE, ppidl : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetKnownFolderIDList(rfid, dwflags, htoken.into_param().abi(), &mut result__).from_abi(result__) + SHGetKnownFolderIDList(rfid, dwflags, htoken.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetKnownFolderItem(rfid: *const ::windows_core::GUID, flags: KNOWN_FOLDER_FLAG, htoken: P0) -> ::windows_core::Result @@ -3431,7 +3431,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetKnownFolderItem(rfid : *const ::windows_core::GUID, flags : KNOWN_FOLDER_FLAG, htoken : super::super::Foundation:: HANDLE, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetKnownFolderItem(rfid, flags, htoken.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + SHGetKnownFolderItem(rfid, flags, htoken.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetKnownFolderPath(rfid: *const ::windows_core::GUID, dwflags: KNOWN_FOLDER_FLAG, htoken: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -3440,7 +3440,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetKnownFolderPath(rfid : *const ::windows_core::GUID, dwflags : u32, htoken : super::super::Foundation:: HANDLE, ppszpath : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetKnownFolderPath(rfid, dwflags.0 as _, htoken.into_param().abi(), &mut result__).from_abi(result__) + SHGetKnownFolderPath(rfid, dwflags.0 as _, htoken.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetLocalizedName(pszpath: P0, pszresmodule: &mut [u16], pidsres: *mut i32) -> ::windows_core::Result<()> @@ -3455,14 +3455,14 @@ where pub unsafe fn SHGetMalloc() -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHGetMalloc(ppmalloc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetMalloc(&mut result__).from_abi(result__) + SHGetMalloc(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] #[inline] pub unsafe fn SHGetNameFromIDList(pidl: *const Common::ITEMIDLIST, sigdnname: SIGDN) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("shell32.dll" "system" fn SHGetNameFromIDList(pidl : *const Common:: ITEMIDLIST, sigdnname : SIGDN, ppszname : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetNameFromIDList(pidl, sigdnname, &mut result__).from_abi(result__) + SHGetNameFromIDList(pidl, sigdnname, &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetNewLinkInfoA(pszlinkto: P0, pszdir: P1, pszname: &mut [u8; 260], pfmustcopy: *mut super::super::Foundation::BOOL, uflags: u32) -> super::super::Foundation::BOOL @@ -3508,7 +3508,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetRealIDL(psf : * mut::core::ffi::c_void, pidlsimple : *const Common:: ITEMIDLIST, ppidlreal : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetRealIDL(psf.into_param().abi(), pidlsimple, &mut result__).from_abi(result__) + SHGetRealIDL(psf.into_param().abi(), pidlsimple, &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetSetFolderCustomSettings(pfcs: *mut SHFOLDERCUSTOMSETTINGS, pszpath: P0, dwreadwrite: u32) -> ::windows_core::Result<()> @@ -3539,7 +3539,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetSpecialFolderLocation(hwnd : super::super::Foundation:: HWND, csidl : i32, ppidl : *mut *mut Common:: ITEMIDLIST) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetSpecialFolderLocation(hwnd.into_param().abi(), csidl, &mut result__).from_abi(result__) + SHGetSpecialFolderLocation(hwnd.into_param().abi(), csidl, &mut result__).map(|| result__) } #[inline] pub unsafe fn SHGetSpecialFolderPathA(hwnd: P0, pszpath: &mut [u8; 260], csidl: i32, fcreate: P1) -> super::super::Foundation::BOOL @@ -3573,13 +3573,13 @@ where { ::windows_targets::link!("shell32.dll" "system" fn SHGetTemporaryPropertyForItem(psi : * mut::core::ffi::c_void, propkey : *const PropertiesSystem:: PROPERTYKEY, ppropvar : *mut ::std::mem::MaybeUninit <::windows_core::PROPVARIANT >) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetTemporaryPropertyForItem(psi.into_param().abi(), propkey, &mut result__).from_abi(result__) + SHGetTemporaryPropertyForItem(psi.into_param().abi(), propkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGetThreadRef() -> ::windows_core::Result<::windows_core::IUnknown> { ::windows_targets::link!("shlwapi.dll" "system" fn SHGetThreadRef(ppunk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHGetThreadRef(&mut result__).from_abi(result__) + SHGetThreadRef(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Registry")] #[inline] @@ -3622,7 +3622,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHGetViewStatePropertyBag(pidl : *const Common:: ITEMIDLIST, pszbagname : ::windows_core::PCWSTR, dwflags : u32, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - SHGetViewStatePropertyBag(::core::mem::transmute(pidl.unwrap_or(::std::ptr::null())), pszbagname.into_param().abi(), dwflags, &T::IID, &mut result__).from_abi(result__) + SHGetViewStatePropertyBag(::core::mem::transmute(pidl.unwrap_or(::std::ptr::null())), pszbagname.into_param().abi(), dwflags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn SHGlobalCounterDecrement(id: SHGLOBALCOUNTER) -> i32 { @@ -3912,7 +3912,7 @@ where pub unsafe fn SHQueryUserNotificationState() -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn SHQueryUserNotificationState(pquns : *mut QUERY_USER_NOTIFICATION_STATE) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHQueryUserNotificationState(&mut result__).from_abi(result__) + SHQueryUserNotificationState(&mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] #[inline] @@ -4435,7 +4435,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHStrDupA(psz : ::windows_core::PCSTR, ppwsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHStrDupA(psz.into_param().abi(), &mut result__).from_abi(result__) + SHStrDupA(psz.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SHStrDupW(psz: P0) -> ::windows_core::Result<::windows_core::PWSTR> @@ -4444,7 +4444,7 @@ where { ::windows_targets::link!("shlwapi.dll" "system" fn SHStrDupW(psz : ::windows_core::PCWSTR, ppwsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - SHStrDupW(psz.into_param().abi(), &mut result__).from_abi(result__) + SHStrDupW(psz.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn SHStripMneumonicA(pszmenu: ::windows_core::PSTR) -> i8 { @@ -4678,7 +4678,7 @@ pub unsafe fn Shell_NotifyIconA(dwmessage: NOTIFY_ICON_MESSAGE, lpdata: *const N pub unsafe fn Shell_NotifyIconGetRect(identifier: *const NOTIFYICONIDENTIFIER) -> ::windows_core::Result { ::windows_targets::link!("shell32.dll" "system" fn Shell_NotifyIconGetRect(identifier : *const NOTIFYICONIDENTIFIER, iconlocation : *mut super::super::Foundation:: RECT) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - Shell_NotifyIconGetRect(identifier, &mut result__).from_abi(result__) + Shell_NotifyIconGetRect(identifier, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] #[inline] @@ -4712,7 +4712,7 @@ where { ::windows_targets::link!("shell32.dll" "system" fn StgMakeUniqueName(pstgparent : * mut::core::ffi::c_void, pszfilespec : ::windows_core::PCWSTR, grfmode : u32, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::ptr::null_mut(); - StgMakeUniqueName(pstgparent.into_param().abi(), pszfilespec.into_param().abi(), grfmode, &T::IID, &mut result__).from_abi(result__) + StgMakeUniqueName(pstgparent.into_param().abi(), pszfilespec.into_param().abi(), grfmode, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn StrCSpnA(pszstr: P0, pszset: P1) -> i32 @@ -5642,12 +5642,12 @@ impl CIE4ConnectionPoint { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConnectionInterface(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConnectionPointContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetConnectionPointContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetConnectionPointContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Advise(&self, punksink: P0) -> ::windows_core::Result @@ -5655,7 +5655,7 @@ impl CIE4ConnectionPoint { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), punksink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), punksink.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { @@ -5664,7 +5664,7 @@ impl CIE4ConnectionPoint { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumConnections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DoInvokeIE4(&self, pf: *mut super::super::Foundation::BOOL, ppv: *mut *mut ::core::ffi::c_void, dispid: i32, pdispparams: *mut super::super::System::Com::DISPPARAMS) -> ::windows_core::Result<()> { @@ -5700,11 +5700,11 @@ pub struct CIE4ConnectionPoint_Vtbl { impl DFConstraint { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Value(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Value)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5783,27 +5783,27 @@ pub struct DWebBrowserEvents2_Vtbl { impl Folder { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParentFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParseName(&self, bname: P0) -> ::windows_core::Result @@ -5811,7 +5811,7 @@ impl Folder { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NewFolder(&self, bname: P0, voptions: P1) -> ::windows_core::Result<()> where @@ -5839,7 +5839,7 @@ impl Folder { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -5881,27 +5881,27 @@ pub struct Folder_Vtbl { impl Folder2 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParentFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParseName(&self, bname: P0) -> ::windows_core::Result @@ -5909,7 +5909,7 @@ impl Folder2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NewFolder(&self, bname: P0, voptions: P1) -> ::windows_core::Result<()> where @@ -5937,23 +5937,23 @@ impl Folder2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Self_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Self_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Self_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OfflineStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OfflineStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OfflineStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Synchronize(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Synchronize)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn HaveToShowWebViewBarricade(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HaveToShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HaveToShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DismissedWebViewBarricade(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DismissedWebViewBarricade)(::windows_core::Interface::as_raw(self)).ok() @@ -5981,27 +5981,27 @@ pub struct Folder2_Vtbl { impl Folder3 { pub unsafe fn Title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParentFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParentFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Items(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Items)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ParseName(&self, bname: P0) -> ::windows_core::Result @@ -6009,7 +6009,7 @@ impl Folder3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ParseName)(::windows_core::Interface::as_raw(self), bname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NewFolder(&self, bname: P0, voptions: P1) -> ::windows_core::Result<()> where @@ -6037,30 +6037,30 @@ impl Folder3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDetailsOf)(::windows_core::Interface::as_raw(self), vitem.into_param().abi(), icolumn, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Self_(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Self_)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Self_)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OfflineStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OfflineStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OfflineStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Synchronize(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Synchronize)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn HaveToShowWebViewBarricade(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HaveToShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HaveToShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DismissedWebViewBarricade(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DismissedWebViewBarricade)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn ShowWebViewBarricade(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowWebViewBarricade)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowWebViewBarricade(&self, bshowwebviewbarricade: P0) -> ::windows_core::Result<()> where @@ -6086,16 +6086,16 @@ impl FolderItem { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bs: P0) -> ::windows_core::Result<()> where @@ -6105,53 +6105,53 @@ impl FolderItem { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFolder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFileSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsBrowsable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsBrowsable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsBrowsable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModifyDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ModifyDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ModifyDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModifyDate(&self, dt: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetModifyDate)(::windows_core::Interface::as_raw(self), dt).ok() } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Verbs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Verbs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Verbs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvokeVerb(&self, vverb: P0) -> ::windows_core::Result<()> where @@ -6207,16 +6207,16 @@ impl FolderItem2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetName(&self, bs: P0) -> ::windows_core::Result<()> where @@ -6226,53 +6226,53 @@ impl FolderItem2 { } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsLink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsLink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsLink)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsFolder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsFileSystem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsFileSystem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsBrowsable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsBrowsable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsBrowsable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ModifyDate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ModifyDate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ModifyDate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetModifyDate(&self, dt: f64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetModifyDate)(::windows_core::Interface::as_raw(self), dt).ok() } pub unsafe fn Size(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Size)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Verbs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Verbs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Verbs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvokeVerb(&self, vverb: P0) -> ::windows_core::Result<()> where @@ -6292,7 +6292,7 @@ impl FolderItem2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedProperty)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedProperty)(::windows_core::Interface::as_raw(self), bstrpropname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6312,16 +6312,16 @@ impl FolderItemVerb { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DoIt(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DoIt)(::windows_core::Interface::as_raw(self)).ok() @@ -6351,17 +6351,17 @@ pub struct FolderItemVerb_Vtbl { impl FolderItemVerbs { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: P0) -> ::windows_core::Result @@ -6369,11 +6369,11 @@ impl FolderItemVerbs { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6404,17 +6404,17 @@ pub struct FolderItemVerbs_Vtbl { impl FolderItems { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: P0) -> ::windows_core::Result @@ -6422,11 +6422,11 @@ impl FolderItems { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6457,17 +6457,17 @@ pub struct FolderItems_Vtbl { impl FolderItems2 { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: P0) -> ::windows_core::Result @@ -6475,11 +6475,11 @@ impl FolderItems2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvokeVerbEx(&self, vverb: P0, vargs: P1) -> ::windows_core::Result<()> where @@ -6504,17 +6504,17 @@ pub struct FolderItems2_Vtbl { impl FolderItems3 { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: P0) -> ::windows_core::Result @@ -6522,11 +6522,11 @@ impl FolderItems3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn InvokeVerbEx(&self, vverb: P0, vargs: P1) -> ::windows_core::Result<()> where @@ -6544,7 +6544,7 @@ impl FolderItems3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Verbs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Verbs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Verbs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -6588,7 +6588,7 @@ impl IACList2 { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6685,7 +6685,7 @@ impl IActionProgress { } pub unsafe fn QueryCancel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCancel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCancel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ResetCancel(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetCancel)(::windows_core::Interface::as_raw(self)).ok() @@ -6732,23 +6732,23 @@ impl IAppActivationUIInfo { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInvokePoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInvokePoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInvokePoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetShowCommand(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetShowUI(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowUI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowUI)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetKeyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -6769,19 +6769,19 @@ pub struct IAppActivationUIInfo_Vtbl { impl IAppPublisher { pub unsafe fn GetNumberOfCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfCategories)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategories)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOfApps(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOfApps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOfApps)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumApps(&self, pappcategoryid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumApps)(::windows_core::Interface::as_raw(self), pappcategoryid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumApps)(::windows_core::Interface::as_raw(self), pappcategoryid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -6802,18 +6802,18 @@ impl IAppVisibility { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppVisibilityOnMonitor)(::windows_core::Interface::as_raw(self), hmonitor.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppVisibilityOnMonitor)(::windows_core::Interface::as_raw(self), hmonitor.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsLauncherVisible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsLauncherVisible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsLauncherVisible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, pcallback: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pcallback.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pcallback.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -6867,7 +6867,7 @@ impl IApplicationActivationManager { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateApplication)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), arguments.into_param().abi(), options, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateApplication)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), arguments.into_param().abi(), options, &mut result__).map(|| result__) } pub unsafe fn ActivateForFile(&self, appusermodelid: P0, itemarray: P1, verb: P2) -> ::windows_core::Result where @@ -6876,7 +6876,7 @@ impl IApplicationActivationManager { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateForFile)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), itemarray.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateForFile)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), itemarray.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ActivateForProtocol(&self, appusermodelid: P0, itemarray: P1) -> ::windows_core::Result where @@ -6884,7 +6884,7 @@ impl IApplicationActivationManager { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ActivateForProtocol)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), itemarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ActivateForProtocol)(::windows_core::Interface::as_raw(self), appusermodelid.into_param().abi(), itemarray.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -6903,7 +6903,7 @@ impl IApplicationAssociationRegistration { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryCurrentDefault)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), atquerytype, alquerylevel, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryCurrentDefault)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), atquerytype, alquerylevel, &mut result__).map(|| result__) } pub unsafe fn QueryAppIsDefault(&self, pszquery: P0, atquerytype: ASSOCIATIONTYPE, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: P1) -> ::windows_core::Result where @@ -6911,14 +6911,14 @@ impl IApplicationAssociationRegistration { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAppIsDefault)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), atquerytype, alquerylevel, pszappregistryname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAppIsDefault)(::windows_core::Interface::as_raw(self), pszquery.into_param().abi(), atquerytype, alquerylevel, pszappregistryname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn QueryAppIsDefaultAll(&self, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAppIsDefaultAll)(::windows_core::Interface::as_raw(self), alquerylevel, pszappregistryname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAppIsDefaultAll)(::windows_core::Interface::as_raw(self), alquerylevel, pszappregistryname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetAppAsDefault(&self, pszappregistryname: P0, pszset: P1, atsettype: ASSOCIATIONTYPE) -> ::windows_core::Result<()> where @@ -6979,12 +6979,12 @@ impl IApplicationDesignModeSettings { } pub unsafe fn ComputeApplicationSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ComputeApplicationSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ComputeApplicationSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IsApplicationViewStateSupported(&self, viewstate: APPLICATION_VIEW_STATE, nativedisplaysizepixels: super::super::Foundation::SIZE, scalefactor: Common::DEVICE_SCALE_FACTOR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsApplicationViewStateSupported)(::windows_core::Interface::as_raw(self), viewstate, ::core::mem::transmute(nativedisplaysizepixels), scalefactor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsApplicationViewStateSupported)(::windows_core::Interface::as_raw(self), viewstate, ::core::mem::transmute(nativedisplaysizepixels), scalefactor, &mut result__).map(|| result__) } pub unsafe fn TriggerEdgeGesture(&self, edgegesturekind: EDGE_GESTURE_KIND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TriggerEdgeGesture)(::windows_core::Interface::as_raw(self), edgegesturekind).ok() @@ -7022,12 +7022,12 @@ impl IApplicationDesignModeSettings2 { } pub unsafe fn ComputeApplicationSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ComputeApplicationSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ComputeApplicationSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IsApplicationViewStateSupported(&self, viewstate: APPLICATION_VIEW_STATE, nativedisplaysizepixels: super::super::Foundation::SIZE, scalefactor: Common::DEVICE_SCALE_FACTOR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsApplicationViewStateSupported)(::windows_core::Interface::as_raw(self), viewstate, ::core::mem::transmute(nativedisplaysizepixels), scalefactor, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsApplicationViewStateSupported)(::windows_core::Interface::as_raw(self), viewstate, ::core::mem::transmute(nativedisplaysizepixels), scalefactor, &mut result__).map(|| result__) } pub unsafe fn TriggerEdgeGesture(&self, edgegesturekind: EDGE_GESTURE_KIND) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.TriggerEdgeGesture)(::windows_core::Interface::as_raw(self), edgegesturekind).ok() @@ -7055,7 +7055,7 @@ impl IApplicationDesignModeSettings2 { } pub unsafe fn GetApplicationViewOrientation(&self, applicationsizepixels: super::super::Foundation::SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationViewOrientation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(applicationsizepixels), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationViewOrientation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(applicationsizepixels), &mut result__).map(|| result__) } } #[repr(C)] @@ -7111,7 +7111,7 @@ impl IApplicationDocumentLists { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetList)(::windows_core::Interface::as_raw(self), listtype, citemsdesired, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetList)(::windows_core::Interface::as_raw(self), listtype, citemsdesired, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7126,11 +7126,11 @@ pub struct IApplicationDocumentLists_Vtbl { impl IAssocHandler { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUIName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUIName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUIName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIconLocation(&self, ppszpath: *mut ::windows_core::PWSTR, pindex: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetIconLocation)(::windows_core::Interface::as_raw(self), ppszpath, pindex).ok() @@ -7157,7 +7157,7 @@ impl IAssocHandler { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateInvoker)(::windows_core::Interface::as_raw(self), pdo.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateInvoker)(::windows_core::Interface::as_raw(self), pdo.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -7239,7 +7239,7 @@ impl IAttachmentExecute { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Prompt)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), prompt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Prompt)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), prompt, &mut result__).map(|| result__) } pub unsafe fn Save(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self)).ok() @@ -7327,7 +7327,7 @@ impl IAutoComplete2 { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7364,7 +7364,7 @@ impl IBandHost { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateBand)(::windows_core::Interface::as_raw(self), rclsidband, favailable.into_param().abi(), fvisible.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateBand)(::windows_core::Interface::as_raw(self), rclsidband, favailable.into_param().abi(), fvisible.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBandAvailability(&self, rclsidband: *const ::windows_core::GUID, favailable: P0) -> ::windows_core::Result<()> where @@ -7395,7 +7395,7 @@ impl IBandSite { } pub unsafe fn EnumBands(&self, uband: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumBands)(::windows_core::Interface::as_raw(self), uband, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumBands)(::windows_core::Interface::as_raw(self), uband, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn QueryBand(&self, dwbandid: u32, ppstb: ::core::option::Option<*mut ::core::option::Option>, pdwstate: ::core::option::Option<*mut u32>, pszname: ::core::option::Option<&mut [u16]>) -> ::windows_core::Result<()> { @@ -7412,7 +7412,7 @@ impl IBandSite { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetBandObject)(::windows_core::Interface::as_raw(self), dwbandid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBandObject)(::windows_core::Interface::as_raw(self), dwbandid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetBandSiteInfo(&self, pbsinfo: *const BANDSITEINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBandSiteInfo)(::windows_core::Interface::as_raw(self), pbsinfo).ok() @@ -7458,7 +7458,7 @@ impl IBanneredBar { } pub unsafe fn GetIconSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetBitmap(&self, hbitmap: P0) -> ::windows_core::Result<()> @@ -7470,7 +7470,7 @@ impl IBanneredBar { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -7493,7 +7493,7 @@ pub struct IBanneredBar_Vtbl { impl IBrowserFrameOptions { pub unsafe fn GetFrameOptions(&self, dwmask: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), dwmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), dwmask, &mut result__).map(|| result__) } } #[repr(C)] @@ -7508,7 +7508,7 @@ impl IBrowserService { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetParentSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn SetTitle(&self, psv: P0, pszname: P1) -> ::windows_core::Result<()> @@ -7528,11 +7528,11 @@ impl IBrowserService { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetOleObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTravelLog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowControlWindow(&self, id: u32, fshow: P0) -> ::windows_core::Result<()> where @@ -7542,7 +7542,7 @@ impl IBrowserService { } pub unsafe fn IsControlWindowShown(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IEGetDisplayName(&self, pidl: *const Common::ITEMIDLIST, pwszname: ::windows_core::PWSTR, uflags: u32) -> ::windows_core::Result<()> { @@ -7554,7 +7554,7 @@ impl IBrowserService { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayParseError(&self, hres: ::windows_core::HRESULT, pwszpath: P0) -> ::windows_core::Result<()> where @@ -7571,7 +7571,7 @@ impl IBrowserService { } pub unsafe fn GetNavigateState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn NotifyRedirect(&self, psv: P0, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result @@ -7579,7 +7579,7 @@ impl IBrowserService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).map(|| result__) } pub unsafe fn UpdateWindowList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UpdateWindowList)(::windows_core::Interface::as_raw(self)).ok() @@ -7592,7 +7592,7 @@ impl IBrowserService { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanNavigateNow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CanNavigateNow)(::windows_core::Interface::as_raw(self)).ok() @@ -7600,7 +7600,7 @@ impl IBrowserService { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetPidl(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetReferrer(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -7611,7 +7611,7 @@ impl IBrowserService { } pub unsafe fn GetBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn GetHistoryObject(&self, ppole: *mut ::core::option::Option, pstm: *mut ::core::option::Option, ppbc: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -7634,7 +7634,7 @@ impl IBrowserService { } pub unsafe fn GetSetCodePage(&self, pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnHttpEquiv(&self, psv: P0, fdone: P1, pvarargin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> @@ -7643,12 +7643,12 @@ impl IBrowserService { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterWindow(&self, fforceregister: P0, swc: ShellWindowTypeConstants) -> ::windows_core::Result<()> where @@ -7743,7 +7743,7 @@ impl IBrowserService2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetParentSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn SetTitle(&self, psv: P0, pszname: P1) -> ::windows_core::Result<()> @@ -7763,11 +7763,11 @@ impl IBrowserService2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetOleObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTravelLog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowControlWindow(&self, id: u32, fshow: P0) -> ::windows_core::Result<()> where @@ -7777,7 +7777,7 @@ impl IBrowserService2 { } pub unsafe fn IsControlWindowShown(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IEGetDisplayName(&self, pidl: *const Common::ITEMIDLIST, pwszname: ::windows_core::PWSTR, uflags: u32) -> ::windows_core::Result<()> { @@ -7789,7 +7789,7 @@ impl IBrowserService2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayParseError(&self, hres: ::windows_core::HRESULT, pwszpath: P0) -> ::windows_core::Result<()> where @@ -7806,7 +7806,7 @@ impl IBrowserService2 { } pub unsafe fn GetNavigateState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn NotifyRedirect(&self, psv: P0, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result @@ -7814,7 +7814,7 @@ impl IBrowserService2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).map(|| result__) } pub unsafe fn UpdateWindowList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UpdateWindowList)(::windows_core::Interface::as_raw(self)).ok() @@ -7827,7 +7827,7 @@ impl IBrowserService2 { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanNavigateNow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CanNavigateNow)(::windows_core::Interface::as_raw(self)).ok() @@ -7835,7 +7835,7 @@ impl IBrowserService2 { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetPidl(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetReferrer(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -7846,7 +7846,7 @@ impl IBrowserService2 { } pub unsafe fn GetBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn GetHistoryObject(&self, ppole: *mut ::core::option::Option, pstm: *mut ::core::option::Option, ppbc: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -7869,7 +7869,7 @@ impl IBrowserService2 { } pub unsafe fn GetSetCodePage(&self, pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnHttpEquiv(&self, psv: P0, fdone: P1, pvarargin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> @@ -7878,12 +7878,12 @@ impl IBrowserService2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterWindow(&self, fforceregister: P0, swc: ShellWindowTypeConstants) -> ::windows_core::Result<()> where @@ -7904,7 +7904,7 @@ impl IBrowserService2 { } pub unsafe fn GetViewRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnSize(&self, wparam: P0) -> ::windows_core::Result<()> where @@ -7952,19 +7952,19 @@ impl IBrowserService2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn CreateBrowserPropSheetExt(&self, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CreateBrowserPropSheetExt)(::windows_core::Interface::as_raw(self), riid, ppv).ok() } pub unsafe fn GetViewWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn GetBaseBrowserData(&self) -> ::windows_core::Result<*mut BASEBROWSERDATALH> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn PutBaseBrowserData(&self) -> *mut BASEBROWSERDATALH { @@ -8306,7 +8306,7 @@ impl IBrowserService3 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetParentSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn SetTitle(&self, psv: P0, pszname: P1) -> ::windows_core::Result<()> @@ -8326,11 +8326,11 @@ impl IBrowserService3 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetOleObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTravelLog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowControlWindow(&self, id: u32, fshow: P0) -> ::windows_core::Result<()> where @@ -8340,7 +8340,7 @@ impl IBrowserService3 { } pub unsafe fn IsControlWindowShown(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IEGetDisplayName(&self, pidl: *const Common::ITEMIDLIST, pwszname: ::windows_core::PWSTR, uflags: u32) -> ::windows_core::Result<()> { @@ -8352,7 +8352,7 @@ impl IBrowserService3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayParseError(&self, hres: ::windows_core::HRESULT, pwszpath: P0) -> ::windows_core::Result<()> where @@ -8369,7 +8369,7 @@ impl IBrowserService3 { } pub unsafe fn GetNavigateState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn NotifyRedirect(&self, psv: P0, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result @@ -8377,7 +8377,7 @@ impl IBrowserService3 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).map(|| result__) } pub unsafe fn UpdateWindowList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.UpdateWindowList)(::windows_core::Interface::as_raw(self)).ok() @@ -8390,7 +8390,7 @@ impl IBrowserService3 { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanNavigateNow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CanNavigateNow)(::windows_core::Interface::as_raw(self)).ok() @@ -8398,7 +8398,7 @@ impl IBrowserService3 { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetPidl(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetReferrer(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -8409,7 +8409,7 @@ impl IBrowserService3 { } pub unsafe fn GetBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn GetHistoryObject(&self, ppole: *mut ::core::option::Option, pstm: *mut ::core::option::Option, ppbc: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -8432,7 +8432,7 @@ impl IBrowserService3 { } pub unsafe fn GetSetCodePage(&self, pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnHttpEquiv(&self, psv: P0, fdone: P1, pvarargin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> @@ -8441,12 +8441,12 @@ impl IBrowserService3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterWindow(&self, fforceregister: P0, swc: ShellWindowTypeConstants) -> ::windows_core::Result<()> where @@ -8467,7 +8467,7 @@ impl IBrowserService3 { } pub unsafe fn GetViewRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnSize(&self, wparam: P0) -> ::windows_core::Result<()> where @@ -8515,19 +8515,19 @@ impl IBrowserService3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn CreateBrowserPropSheetExt(&self, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CreateBrowserPropSheetExt)(::windows_core::Interface::as_raw(self), riid, ppv).ok() } pub unsafe fn GetViewWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn GetBaseBrowserData(&self) -> ::windows_core::Result<*mut BASEBROWSERDATALH> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn PutBaseBrowserData(&self) -> *mut BASEBROWSERDATALH { @@ -8756,7 +8756,7 @@ impl IBrowserService3 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IEParseDisplayNameEx)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IEParseDisplayNameEx)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), dwflags, &mut result__).map(|| result__) } } #[repr(C)] @@ -8775,7 +8775,7 @@ impl IBrowserService4 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetParentSite(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetParentSite)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn SetTitle(&self, psv: P0, pszname: P1) -> ::windows_core::Result<()> @@ -8795,11 +8795,11 @@ impl IBrowserService4 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetOleObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetOleObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTravelLog(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetTravelLog)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowControlWindow(&self, id: u32, fshow: P0) -> ::windows_core::Result<()> where @@ -8809,7 +8809,7 @@ impl IBrowserService4 { } pub unsafe fn IsControlWindowShown(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsControlWindowShown)(::windows_core::Interface::as_raw(self), id, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn IEGetDisplayName(&self, pidl: *const Common::ITEMIDLIST, pwszname: ::windows_core::PWSTR, uflags: u32) -> ::windows_core::Result<()> { @@ -8821,7 +8821,7 @@ impl IBrowserService4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IEParseDisplayName)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn DisplayParseError(&self, hres: ::windows_core::HRESULT, pwszpath: P0) -> ::windows_core::Result<()> where @@ -8838,7 +8838,7 @@ impl IBrowserService4 { } pub unsafe fn GetNavigateState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetNavigateState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn NotifyRedirect(&self, psv: P0, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result @@ -8846,7 +8846,7 @@ impl IBrowserService4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NotifyRedirect)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), pidl, &mut result__).map(|| result__) } pub unsafe fn UpdateWindowList(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.UpdateWindowList)(::windows_core::Interface::as_raw(self)).ok() @@ -8859,7 +8859,7 @@ impl IBrowserService4 { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CanNavigateNow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.CanNavigateNow)(::windows_core::Interface::as_raw(self)).ok() @@ -8867,7 +8867,7 @@ impl IBrowserService4 { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetPidl(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetReferrer(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -8878,7 +8878,7 @@ impl IBrowserService4 { } pub unsafe fn GetBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn GetHistoryObject(&self, ppole: *mut ::core::option::Option, pstm: *mut ::core::option::Option, ppbc: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -8901,7 +8901,7 @@ impl IBrowserService4 { } pub unsafe fn GetSetCodePage(&self, pvarin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSetCodePage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnHttpEquiv(&self, psv: P0, fdone: P1, pvarargin: *const ::windows_core::VARIANT) -> ::windows_core::Result<::windows_core::VARIANT> @@ -8910,12 +8910,12 @@ impl IBrowserService4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.OnHttpEquiv)(::windows_core::Interface::as_raw(self), psv.into_param().abi(), fdone.into_param().abi(), ::core::mem::transmute(pvarargin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetPalette(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetPalette)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RegisterWindow(&self, fforceregister: P0, swc: ShellWindowTypeConstants) -> ::windows_core::Result<()> where @@ -8936,7 +8936,7 @@ impl IBrowserService4 { } pub unsafe fn GetViewRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetViewRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnSize(&self, wparam: P0) -> ::windows_core::Result<()> where @@ -8984,19 +8984,19 @@ impl IBrowserService4 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvnew.into_param().abi(), psvold.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn CreateBrowserPropSheetExt(&self, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.CreateBrowserPropSheetExt)(::windows_core::Interface::as_raw(self), riid, ppv).ok() } pub unsafe fn GetViewWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetViewWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn GetBaseBrowserData(&self) -> ::windows_core::Result<*mut BASEBROWSERDATALH> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetBaseBrowserData)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))] pub unsafe fn PutBaseBrowserData(&self) -> *mut BASEBROWSERDATALH { @@ -9225,7 +9225,7 @@ impl IBrowserService4 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IEParseDisplayNameEx)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IEParseDisplayNameEx)(::windows_core::Interface::as_raw(self), uicp, pwszpath.into_param().abi(), dwflags, &mut result__).map(|| result__) } pub unsafe fn ActivateView(&self, fpendingview: P0) -> ::windows_core::Result<()> where @@ -9262,7 +9262,7 @@ impl ICDBurn { } pub unsafe fn HasRecordableDrive(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasRecordableDrive)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasRecordableDrive)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9278,7 +9278,7 @@ pub struct ICDBurn_Vtbl { impl ICDBurnExt { pub unsafe fn GetSupportedActionTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSupportedActionTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSupportedActionTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9330,12 +9330,12 @@ impl ICategoryProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCategoryForSCID(&self, pscid: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategoryForSCID)(::windows_core::Interface::as_raw(self), pscid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategoryForSCID)(::windows_core::Interface::as_raw(self), pscid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategories(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCategories)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCategories)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCategoryName(&self, pguid: *const ::windows_core::GUID, pszname: &mut [u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCategoryName)(::windows_core::Interface::as_raw(self), pguid, ::core::mem::transmute(pszname.as_ptr()), pszname.len().try_into().unwrap()).ok() @@ -9345,7 +9345,7 @@ impl ICategoryProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateCategory)(::windows_core::Interface::as_raw(self), pguid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateCategory)(::windows_core::Interface::as_raw(self), pguid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9384,7 +9384,7 @@ impl IColumnManager { } pub unsafe fn GetColumnCount(&self, dwflags: CM_ENUM_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColumnCount)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnCount)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetColumns(&self, dwflags: CM_ENUM_FLAGS, rgkeyorder: &mut [PropertiesSystem::PROPERTYKEY]) -> ::windows_core::Result<()> { @@ -9430,7 +9430,7 @@ impl IColumnProvider { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetItemData(&self, pscid: *const PropertiesSystem::PROPERTYKEY, pscd: *const SHCOLUMNDATA) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemData)(::windows_core::Interface::as_raw(self), pscid, pscd, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemData)(::windows_core::Interface::as_raw(self), pscid, pscd, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -9529,7 +9529,7 @@ impl ICommDlgBrowser2 { } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -9586,7 +9586,7 @@ impl ICommDlgBrowser3 { } pub unsafe fn GetViewFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetViewFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnColumnClicked(&self, ppshv: P0, icolumn: i32) -> ::windows_core::Result<()> @@ -9647,7 +9647,7 @@ impl IConnectableCredentialProviderCredential { } pub unsafe fn SetSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeselected(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDeselected)(::windows_core::Interface::as_raw(self)).ok() @@ -9657,26 +9657,26 @@ impl IConnectableCredentialProviderCredential { } pub unsafe fn GetStringValue(&self, dwfieldid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmapValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetCheckboxValue(&self, dwfieldid: u32, pbchecked: *mut super::super::Foundation::BOOL, ppszlabel: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCheckboxValue)(::windows_core::Interface::as_raw(self), dwfieldid, pbchecked, ppszlabel).ok() } pub unsafe fn GetSubmitButtonValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetComboBoxValueCount(&self, dwfieldid: u32, pcitems: *mut u32, pdwselecteditem: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetComboBoxValueCount)(::windows_core::Interface::as_raw(self), dwfieldid, pcitems, pdwselecteditem).ok() } pub unsafe fn GetComboBoxValueAt(&self, dwfieldid: u32, dwitem: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).map(|| result__) } pub unsafe fn SetStringValue(&self, dwfieldid: u32, psz: P0) -> ::windows_core::Result<()> where @@ -9916,7 +9916,7 @@ pub struct ICopyHookW_Vtbl { impl ICreateProcessInputs { pub unsafe fn GetCreateFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCreateFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCreateFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCreateFlags(&self, dwcreationflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCreateFlags)(::windows_core::Interface::as_raw(self), dwcreationflags).ok() @@ -9992,18 +9992,18 @@ impl ICredentialProvider { } pub unsafe fn GetFieldDescriptorCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldDescriptorCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldDescriptorCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFieldDescriptorAt(&self, dwindex: u32) -> ::windows_core::Result<*mut CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldDescriptorAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldDescriptorAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).map(|| result__) } pub unsafe fn GetCredentialCount(&self, pdwcount: *mut u32, pdwdefault: *mut u32, pbautologonwithdefault: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCredentialCount)(::windows_core::Interface::as_raw(self), pdwcount, pdwdefault, pbautologonwithdefault).ok() } pub unsafe fn GetCredentialAt(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCredentialAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCredentialAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10033,7 +10033,7 @@ impl ICredentialProviderCredential { } pub unsafe fn SetSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeselected(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDeselected)(::windows_core::Interface::as_raw(self)).ok() @@ -10043,26 +10043,26 @@ impl ICredentialProviderCredential { } pub unsafe fn GetStringValue(&self, dwfieldid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmapValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetCheckboxValue(&self, dwfieldid: u32, pbchecked: *mut super::super::Foundation::BOOL, ppszlabel: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetCheckboxValue)(::windows_core::Interface::as_raw(self), dwfieldid, pbchecked, ppszlabel).ok() } pub unsafe fn GetSubmitButtonValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetComboBoxValueCount(&self, dwfieldid: u32, pcitems: *mut u32, pdwselecteditem: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetComboBoxValueCount)(::windows_core::Interface::as_raw(self), dwfieldid, pcitems, pdwselecteditem).ok() } pub unsafe fn GetComboBoxValueAt(&self, dwfieldid: u32, dwitem: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).map(|| result__) } pub unsafe fn SetStringValue(&self, dwfieldid: u32, psz: P0) -> ::windows_core::Result<()> where @@ -10132,7 +10132,7 @@ impl ICredentialProviderCredential2 { } pub unsafe fn SetSelected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SetSelected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDeselected(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetDeselected)(::windows_core::Interface::as_raw(self)).ok() @@ -10142,26 +10142,26 @@ impl ICredentialProviderCredential2 { } pub unsafe fn GetStringValue(&self, dwfieldid: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStringValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetBitmapValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitmapValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetCheckboxValue(&self, dwfieldid: u32, pbchecked: *mut super::super::Foundation::BOOL, ppszlabel: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetCheckboxValue)(::windows_core::Interface::as_raw(self), dwfieldid, pbchecked, ppszlabel).ok() } pub unsafe fn GetSubmitButtonValue(&self, dwfieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSubmitButtonValue)(::windows_core::Interface::as_raw(self), dwfieldid, &mut result__).map(|| result__) } pub unsafe fn GetComboBoxValueCount(&self, dwfieldid: u32, pcitems: *mut u32, pdwselecteditem: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetComboBoxValueCount)(::windows_core::Interface::as_raw(self), dwfieldid, pcitems, pdwselecteditem).ok() } pub unsafe fn GetComboBoxValueAt(&self, dwfieldid: u32, dwitem: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetComboBoxValueAt)(::windows_core::Interface::as_raw(self), dwfieldid, dwitem, &mut result__).map(|| result__) } pub unsafe fn SetStringValue(&self, dwfieldid: u32, psz: P0) -> ::windows_core::Result<()> where @@ -10193,7 +10193,7 @@ impl ICredentialProviderCredential2 { } pub unsafe fn GetUserSid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUserSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUserSid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10267,7 +10267,7 @@ impl ICredentialProviderCredentialEvents { } pub unsafe fn OnCreatingWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnCreatingWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnCreatingWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -10353,7 +10353,7 @@ impl ICredentialProviderCredentialEvents2 { } pub unsafe fn OnCreatingWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.OnCreatingWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.OnCreatingWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BeginFieldUpdates(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).BeginFieldUpdates)(::windows_core::Interface::as_raw(self)).ok() @@ -10381,7 +10381,7 @@ pub struct ICredentialProviderCredentialEvents2_Vtbl { impl ICredentialProviderCredentialWithFieldOptions { pub unsafe fn GetFieldOptions(&self, fieldid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFieldOptions)(::windows_core::Interface::as_raw(self), fieldid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFieldOptions)(::windows_core::Interface::as_raw(self), fieldid, &mut result__).map(|| result__) } } #[repr(C)] @@ -10441,21 +10441,21 @@ pub struct ICredentialProviderSetUserArray_Vtbl { impl ICredentialProviderUser { pub unsafe fn GetSid(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProviderID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProviderID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProviderID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetStringValue(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStringValue)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetValue(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10481,15 +10481,15 @@ impl ICredentialProviderUserArray { } pub unsafe fn GetAccountOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAccountOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAccountOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAt(&self, userindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), userindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAt)(::windows_core::Interface::as_raw(self), userindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10507,11 +10507,11 @@ impl ICurrentItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10553,7 +10553,7 @@ impl ICustomDestinationList { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BeginList)(::windows_core::Interface::as_raw(self), pcminslots, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BeginList)(::windows_core::Interface::as_raw(self), pcminslots, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn AppendCategory(&self, pszcategory: P0, poa: P1) -> ::windows_core::Result<()> @@ -10581,7 +10581,7 @@ impl ICustomDestinationList { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetRemovedDestinations)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRemovedDestinations)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DeleteList(&self, pszappid: P0) -> ::windows_core::Result<()> where @@ -10624,7 +10624,7 @@ impl IDataObjectAsyncCapability { } pub unsafe fn GetAsyncMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAsyncMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAsyncMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn StartOperation(&self, pbcreserved: P0) -> ::windows_core::Result<()> @@ -10635,7 +10635,7 @@ impl IDataObjectAsyncCapability { } pub unsafe fn InOperation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InOperation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InOperation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EndOperation(&self, hresult: ::windows_core::HRESULT, pbcreserved: P0, dweffects: u32) -> ::windows_core::Result<()> @@ -10667,7 +10667,7 @@ impl IDataObjectProvider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDataObject(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataObject)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDataObject(&self, dataobject: P0) -> ::windows_core::Result<()> @@ -10699,7 +10699,7 @@ impl IDataTransferManagerInterop { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForWindow)(::windows_core::Interface::as_raw(self), appwindow.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowShareUIForWindow(&self, appwindow: P0) -> ::windows_core::Result<()> where @@ -10785,7 +10785,7 @@ impl IDefaultFolderMenuInitialize { } pub unsafe fn GetMenuRestrictions(&self, dfmrmask: DEFAULT_FOLDER_MENU_RESTRICTIONS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMenuRestrictions)(::windows_core::Interface::as_raw(self), dfmrmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMenuRestrictions)(::windows_core::Interface::as_raw(self), dfmrmask, &mut result__).map(|| result__) } pub unsafe fn SetHandlerClsid(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHandlerClsid)(::windows_core::Interface::as_raw(self), rclsid).ok() @@ -10829,11 +10829,11 @@ impl IDelegateItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -10850,7 +10850,7 @@ impl IDeskBand { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -10895,7 +10895,7 @@ impl IDeskBand2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -10925,7 +10925,7 @@ impl IDeskBand2 { } pub unsafe fn CanRenderComposited(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanRenderComposited)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanRenderComposited)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCompositionState(&self, fcompositionenabled: P0) -> ::windows_core::Result<()> where @@ -10935,7 +10935,7 @@ impl IDeskBand2 { } pub unsafe fn GetCompositionState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompositionState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompositionState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Ole")] @@ -10952,7 +10952,7 @@ pub struct IDeskBand2_Vtbl { impl IDeskBandInfo { pub unsafe fn GetDefaultBandWidth(&self, dwbandid: u32, dwviewmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultBandWidth)(::windows_core::Interface::as_raw(self), dwbandid, dwviewmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultBandWidth)(::windows_core::Interface::as_raw(self), dwbandid, dwviewmode, &mut result__).map(|| result__) } } #[repr(C)] @@ -10970,7 +10970,7 @@ impl IDeskBar { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -10987,7 +10987,7 @@ impl IDeskBar { } pub unsafe fn GetClient(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnPosRectChangeDB(&self, prc: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnPosRectChangeDB)(::windows_core::Interface::as_raw(self), prc).ok() @@ -11011,7 +11011,7 @@ impl IDeskBarClient { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -11034,7 +11034,7 @@ impl IDeskBarClient { } pub unsafe fn GetSize(&self, dwwhich: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), dwwhich, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), dwwhich, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Ole")] @@ -11078,22 +11078,22 @@ impl IDesktopWallpaper { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWallpaper)(::windows_core::Interface::as_raw(self), monitorid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWallpaper)(::windows_core::Interface::as_raw(self), monitorid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetMonitorDevicePathAt(&self, monitorindex: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitorDevicePathAt)(::windows_core::Interface::as_raw(self), monitorindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitorDevicePathAt)(::windows_core::Interface::as_raw(self), monitorindex, &mut result__).map(|| result__) } pub unsafe fn GetMonitorDevicePathCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitorDevicePathCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitorDevicePathCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMonitorRECT(&self, monitorid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitorRECT)(::windows_core::Interface::as_raw(self), monitorid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitorRECT)(::windows_core::Interface::as_raw(self), monitorid.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetBackgroundColor(&self, color: P0) -> ::windows_core::Result<()> where @@ -11103,14 +11103,14 @@ impl IDesktopWallpaper { } pub unsafe fn GetBackgroundColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBackgroundColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPosition(&self, position: DESKTOP_WALLPAPER_POSITION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPosition)(::windows_core::Interface::as_raw(self), position).ok() } pub unsafe fn GetPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSlideshow(&self, items: P0) -> ::windows_core::Result<()> where @@ -11120,7 +11120,7 @@ impl IDesktopWallpaper { } pub unsafe fn GetSlideshow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSlideshow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSlideshow)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSlideshowOptions(&self, options: DESKTOP_SLIDESHOW_OPTIONS, slideshowtick: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSlideshowOptions)(::windows_core::Interface::as_raw(self), options, slideshowtick).ok() @@ -11136,7 +11136,7 @@ impl IDesktopWallpaper { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enable(&self, enable: P0) -> ::windows_core::Result<()> where @@ -11172,7 +11172,7 @@ impl IDestinationStreamFactory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDestinationStream(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDestinationStream)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDestinationStream)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11190,11 +11190,11 @@ impl IDisplayItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11224,7 +11224,7 @@ impl IDockingWindow { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -11268,7 +11268,7 @@ impl IDockingWindowFrame { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -11315,7 +11315,7 @@ impl IDockingWindowSite { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -11329,7 +11329,7 @@ impl IDockingWindowSite { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBorderDW)(::windows_core::Interface::as_raw(self), punkobj.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBorderDW)(::windows_core::Interface::as_raw(self), punkobj.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RequestBorderSpaceDW(&self, punkobj: P0, pbw: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> where @@ -11472,7 +11472,7 @@ impl IDynamicHWHandler { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDynamicInfo)(::windows_core::Interface::as_raw(self), pszdeviceid.into_param().abi(), dwcontenttype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDynamicInfo)(::windows_core::Interface::as_raw(self), pszdeviceid.into_param().abi(), dwcontenttype, &mut result__).map(|| result__) } } #[repr(C)] @@ -11502,7 +11502,7 @@ impl IEnumACString { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn NextItem(&self, pszurl: ::core::option::Option<&mut [u16]>, pulsortindex: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NextItem)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszurl.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pszurl.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), pulsortindex).ok() @@ -11512,7 +11512,7 @@ impl IEnumACString { } pub unsafe fn GetEnumOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -11551,7 +11551,7 @@ impl IEnumExplorerCommand { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11577,7 +11577,7 @@ impl IEnumExtraSearch { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11604,7 +11604,7 @@ impl IEnumFullIDList { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11633,7 +11633,7 @@ impl IEnumHLITEM { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11688,7 +11688,7 @@ impl IEnumObjects { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11705,7 +11705,7 @@ pub struct IEnumObjects_Vtbl { impl IEnumPublishedApps { pub unsafe fn Next(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reset(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok() @@ -11745,7 +11745,7 @@ impl IEnumResources { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11771,7 +11771,7 @@ impl IEnumShellItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11797,7 +11797,7 @@ impl IEnumSyncMgrConflict { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11823,7 +11823,7 @@ impl IEnumSyncMgrEvents { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11849,7 +11849,7 @@ impl IEnumSyncMgrSyncItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11875,7 +11875,7 @@ impl IEnumTravelLogEntry { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11899,7 +11899,7 @@ impl IEnumerableView { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn CreateEnumIDListFromContents(&self, pidlfolder: *const Common::ITEMIDLIST, dwenumflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEnumIDListFromContents)(::windows_core::Interface::as_raw(self), pidlfolder, dwenumflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEnumIDListFromContents)(::windows_core::Interface::as_raw(self), pidlfolder, dwenumflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -11963,7 +11963,7 @@ pub struct IExecuteCommand_Vtbl { impl IExecuteCommandApplicationHostEnvironment { pub unsafe fn GetValue(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11977,7 +11977,7 @@ pub struct IExecuteCommandApplicationHostEnvironment_Vtbl { impl IExecuteCommandHost { pub unsafe fn GetUIMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUIMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUIMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -11992,7 +11992,7 @@ impl IExpDispSupport { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindConnectionPoint(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn OnTranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> ::windows_core::Result<()> { @@ -12026,7 +12026,7 @@ impl IExpDispSupportXP { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindCIE4ConnectionPoint(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindCIE4ConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindCIE4ConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn OnTranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> ::windows_core::Result<()> { @@ -12090,7 +12090,7 @@ impl IExplorerBrowser { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psbe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psbe.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -12100,7 +12100,7 @@ impl IExplorerBrowser { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn BrowseToIDList(&self, pidl: *const Common::ITEMIDLIST, uflags: u32) -> ::windows_core::Result<()> { @@ -12126,7 +12126,7 @@ impl IExplorerBrowser { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCurrentView)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentView)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12207,25 +12207,25 @@ impl IExplorerCommand { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetIcon(&self, psiitemarray: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetToolTip(&self, psiitemarray: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetToolTip)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetToolTip)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetCanonicalName(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCanonicalName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetState(&self, psiitemarray: P0, foktobeslow: P1) -> ::windows_core::Result where @@ -12233,7 +12233,7 @@ impl IExplorerCommand { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Invoke(&self, psiitemarray: P0, pbc: P1) -> ::windows_core::Result<()> @@ -12245,11 +12245,11 @@ impl IExplorerCommand { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumSubCommands(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSubCommands)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSubCommands)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12277,14 +12277,14 @@ impl IExplorerCommandProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCommands)(::windows_core::Interface::as_raw(self), punksite.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCommands)(::windows_core::Interface::as_raw(self), punksite.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCommand(&self, rguidcommandid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCommand)(::windows_core::Interface::as_raw(self), rguidcommandid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCommand)(::windows_core::Interface::as_raw(self), rguidcommandid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -12303,7 +12303,7 @@ impl IExplorerCommandState { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), psiitemarray.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -12317,7 +12317,7 @@ pub struct IExplorerCommandState_Vtbl { impl IExplorerPaneVisibility { pub unsafe fn GetPaneState(&self, ep: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPaneState)(::windows_core::Interface::as_raw(self), ep, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPaneState)(::windows_core::Interface::as_raw(self), ep, &mut result__).map(|| result__) } } #[repr(C)] @@ -12408,7 +12408,7 @@ impl IExtractImage { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Extract(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Extract)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Extract)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12430,11 +12430,11 @@ impl IExtractImage2 { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Extract(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Extract)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Extract)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDateStamp(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDateStamp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDateStamp)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -12461,14 +12461,14 @@ impl IFileDialog { } pub unsafe fn GetFileTypeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, pfde: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -12478,7 +12478,7 @@ impl IFileDialog { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultFolder(&self, psi: P0) -> ::windows_core::Result<()> where @@ -12494,11 +12494,11 @@ impl IFileDialog { } pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -12508,7 +12508,7 @@ impl IFileDialog { } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, psztitle: P0) -> ::windows_core::Result<()> where @@ -12530,7 +12530,7 @@ impl IFileDialog { } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlace(&self, psi: P0, fdap: FDAP) -> ::windows_core::Result<()> where @@ -12609,14 +12609,14 @@ impl IFileDialog2 { } pub unsafe fn GetFileTypeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, pfde: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -12626,7 +12626,7 @@ impl IFileDialog2 { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultFolder(&self, psi: P0) -> ::windows_core::Result<()> where @@ -12642,11 +12642,11 @@ impl IFileDialog2 { } pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -12656,7 +12656,7 @@ impl IFileDialog2 { } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, psztitle: P0) -> ::windows_core::Result<()> where @@ -12678,7 +12678,7 @@ impl IFileDialog2 { } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlace(&self, psi: P0, fdap: FDAP) -> ::windows_core::Result<()> where @@ -12819,14 +12819,14 @@ impl IFileDialogCustomize { } pub unsafe fn GetControlState(&self, dwidctl: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlState)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlState)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).map(|| result__) } pub unsafe fn SetControlState(&self, dwidctl: u32, dwstate: CDCONTROLSTATEF) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControlState)(::windows_core::Interface::as_raw(self), dwidctl, dwstate).ok() } pub unsafe fn GetEditBoxText(&self, dwidctl: u32) -> ::windows_core::Result<*mut u16> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEditBoxText)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEditBoxText)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).map(|| result__) } pub unsafe fn SetEditBoxText(&self, dwidctl: u32, psztext: P0) -> ::windows_core::Result<()> where @@ -12836,7 +12836,7 @@ impl IFileDialogCustomize { } pub unsafe fn GetCheckButtonState(&self, dwidctl: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCheckButtonState)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCheckButtonState)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).map(|| result__) } pub unsafe fn SetCheckButtonState(&self, dwidctl: u32, bchecked: P0) -> ::windows_core::Result<()> where @@ -12858,14 +12858,14 @@ impl IFileDialogCustomize { } pub unsafe fn GetControlItemState(&self, dwidctl: u32, dwiditem: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlItemState)(::windows_core::Interface::as_raw(self), dwidctl, dwiditem, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlItemState)(::windows_core::Interface::as_raw(self), dwidctl, dwiditem, &mut result__).map(|| result__) } pub unsafe fn SetControlItemState(&self, dwidctl: u32, dwiditem: u32, dwstate: CDCONTROLSTATEF) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControlItemState)(::windows_core::Interface::as_raw(self), dwidctl, dwiditem, dwstate).ok() } pub unsafe fn GetSelectedControlItem(&self, dwidctl: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedControlItem)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedControlItem)(::windows_core::Interface::as_raw(self), dwidctl, &mut result__).map(|| result__) } pub unsafe fn SetSelectedControlItem(&self, dwidctl: u32, dwiditem: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelectedControlItem)(::windows_core::Interface::as_raw(self), dwidctl, dwiditem).ok() @@ -12955,7 +12955,7 @@ impl IFileDialogEvents { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnShareViolation)(::windows_core::Interface::as_raw(self), pfd.into_param().abi(), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnShareViolation)(::windows_core::Interface::as_raw(self), pfd.into_param().abi(), psi.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnTypeChange(&self, pfd: P0) -> ::windows_core::Result<()> where @@ -12969,7 +12969,7 @@ impl IFileDialogEvents { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnOverwrite)(::windows_core::Interface::as_raw(self), pfd.into_param().abi(), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnOverwrite)(::windows_core::Interface::as_raw(self), pfd.into_param().abi(), psi.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -12989,19 +12989,19 @@ pub struct IFileDialogEvents_Vtbl { impl IFileIsInUse { pub unsafe fn GetAppName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUsage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUsage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSwitchToHWND(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSwitchToHWND)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSwitchToHWND)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CloseFile(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CloseFile)(::windows_core::Interface::as_raw(self)).ok() @@ -13035,14 +13035,14 @@ impl IFileOpenDialog { } pub unsafe fn GetFileTypeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, pfde: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -13052,7 +13052,7 @@ impl IFileOpenDialog { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultFolder(&self, psi: P0) -> ::windows_core::Result<()> where @@ -13068,11 +13068,11 @@ impl IFileOpenDialog { } pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -13082,7 +13082,7 @@ impl IFileOpenDialog { } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, psztitle: P0) -> ::windows_core::Result<()> where @@ -13104,7 +13104,7 @@ impl IFileOpenDialog { } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlace(&self, psi: P0, fdap: FDAP) -> ::windows_core::Result<()> where @@ -13135,11 +13135,11 @@ impl IFileOpenDialog { } pub unsafe fn GetResults(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResults)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResults)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -13157,7 +13157,7 @@ impl IFileOperation { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pfops.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pfops.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -13276,7 +13276,7 @@ impl IFileOperation { } pub unsafe fn GetAnyOperationsAborted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnyOperationsAborted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnyOperationsAborted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13315,7 +13315,7 @@ impl IFileOperation2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfops.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfops.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -13434,7 +13434,7 @@ impl IFileOperation2 { } pub unsafe fn GetAnyOperationsAborted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAnyOperationsAborted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAnyOperationsAborted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOperationFlags2(&self, operationflags2: FILE_OPERATION_FLAGS2) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOperationFlags2)(::windows_core::Interface::as_raw(self), operationflags2).ok() @@ -13585,14 +13585,14 @@ impl IFileSaveDialog { } pub unsafe fn GetFileTypeIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileTypeIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Advise(&self, pfde: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), pfde.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -13602,7 +13602,7 @@ impl IFileSaveDialog { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultFolder(&self, psi: P0) -> ::windows_core::Result<()> where @@ -13618,11 +13618,11 @@ impl IFileSaveDialog { } pub unsafe fn GetFolder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentSelection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFileName(&self, pszname: P0) -> ::windows_core::Result<()> where @@ -13632,7 +13632,7 @@ impl IFileSaveDialog { } pub unsafe fn GetFileName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFileName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTitle(&self, psztitle: P0) -> ::windows_core::Result<()> where @@ -13654,7 +13654,7 @@ impl IFileSaveDialog { } pub unsafe fn GetResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddPlace(&self, psi: P0, fdap: FDAP) -> ::windows_core::Result<()> where @@ -13707,7 +13707,7 @@ impl IFileSaveDialog { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn ApplyProperties(&self, psi: P0, pstore: P1, hwnd: P2, psink: P3) -> ::windows_core::Result<()> @@ -13759,15 +13759,15 @@ impl IFileSearchBand { } pub unsafe fn SearchID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Scope(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Scope)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryFile(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryFile)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -13790,7 +13790,7 @@ impl IFileSyncMergeHandler { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Merge)(::windows_core::Interface::as_raw(self), localfilepath.into_param().abi(), serverfilepath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Merge)(::windows_core::Interface::as_raw(self), localfilepath.into_param().abi(), serverfilepath.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn ShowResolveConflictUIAsync(&self, localfilepath: P0, monitortodisplayon: P1) -> ::windows_core::Result<()> @@ -13852,14 +13852,14 @@ impl IFileSystemBindData2 { } pub unsafe fn GetFileID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetJunctionCLSID(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetJunctionCLSID)(::windows_core::Interface::as_raw(self), clsid).ok() } pub unsafe fn GetJunctionCLSID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetJunctionCLSID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetJunctionCLSID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -13960,7 +13960,7 @@ pub struct IFolderFilterSite_Vtbl { impl IFolderView { pub unsafe fn GetCurrentViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentViewMode(&self, viewmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentViewMode)(::windows_core::Interface::as_raw(self), viewmode).ok() @@ -13970,43 +13970,43 @@ impl IFolderView { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn Item(&self, iitemindex: i32) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iitemindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), iitemindex, &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self, uflags: _SVGIO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), uflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ItemCount)(::windows_core::Interface::as_raw(self), uflags.0 as _, &mut result__).map(|| result__) } pub unsafe fn Items(&self, uflags: _SVGIO) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), uflags.0 as _, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Items)(::windows_core::Interface::as_raw(self), uflags.0 as _, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelectionMarkedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectionMarkedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectionMarkedItem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFocusedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemPosition(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemPosition)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemPosition)(::windows_core::Interface::as_raw(self), pidl, &mut result__).map(|| result__) } pub unsafe fn GetSpacing(&self, ppt: *mut super::super::Foundation::POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSpacing)(::windows_core::Interface::as_raw(self), ppt).ok() } pub unsafe fn GetDefaultSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAutoArrange(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAutoArrange)(::windows_core::Interface::as_raw(self)).ok() @@ -14052,7 +14052,7 @@ pub struct IFolderView_Vtbl { impl IFolderView2 { pub unsafe fn GetCurrentViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentViewMode(&self, viewmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentViewMode)(::windows_core::Interface::as_raw(self), viewmode).ok() @@ -14062,43 +14062,43 @@ impl IFolderView2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFolder)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn Item(&self, iitemindex: i32) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), iitemindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Item)(::windows_core::Interface::as_raw(self), iitemindex, &mut result__).map(|| result__) } pub unsafe fn ItemCount(&self, uflags: _SVGIO) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), uflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ItemCount)(::windows_core::Interface::as_raw(self), uflags.0 as _, &mut result__).map(|| result__) } pub unsafe fn Items(&self, uflags: _SVGIO) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), uflags.0 as _, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Items)(::windows_core::Interface::as_raw(self), uflags.0 as _, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSelectionMarkedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelectionMarkedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelectionMarkedItem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFocusedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemPosition(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemPosition)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemPosition)(::windows_core::Interface::as_raw(self), pidl, &mut result__).map(|| result__) } pub unsafe fn GetSpacing(&self, ppt: *mut super::super::Foundation::POINT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSpacing)(::windows_core::Interface::as_raw(self), ppt).ok() } pub unsafe fn GetDefaultSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDefaultSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDefaultSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAutoArrange(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetAutoArrange)(::windows_core::Interface::as_raw(self)).ok() @@ -14128,7 +14128,7 @@ impl IFolderView2 { #[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetViewProperty(&self, pidl: *const Common::ITEMIDLIST, propkey: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewProperty)(::windows_core::Interface::as_raw(self), pidl, propkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewProperty)(::windows_core::Interface::as_raw(self), pidl, propkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetTileViewProperties(&self, pidl: *const Common::ITEMIDLIST, pszproplist: P0) -> ::windows_core::Result<()> @@ -14155,11 +14155,11 @@ impl IFolderView2 { } pub unsafe fn GetCurrentFolderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentFolderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentFolderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSortColumnCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSortColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSortColumnCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SetSortColumns(&self, rgsortcolumns: &[SORTCOLUMN]) -> ::windows_core::Result<()> { @@ -14174,30 +14174,30 @@ impl IFolderView2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), iitem, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), iitem, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVisibleItem(&self, istart: i32, fprevious: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVisibleItem)(::windows_core::Interface::as_raw(self), istart, fprevious.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVisibleItem)(::windows_core::Interface::as_raw(self), istart, fprevious.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetSelectedItem(&self, istart: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedItem)(::windows_core::Interface::as_raw(self), istart, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedItem)(::windows_core::Interface::as_raw(self), istart, &mut result__).map(|| result__) } pub unsafe fn GetSelection(&self, fnoneimpliesfolder: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), fnoneimpliesfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), fnoneimpliesfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetSelectionState(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectionState)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectionState)(::windows_core::Interface::as_raw(self), pidl, &mut result__).map(|| result__) } pub unsafe fn InvokeVerbOnSelection(&self, pszverb: P0) -> ::windows_core::Result<()> where @@ -14216,7 +14216,7 @@ impl IFolderView2 { } pub unsafe fn GetGroupSubsetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupSubsetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupSubsetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRedraw(&self, fredrawon: P0) -> ::windows_core::Result<()> where @@ -14341,7 +14341,7 @@ impl IFolderViewOptions { } pub unsafe fn GetFolderViewOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolderViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolderViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14359,7 +14359,7 @@ impl IFolderViewSettings { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetColumnPropertyList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColumnPropertyList)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetGroupByProperty(&self, pkey: *mut PropertiesSystem::PROPERTYKEY, pfgroupascending: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { @@ -14367,11 +14367,11 @@ impl IFolderViewSettings { } pub unsafe fn GetViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetIconSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFolderFlags(&self, pfoldermask: *mut FOLDERFLAGS, pfolderflags: *mut FOLDERFLAGS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFolderFlags)(::windows_core::Interface::as_raw(self), pfoldermask, pfolderflags).ok() @@ -14382,7 +14382,7 @@ impl IFolderViewSettings { } pub unsafe fn GetGroupSubsetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGroupSubsetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGroupSubsetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14412,7 +14412,7 @@ impl IFrameworkInputPane { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pwindow.into_param().abi(), phandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pwindow.into_param().abi(), phandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn AdviseWithHWND(&self, hwnd: P0, phandler: P1) -> ::windows_core::Result where @@ -14420,14 +14420,14 @@ impl IFrameworkInputPane { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdviseWithHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), phandler.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdviseWithHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), phandler.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() } pub unsafe fn Location(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Location)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14590,15 +14590,15 @@ pub struct IHandlerActivationHost_Vtbl { impl IHandlerInfo { pub unsafe fn GetApplicationDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplicationPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplicationIconReference(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationIconReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationIconReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14614,19 +14614,19 @@ pub struct IHandlerInfo_Vtbl { impl IHandlerInfo2 { pub unsafe fn GetApplicationDisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetApplicationDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetApplicationDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplicationPublisher(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetApplicationPublisher)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetApplicationPublisher)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplicationIconReference(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetApplicationIconReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetApplicationIconReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetApplicationId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetApplicationId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetApplicationId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14677,7 +14677,7 @@ impl IHlink { } pub unsafe fn GetFriendlyName(&self, grfhlfnamef: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), grfhlfnamef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), grfhlfnamef, &mut result__).map(|| result__) } pub unsafe fn SetTargetFrameName(&self, pwztargetframename: P0) -> ::windows_core::Result<()> where @@ -14687,11 +14687,11 @@ impl IHlink { } pub unsafe fn GetTargetFrameName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMiscStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMiscStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMiscStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Navigate(&self, grfhlnf: u32, pibc: P0, pibsc: P1, pihlbc: P2) -> ::windows_core::Result<()> @@ -14710,7 +14710,7 @@ impl IHlink { } pub unsafe fn GetAdditionalParams(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAdditionalParams)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAdditionalParams)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -14751,7 +14751,7 @@ impl IHlinkBrowseContext { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), reserved, piunk.into_param().abi(), pimk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), reserved, piunk.into_param().abi(), pimk.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetObject(&self, pimk: P0, fbindifrootregistered: P1) -> ::windows_core::Result<::windows_core::IUnknown> @@ -14760,7 +14760,7 @@ impl IHlinkBrowseContext { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pimk.into_param().abi(), fbindifrootregistered.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pimk.into_param().abi(), fbindifrootregistered.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Revoke(&self, dwregister: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Revoke)(::windows_core::Interface::as_raw(self), dwregister).ok() @@ -14788,7 +14788,7 @@ impl IHlinkBrowseContext { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnNavigateHlink)(::windows_core::Interface::as_raw(self), grfhlnf, pimktarget.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnNavigateHlink)(::windows_core::Interface::as_raw(self), grfhlnf, pimktarget.into_param().abi(), pwzlocation.into_param().abi(), pwzfriendlyname.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn UpdateHlink(&self, uhlid: u32, pimktarget: P0, pwzlocation: P1, pwzfriendlyname: P2) -> ::windows_core::Result<()> @@ -14801,14 +14801,14 @@ impl IHlinkBrowseContext { } pub unsafe fn EnumNavigationStack(&self, dwreserved: u32, grfhlfnamef: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumNavigationStack)(::windows_core::Interface::as_raw(self), dwreserved, grfhlfnamef, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumNavigationStack)(::windows_core::Interface::as_raw(self), dwreserved, grfhlfnamef, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryHlink(&self, grfhlqf: u32, uhlid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryHlink)(::windows_core::Interface::as_raw(self), grfhlqf, uhlid).ok() } pub unsafe fn GetHlink(&self, uhlid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHlink)(::windows_core::Interface::as_raw(self), uhlid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHlink)(::windows_core::Interface::as_raw(self), uhlid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetCurrentHlink(&self, uhlid: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentHlink)(::windows_core::Interface::as_raw(self), uhlid).ok() @@ -14818,7 +14818,7 @@ impl IHlinkBrowseContext { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), piunkouter.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), piunkouter.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Close(&self, reserved: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self), reserved).ok() @@ -14869,7 +14869,7 @@ impl IHlinkFrame { } pub unsafe fn GetBrowseContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBrowseContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBrowseContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Navigate(&self, grfhlnf: u32, pbc: P0, pibsc: P1, pihlnavigate: P2) -> ::windows_core::Result<()> @@ -14923,12 +14923,12 @@ pub struct IHlinkFrame_Vtbl { impl IHlinkSite { pub unsafe fn QueryService(&self, dwsitedata: u32, guidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryService)(::windows_core::Interface::as_raw(self), dwsitedata, guidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryService)(::windows_core::Interface::as_raw(self), dwsitedata, guidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetMoniker(&self, dwsitedata: u32, dwassign: u32, dwwhich: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwsitedata, dwassign, dwwhich, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), dwsitedata, dwassign, dwwhich, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReadyToNavigate(&self, dwsitedata: u32, dwreserved: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReadyToNavigate)(::windows_core::Interface::as_raw(self), dwsitedata, dwreserved).ok() @@ -14963,7 +14963,7 @@ impl IHlinkTarget { } pub unsafe fn GetBrowseContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBrowseContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBrowseContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Navigate(&self, grfhlnf: u32, pwzjumplocation: P0) -> ::windows_core::Result<()> where @@ -14977,14 +14977,14 @@ impl IHlinkTarget { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), pwzlocation.into_param().abi(), dwassign, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMoniker)(::windows_core::Interface::as_raw(self), pwzlocation.into_param().abi(), dwassign, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFriendlyName(&self, pwzlocation: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), pwzlocation.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFriendlyName)(::windows_core::Interface::as_raw(self), pwzlocation.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -15005,14 +15005,14 @@ pub struct IHlinkTarget_Vtbl { impl IHomeGroup { pub unsafe fn IsMember(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMember)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ShowSharingWizard(&self, owner: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowSharingWizard)(::windows_core::Interface::as_raw(self), owner.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowSharingWizard)(::windows_core::Interface::as_raw(self), owner.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -15045,11 +15045,11 @@ impl IIdentityName { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15067,7 +15067,7 @@ impl IImageRecompress { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecompressImage)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), cx, cy, iquality, pstg.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecompressImage)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), cx, cy, iquality, pstg.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15361,7 +15361,7 @@ impl IItemNameLimits { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxLength)(::windows_core::Interface::as_raw(self), pszname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -15376,22 +15376,22 @@ pub struct IItemNameLimits_Vtbl { impl IKnownFolder { pub unsafe fn GetId(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetCategory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetShellItem(&self, dwflags: u32) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetShellItem)(::windows_core::Interface::as_raw(self), dwflags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShellItem)(::windows_core::Interface::as_raw(self), dwflags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPath(&self, dwflags: u32) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn SetPath(&self, dwflags: u32, pszpath: P0) -> ::windows_core::Result<()> where @@ -15402,15 +15402,15 @@ impl IKnownFolder { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self, dwflags: u32) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), dwflags, &mut result__).map(|| result__) } pub unsafe fn GetFolderType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRedirectionCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRedirectionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRedirectionCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFolderDefinition(&self, pkfd: *mut KNOWNFOLDER_DEFINITION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFolderDefinition)(::windows_core::Interface::as_raw(self), pkfd).ok() @@ -15438,25 +15438,25 @@ pub struct IKnownFolder_Vtbl { impl IKnownFolderManager { pub unsafe fn FolderIdFromCsidl(&self, ncsidl: i32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FolderIdFromCsidl)(::windows_core::Interface::as_raw(self), ncsidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FolderIdFromCsidl)(::windows_core::Interface::as_raw(self), ncsidl, &mut result__).map(|| result__) } pub unsafe fn FolderIdToCsidl(&self, rfid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FolderIdToCsidl)(::windows_core::Interface::as_raw(self), rfid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FolderIdToCsidl)(::windows_core::Interface::as_raw(self), rfid, &mut result__).map(|| result__) } pub unsafe fn GetFolderIds(&self, ppkfid: *mut *mut ::windows_core::GUID, pcount: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetFolderIds)(::windows_core::Interface::as_raw(self), ppkfid, pcount).ok() } pub unsafe fn GetFolder(&self, rfid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), rfid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolder)(::windows_core::Interface::as_raw(self), rfid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFolderByName(&self, pszcanonicalname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolderByName)(::windows_core::Interface::as_raw(self), pszcanonicalname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolderByName)(::windows_core::Interface::as_raw(self), pszcanonicalname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterFolder(&self, rfid: *const ::windows_core::GUID, pkfd: *const KNOWNFOLDER_DEFINITION) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegisterFolder)(::windows_core::Interface::as_raw(self), rfid, pkfd).ok() @@ -15469,12 +15469,12 @@ impl IKnownFolderManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFolderFromPath)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFolderFromPath)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn FindFolderFromIDList(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFolderFromIDList)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFolderFromIDList)(::windows_core::Interface::as_raw(self), pidl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Redirect(&self, rfid: *const ::windows_core::GUID, hwnd: P0, flags: u32, psztargetpath: P1, pexclusion: ::core::option::Option<&[::windows_core::GUID]>, ppszerror: ::core::option::Option<*mut ::windows_core::PWSTR>) -> ::windows_core::Result<()> where @@ -15507,7 +15507,7 @@ pub struct IKnownFolderManager_Vtbl { impl ILaunchSourceAppUserModelId { pub unsafe fn GetAppUserModelId(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppUserModelId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppUserModelId)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15521,11 +15521,11 @@ pub struct ILaunchSourceAppUserModelId_Vtbl { impl ILaunchSourceViewSizePreference { pub unsafe fn GetSourceViewToPosition(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceViewToPosition)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceViewToPosition)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSourceViewSizePreference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSourceViewSizePreference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSourceViewSizePreference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15541,7 +15541,7 @@ impl ILaunchTargetMonitor { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetMonitor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMonitor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15558,7 +15558,7 @@ pub struct ILaunchTargetMonitor_Vtbl { impl ILaunchTargetViewSizePreference { pub unsafe fn GetTargetViewSizePreference(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetViewSizePreference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetViewSizePreference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -15637,7 +15637,7 @@ impl IMenuPopup { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -15654,7 +15654,7 @@ impl IMenuPopup { } pub unsafe fn GetClient(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClient)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClient)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnPosRectChangeDB(&self, prc: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnPosRectChangeDB)(::windows_core::Interface::as_raw(self), prc).ok() @@ -15710,7 +15710,7 @@ impl INameSpaceTreeAccessible { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnGetDefaultAccessibilityAction)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnGetDefaultAccessibilityAction)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDoDefaultAccessibilityAction(&self, psi: P0) -> ::windows_core::Result<()> where @@ -15723,7 +15723,7 @@ impl INameSpaceTreeAccessible { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnGetAccessibilityRole)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnGetAccessibilityRole)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -15748,7 +15748,7 @@ impl INameSpaceTreeControl { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TreeAdvise)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TreeAdvise)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn TreeUnadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).TreeUnadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -15778,7 +15778,7 @@ impl INameSpaceTreeControl { } pub unsafe fn GetRootItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRootItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRootItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItemState(&self, psi: P0, nstcismask: u32, nstcisflags: u32) -> ::windows_core::Result<()> where @@ -15791,18 +15791,18 @@ impl INameSpaceTreeControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcismask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcismask, &mut result__).map(|| result__) } pub unsafe fn GetSelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemCustomState(&self, psi: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemCustomState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemCustomState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetItemCustomState(&self, psi: P0, istatenumber: i32) -> ::windows_core::Result<()> where @@ -15827,18 +15827,18 @@ impl INameSpaceTreeControl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcgi, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcgi, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HitTest(&self, ppt: *const super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTest)(::windows_core::Interface::as_raw(self), ppt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTest)(::windows_core::Interface::as_raw(self), ppt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemRect(&self, psi: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemRect)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemRect)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CollapseAll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CollapseAll)(::windows_core::Interface::as_raw(self)).ok() @@ -15882,7 +15882,7 @@ impl INameSpaceTreeControl2 { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TreeAdvise)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TreeAdvise)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn TreeUnadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.TreeUnadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -15912,7 +15912,7 @@ impl INameSpaceTreeControl2 { } pub unsafe fn GetRootItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRootItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRootItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetItemState(&self, psi: P0, nstcismask: u32, nstcisflags: u32) -> ::windows_core::Result<()> where @@ -15925,18 +15925,18 @@ impl INameSpaceTreeControl2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcismask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcismask, &mut result__).map(|| result__) } pub unsafe fn GetSelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemCustomState(&self, psi: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemCustomState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemCustomState)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetItemCustomState(&self, psi: P0, istatenumber: i32) -> ::windows_core::Result<()> where @@ -15961,18 +15961,18 @@ impl INameSpaceTreeControl2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNextItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcgi, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNextItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), nstcgi, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HitTest(&self, ppt: *const super::super::Foundation::POINT) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HitTest)(::windows_core::Interface::as_raw(self), ppt, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HitTest)(::windows_core::Interface::as_raw(self), ppt, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemRect(&self, psi: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemRect)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemRect)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CollapseAll(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.CollapseAll)(::windows_core::Interface::as_raw(self)).ok() @@ -15982,14 +15982,14 @@ impl INameSpaceTreeControl2 { } pub unsafe fn GetControlStyle(&self, nstcsmask: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlStyle)(::windows_core::Interface::as_raw(self), nstcsmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlStyle)(::windows_core::Interface::as_raw(self), nstcsmask, &mut result__).map(|| result__) } pub unsafe fn SetControlStyle2(&self, nstcsmask: NSTCSTYLE2, nstcsstyle: NSTCSTYLE2) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetControlStyle2)(::windows_core::Interface::as_raw(self), nstcsmask, nstcsstyle).ok() } pub unsafe fn GetControlStyle2(&self, nstcsmask: NSTCSTYLE2) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlStyle2)(::windows_core::Interface::as_raw(self), nstcsmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlStyle2)(::windows_core::Interface::as_raw(self), nstcsmask, &mut result__).map(|| result__) } } #[repr(C)] @@ -16010,7 +16010,7 @@ impl INameSpaceTreeControlCustomDraw { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrePaint)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), prc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrePaint)(::windows_core::Interface::as_raw(self), hdc.into_param().abi(), prc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn PostPaint(&self, hdc: P0, prc: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> @@ -16256,7 +16256,7 @@ pub struct INameSpaceTreeControlEvents_Vtbl { impl INameSpaceTreeControlFolderCapabilities { pub unsafe fn GetFolderCapabilities(&self, nfcmask: NSTCFOLDERCAPABILITIES) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolderCapabilities)(::windows_core::Interface::as_raw(self), nfcmask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolderCapabilities)(::windows_core::Interface::as_raw(self), nfcmask, &mut result__).map(|| result__) } } #[repr(C)] @@ -16411,12 +16411,12 @@ pub struct INamespaceWalkCB2_Vtbl { impl INetworkFolderInternal { pub unsafe fn GetResourceDisplayType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceDisplayType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetProvider(&self, itemids: &[*const Common::ITEMIDLIST], provider: &mut [u16]) -> ::windows_core::Result<()> { @@ -16442,7 +16442,7 @@ pub struct INetworkFolderInternal_Vtbl { impl INewMenuClient { pub unsafe fn IncludeItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IncludeItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IncludeItems)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SelectAndEditItem(&self, pidlitem: *const Common::ITEMIDLIST, flags: i32) -> ::windows_core::Result<()> { @@ -16562,7 +16562,7 @@ impl INewWDEvents { } pub unsafe fn Caption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Caption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Caption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Property(&self, bstrpropertyname: P0, pvproperty: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -16575,7 +16575,7 @@ impl INewWDEvents { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWizardButtons(&self, vfenableback: P0, vfenablenext: P1, vflastpage: P2) -> ::windows_core::Result<()> where @@ -16597,7 +16597,7 @@ impl INewWDEvents { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PassportAuthenticate)(::windows_core::Interface::as_raw(self), bstrsigninurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PassportAuthenticate)(::windows_core::Interface::as_raw(self), bstrsigninurl.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -16675,7 +16675,7 @@ impl IObjectProvider { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).QueryObject)(::windows_core::Interface::as_raw(self), guidobject, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryObject)(::windows_core::Interface::as_raw(self), guidobject, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16695,7 +16695,7 @@ impl IObjectWithAppUserModelID { } pub unsafe fn GetAppID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16723,7 +16723,7 @@ pub struct IObjectWithBackReferences_Vtbl { impl IObjectWithCancelEvent { pub unsafe fn GetCancelEvent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCancelEvent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCancelEvent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16740,7 +16740,7 @@ impl IObjectWithFolderEnumMode { } pub unsafe fn GetMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16761,7 +16761,7 @@ impl IObjectWithProgID { } pub unsafe fn GetProgID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProgID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProgID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16785,7 +16785,7 @@ impl IObjectWithSelection { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16814,7 +16814,7 @@ impl IOpenControlPanel { } pub unsafe fn GetCurrentView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16835,7 +16835,7 @@ impl IOpenSearchSource { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetResults)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pszquery.into_param().abi(), dwstartindex, dwcount, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResults)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pszquery.into_param().abi(), dwstartindex, dwcount, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -16888,7 +16888,7 @@ impl IOperationsProgressDialog { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetOperationStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOperationStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOperationStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -16986,7 +16986,7 @@ impl IPackageDebugSettings { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPackageExecutionState)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPackageExecutionState)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterForPackageStateChanges(&self, packagefullname: P0, ppackageexecutionstatechangenotification: P1) -> ::windows_core::Result where @@ -16994,7 +16994,7 @@ impl IPackageDebugSettings { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), ppackageexecutionstatechangenotification.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), ppackageexecutionstatechangenotification.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterForPackageStateChanges(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnregisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -17096,7 +17096,7 @@ impl IPackageDebugSettings2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPackageExecutionState)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPackageExecutionState)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RegisterForPackageStateChanges(&self, packagefullname: P0, ppackageexecutionstatechangenotification: P1) -> ::windows_core::Result where @@ -17104,7 +17104,7 @@ impl IPackageDebugSettings2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RegisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), ppackageexecutionstatechangenotification.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RegisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), packagefullname.into_param().abi(), ppackageexecutionstatechangenotification.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnregisterForPackageStateChanges(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.UnregisterForPackageStateChanges)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -17180,7 +17180,7 @@ impl IParseAndCreateItem { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17199,7 +17199,7 @@ impl IPersistFolder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn Initialize(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -17225,7 +17225,7 @@ impl IPersistFolder2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn Initialize(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -17234,7 +17234,7 @@ impl IPersistFolder2 { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetCurFolder(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurFolder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -17256,7 +17256,7 @@ impl IPersistFolder3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn Initialize(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -17265,7 +17265,7 @@ impl IPersistFolder3 { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetCurFolder(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurFolder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurFolder)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] pub unsafe fn InitializeEx(&self, pbc: P0, pidlroot: *const Common::ITEMIDLIST, ppfti: *const PERSIST_FOLDER_TARGET_INFO) -> ::windows_core::Result<()> @@ -17302,7 +17302,7 @@ impl IPersistIDList { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -17311,7 +17311,7 @@ impl IPersistIDList { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -17351,7 +17351,7 @@ impl IPreviewHandler { } pub unsafe fn QueryFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn TranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> ::windows_core::Result<()> { @@ -17379,7 +17379,7 @@ impl IPreviewHandlerFrame { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetWindowContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindowContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindowContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn TranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> ::windows_core::Result<()> { @@ -17436,11 +17436,11 @@ impl IPreviewItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -17457,7 +17457,7 @@ impl IPreviousVersionsInfo { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AreSnapshotsAvailable)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AreSnapshotsAvailable)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), foktobeslow.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -17475,7 +17475,7 @@ impl IProfferService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ProfferService)(::windows_core::Interface::as_raw(self), serviceid, serviceprovider.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ProfferService)(::windows_core::Interface::as_raw(self), serviceid, serviceprovider.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn RevokeService(&self, cookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RevokeService)(::windows_core::Interface::as_raw(self), cookie).ok() @@ -17562,7 +17562,7 @@ pub struct IProgressDialog_Vtbl { impl IPropertyKeyStore { pub unsafe fn GetKeyCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKeyCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKeyCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetKeyAt(&self, index: i32, pkey: *mut PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<()> { @@ -17615,7 +17615,7 @@ impl IPublishedApp { } pub unsafe fn GetPossibleActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSlowAppInfo(&self, psaid: *mut SLOWAPPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetSlowAppInfo)(::windows_core::Interface::as_raw(self), psaid).ok() @@ -17652,7 +17652,7 @@ impl IPublishedApp2 { } pub unsafe fn GetPossibleActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSlowAppInfo(&self, psaid: *mut SLOWAPPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.GetSlowAppInfo)(::windows_core::Interface::as_raw(self), psaid).ok() @@ -17695,12 +17695,12 @@ impl IPublishingWizard { #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetFirstPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetLastPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Initialize(&self, pdo: P0, dwoptions: u32, pszservicescope: P1) -> ::windows_core::Result<()> @@ -17752,7 +17752,7 @@ impl IQueryAssociations { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetKey)(::windows_core::Interface::as_raw(self), flags, key, pszextra.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetKey)(::windows_core::Interface::as_raw(self), flags, key, pszextra.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetData(&self, flags: ASSOCF, data: ASSOCDATA, pszextra: P0, pvout: ::core::option::Option<*mut ::core::ffi::c_void>, pcbout: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> where @@ -17805,7 +17805,7 @@ pub struct IQueryCancelAutoPlay_Vtbl { impl IQueryCodePage { pub unsafe fn GetCodePage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCodePage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCodePage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCodePage(&self, uicodepage: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCodePage)(::windows_core::Interface::as_raw(self), uicodepage).ok() @@ -17855,11 +17855,11 @@ pub struct IQueryContinueWithStatus_Vtbl { impl IQueryInfo { pub unsafe fn GetInfoTip(&self, dwflags: QITIPF_FLAGS) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfoTip)(::windows_core::Interface::as_raw(self), dwflags.0 as _, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfoTip)(::windows_core::Interface::as_raw(self), dwflags.0 as _, &mut result__).map(|| result__) } pub unsafe fn GetInfoFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInfoFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInfoFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -17874,7 +17874,7 @@ pub struct IQueryInfo_Vtbl { impl IRegTreeItem { pub unsafe fn GetCheckState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCheckState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCheckState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCheckState(&self, bcheck: P0) -> ::windows_core::Result<()> where @@ -17896,11 +17896,11 @@ impl IRelatedItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -18036,39 +18036,39 @@ impl IScriptErrorList { } pub unsafe fn canAdvanceError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).canAdvanceError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).canAdvanceError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn canRetreatError(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).canRetreatError)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).canRetreatError)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getErrorLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getErrorChar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorChar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorChar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getErrorCode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorCode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getErrorMsg(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorMsg)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorMsg)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getErrorUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getErrorUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getErrorUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAlwaysShowLockState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAlwaysShowLockState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAlwaysShowLockState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn getDetailsPaneOpen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getDetailsPaneOpen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getDetailsPaneOpen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn setDetailsPaneOpen(&self, fdetailspaneopen: P0) -> ::windows_core::Result<()> where @@ -18078,7 +18078,7 @@ impl IScriptErrorList { } pub unsafe fn getPerErrorDisplay(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getPerErrorDisplay)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getPerErrorDisplay)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn setPerErrorDisplay(&self, fpererrordisplay: P0) -> ::windows_core::Result<()> where @@ -18115,11 +18115,11 @@ impl ISearchBoxInfo { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetCondition)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCondition)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18134,15 +18134,15 @@ pub struct ISearchBoxInfo_Vtbl { impl ISearchContext { pub unsafe fn GetSearchUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSearchUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSearchUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSearchText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSearchText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSearchText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSearchStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSearchStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSearchStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18205,12 +18205,12 @@ impl ISearchFolderItemFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetShellItem)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShellItem)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18254,15 +18254,15 @@ impl ISharedBitmap { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetSharedBitmap(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharedBitmap)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharedBitmap)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn InitializeBitmap(&self, hbm: P0, wtsat: WTS_ALPHATYPE) -> ::windows_core::Result<()> @@ -18274,7 +18274,7 @@ impl ISharedBitmap { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn Detach(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Detach)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Detach)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -18310,7 +18310,7 @@ impl ISharingConfigurationManager { } pub unsafe fn GetSharePermissions(&self, dsid: DEF_SHARE_ID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSharePermissions)(::windows_core::Interface::as_raw(self), dsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSharePermissions)(::windows_core::Interface::as_raw(self), dsid, &mut result__).map(|| result__) } pub unsafe fn SharePrinters(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SharePrinters)(::windows_core::Interface::as_raw(self)).ok() @@ -18342,7 +18342,7 @@ impl IShellApp { } pub unsafe fn GetPossibleActions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPossibleActions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSlowAppInfo(&self, psaid: *mut SLOWAPPINFO) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSlowAppInfo)(::windows_core::Interface::as_raw(self), psaid).ok() @@ -18373,7 +18373,7 @@ impl IShellBrowser { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -18427,11 +18427,11 @@ impl IShellBrowser { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetViewStateStream(&self, grfmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetViewStateStream)(::windows_core::Interface::as_raw(self), grfmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetViewStateStream)(::windows_core::Interface::as_raw(self), grfmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetControlWindow(&self, id: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetControlWindow)(::windows_core::Interface::as_raw(self), id, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetControlWindow)(::windows_core::Interface::as_raw(self), id, &mut result__).map(|| result__) } pub unsafe fn SendControlMsg(&self, id: u32, umsg: u32, wparam: P0, lparam: P1, pret: ::core::option::Option<*mut super::super::Foundation::LRESULT>) -> ::windows_core::Result<()> where @@ -18443,7 +18443,7 @@ impl IShellBrowser { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn QueryActiveShellView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryActiveShellView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryActiveShellView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn OnViewWindowActive(&self, pshv: P0) -> ::windows_core::Result<()> @@ -18550,12 +18550,12 @@ impl IShellDispatch { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -18563,7 +18563,7 @@ impl IShellDispatch { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -18572,12 +18572,12 @@ impl IShellDispatch { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -18696,12 +18696,12 @@ impl IShellDispatch2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -18709,7 +18709,7 @@ impl IShellDispatch2 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -18718,12 +18718,12 @@ impl IShellDispatch2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -18794,7 +18794,7 @@ impl IShellDispatch2 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShellExecute(&self, file: P0, vargs: P1, vdir: P2, voperation: P3, vshow: P4) -> ::windows_core::Result<()> where @@ -18819,7 +18819,7 @@ impl IShellDispatch2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStart(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -18827,7 +18827,7 @@ impl IShellDispatch2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStop(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -18835,21 +18835,21 @@ impl IShellDispatch2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsServiceRunning(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanStartStopService(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowBrowserBar(&self, bstrclsid: P0, bshow: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -18857,7 +18857,7 @@ impl IShellDispatch2 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -18884,12 +18884,12 @@ impl IShellDispatch3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -18897,7 +18897,7 @@ impl IShellDispatch3 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -18906,12 +18906,12 @@ impl IShellDispatch3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -18982,7 +18982,7 @@ impl IShellDispatch3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShellExecute(&self, file: P0, vargs: P1, vdir: P2, voperation: P3, vshow: P4) -> ::windows_core::Result<()> where @@ -19007,7 +19007,7 @@ impl IShellDispatch3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStart(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19015,7 +19015,7 @@ impl IShellDispatch3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStop(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19023,21 +19023,21 @@ impl IShellDispatch3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsServiceRunning(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanStartStopService(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowBrowserBar(&self, bstrclsid: P0, bshow: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19045,7 +19045,7 @@ impl IShellDispatch3 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddToRecent(&self, varfile: P0, bstrcategory: P1) -> ::windows_core::Result<()> where @@ -19071,12 +19071,12 @@ impl IShellDispatch4 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -19084,7 +19084,7 @@ impl IShellDispatch4 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -19093,12 +19093,12 @@ impl IShellDispatch4 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -19169,7 +19169,7 @@ impl IShellDispatch4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShellExecute(&self, file: P0, vargs: P1, vdir: P2, voperation: P3, vshow: P4) -> ::windows_core::Result<()> where @@ -19194,7 +19194,7 @@ impl IShellDispatch4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStart(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19202,7 +19202,7 @@ impl IShellDispatch4 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStop(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19210,21 +19210,21 @@ impl IShellDispatch4 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsServiceRunning(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanStartStopService(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowBrowserBar(&self, bstrclsid: P0, bshow: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19232,7 +19232,7 @@ impl IShellDispatch4 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddToRecent(&self, varfile: P0, bstrcategory: P1) -> ::windows_core::Result<()> where @@ -19252,11 +19252,11 @@ impl IShellDispatch4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSetting(&self, lsetting: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -19278,12 +19278,12 @@ impl IShellDispatch5 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -19291,7 +19291,7 @@ impl IShellDispatch5 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -19300,12 +19300,12 @@ impl IShellDispatch5 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -19376,7 +19376,7 @@ impl IShellDispatch5 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShellExecute(&self, file: P0, vargs: P1, vdir: P2, voperation: P3, vshow: P4) -> ::windows_core::Result<()> where @@ -19401,7 +19401,7 @@ impl IShellDispatch5 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStart(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19409,7 +19409,7 @@ impl IShellDispatch5 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStop(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19417,21 +19417,21 @@ impl IShellDispatch5 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsServiceRunning(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanStartStopService(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowBrowserBar(&self, bstrclsid: P0, bshow: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19439,7 +19439,7 @@ impl IShellDispatch5 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddToRecent(&self, varfile: P0, bstrcategory: P1) -> ::windows_core::Result<()> where @@ -19459,11 +19459,11 @@ impl IShellDispatch5 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSetting(&self, lsetting: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).map(|| result__) } pub unsafe fn WindowSwitcher(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).WindowSwitcher)(::windows_core::Interface::as_raw(self)).ok() @@ -19485,12 +19485,12 @@ impl IShellDispatch6 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn NameSpace(&self, vdir: P0) -> ::windows_core::Result @@ -19498,7 +19498,7 @@ impl IShellDispatch6 { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.NameSpace)(::windows_core::Interface::as_raw(self), vdir.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BrowseForFolder(&self, hwnd: i32, title: P0, options: i32, rootfolder: P1) -> ::windows_core::Result @@ -19507,12 +19507,12 @@ impl IShellDispatch6 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BrowseForFolder)(::windows_core::Interface::as_raw(self), hwnd, title.into_param().abi(), options, rootfolder.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Windows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Windows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Open(&self, vdir: P0) -> ::windows_core::Result<()> where @@ -19583,7 +19583,7 @@ impl IShellDispatch6 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsRestricted)(::windows_core::Interface::as_raw(self), group.into_param().abi(), restriction.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShellExecute(&self, file: P0, vargs: P1, vdir: P2, voperation: P3, vshow: P4) -> ::windows_core::Result<()> where @@ -19608,7 +19608,7 @@ impl IShellDispatch6 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetSystemInformation)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStart(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19616,7 +19616,7 @@ impl IShellDispatch6 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ServiceStart)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ServiceStop(&self, servicename: P0, persistent: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19624,21 +19624,21 @@ impl IShellDispatch6 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ServiceStop)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), persistent.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsServiceRunning(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsServiceRunning)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CanStartStopService(&self, servicename: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CanStartStopService)(::windows_core::Interface::as_raw(self), servicename.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowBrowserBar(&self, bstrclsid: P0, bshow: P1) -> ::windows_core::Result<::windows_core::VARIANT> where @@ -19646,7 +19646,7 @@ impl IShellDispatch6 { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ShowBrowserBar)(::windows_core::Interface::as_raw(self), bstrclsid.into_param().abi(), bshow.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddToRecent(&self, varfile: P0, bstrcategory: P1) -> ::windows_core::Result<()> where @@ -19666,11 +19666,11 @@ impl IShellDispatch6 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ExplorerPolicy)(::windows_core::Interface::as_raw(self), bstrpolicyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSetting(&self, lsetting: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetSetting)(::windows_core::Interface::as_raw(self), lsetting, &mut result__).map(|| result__) } pub unsafe fn WindowSwitcher(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.WindowSwitcher)(::windows_core::Interface::as_raw(self)).ok() @@ -19745,15 +19745,15 @@ impl IShellFavoritesNameSpace { } pub unsafe fn SubscriptionsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SubscriptionsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SubscriptionsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateSubscriptionForSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeleteSubscriptionForSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeleteSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeleteSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRoot(&self, bstrfullpath: P0) -> ::windows_core::Result<()> where @@ -19806,7 +19806,7 @@ impl IShellFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] pub unsafe fn BindToStorage(&self, pidl: *const Common::ITEMIDLIST, pbc: P0) -> ::windows_core::Result @@ -19815,7 +19815,7 @@ impl IShellFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToStorage)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToStorage)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn CompareIDs(&self, lparam: P0, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> @@ -19830,7 +19830,7 @@ impl IShellFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateViewObject)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateViewObject)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetAttributesOf(&self, apidl: &[*const Common::ITEMIDLIST], rgfinout: *mut u32) -> ::windows_core::Result<()> { @@ -19843,7 +19843,7 @@ impl IShellFolder { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetUIObjectOf)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), apidl.len().try_into().unwrap(), ::core::mem::transmute(apidl.as_ptr()), &T::IID, ::core::mem::transmute(rgfreserved.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUIObjectOf)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), apidl.len().try_into().unwrap(), ::core::mem::transmute(apidl.as_ptr()), &T::IID, ::core::mem::transmute(rgfreserved.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetDisplayNameOf(&self, pidl: *const Common::ITEMIDLIST, uflags: SHGDNF, pname: *mut Common::STRRET) -> ::windows_core::Result<()> { @@ -19922,7 +19922,7 @@ impl IShellFolder2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BindToObject)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToObject)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] pub unsafe fn BindToStorage(&self, pidl: *const Common::ITEMIDLIST, pbc: P0) -> ::windows_core::Result @@ -19931,7 +19931,7 @@ impl IShellFolder2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BindToStorage)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToStorage)(::windows_core::Interface::as_raw(self), pidl, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn CompareIDs(&self, lparam: P0, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> @@ -19946,7 +19946,7 @@ impl IShellFolder2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.CreateViewObject)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateViewObject)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetAttributesOf(&self, apidl: &[*const Common::ITEMIDLIST], rgfinout: *mut u32) -> ::windows_core::Result<()> { @@ -19959,7 +19959,7 @@ impl IShellFolder2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetUIObjectOf)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), apidl.len().try_into().unwrap(), ::core::mem::transmute(apidl.as_ptr()), &T::IID, ::core::mem::transmute(rgfreserved.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUIObjectOf)(::windows_core::Interface::as_raw(self), hwndowner.into_param().abi(), apidl.len().try_into().unwrap(), ::core::mem::transmute(apidl.as_ptr()), &T::IID, ::core::mem::transmute(rgfreserved.unwrap_or(::std::ptr::null())), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetDisplayNameOf(&self, pidl: *const Common::ITEMIDLIST, uflags: SHGDNF, pname: *mut Common::STRRET) -> ::windows_core::Result<()> { @@ -19975,23 +19975,23 @@ impl IShellFolder2 { } pub unsafe fn GetDefaultSearchGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultSearchGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultSearchGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumSearches(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSearches)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSearches)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultColumn(&self, dwres: u32, psort: *mut u32, pdisplay: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDefaultColumn)(::windows_core::Interface::as_raw(self), dwres, psort, pdisplay).ok() } pub unsafe fn GetDefaultColumnState(&self, icolumn: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultColumnState)(::windows_core::Interface::as_raw(self), icolumn, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultColumnState)(::windows_core::Interface::as_raw(self), icolumn, &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))] pub unsafe fn GetDetailsEx(&self, pidl: *const Common::ITEMIDLIST, pscid: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDetailsEx)(::windows_core::Interface::as_raw(self), pidl, pscid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDetailsEx)(::windows_core::Interface::as_raw(self), pidl, pscid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetDetailsOf(&self, pidl: *const Common::ITEMIDLIST, icolumn: u32, psd: *mut Common::SHELLDETAILS) -> ::windows_core::Result<()> { @@ -20070,7 +20070,7 @@ impl IShellFolderView { } pub unsafe fn GetArrangeParam(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetArrangeParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetArrangeParam)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ArrangeGrid(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ArrangeGrid)(::windows_core::Interface::as_raw(self)).ok() @@ -20084,7 +20084,7 @@ impl IShellFolderView { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn AddObject(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddObject)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddObject)(::windows_core::Interface::as_raw(self), pidl, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetObject(&self, ppidl: *mut *mut Common::ITEMIDLIST, uitem: u32) -> ::windows_core::Result<()> { @@ -20093,11 +20093,11 @@ impl IShellFolderView { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn RemoveObject(&self, pidl: ::core::option::Option<*const Common::ITEMIDLIST>) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoveObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pidl.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoveObject)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pidl.unwrap_or(::std::ptr::null())), &mut result__).map(|| result__) } pub unsafe fn GetObjectCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObjectCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetObjectCount(&self, ucount: u32, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetObjectCount)(::windows_core::Interface::as_raw(self), ucount, dwflags).ok() @@ -20105,12 +20105,12 @@ impl IShellFolderView { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn UpdateObject(&self, pidlold: *const Common::ITEMIDLIST, pidlnew: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UpdateObject)(::windows_core::Interface::as_raw(self), pidlold, pidlnew, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UpdateObject)(::windows_core::Interface::as_raw(self), pidlold, pidlnew, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn RefreshObject(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RefreshObject)(::windows_core::Interface::as_raw(self), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RefreshObject)(::windows_core::Interface::as_raw(self), pidl, &mut result__).map(|| result__) } pub unsafe fn SetRedraw(&self, bredraw: P0) -> ::windows_core::Result<()> where @@ -20120,7 +20120,7 @@ impl IShellFolderView { } pub unsafe fn GetSelectedCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectedCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectedCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetSelectedObjects(&self, pppidl: *mut *mut *mut Common::ITEMIDLIST, puitems: *mut u32) -> ::windows_core::Result<()> { @@ -20135,11 +20135,11 @@ impl IShellFolderView { } pub unsafe fn GetDragPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDragPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDragPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDropPoint(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDropPoint)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDropPoint)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MoveIcons(&self, pdataobject: P0) -> ::windows_core::Result<()> @@ -20174,14 +20174,14 @@ impl IShellFolderView { } pub unsafe fn GetItemSpacing(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemSpacing)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemSpacing)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCallback(&self, pnewcb: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetCallback)(::windows_core::Interface::as_raw(self), pnewcb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetCallback)(::windows_core::Interface::as_raw(self), pnewcb.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Select(&self, dwflags: SFVS_SELECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Select)(::windows_core::Interface::as_raw(self), dwflags.0 as _).ok() @@ -20292,27 +20292,27 @@ impl IShellFolderViewDual { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Folder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Folder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FocusedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectItem(&self, pvfi: *const ::windows_core::VARIANT, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SelectItem)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvfi), dwflags).ok() @@ -20325,16 +20325,16 @@ impl IShellFolderViewDual { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Script(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Script)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Script)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ViewOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -20382,27 +20382,27 @@ impl IShellFolderViewDual2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Folder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Folder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FocusedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectItem(&self, pvfi: *const ::windows_core::VARIANT, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SelectItem)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvfi), dwflags).ok() @@ -20415,20 +20415,20 @@ impl IShellFolderViewDual2 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Script(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Script)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Script)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ViewOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentViewMode(&self, viewmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentViewMode)(::windows_core::Interface::as_raw(self), viewmode).ok() @@ -20455,27 +20455,27 @@ impl IShellFolderViewDual3 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Folder(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Folder)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Folder)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FocusedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.FocusedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelectItem(&self, pvfi: *const ::windows_core::VARIANT, dwflags: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SelectItem)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvfi), dwflags).ok() @@ -20488,20 +20488,20 @@ impl IShellFolderViewDual3 { P2: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PopupItemMenu)(::windows_core::Interface::as_raw(self), pfi.into_param().abi(), vx.into_param().abi(), vy.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Script(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Script)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Script)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ViewOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ViewOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentViewMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CurrentViewMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentViewMode(&self, viewmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetCurrentViewMode)(::windows_core::Interface::as_raw(self), viewmode).ok() @@ -20511,7 +20511,7 @@ impl IShellFolderViewDual3 { } pub unsafe fn GroupBy(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GroupBy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GroupBy)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetGroupBy(&self, bstrgroupby: P0) -> ::windows_core::Result<()> where @@ -20521,14 +20521,14 @@ impl IShellFolderViewDual3 { } pub unsafe fn FolderFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FolderFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FolderFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFolderFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFolderFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn SortColumns(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SortColumns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SortColumns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSortColumns(&self, bstrsortcolumns: P0) -> ::windows_core::Result<()> where @@ -20541,7 +20541,7 @@ impl IShellFolderViewDual3 { } pub unsafe fn IconSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IconSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IconSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FilterView(&self, bstrfiltertext: P0) -> ::windows_core::Result<()> where @@ -20571,7 +20571,7 @@ impl IShellIcon { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIconOf(&self, pidl: *const Common::ITEMIDLIST, flags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconOf)(::windows_core::Interface::as_raw(self), pidl, flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconOf)(::windows_core::Interface::as_raw(self), pidl, flags, &mut result__).map(|| result__) } } #[repr(C)] @@ -20622,7 +20622,7 @@ impl IShellIconOverlayIdentifier { } pub unsafe fn GetPriority(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -20738,7 +20738,7 @@ impl IShellImageData { #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe fn GetProperties(&self, dwmode: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), dwmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), dwmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Rotate(&self, dwangle: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Rotate)(::windows_core::Interface::as_raw(self), dwangle).ok() @@ -20774,7 +20774,7 @@ impl IShellImageData { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterAbort)(::windows_core::Interface::as_raw(self), pabort.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterAbort)(::windows_core::Interface::as_raw(self), pabort.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CloneFrame(&self, ppimg: *mut *mut u8) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CloneFrame)(::windows_core::Interface::as_raw(self), ppimg).ok() @@ -20848,14 +20848,14 @@ pub struct IShellImageDataAbort_Vtbl { impl IShellImageDataFactory { pub unsafe fn CreateIShellImageData(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateIShellImageData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateIShellImageData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateImageFromFile(&self, pszpath: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageFromFile)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageFromFile)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateImageFromStream(&self, pstream: P0) -> ::windows_core::Result @@ -20863,14 +20863,14 @@ impl IShellImageDataFactory { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateImageFromStream)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateImageFromStream)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDataFormatFromPath(&self, pszpath: P0) -> ::windows_core::Result<::windows_core::GUID> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataFormatFromPath)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataFormatFromPath)(::windows_core::Interface::as_raw(self), pszpath.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -20895,27 +20895,27 @@ impl IShellItem { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayName(&self, sigdnname: SIGDN) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), sigdnname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), sigdnname, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_SystemServices")] pub unsafe fn GetAttributes(&self, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), sfgaomask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), sfgaomask, &mut result__).map(|| result__) } pub unsafe fn Compare(&self, psi: P0, hint: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), hint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), hint, &mut result__).map(|| result__) } } #[repr(C)] @@ -20944,27 +20944,27 @@ impl IShellItem2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetParent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayName(&self, sigdnname: SIGDN) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), sigdnname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), sigdnname, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_SystemServices")] pub unsafe fn GetAttributes(&self, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetAttributes)(::windows_core::Interface::as_raw(self), sfgaomask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetAttributes)(::windows_core::Interface::as_raw(self), sfgaomask, &mut result__).map(|| result__) } pub unsafe fn Compare(&self, psi: P0, hint: u32) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), hint, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Compare)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), hint, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyStore(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS) -> ::windows_core::Result @@ -20972,7 +20972,7 @@ impl IShellItem2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyStoreWithCreateObject(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, punkcreateobject: P0) -> ::windows_core::Result @@ -20981,7 +20981,7 @@ impl IShellItem2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStoreWithCreateObject)(::windows_core::Interface::as_raw(self), flags, punkcreateobject.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStoreWithCreateObject)(::windows_core::Interface::as_raw(self), flags, punkcreateobject.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyStoreForKeys(&self, rgkeys: &[PropertiesSystem::PROPERTYKEY], flags: PropertiesSystem::GETPROPERTYSTOREFLAGS) -> ::windows_core::Result @@ -20989,7 +20989,7 @@ impl IShellItem2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rgkeys.as_ptr()), rgkeys.len().try_into().unwrap(), flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStoreForKeys)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rgkeys.as_ptr()), rgkeys.len().try_into().unwrap(), flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyDescriptionList(&self, keytype: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result @@ -20997,7 +20997,7 @@ impl IShellItem2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyDescriptionList)(::windows_core::Interface::as_raw(self), keytype, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDescriptionList)(::windows_core::Interface::as_raw(self), keytype, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Update(&self, pbc: P0) -> ::windows_core::Result<()> @@ -21009,42 +21009,42 @@ impl IShellItem2 { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperty(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), key, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetCLSID(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCLSID)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetFileTime(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFileTime)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetInt32(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInt32)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetString(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetUInt32(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUInt32)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUInt32)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetUInt64(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUInt64)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUInt64)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetBool(&self, key: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), key, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBool)(::windows_core::Interface::as_raw(self), key, &mut result__).map(|| result__) } } #[repr(C)] @@ -21114,7 +21114,7 @@ impl IShellItemArray { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), bhid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyStore(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS) -> ::windows_core::Result @@ -21122,7 +21122,7 @@ impl IShellItemArray { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyStore)(::windows_core::Interface::as_raw(self), flags, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetPropertyDescriptionList(&self, keytype: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result @@ -21130,24 +21130,24 @@ impl IShellItemArray { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetPropertyDescriptionList)(::windows_core::Interface::as_raw(self), keytype, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyDescriptionList)(::windows_core::Interface::as_raw(self), keytype, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_SystemServices")] pub unsafe fn GetAttributes(&self, attribflags: SIATTRIBFLAGS, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), attribflags, sfgaomask, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), attribflags, sfgaomask, &mut result__).map(|| result__) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemAt(&self, dwindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemAt)(::windows_core::Interface::as_raw(self), dwindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -21188,7 +21188,7 @@ impl IShellItemFilter { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnumFlagsForItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnumFlagsForItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -21204,7 +21204,7 @@ impl IShellItemImageFactory { #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn GetImage(&self, size: super::super::Foundation::SIZE, flags: SIIGBF) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImage)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(size), flags, &mut result__).map(|| result__) } } #[repr(C)] @@ -21221,11 +21221,11 @@ pub struct IShellItemImageFactory_Vtbl { impl IShellItemResources { pub unsafe fn GetAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttributes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTimes(&self, pftcreation: *mut super::super::Foundation::FILETIME, pftwrite: *mut super::super::Foundation::FILETIME, pftaccess: *mut super::super::Foundation::FILETIME) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTimes)(::windows_core::Interface::as_raw(self), pftcreation, pftwrite, pftaccess).ok() @@ -21235,11 +21235,11 @@ impl IShellItemResources { } pub unsafe fn GetResourceDescription(&self, pcsir: *const SHELL_ITEM_RESOURCE) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetResourceDescription)(::windows_core::Interface::as_raw(self), pcsir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResourceDescription)(::windows_core::Interface::as_raw(self), pcsir, &mut result__).map(|| result__) } pub unsafe fn EnumResources(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumResources)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumResources)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportsResource(&self, pcsir: *const SHELL_ITEM_RESOURCE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SupportsResource)(::windows_core::Interface::as_raw(self), pcsir).ok() @@ -21249,14 +21249,14 @@ impl IShellItemResources { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).OpenResource)(::windows_core::Interface::as_raw(self), pcsir, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OpenResource)(::windows_core::Interface::as_raw(self), pcsir, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateResource(&self, pcsir: *const SHELL_ITEM_RESOURCE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateResource)(::windows_core::Interface::as_raw(self), pcsir, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateResource)(::windows_core::Interface::as_raw(self), pcsir, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarkForDelete(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).MarkForDelete)(::windows_core::Interface::as_raw(self)).ok() @@ -21306,7 +21306,7 @@ impl IShellLibrary { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetFolders)(::windows_core::Interface::as_raw(self), lff, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolders)(::windows_core::Interface::as_raw(self), lff, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ResolveFolder(&self, psifoldertoresolve: P0, dwtimeout: u32) -> ::windows_core::Result where @@ -21314,14 +21314,14 @@ impl IShellLibrary { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).ResolveFolder)(::windows_core::Interface::as_raw(self), psifoldertoresolve.into_param().abi(), dwtimeout, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResolveFolder)(::windows_core::Interface::as_raw(self), psifoldertoresolve.into_param().abi(), dwtimeout, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultSaveFolder(&self, dsft: DEFAULTSAVEFOLDERTYPE) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetDefaultSaveFolder)(::windows_core::Interface::as_raw(self), dsft, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultSaveFolder)(::windows_core::Interface::as_raw(self), dsft, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultSaveFolder(&self, dsft: DEFAULTSAVEFOLDERTYPE, psi: P0) -> ::windows_core::Result<()> where @@ -21331,21 +21331,21 @@ impl IShellLibrary { } pub unsafe fn GetOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOptions(&self, lofmask: LIBRARYOPTIONFLAGS, lofoptions: LIBRARYOPTIONFLAGS) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetOptions)(::windows_core::Interface::as_raw(self), lofmask, lofoptions).ok() } pub unsafe fn GetFolderType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFolderType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFolderType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFolderType(&self, ftid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFolderType)(::windows_core::Interface::as_raw(self), ftid).ok() } pub unsafe fn GetIcon(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIcon(&self, pszicon: P0) -> ::windows_core::Result<()> where @@ -21362,14 +21362,14 @@ impl IShellLibrary { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), psifoldertosavein.into_param().abi(), pszlibraryname.into_param().abi(), lsf, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), psifoldertosavein.into_param().abi(), pszlibraryname.into_param().abi(), lsf, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SaveInKnownFolder(&self, kfidtosavein: *const ::windows_core::GUID, pszlibraryname: P0, lsf: LIBRARYSAVEFLAGS) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SaveInKnownFolder)(::windows_core::Interface::as_raw(self), kfidtosavein, pszlibraryname.into_param().abi(), lsf, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SaveInKnownFolder)(::windows_core::Interface::as_raw(self), kfidtosavein, pszlibraryname.into_param().abi(), lsf, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -21404,7 +21404,7 @@ impl IShellLinkA { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -21439,7 +21439,7 @@ impl IShellLinkA { } pub unsafe fn GetHotkey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHotkey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHotkey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHotkey(&self, whotkey: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHotkey)(::windows_core::Interface::as_raw(self), whotkey).ok() @@ -21447,7 +21447,7 @@ impl IShellLinkA { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetShowCmd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowCmd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowCmd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn SetShowCmd(&self, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> ::windows_core::Result<()> { @@ -21533,7 +21533,7 @@ impl IShellLinkDataList { } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -21557,7 +21557,7 @@ pub struct IShellLinkDataList_Vtbl { impl IShellLinkDual { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21567,7 +21567,7 @@ impl IShellLinkDual { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21577,7 +21577,7 @@ impl IShellLinkDual { } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21587,7 +21587,7 @@ impl IShellLinkDual { } pub unsafe fn Arguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Arguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Arguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArguments(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21597,14 +21597,14 @@ impl IShellLinkDual { } pub unsafe fn Hotkey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hotkey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hotkey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHotkey(&self, ihk: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHotkey)(::windows_core::Interface::as_raw(self), ihk).ok() } pub unsafe fn ShowCommand(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowCommand(&self, ishowcommand: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetShowCommand)(::windows_core::Interface::as_raw(self), ishowcommand).ok() @@ -21614,7 +21614,7 @@ impl IShellLinkDual { } pub unsafe fn GetIconLocation(&self, pbs: *mut ::windows_core::BSTR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconLocation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbs), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconLocation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbs), &mut result__).map(|| result__) } pub unsafe fn SetIconLocation(&self, bs: P0, iicon: i32) -> ::windows_core::Result<()> where @@ -21659,7 +21659,7 @@ pub struct IShellLinkDual_Vtbl { impl IShellLinkDual2 { pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPath(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21669,7 +21669,7 @@ impl IShellLinkDual2 { } pub unsafe fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Description)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDescription(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21679,7 +21679,7 @@ impl IShellLinkDual2 { } pub unsafe fn WorkingDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.WorkingDirectory)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWorkingDirectory(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21689,7 +21689,7 @@ impl IShellLinkDual2 { } pub unsafe fn Arguments(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Arguments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Arguments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetArguments(&self, bs: P0) -> ::windows_core::Result<()> where @@ -21699,14 +21699,14 @@ impl IShellLinkDual2 { } pub unsafe fn Hotkey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Hotkey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Hotkey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHotkey(&self, ihk: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHotkey)(::windows_core::Interface::as_raw(self), ihk).ok() } pub unsafe fn ShowCommand(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowCommand)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetShowCommand(&self, ishowcommand: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetShowCommand)(::windows_core::Interface::as_raw(self), ishowcommand).ok() @@ -21716,7 +21716,7 @@ impl IShellLinkDual2 { } pub unsafe fn GetIconLocation(&self, pbs: *mut ::windows_core::BSTR) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIconLocation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbs), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIconLocation)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pbs), &mut result__).map(|| result__) } pub unsafe fn SetIconLocation(&self, bs: P0, iicon: i32) -> ::windows_core::Result<()> where @@ -21733,7 +21733,7 @@ impl IShellLinkDual2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Target(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Target)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Target)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -21756,7 +21756,7 @@ impl IShellLinkW { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> ::windows_core::Result<()> { @@ -21791,7 +21791,7 @@ impl IShellLinkW { } pub unsafe fn GetHotkey(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHotkey)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHotkey)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHotkey(&self, whotkey: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHotkey)(::windows_core::Interface::as_raw(self), whotkey).ok() @@ -21799,7 +21799,7 @@ impl IShellLinkW { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetShowCmd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowCmd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowCmd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn SetShowCmd(&self, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> ::windows_core::Result<()> { @@ -22013,15 +22013,15 @@ impl IShellNameSpace { } pub unsafe fn SubscriptionsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SubscriptionsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SubscriptionsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CreateSubscriptionForSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DeleteSubscriptionForSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DeleteSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DeleteSubscriptionForSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRoot(&self, bstrfullpath: P0) -> ::windows_core::Result<()> where @@ -22031,7 +22031,7 @@ impl IShellNameSpace { } pub unsafe fn EnumOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnumOptions(&self, lval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEnumOptions)(::windows_core::Interface::as_raw(self), lval).ok() @@ -22039,7 +22039,7 @@ impl IShellNameSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectedItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSelectedItem(&self, pitem: P0) -> ::windows_core::Result<()> @@ -22050,7 +22050,7 @@ impl IShellNameSpace { } pub unsafe fn Root(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Root)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Root)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetRoot2(&self, var: P0) -> ::windows_core::Result<()> where @@ -22060,21 +22060,21 @@ impl IShellNameSpace { } pub unsafe fn Depth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Depth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Depth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDepth(&self, idepth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDepth)(::windows_core::Interface::as_raw(self), idepth).ok() } pub unsafe fn Mode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Mode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMode(&self, umode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMode)(::windows_core::Interface::as_raw(self), umode).ok() } pub unsafe fn Flags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Flags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlags(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), dwflags).ok() @@ -22084,11 +22084,11 @@ impl IShellNameSpace { } pub unsafe fn TVFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TVFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TVFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Columns(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetColumns(&self, bstrcolumns: P0) -> ::windows_core::Result<()> where @@ -22098,7 +22098,7 @@ impl IShellNameSpace { } pub unsafe fn CountViewTypes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CountViewTypes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CountViewTypes)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetViewType(&self, itype: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetViewType)(::windows_core::Interface::as_raw(self), itype).ok() @@ -22106,7 +22106,7 @@ impl IShellNameSpace { #[cfg(feature = "Win32_System_Com")] pub unsafe fn SelectedItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelectedItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Expand(&self, var: P0, idepth: i32) -> ::windows_core::Result<()> where @@ -22287,7 +22287,7 @@ impl IShellUIHelper { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22321,7 +22321,7 @@ impl IShellUIHelper { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -22382,7 +22382,7 @@ impl IShellUIHelper2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22416,7 +22416,7 @@ impl IShellUIHelper2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -22440,15 +22440,15 @@ impl IShellUIHelper2 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -22467,15 +22467,15 @@ impl IShellUIHelper2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -22485,11 +22485,11 @@ impl IShellUIHelper2 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -22553,7 +22553,7 @@ impl IShellUIHelper3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22587,7 +22587,7 @@ impl IShellUIHelper3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -22611,15 +22611,15 @@ impl IShellUIHelper3 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -22638,15 +22638,15 @@ impl IShellUIHelper3 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -22656,11 +22656,11 @@ impl IShellUIHelper3 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -22674,11 +22674,11 @@ impl IShellUIHelper3 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22707,7 +22707,7 @@ impl IShellUIHelper3 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -22786,7 +22786,7 @@ impl IShellUIHelper4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22820,7 +22820,7 @@ impl IShellUIHelper4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -22844,15 +22844,15 @@ impl IShellUIHelper4 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -22871,15 +22871,15 @@ impl IShellUIHelper4 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -22889,11 +22889,11 @@ impl IShellUIHelper4 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -22907,11 +22907,11 @@ impl IShellUIHelper4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -22940,7 +22940,7 @@ impl IShellUIHelper4 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -22962,7 +22962,7 @@ impl IShellUIHelper4 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -22973,7 +22973,7 @@ impl IShellUIHelper4 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -23022,7 +23022,7 @@ impl IShellUIHelper4 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -23039,7 +23039,7 @@ impl IShellUIHelper4 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -23050,11 +23050,11 @@ impl IShellUIHelper4 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -23120,7 +23120,7 @@ impl IShellUIHelper5 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -23154,7 +23154,7 @@ impl IShellUIHelper5 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -23178,15 +23178,15 @@ impl IShellUIHelper5 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -23205,15 +23205,15 @@ impl IShellUIHelper5 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -23223,11 +23223,11 @@ impl IShellUIHelper5 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -23241,11 +23241,11 @@ impl IShellUIHelper5 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -23274,7 +23274,7 @@ impl IShellUIHelper5 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -23296,7 +23296,7 @@ impl IShellUIHelper5 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -23307,7 +23307,7 @@ impl IShellUIHelper5 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -23356,7 +23356,7 @@ impl IShellUIHelper5 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -23373,7 +23373,7 @@ impl IShellUIHelper5 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -23384,18 +23384,18 @@ impl IShellUIHelper5 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msProvisionNetworks(&self, bstrprovisioningxml: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msReportSafeUrl(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).msReportSafeUrl)(::windows_core::Interface::as_raw(self)).ok() @@ -23471,7 +23471,7 @@ impl IShellUIHelper6 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -23505,7 +23505,7 @@ impl IShellUIHelper6 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -23529,15 +23529,15 @@ impl IShellUIHelper6 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -23556,15 +23556,15 @@ impl IShellUIHelper6 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -23574,11 +23574,11 @@ impl IShellUIHelper6 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -23592,11 +23592,11 @@ impl IShellUIHelper6 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -23625,7 +23625,7 @@ impl IShellUIHelper6 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -23647,7 +23647,7 @@ impl IShellUIHelper6 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -23658,7 +23658,7 @@ impl IShellUIHelper6 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -23707,7 +23707,7 @@ impl IShellUIHelper6 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -23724,7 +23724,7 @@ impl IShellUIHelper6 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -23735,18 +23735,18 @@ impl IShellUIHelper6 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msProvisionNetworks(&self, bstrprovisioningxml: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msReportSafeUrl(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.msReportSafeUrl)(::windows_core::Interface::as_raw(self)).ok() @@ -23799,7 +23799,7 @@ impl IShellUIHelper6 { } pub unsafe fn msPinnedSiteState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msEnableTileNotificationQueueForSquare150x150(&self, fchange: P0) -> ::windows_core::Result<()> where @@ -23909,7 +23909,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -23943,7 +23943,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -23967,15 +23967,15 @@ impl IShellUIHelper7 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -23994,15 +23994,15 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -24012,11 +24012,11 @@ impl IShellUIHelper7 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -24030,11 +24030,11 @@ impl IShellUIHelper7 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -24063,7 +24063,7 @@ impl IShellUIHelper7 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -24085,7 +24085,7 @@ impl IShellUIHelper7 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -24096,7 +24096,7 @@ impl IShellUIHelper7 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -24145,7 +24145,7 @@ impl IShellUIHelper7 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -24162,7 +24162,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -24173,18 +24173,18 @@ impl IShellUIHelper7 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msProvisionNetworks(&self, bstrprovisioningxml: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msReportSafeUrl(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.msReportSafeUrl)(::windows_core::Interface::as_raw(self)).ok() @@ -24237,7 +24237,7 @@ impl IShellUIHelper7 { } pub unsafe fn msPinnedSiteState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msEnableTileNotificationQueueForSquare150x150(&self, fchange: P0) -> ::windows_core::Result<()> where @@ -24299,7 +24299,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetExperimentalValue(&self, bstrvaluestring: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -24312,7 +24312,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ResetAllExperimentalFlagsAndValues(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ResetAllExperimentalFlagsAndValues)(::windows_core::Interface::as_raw(self)).ok() @@ -24322,7 +24322,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetNeedIEAutoLaunchFlag(&self, bstrurl: P0, flag: P1) -> ::windows_core::Result<()> where @@ -24336,7 +24336,7 @@ impl IShellUIHelper7 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn LaunchIE(&self, bstrurl: P0, automated: P1) -> ::windows_core::Result<()> where @@ -24400,7 +24400,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -24434,7 +24434,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -24458,15 +24458,15 @@ impl IShellUIHelper8 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -24485,15 +24485,15 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -24503,11 +24503,11 @@ impl IShellUIHelper8 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -24521,11 +24521,11 @@ impl IShellUIHelper8 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -24554,7 +24554,7 @@ impl IShellUIHelper8 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -24576,7 +24576,7 @@ impl IShellUIHelper8 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -24587,7 +24587,7 @@ impl IShellUIHelper8 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -24636,7 +24636,7 @@ impl IShellUIHelper8 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -24653,7 +24653,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -24664,18 +24664,18 @@ impl IShellUIHelper8 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msProvisionNetworks(&self, bstrprovisioningxml: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msReportSafeUrl(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.msReportSafeUrl)(::windows_core::Interface::as_raw(self)).ok() @@ -24728,7 +24728,7 @@ impl IShellUIHelper8 { } pub unsafe fn msPinnedSiteState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msEnableTileNotificationQueueForSquare150x150(&self, fchange: P0) -> ::windows_core::Result<()> where @@ -24790,7 +24790,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetExperimentalValue(&self, bstrvaluestring: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -24803,7 +24803,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ResetAllExperimentalFlagsAndValues(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ResetAllExperimentalFlagsAndValues)(::windows_core::Interface::as_raw(self)).ok() @@ -24813,7 +24813,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetNeedIEAutoLaunchFlag(&self, bstrurl: P0, flag: P1) -> ::windows_core::Result<()> where @@ -24827,7 +24827,7 @@ impl IShellUIHelper8 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn LaunchIE(&self, bstrurl: P0, automated: P1) -> ::windows_core::Result<()> where @@ -24838,19 +24838,19 @@ impl IShellUIHelper8 { } pub unsafe fn GetCVListData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCVListData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCVListData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCVListLocalData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCVListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCVListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEMIEListData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEMIEListData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEMIEListData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEMIEListLocalData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEMIEListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEMIEListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenFavoritesPane(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OpenFavoritesPane)(::windows_core::Interface::as_raw(self)).ok() @@ -24917,7 +24917,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IsSubscribed)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn NavigateAndFind(&self, url: P0, strquery: P1, vartargetframe: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -24951,7 +24951,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ShowBrowserUI)(::windows_core::Interface::as_raw(self), bstrname.into_param().abi(), ::core::mem::transmute(pvarin), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddSearchProvider(&self, url: P0) -> ::windows_core::Result<()> where @@ -24975,15 +24975,15 @@ impl IShellUIHelper9 { } pub unsafe fn SqmEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SqmEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PhishingEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.PhishingEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BrandImageUri(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BrandImageUri)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SkipTabsWelcome(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SkipTabsWelcome)(::windows_core::Interface::as_raw(self)).ok() @@ -25002,15 +25002,15 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSearchProviderInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn IsSearchMigrated(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IsSearchMigrated)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultSearchProvider(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DefaultSearchProvider)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RunOnceRequiredSettingsComplete(&self, fcomplete: P0) -> ::windows_core::Result<()> where @@ -25020,11 +25020,11 @@ impl IShellUIHelper9 { } pub unsafe fn RunOnceHasShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RunOnceHasShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SearchGuideUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SearchGuideUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddService(&self, url: P0) -> ::windows_core::Result<()> where @@ -25038,11 +25038,11 @@ impl IShellUIHelper9 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsServiceInstalled)(::windows_core::Interface::as_raw(self), url.into_param().abi(), verb.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InPrivateFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.InPrivateFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddToFavoritesBar(&self, url: P0, title: P1, r#type: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -25071,7 +25071,7 @@ impl IShellUIHelper9 { } pub unsafe fn IsSuggestedSitesEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IsSuggestedSitesEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnableSuggestedSites(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -25093,7 +25093,7 @@ impl IShellUIHelper9 { } pub unsafe fn msIsSiteMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msIsSiteMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msSiteModeShowThumbBar(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msSiteModeShowThumbBar)(::windows_core::Interface::as_raw(self)).ok() @@ -25104,7 +25104,7 @@ impl IShellUIHelper9 { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msSiteModeAddThumbBarButton)(::windows_core::Interface::as_raw(self), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeUpdateThumbBarButton(&self, buttonid: P0, fenabled: P1, fvisible: P2) -> ::windows_core::Result<()> where @@ -25153,7 +25153,7 @@ impl IShellUIHelper9 { P2: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msSiteModeAddButtonStyle)(::windows_core::Interface::as_raw(self), uibuttonid.into_param().abi(), bstriconurl.into_param().abi(), bstrtooltip.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msSiteModeShowButtonStyle(&self, uibuttonid: P0, uistyleid: P1) -> ::windows_core::Result<()> where @@ -25170,7 +25170,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msIsSiteModeFirstRun)(::windows_core::Interface::as_raw(self), fpreservestate.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msAddTrackingProtectionList(&self, url: P0, bstrfiltername: P1) -> ::windows_core::Result<()> where @@ -25181,18 +25181,18 @@ impl IShellUIHelper9 { } pub unsafe fn msTrackingProtectionEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msTrackingProtectionEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msActiveXFilteringEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.msActiveXFilteringEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn msProvisionNetworks(&self, bstrprovisioningxml: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msProvisionNetworks)(::windows_core::Interface::as_raw(self), bstrprovisioningxml.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msReportSafeUrl(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.base__.base__.msReportSafeUrl)(::windows_core::Interface::as_raw(self)).ok() @@ -25245,7 +25245,7 @@ impl IShellUIHelper9 { } pub unsafe fn msPinnedSiteState(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.msPinnedSiteState)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn msEnableTileNotificationQueueForSquare150x150(&self, fchange: P0) -> ::windows_core::Result<()> where @@ -25307,7 +25307,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetExperimentalFlag)(::windows_core::Interface::as_raw(self), bstrflagstring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetExperimentalValue(&self, bstrvaluestring: P0, dwvalue: u32) -> ::windows_core::Result<()> where @@ -25320,7 +25320,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetExperimentalValue)(::windows_core::Interface::as_raw(self), bstrvaluestring.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ResetAllExperimentalFlagsAndValues(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.ResetAllExperimentalFlagsAndValues)(::windows_core::Interface::as_raw(self)).ok() @@ -25330,7 +25330,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetNeedIEAutoLaunchFlag(&self, bstrurl: P0, flag: P1) -> ::windows_core::Result<()> where @@ -25344,7 +25344,7 @@ impl IShellUIHelper9 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.HasNeedIEAutoLaunchFlag)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn LaunchIE(&self, bstrurl: P0, automated: P1) -> ::windows_core::Result<()> where @@ -25355,19 +25355,19 @@ impl IShellUIHelper9 { } pub unsafe fn GetCVListData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCVListData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCVListData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCVListLocalData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCVListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCVListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEMIEListData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEMIEListData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEMIEListData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEMIEListLocalData(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEMIEListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEMIEListLocalData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OpenFavoritesPane(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OpenFavoritesPane)(::windows_core::Interface::as_raw(self)).ok() @@ -25383,7 +25383,7 @@ impl IShellUIHelper9 { } pub unsafe fn GetOSSku(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOSSku)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOSSku)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -25402,7 +25402,7 @@ impl IShellView { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -25434,14 +25434,14 @@ impl IShellView { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn DestroyViewWindow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).DestroyViewWindow)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetCurrentInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn AddPropertySheetPages(&self, dwreserved: u32, pfn: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: P0) -> ::windows_core::Result<()> @@ -25462,7 +25462,7 @@ impl IShellView { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Ole")] @@ -25503,7 +25503,7 @@ impl IShellView2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -25535,14 +25535,14 @@ impl IShellView2 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn DestroyViewWindow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.DestroyViewWindow)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetCurrentInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn AddPropertySheetPages(&self, dwreserved: u32, pfn: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: P0) -> ::windows_core::Result<()> @@ -25563,7 +25563,7 @@ impl IShellView2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetView(&self, pvid: *mut ::windows_core::GUID, uview: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetView)(::windows_core::Interface::as_raw(self), pvid, uview).ok() @@ -25609,7 +25609,7 @@ impl IShellView3 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.base__.GetWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ContextSensitiveHelp(&self, fentermode: P0) -> ::windows_core::Result<()> @@ -25641,14 +25641,14 @@ impl IShellView3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.CreateViewWindow)(::windows_core::Interface::as_raw(self), psvprevious.into_param().abi(), pfs, psb.into_param().abi(), prcview, &mut result__).map(|| result__) } pub unsafe fn DestroyViewWindow(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.DestroyViewWindow)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn GetCurrentInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetCurrentInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn AddPropertySheetPages(&self, dwreserved: u32, pfn: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: P0) -> ::windows_core::Result<()> @@ -25669,7 +25669,7 @@ impl IShellView3 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.base__.GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetItemObject)(::windows_core::Interface::as_raw(self), uitem.0 as _, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetView(&self, pvid: *mut ::windows_core::GUID, uview: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetView)(::windows_core::Interface::as_raw(self), pvid, uview).ok() @@ -25693,7 +25693,7 @@ impl IShellView3 { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateViewWindow3)(::windows_core::Interface::as_raw(self), psbowner.into_param().abi(), psvprev.into_param().abi(), dwviewflags, dwmask, dwflags, fvmode, pvid, prcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateViewWindow3)(::windows_core::Interface::as_raw(self), psbowner.into_param().abi(), psvprev.into_param().abi(), dwviewflags, dwmask, dwflags, fvmode, pvid, prcview, &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Ole")] @@ -25714,7 +25714,7 @@ pub struct IShellView3_Vtbl { impl IShellWindows { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: P0) -> ::windows_core::Result @@ -25722,11 +25722,11 @@ impl IShellWindows { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Register(&self, pid: P0, hwnd: i32, swclass: ShellWindowTypeConstants) -> ::windows_core::Result @@ -25734,11 +25734,11 @@ impl IShellWindows { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), pid.into_param().abi(), hwnd, swclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), pid.into_param().abi(), hwnd, swclass, &mut result__).map(|| result__) } pub unsafe fn RegisterPending(&self, lthreadid: i32, pvarloc: *const ::windows_core::VARIANT, pvarlocroot: *const ::windows_core::VARIANT, swclass: ShellWindowTypeConstants) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterPending)(::windows_core::Interface::as_raw(self), lthreadid, ::core::mem::transmute(pvarloc), ::core::mem::transmute(pvarlocroot), swclass, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterPending)(::windows_core::Interface::as_raw(self), lthreadid, ::core::mem::transmute(pvarloc), ::core::mem::transmute(pvarlocroot), swclass, &mut result__).map(|| result__) } pub unsafe fn Revoke(&self, lcookie: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Revoke)(::windows_core::Interface::as_raw(self), lcookie).ok() @@ -25755,7 +25755,7 @@ impl IShellWindows { #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindWindowSW(&self, pvarloc: *const ::windows_core::VARIANT, pvarlocroot: *const ::windows_core::VARIANT, swclass: ShellWindowTypeConstants, phwnd: *mut i32, swfwoptions: ShellWindowFindWindowOptions) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindWindowSW)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarloc), ::core::mem::transmute(pvarlocroot), swclass, phwnd, swfwoptions, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindWindowSW)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pvarloc), ::core::mem::transmute(pvarlocroot), swclass, phwnd, swfwoptions, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnCreated(&self, lcookie: i32, punk: P0) -> ::windows_core::Result<()> where @@ -25801,7 +25801,7 @@ pub struct IShellWindows_Vtbl { impl ISortColumnArray { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetAt(&self, index: u32, sortcolumn: *mut SORTCOLUMN) -> ::windows_core::Result<()> { @@ -25809,7 +25809,7 @@ impl ISortColumnArray { } pub unsafe fn GetSortType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSortType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSortType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -25869,7 +25869,7 @@ impl IStorageProviderBanners { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBanner)(::windows_core::Interface::as_raw(self), provideridentity.into_param().abi(), subscriptionid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBanner)(::windows_core::Interface::as_raw(self), provideridentity.into_param().abi(), subscriptionid.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -25891,7 +25891,7 @@ impl IStorageProviderCopyHook { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CopyCallback)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), operation, flags, srcfile.into_param().abi(), srcattribs, destfile.into_param().abi(), destattribs, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CopyCallback)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), operation, flags, srcfile.into_param().abi(), srcattribs, destfile.into_param().abi(), destattribs, &mut result__).map(|| result__) } } #[repr(C)] @@ -25908,21 +25908,21 @@ impl IStorageProviderHandler { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyHandlerFromPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyHandlerFromPath)(::windows_core::Interface::as_raw(self), path.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyHandlerFromUri(&self, uri: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyHandlerFromUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyHandlerFromUri)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyHandlerFromFileId(&self, fileid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyHandlerFromFileId)(::windows_core::Interface::as_raw(self), fileid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyHandlerFromFileId)(::windows_core::Interface::as_raw(self), fileid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -25939,7 +25939,7 @@ impl IStorageProviderPropertyHandler { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn RetrieveProperties(&self, propertiestoretrieve: &[PropertiesSystem::PROPERTYKEY]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RetrieveProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propertiestoretrieve.as_ptr()), propertiestoretrieve.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RetrieveProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(propertiestoretrieve.as_ptr()), propertiestoretrieve.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn SaveProperties(&self, propertiestosave: P0) -> ::windows_core::Result<()> @@ -26014,7 +26014,7 @@ impl IStreamAsync { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_IO")] pub unsafe fn ReadAsync(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>, lpoverlapped: *const super::super::System::IO::OVERLAPPED) -> ::windows_core::Result<()> { @@ -26059,7 +26059,7 @@ pub struct IStreamAsync_Vtbl { impl IStreamUnbufferedInfo { pub unsafe fn GetSectorSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSectorSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSectorSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -26104,16 +26104,16 @@ impl ISyncMgrConflict { #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")] pub unsafe fn GetProperty(&self, propkey: *const PropertiesSystem::PROPERTYKEY) -> ::windows_core::Result<::windows_core::PROPVARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propkey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), propkey, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetConflictIdInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConflictIdInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConflictIdInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemsArray(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemsArray)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemsArray)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Resolve(&self, presolveinfo: P0) -> ::windows_core::Result<()> where @@ -26126,7 +26126,7 @@ impl ISyncMgrConflict { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetResolutionHandler)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetResolutionHandler)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26154,7 +26154,7 @@ impl ISyncMgrConflictFolder { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConflictIDList)(::windows_core::Interface::as_raw(self), pconflict.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConflictIDList)(::windows_core::Interface::as_raw(self), pconflict.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -26171,7 +26171,7 @@ pub struct ISyncMgrConflictFolder_Vtbl { impl ISyncMgrConflictItems { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self, iindex: u32, piteminfo: *mut CONFIRM_CONFLICT_ITEM) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), iindex, piteminfo).ok() @@ -26206,11 +26206,11 @@ pub struct ISyncMgrConflictPresenter_Vtbl { impl ISyncMgrConflictResolutionItems { pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self, iindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), iindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -26228,18 +26228,18 @@ impl ISyncMgrConflictResolveInfo { } pub unsafe fn GetPresenterNextStep(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPresenterNextStep)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPresenterNextStep)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPresenterChoice(&self, pnpresenterchoice: *mut SYNCMGR_PRESENTER_CHOICE, pfapplytoall: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPresenterChoice)(::windows_core::Interface::as_raw(self), pnpresenterchoice, pfapplytoall).ok() } pub unsafe fn GetItemChoiceCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemChoiceCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemChoiceCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemChoice(&self, ichoice: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemChoice)(::windows_core::Interface::as_raw(self), ichoice, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemChoice)(::windows_core::Interface::as_raw(self), ichoice, &mut result__).map(|| result__) } pub unsafe fn SetPresenterNextStep(&self, npresenternextstep: SYNCMGR_PRESENTER_NEXT_STEP) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPresenterNextStep)(::windows_core::Interface::as_raw(self), npresenternextstep).ok() @@ -26276,7 +26276,7 @@ impl ISyncMgrConflictStore { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumConflicts)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), pszitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumConflicts)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), pszitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn BindToConflict(&self, pconflictidinfo: *const SYNCMGR_CONFLICT_ID_INFO) -> ::windows_core::Result @@ -26284,7 +26284,7 @@ impl ISyncMgrConflictStore { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToConflict)(::windows_core::Interface::as_raw(self), pconflictidinfo, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToConflict)(::windows_core::Interface::as_raw(self), pconflictidinfo, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RemoveConflicts(&self, rgconflictidinfo: &[SYNCMGR_CONFLICT_ID_INFO]) -> ::windows_core::Result<()> { @@ -26296,7 +26296,7 @@ impl ISyncMgrConflictStore { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), pszitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), pszitemid.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -26455,7 +26455,7 @@ impl ISyncMgrEnumItems { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26475,47 +26475,47 @@ pub struct ISyncMgrEnumItems_Vtbl { impl ISyncMgrEvent { pub unsafe fn GetEventID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHandlerID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandlerID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandlerID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLevel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLevel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLinkText(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkText)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLinkReference(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLinkReference)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLinkReference)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContext(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -26561,15 +26561,15 @@ pub struct ISyncMgrEventLinkUIOperation_Vtbl { impl ISyncMgrEventStore { pub unsafe fn GetEventEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEventCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetEvent(&self, rguideventid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), rguideventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEvent)(::windows_core::Interface::as_raw(self), rguideventid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveEvent(&self, pguideventids: &[::windows_core::GUID]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveEvent)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pguideventids.as_ptr()), pguideventids.len().try_into().unwrap()).ok() @@ -26589,26 +26589,26 @@ pub struct ISyncMgrEventStore_Vtbl { impl ISyncMgrHandler { pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHandlerInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObject(&self, rguidobjectid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), rguidobjectid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), rguidobjectid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPolicies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicies)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Activate(&self, factivate: P0) -> ::windows_core::Result<()> where @@ -26650,7 +26650,7 @@ impl ISyncMgrHandlerCollection { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetHandlerEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandlerEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandlerEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BindToHandler(&self, pszhandlerid: P0) -> ::windows_core::Result where @@ -26658,7 +26658,7 @@ impl ISyncMgrHandlerCollection { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToHandler)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26676,19 +26676,19 @@ pub struct ISyncMgrHandlerCollection_Vtbl { impl ISyncMgrHandlerInfo { pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTypeLabel(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeLabel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastSyncTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastSyncTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastSyncTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsActive(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsActive)(::windows_core::Interface::as_raw(self)).ok() @@ -26741,29 +26741,29 @@ pub struct ISyncMgrRegister_Vtbl { impl ISyncMgrResolutionHandler { pub unsafe fn QueryAbilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryAbilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryAbilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KeepOther(&self, psiother: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeepOther)(::windows_core::Interface::as_raw(self), psiother.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeepOther)(::windows_core::Interface::as_raw(self), psiother.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn KeepRecent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeepRecent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeepRecent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveFromSyncSet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RemoveFromSyncSet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RemoveFromSyncSet)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn KeepItems(&self, parray: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeepItems)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeepItems)(::windows_core::Interface::as_raw(self), parray.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -26806,7 +26806,7 @@ impl ISyncMgrSessionCreator { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), ::core::mem::transmute(ppszitemids.as_ptr()), ppszitemids.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSession)(::windows_core::Interface::as_raw(self), pszhandlerid.into_param().abi(), ::core::mem::transmute(ppszitemids.as_ptr()), ppszitemids.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -26841,7 +26841,7 @@ impl ISyncMgrSyncCallback { P5: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReportEvent)(::windows_core::Interface::as_raw(self), pszitemid.into_param().abi(), nlevel, nflags, pszname.into_param().abi(), pszdescription.into_param().abi(), pszlinktext.into_param().abi(), pszlinkreference.into_param().abi(), pszcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReportEvent)(::windows_core::Interface::as_raw(self), pszitemid.into_param().abi(), nlevel, nflags, pszname.into_param().abi(), pszdescription.into_param().abi(), pszlinktext.into_param().abi(), pszlinkreference.into_param().abi(), pszcontext.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CanContinue(&self, pszitemid: P0) -> ::windows_core::Result<()> where @@ -26904,30 +26904,30 @@ pub struct ISyncMgrSyncCallback_Vtbl { impl ISyncMgrSyncItem { pub unsafe fn GetItemID(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItemInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetObject(&self, rguidobjectid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), rguidobjectid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), rguidobjectid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPolicies(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPolicies)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPolicies)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Enable(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -26960,15 +26960,15 @@ impl ISyncMgrSyncItemContainer { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncItem)(::windows_core::Interface::as_raw(self), pszitemid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncItem)(::windows_core::Interface::as_raw(self), pszitemid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSyncItemEnumerator(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncItemEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncItemEnumerator)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSyncItemCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSyncItemCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSyncItemCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -26984,15 +26984,15 @@ pub struct ISyncMgrSyncItemContainer_Vtbl { impl ISyncMgrSyncItemInfo { pub unsafe fn GetTypeLabel(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTypeLabel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTypeLabel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetComment(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComment)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetLastSyncTime(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastSyncTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastSyncTime)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEnabled(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self)).ok() @@ -27033,18 +27033,18 @@ impl ISyncMgrSynchronize { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetHandlerInfo(&self) -> ::windows_core::Result<*mut SYNCMGRHANDLERINFO> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHandlerInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumSyncMgrItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSyncMgrItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSyncMgrItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItemObject(&self, itemid: *const ::windows_core::GUID) -> ::windows_core::Result where T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetItemObject)(::windows_core::Interface::as_raw(self), itemid, &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemObject)(::windows_core::Interface::as_raw(self), itemid, &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShowProperties(&self, hwndparent: P0, itemid: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -27598,7 +27598,7 @@ impl IThumbnailCapture { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CaptureThumbnail)(::windows_core::Interface::as_raw(self), pmaxsize, phtmldoc2.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CaptureThumbnail)(::windows_core::Interface::as_raw(self), pmaxsize, phtmldoc2.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -27620,7 +27620,7 @@ impl IThumbnailHandlerFactory { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).GetThumbnailHandler)(::windows_core::Interface::as_raw(self), pidlchild, pbc.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThumbnailHandler)(::windows_core::Interface::as_raw(self), pidlchild, pbc.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -27854,7 +27854,7 @@ impl ITransferDestination { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -27880,11 +27880,11 @@ impl ITransferMediumItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -27900,7 +27900,7 @@ impl ITransferSource { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), psink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -27925,7 +27925,7 @@ impl ITransferSource { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MoveItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), psiparentdst.into_param().abi(), psznamedst.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MoveItem)(::windows_core::Interface::as_raw(self), psi.into_param().abi(), psiparentdst.into_param().abi(), psznamedst.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RecycleItem(&self, psisource: P0, psiparentdest: P1, flags: u32) -> ::windows_core::Result where @@ -27933,7 +27933,7 @@ impl ITransferSource { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecycleItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecycleItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RemoveItem(&self, psisource: P0, flags: u32) -> ::windows_core::Result<()> where @@ -27947,7 +27947,7 @@ impl ITransferSource { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RenameItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psznewname.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RenameItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psznewname.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LinkItem(&self, psisource: P0, psiparentdest: P1, psznewname: P2, flags: u32) -> ::windows_core::Result where @@ -27956,14 +27956,14 @@ impl ITransferSource { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LinkItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), psznewname.into_param().abi(), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LinkItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), psznewname.into_param().abi(), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ApplyPropertiesToItem(&self, psisource: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ApplyPropertiesToItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ApplyPropertiesToItem)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultDestinationName(&self, psisource: P0, psiparentdest: P1) -> ::windows_core::Result<::windows_core::PWSTR> where @@ -27971,7 +27971,7 @@ impl ITransferSource { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultDestinationName)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultDestinationName)(::windows_core::Interface::as_raw(self), psisource.into_param().abi(), psiparentdest.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn EnterFolder(&self, psichildfolderdest: P0) -> ::windows_core::Result<()> where @@ -28026,7 +28026,7 @@ impl ITravelEntry { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetPidl(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPidl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -28082,7 +28082,7 @@ impl ITravelLog { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindTravelEntry)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), pidl, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindTravelEntry)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), pidl, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetToolTipText(&self, punk: P0, ioffset: i32, idstemplate: i32, pwztext: &mut [u16]) -> ::windows_core::Result<()> where @@ -28100,7 +28100,7 @@ impl ITravelLog { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CountEntries(&self, punk: P0) -> u32 where @@ -28139,7 +28139,7 @@ pub struct ITravelLog_Vtbl { impl ITravelLogClient { pub unsafe fn FindWindowByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindWindowByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindWindowByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))] pub unsafe fn GetWindowData(&self, pstream: P0, pwindata: *mut WINDOWDATA) -> ::windows_core::Result<()> @@ -28171,11 +28171,11 @@ pub struct ITravelLogClient_Vtbl { impl ITravelLogEntry { pub unsafe fn GetTitle(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTitle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -28196,7 +28196,7 @@ impl ITravelLogStg { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), psztitle.into_param().abi(), ptlerelativeto.into_param().abi(), fprepend.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEntry)(::windows_core::Interface::as_raw(self), pszurl.into_param().abi(), psztitle.into_param().abi(), ptlerelativeto.into_param().abi(), fprepend.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TravelTo(&self, ptle: P0) -> ::windows_core::Result<()> where @@ -28206,18 +28206,18 @@ impl ITravelLogStg { } pub unsafe fn EnumEntries(&self, flags: TLENUMF) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumEntries)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumEntries)(::windows_core::Interface::as_raw(self), flags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindEntries(&self, flags: TLENUMF, pszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindEntries)(::windows_core::Interface::as_raw(self), flags, pszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindEntries)(::windows_core::Interface::as_raw(self), flags, pszurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self, flags: TLENUMF) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), flags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), flags, &mut result__).map(|| result__) } pub unsafe fn RemoveEntry(&self, ptle: P0) -> ::windows_core::Result<()> where @@ -28227,7 +28227,7 @@ impl ITravelLogStg { } pub unsafe fn GetRelativeEntry(&self, ioffset: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRelativeEntry)(::windows_core::Interface::as_raw(self), ioffset, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRelativeEntry)(::windows_core::Interface::as_raw(self), ioffset, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -28310,7 +28310,7 @@ impl IUniformResourceLocatorA { } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::PSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InvokeCommand(&self, purlici: *mut URLINVOKECOMMANDINFOA) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InvokeCommand)(::windows_core::Interface::as_raw(self), purlici).ok() @@ -28335,7 +28335,7 @@ impl IUniformResourceLocatorW { } pub unsafe fn GetURL(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetURL)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn InvokeCommand(&self, purlici: *mut URLINVOKECOMMANDINFOW) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InvokeCommand)(::windows_core::Interface::as_raw(self), purlici).ok() @@ -28358,7 +28358,7 @@ impl IUpdateIDList { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Update)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pidlin, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Update)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pidlin, &mut result__).map(|| result__) } } #[repr(C)] @@ -28376,11 +28376,11 @@ impl IUseToBrowseItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -28526,11 +28526,11 @@ impl IViewStateIdentityItem { #[cfg(feature = "Win32_UI_Shell_Common")] pub unsafe fn GetItemIDList(&self) -> ::windows_core::Result<*mut Common::ITEMIDLIST> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItemIDList)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItem(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetItem)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -28546,14 +28546,14 @@ impl IVirtualDesktopManager { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsWindowOnCurrentVirtualDesktop)(::windows_core::Interface::as_raw(self), toplevelwindow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsWindowOnCurrentVirtualDesktop)(::windows_core::Interface::as_raw(self), toplevelwindow.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetWindowDesktopId(&self, toplevelwindow: P0) -> ::windows_core::Result<::windows_core::GUID> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWindowDesktopId)(::windows_core::Interface::as_raw(self), toplevelwindow.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWindowDesktopId)(::windows_core::Interface::as_raw(self), toplevelwindow.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn MoveWindowToDesktop(&self, toplevelwindow: P0, desktopid: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -28588,14 +28588,14 @@ impl IVisualProperties { } pub unsafe fn GetColor(&self, vpcf: VPCOLORFLAGS) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), vpcf, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetColor)(::windows_core::Interface::as_raw(self), vpcf, &mut result__).map(|| result__) } pub unsafe fn SetItemHeight(&self, cyiteminpixels: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetItemHeight)(::windows_core::Interface::as_raw(self), cyiteminpixels).ok() } pub unsafe fn GetItemHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn SetFont(&self, plf: *const super::super::Graphics::Gdi::LOGFONTW, bredraw: P0) -> ::windows_core::Result<()> @@ -28674,70 +28674,70 @@ impl IWebBrowser { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Document(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Document)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TopLevelContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, left: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, top: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), width).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHeight)(::windows_core::Interface::as_raw(self), height).ok() } pub unsafe fn LocationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LocationURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Busy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Busy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Busy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -28819,70 +28819,70 @@ impl IWebBrowser2 { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Document(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Document)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Document)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TopLevelContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, left: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, top: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetWidth)(::windows_core::Interface::as_raw(self), width).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.base__.SetHeight)(::windows_core::Interface::as_raw(self), height).ok() } pub unsafe fn LocationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LocationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LocationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LocationURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Busy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.Busy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.Busy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Quit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Quit)(::windows_core::Interface::as_raw(self)).ok() @@ -28902,27 +28902,27 @@ impl IWebBrowser2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), property.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetProperty)(::windows_core::Interface::as_raw(self), property.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HWND(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.HWND)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.HWND)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FullName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FullName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FullName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, value: P0) -> ::windows_core::Result<()> where @@ -28932,7 +28932,7 @@ impl IWebBrowser2 { } pub unsafe fn StatusBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStatusBar(&self, value: P0) -> ::windows_core::Result<()> where @@ -28942,7 +28942,7 @@ impl IWebBrowser2 { } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStatusText(&self, statustext: P0) -> ::windows_core::Result<()> where @@ -28952,14 +28952,14 @@ impl IWebBrowser2 { } pub unsafe fn ToolBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ToolBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ToolBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetToolBar(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetToolBar)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn MenuBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.MenuBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.MenuBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMenuBar(&self, value: P0) -> ::windows_core::Result<()> where @@ -28969,7 +28969,7 @@ impl IWebBrowser2 { } pub unsafe fn FullScreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FullScreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FullScreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFullScreen(&self, bfullscreen: P0) -> ::windows_core::Result<()> where @@ -28983,7 +28983,7 @@ impl IWebBrowser2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn QueryStatusWB(&self, cmdid: super::super::System::Ole::OLECMDID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryStatusWB)(::windows_core::Interface::as_raw(self), cmdid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryStatusWB)(::windows_core::Interface::as_raw(self), cmdid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ExecWB(&self, cmdid: super::super::System::Ole::OLECMDID, cmdexecopt: super::super::System::Ole::OLECMDEXECOPT, pvain: ::core::option::Option<*const ::windows_core::VARIANT>, pvaout: ::core::option::Option<*mut ::windows_core::VARIANT>) -> ::windows_core::Result<()> { @@ -28995,11 +28995,11 @@ impl IWebBrowser2 { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn ReadyState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ReadyState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ReadyState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Offline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Offline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetOffline(&self, boffline: P0) -> ::windows_core::Result<()> where @@ -29009,7 +29009,7 @@ impl IWebBrowser2 { } pub unsafe fn Silent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Silent)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSilent(&self, bsilent: P0) -> ::windows_core::Result<()> where @@ -29019,7 +29019,7 @@ impl IWebBrowser2 { } pub unsafe fn RegisterAsBrowser(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterAsBrowser)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterAsBrowser)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRegisterAsBrowser(&self, bregister: P0) -> ::windows_core::Result<()> where @@ -29029,7 +29029,7 @@ impl IWebBrowser2 { } pub unsafe fn RegisterAsDropTarget(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterAsDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterAsDropTarget)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRegisterAsDropTarget(&self, bregister: P0) -> ::windows_core::Result<()> where @@ -29039,7 +29039,7 @@ impl IWebBrowser2 { } pub unsafe fn TheaterMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TheaterMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TheaterMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTheaterMode(&self, bregister: P0) -> ::windows_core::Result<()> where @@ -29049,7 +29049,7 @@ impl IWebBrowser2 { } pub unsafe fn AddressBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddressBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddressBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAddressBar(&self, value: P0) -> ::windows_core::Result<()> where @@ -29059,7 +29059,7 @@ impl IWebBrowser2 { } pub unsafe fn Resizable(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Resizable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Resizable)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetResizable(&self, value: P0) -> ::windows_core::Result<()> where @@ -29138,70 +29138,70 @@ impl IWebBrowserApp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Application(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Application)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Container(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Container)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Document(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Document)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Document)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TopLevelContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TopLevelContainer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Type(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Type)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, left: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetLeft)(::windows_core::Interface::as_raw(self), left).ok() } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, top: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetTop)(::windows_core::Interface::as_raw(self), top).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, width: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetWidth)(::windows_core::Interface::as_raw(self), width).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetHeight)(::windows_core::Interface::as_raw(self), height).ok() } pub unsafe fn LocationName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocationName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocationName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LocationURL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.LocationURL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Busy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Busy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Busy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Quit(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Quit)(::windows_core::Interface::as_raw(self)).ok() @@ -29221,27 +29221,27 @@ impl IWebBrowserApp { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), property.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), property.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HWND(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FullName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Path(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Path)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, value: P0) -> ::windows_core::Result<()> where @@ -29251,7 +29251,7 @@ impl IWebBrowserApp { } pub unsafe fn StatusBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetStatusBar(&self, value: P0) -> ::windows_core::Result<()> where @@ -29261,7 +29261,7 @@ impl IWebBrowserApp { } pub unsafe fn StatusText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StatusText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetStatusText(&self, statustext: P0) -> ::windows_core::Result<()> where @@ -29271,14 +29271,14 @@ impl IWebBrowserApp { } pub unsafe fn ToolBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ToolBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ToolBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetToolBar(&self, value: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetToolBar)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn MenuBar(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MenuBar)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MenuBar)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMenuBar(&self, value: P0) -> ::windows_core::Result<()> where @@ -29288,7 +29288,7 @@ impl IWebBrowserApp { } pub unsafe fn FullScreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FullScreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FullScreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFullScreen(&self, bfullscreen: P0) -> ::windows_core::Result<()> where @@ -29333,12 +29333,12 @@ impl IWebWizardExtension { #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetFirstPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetLastPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInitialURL(&self, pszurl: P0) -> ::windows_core::Result<()> where @@ -29383,7 +29383,7 @@ impl IWebWizardHost { } pub unsafe fn Caption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Caption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Caption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Property(&self, bstrpropertyname: P0, pvproperty: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -29396,7 +29396,7 @@ impl IWebWizardHost { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWizardButtons(&self, vfenableback: P0, vfenablenext: P1, vflastpage: P2) -> ::windows_core::Result<()> where @@ -29452,7 +29452,7 @@ impl IWebWizardHost2 { } pub unsafe fn Caption(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Caption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Caption)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn put_Property(&self, bstrpropertyname: P0, pvproperty: *const ::windows_core::VARIANT) -> ::windows_core::Result<()> where @@ -29465,7 +29465,7 @@ impl IWebWizardHost2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.get_Property)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetWizardButtons(&self, vfenableback: P0, vfenablenext: P1, vflastpage: P2) -> ::windows_core::Result<()> where @@ -29487,7 +29487,7 @@ impl IWebWizardHost2 { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SignString)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SignString)(::windows_core::Interface::as_raw(self), value.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -29507,12 +29507,12 @@ impl IWizardExtension { #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetFirstPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFirstPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetLastPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLastPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -29538,17 +29538,17 @@ impl IWizardSite { #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetPreviousPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviousPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviousPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetNextPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNextPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNextPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_UI_Controls")] pub unsafe fn GetCancelledPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCancelledPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCancelledPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/TabletPC/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/TabletPC/mod.rs index 7f60f8e295..0bb69d8e59 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/TabletPC/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/TabletPC/mod.rs @@ -217,7 +217,7 @@ where impl IDynamicRenderer { pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, benabled: P0) -> ::windows_core::Result<()> where @@ -227,7 +227,7 @@ impl IDynamicRenderer { } pub unsafe fn HWND(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHWND(&self, hwnd: P0) -> ::windows_core::Result<()> where @@ -237,14 +237,14 @@ impl IDynamicRenderer { } pub unsafe fn ClipRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClipRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClipRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipRectangle(&self, prccliprect: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetClipRectangle)(::windows_core::Interface::as_raw(self), prccliprect).ok() } pub unsafe fn ClipRegion(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClipRegion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClipRegion)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetClipRegion(&self, hcliprgn: P0) -> ::windows_core::Result<()> where @@ -255,7 +255,7 @@ impl IDynamicRenderer { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DrawingAttributes(&self, pida: P0) -> ::windows_core::Result<()> @@ -266,7 +266,7 @@ impl IDynamicRenderer { } pub unsafe fn DataCacheEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataCacheEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataCacheEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDataCacheEnabled(&self, fcachedata: P0) -> ::windows_core::Result<()> where @@ -318,7 +318,7 @@ pub struct IDynamicRenderer_Vtbl { impl IGestureRecognizer { pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, fenabled: P0) -> ::windows_core::Result<()> where @@ -328,7 +328,7 @@ impl IGestureRecognizer { } pub unsafe fn MaxStrokeCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxStrokeCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxStrokeCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxStrokeCount(&self, cstrokes: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxStrokeCount)(::windows_core::Interface::as_raw(self), cstrokes).ok() @@ -403,14 +403,14 @@ pub struct IInk_Vtbl { impl IInkCollector { pub unsafe fn hWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SethWnd(&self, newwindow: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SethWnd)(::windows_core::Interface::as_raw(self), newwindow).ok() } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, collecting: P0) -> ::windows_core::Result<()> where @@ -421,7 +421,7 @@ impl IInkCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultDrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DefaultDrawingAttributes(&self, newattributes: P0) -> ::windows_core::Result<()> @@ -433,7 +433,7 @@ impl IInkCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Renderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Renderer(&self, newinkrenderer: P0) -> ::windows_core::Result<()> @@ -445,7 +445,7 @@ impl IInkCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Ink(&self, newink: P0) -> ::windows_core::Result<()> @@ -456,7 +456,7 @@ impl IInkCollector { } pub unsafe fn AutoRedraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoRedraw(&self, autoredraw: P0) -> ::windows_core::Result<()> where @@ -466,18 +466,18 @@ impl IInkCollector { } pub unsafe fn CollectingInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CollectionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCollectionMode(&self, mode: InkCollectionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCollectionMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn DynamicRendering(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDynamicRendering(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -487,7 +487,7 @@ impl IInkCollector { } pub unsafe fn DesiredPacketDescription(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDesiredPacketDescription(&self, packetguids: P0) -> ::windows_core::Result<()> where @@ -498,7 +498,7 @@ impl IInkCollector { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MouseIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMouseIcon(&self, mouseicon: P0) -> ::windows_core::Result<()> @@ -516,7 +516,7 @@ impl IInkCollector { } pub unsafe fn MousePointer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMousePointer(&self, mousepointer: InkMousePointer) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMousePointer)(::windows_core::Interface::as_raw(self), mousepointer).ok() @@ -524,18 +524,18 @@ impl IInkCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cursors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarginX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginX(&self, marginx: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginX)(::windows_core::Interface::as_raw(self), marginx).ok() } pub unsafe fn MarginY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginY(&self, marginy: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginY)(::windows_core::Interface::as_raw(self), marginy).ok() @@ -543,11 +543,11 @@ impl IInkCollector { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportHighContrastInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportHighContrastInk(&self, support: P0) -> ::windows_core::Result<()> where @@ -563,7 +563,7 @@ impl IInkCollector { } pub unsafe fn GetGestureStatus(&self, gesture: InkApplicationGesture) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWindowInputRectangle(&self, windowinputrectangle: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -591,7 +591,7 @@ impl IInkCollector { } pub unsafe fn GetEventInterest(&self, eventid: InkCollectorEventInterest) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).map(|| result__) } pub unsafe fn SetEventInterest(&self, eventid: InkCollectorEventInterest, listen: P0) -> ::windows_core::Result<()> where @@ -696,20 +696,20 @@ pub struct IInkCollector_Vtbl { impl IInkCursor { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Inverted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Inverted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Inverted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DrawingAttributes(&self, attributes: P0) -> ::windows_core::Result<()> @@ -721,12 +721,12 @@ impl IInkCursor { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Buttons(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Buttons)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Buttons)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -762,15 +762,15 @@ pub struct IInkCursor_Vtbl { impl IInkCursorButton { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn State(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).State)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -790,11 +790,11 @@ pub struct IInkCursorButton_Vtbl { impl IInkCursorButtons { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, identifier: P0) -> ::windows_core::Result @@ -802,7 +802,7 @@ impl IInkCursorButtons { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -825,16 +825,16 @@ pub struct IInkCursorButtons_Vtbl { impl IInkCursors { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -857,11 +857,11 @@ pub struct IInkCursors_Vtbl { impl IInkCustomStrokes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, identifier: P0) -> ::windows_core::Result @@ -869,7 +869,7 @@ impl IInkCustomStrokes { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, name: P0, strokes: P1) -> ::windows_core::Result<()> @@ -916,16 +916,16 @@ impl IInkDisp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExtendedProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Dirty(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Dirty)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Dirty)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDirty(&self, dirty: P0) -> ::windows_core::Result<()> where @@ -936,12 +936,12 @@ impl IInkDisp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn CustomStrokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CustomStrokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CustomStrokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingBox(&self, boundingboxmode: InkBoundingBoxMode) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DeleteStrokes(&self, strokes: P0) -> ::windows_core::Result<()> @@ -963,7 +963,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtractStrokes)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), extractflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtractStrokes)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), extractflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExtractWithRectangle(&self, rectangle: P0, extractflags: InkExtractFlags) -> ::windows_core::Result @@ -971,7 +971,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtractWithRectangle)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), extractflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtractWithRectangle)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), extractflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clip(&self, rectangle: P0) -> ::windows_core::Result<()> @@ -983,12 +983,12 @@ impl IInkDisp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn HitTestCircle(&self, x: i32, y: i32, radius: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTestCircle)(::windows_core::Interface::as_raw(self), x, y, radius, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTestCircle)(::windows_core::Interface::as_raw(self), x, y, radius, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn HitTestWithRectangle(&self, selectionrectangle: P0, intersectpercent: f32) -> ::windows_core::Result @@ -996,7 +996,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTestWithRectangle)(::windows_core::Interface::as_raw(self), selectionrectangle.into_param().abi(), intersectpercent, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTestWithRectangle)(::windows_core::Interface::as_raw(self), selectionrectangle.into_param().abi(), intersectpercent, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn HitTestWithLasso(&self, points: P0, intersectpercent: f32, lassopoints: ::core::option::Option<*mut ::windows_core::VARIANT>, strokes: *mut ::core::option::Option) -> ::windows_core::Result<()> @@ -1015,7 +1015,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStrokes)(::windows_core::Interface::as_raw(self), strokeids.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStrokes)(::windows_core::Interface::as_raw(self), strokeids.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AddStrokesAtRectangle(&self, sourcestrokes: P0, targetrectangle: P1) -> ::windows_core::Result<()> @@ -1027,7 +1027,7 @@ impl IInkDisp { } pub unsafe fn Save(&self, persistenceformat: InkPersistenceFormat, compressionmode: InkPersistenceCompressionMode) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), persistenceformat, compressionmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), persistenceformat, compressionmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Load(&self, data: P0) -> ::windows_core::Result<()> where @@ -1042,7 +1042,7 @@ impl IInkDisp { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateStroke)(::windows_core::Interface::as_raw(self), packetdata.into_param().abi(), packetdescription.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateStroke)(::windows_core::Interface::as_raw(self), packetdata.into_param().abi(), packetdescription.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClipboardCopyWithRectangle(&self, rectangle: P0, clipboardformats: InkClipboardFormats, clipboardmodes: InkClipboardModes) -> ::windows_core::Result @@ -1050,7 +1050,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClipboardCopyWithRectangle)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), clipboardformats, clipboardmodes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClipboardCopyWithRectangle)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), clipboardformats, clipboardmodes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClipboardCopy(&self, strokes: P0, clipboardformats: InkClipboardFormats, clipboardmodes: InkClipboardModes) -> ::windows_core::Result @@ -1058,7 +1058,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClipboardCopy)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), clipboardformats, clipboardmodes, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClipboardCopy)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), clipboardformats, clipboardmodes, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CanPaste(&self, dataobject: P0) -> ::windows_core::Result @@ -1066,7 +1066,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPaste)(::windows_core::Interface::as_raw(self), dataobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPaste)(::windows_core::Interface::as_raw(self), dataobject.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ClipboardPaste(&self, x: i32, y: i32, dataobject: P0) -> ::windows_core::Result @@ -1074,7 +1074,7 @@ impl IInkDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ClipboardPaste)(::windows_core::Interface::as_raw(self), x, y, dataobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ClipboardPaste)(::windows_core::Interface::as_raw(self), x, y, dataobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1180,7 +1180,7 @@ impl IInkDivider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Strokes(&self, strokes: P0) -> ::windows_core::Result<()> @@ -1192,7 +1192,7 @@ impl IInkDivider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecognizerContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecognizerContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecognizerContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_RecognizerContext(&self, recognizercontext: P0) -> ::windows_core::Result<()> @@ -1203,7 +1203,7 @@ impl IInkDivider { } pub unsafe fn LineHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLineHeight(&self, lineheight: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLineHeight)(::windows_core::Interface::as_raw(self), lineheight).ok() @@ -1211,7 +1211,7 @@ impl IInkDivider { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Divide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Divide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Divide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1251,12 +1251,12 @@ impl IInkDivisionResult { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ResultByType(&self, divisiontype: InkDivisionType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ResultByType)(::windows_core::Interface::as_raw(self), divisiontype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ResultByType)(::windows_core::Interface::as_raw(self), divisiontype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1282,20 +1282,20 @@ impl IInkDivisionUnit { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn DivisionType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DivisionType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DivisionType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RecognizedString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecognizedString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecognizedString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RotationTransform(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RotationTransform)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RotationTransform)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1322,16 +1322,16 @@ pub struct IInkDivisionUnit_Vtbl { impl IInkDivisionUnits { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1354,28 +1354,28 @@ pub struct IInkDivisionUnits_Vtbl { impl IInkDrawingAttributes { pub unsafe fn Color(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Color)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColor(&self, newcolor: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColor)(::windows_core::Interface::as_raw(self), newcolor).ok() } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWidth(&self, newwidth: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWidth)(::windows_core::Interface::as_raw(self), newwidth).ok() } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHeight(&self, newheight: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHeight)(::windows_core::Interface::as_raw(self), newheight).ok() } pub unsafe fn FitToCurve(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FitToCurve)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FitToCurve)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFitToCurve(&self, flag: P0) -> ::windows_core::Result<()> where @@ -1385,7 +1385,7 @@ impl IInkDrawingAttributes { } pub unsafe fn IgnorePressure(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IgnorePressure)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IgnorePressure)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetIgnorePressure(&self, flag: P0) -> ::windows_core::Result<()> where @@ -1395,7 +1395,7 @@ impl IInkDrawingAttributes { } pub unsafe fn AntiAliased(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AntiAliased)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AntiAliased)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAntiAliased(&self, flag: P0) -> ::windows_core::Result<()> where @@ -1405,21 +1405,21 @@ impl IInkDrawingAttributes { } pub unsafe fn Transparency(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Transparency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Transparency)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTransparency(&self, newtransparency: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTransparency)(::windows_core::Interface::as_raw(self), newtransparency).ok() } pub unsafe fn RasterOperation(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RasterOperation)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RasterOperation)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRasterOperation(&self, newrasteroperation: InkRasterOperation) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRasterOperation)(::windows_core::Interface::as_raw(self), newrasteroperation).ok() } pub unsafe fn PenTip(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PenTip)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PenTip)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPenTip(&self, newpentip: InkPenTip) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPenTip)(::windows_core::Interface::as_raw(self), newpentip).ok() @@ -1427,12 +1427,12 @@ impl IInkDrawingAttributes { #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExtendedProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1475,11 +1475,11 @@ pub struct IInkDrawingAttributes_Vtbl { impl IInkEdit { pub unsafe fn Status(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Status)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn UseMouseForInput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UseMouseForInput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UseMouseForInput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseMouseForInput(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1489,14 +1489,14 @@ impl IInkEdit { } pub unsafe fn InkMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InkMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InkMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInkMode(&self, newval: InkMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInkMode)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn InkInsertMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InkInsertMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InkInsertMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInkInsertMode(&self, newval: InkInsertMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetInkInsertMode)(::windows_core::Interface::as_raw(self), newval).ok() @@ -1504,7 +1504,7 @@ impl IInkEdit { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DrawingAttributes(&self, newval: P0) -> ::windows_core::Result<()> @@ -1515,7 +1515,7 @@ impl IInkEdit { } pub unsafe fn RecognitionTimeout(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecognitionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecognitionTimeout)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRecognitionTimeout(&self, newval: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRecognitionTimeout)(::windows_core::Interface::as_raw(self), newval).ok() @@ -1523,7 +1523,7 @@ impl IInkEdit { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Recognizer(&self, newval: P0) -> ::windows_core::Result<()> @@ -1534,7 +1534,7 @@ impl IInkEdit { } pub unsafe fn Factoid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFactoid(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1544,7 +1544,7 @@ impl IInkEdit { } pub unsafe fn SelInks(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelInks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelInks)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelInks(&self, selink: P0) -> ::windows_core::Result<()> where @@ -1554,7 +1554,7 @@ impl IInkEdit { } pub unsafe fn SelInksDisplayMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelInksDisplayMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelInksDisplayMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelInksDisplayMode(&self, inkdisplaymode: InkDisplayMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelInksDisplayMode)(::windows_core::Interface::as_raw(self), inkdisplaymode).ok() @@ -1564,7 +1564,7 @@ impl IInkEdit { } pub unsafe fn GetGestureStatus(&self, gesture: InkApplicationGesture) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).map(|| result__) } pub unsafe fn SetGestureStatus(&self, gesture: InkApplicationGesture, listen: P0) -> ::windows_core::Result<()> where @@ -1577,18 +1577,18 @@ impl IInkEdit { } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Appearance(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Appearance)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAppearance(&self, pappearance: AppearanceConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAppearance)(::windows_core::Interface::as_raw(self), pappearance).ok() } pub unsafe fn BorderStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BorderStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBorderStyle(&self, pborderstyle: BorderStyleConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBorderStyle)(::windows_core::Interface::as_raw(self), pborderstyle).ok() @@ -1596,12 +1596,12 @@ impl IInkEdit { #[cfg(feature = "Win32_System_Ole")] pub unsafe fn Hwnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Hwnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Font(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Font)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn putref_Font(&self, ppfont: P0) -> ::windows_core::Result<()> @@ -1612,7 +1612,7 @@ impl IInkEdit { } pub unsafe fn Text(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Text)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetText(&self, pbstrtext: P0) -> ::windows_core::Result<()> where @@ -1623,7 +1623,7 @@ impl IInkEdit { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MouseIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMouseIcon(&self, mouseicon: P0) -> ::windows_core::Result<()> @@ -1641,14 +1641,14 @@ impl IInkEdit { } pub unsafe fn MousePointer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMousePointer(&self, mousepointer: InkMousePointer) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMousePointer)(::windows_core::Interface::as_raw(self), mousepointer).ok() } pub unsafe fn Locked(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Locked)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Locked)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLocked(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1658,7 +1658,7 @@ impl IInkEdit { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1668,14 +1668,14 @@ impl IInkEdit { } pub unsafe fn MaxLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaxLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaxLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMaxLength(&self, lmaxlength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMaxLength)(::windows_core::Interface::as_raw(self), lmaxlength).ok() } pub unsafe fn MultiLine(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultiLine)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultiLine)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultiLine(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1685,14 +1685,14 @@ impl IInkEdit { } pub unsafe fn ScrollBars(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ScrollBars)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ScrollBars)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetScrollBars(&self, newval: ScrollBarsConstants) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetScrollBars)(::windows_core::Interface::as_raw(self), newval).ok() } pub unsafe fn DisableNoScroll(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisableNoScroll)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisableNoScroll)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDisableNoScroll(&self, newval: P0) -> ::windows_core::Result<()> where @@ -1702,7 +1702,7 @@ impl IInkEdit { } pub unsafe fn SelAlignment(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelAlignment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelAlignment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelAlignment(&self, pvarselalignment: P0) -> ::windows_core::Result<()> where @@ -1712,7 +1712,7 @@ impl IInkEdit { } pub unsafe fn SelBold(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelBold)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelBold)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelBold(&self, pvarselbold: P0) -> ::windows_core::Result<()> where @@ -1722,7 +1722,7 @@ impl IInkEdit { } pub unsafe fn SelItalic(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelItalic)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelItalic)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelItalic(&self, pvarselitalic: P0) -> ::windows_core::Result<()> where @@ -1732,7 +1732,7 @@ impl IInkEdit { } pub unsafe fn SelUnderline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelUnderline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelUnderline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelUnderline(&self, pvarselunderline: P0) -> ::windows_core::Result<()> where @@ -1742,7 +1742,7 @@ impl IInkEdit { } pub unsafe fn SelColor(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelColor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelColor(&self, pvarselcolor: P0) -> ::windows_core::Result<()> where @@ -1752,7 +1752,7 @@ impl IInkEdit { } pub unsafe fn SelFontName(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelFontName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelFontName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelFontName(&self, pvarselfontname: P0) -> ::windows_core::Result<()> where @@ -1762,7 +1762,7 @@ impl IInkEdit { } pub unsafe fn SelFontSize(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelFontSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelFontSize)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelFontSize(&self, pvarselfontsize: P0) -> ::windows_core::Result<()> where @@ -1772,7 +1772,7 @@ impl IInkEdit { } pub unsafe fn SelCharOffset(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelCharOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelCharOffset)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelCharOffset(&self, pvarselcharoffset: P0) -> ::windows_core::Result<()> where @@ -1782,7 +1782,7 @@ impl IInkEdit { } pub unsafe fn TextRTF(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TextRTF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TextRTF)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetTextRTF(&self, pbstrtextrtf: P0) -> ::windows_core::Result<()> where @@ -1792,21 +1792,21 @@ impl IInkEdit { } pub unsafe fn SelStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelStart)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelStart(&self, plselstart: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelStart)(::windows_core::Interface::as_raw(self), plselstart).ok() } pub unsafe fn SelLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelLength(&self, plsellength: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelLength)(::windows_core::Interface::as_raw(self), plsellength).ok() } pub unsafe fn SelText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelText(&self, pbstrseltext: P0) -> ::windows_core::Result<()> where @@ -1816,7 +1816,7 @@ impl IInkEdit { } pub unsafe fn SelRTF(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelRTF)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelRTF)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSelRTF(&self, pbstrselrtf: P0) -> ::windows_core::Result<()> where @@ -1949,11 +1949,11 @@ pub struct IInkEdit_Vtbl { impl IInkExtendedProperties { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, identifier: P0) -> ::windows_core::Result @@ -1961,7 +1961,7 @@ impl IInkExtendedProperties { P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), identifier.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, guid: P0, data: P1) -> ::windows_core::Result @@ -1970,7 +1970,7 @@ impl IInkExtendedProperties { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), guid.into_param().abi(), data.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Add)(::windows_core::Interface::as_raw(self), guid.into_param().abi(), data.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Remove(&self, identifier: P0) -> ::windows_core::Result<()> where @@ -1986,7 +1986,7 @@ impl IInkExtendedProperties { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoesPropertyExist)(::windows_core::Interface::as_raw(self), guid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoesPropertyExist)(::windows_core::Interface::as_raw(self), guid.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2016,11 +2016,11 @@ pub struct IInkExtendedProperties_Vtbl { impl IInkExtendedProperty { pub unsafe fn Guid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Data(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetData(&self, data: P0) -> ::windows_core::Result<()> where @@ -2046,11 +2046,11 @@ pub struct IInkExtendedProperty_Vtbl { impl IInkGesture { pub unsafe fn Confidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Id(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetHotPoint(&self, x: *mut i32, y: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetHotPoint)(::windows_core::Interface::as_raw(self), x, y).ok() @@ -2112,14 +2112,14 @@ pub struct IInkLineInfo_Vtbl { impl IInkOverlay { pub unsafe fn hWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SethWnd(&self, newwindow: isize) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SethWnd)(::windows_core::Interface::as_raw(self), newwindow).ok() } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, collecting: P0) -> ::windows_core::Result<()> where @@ -2130,7 +2130,7 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultDrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DefaultDrawingAttributes(&self, newattributes: P0) -> ::windows_core::Result<()> @@ -2142,7 +2142,7 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Renderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Renderer(&self, newinkrenderer: P0) -> ::windows_core::Result<()> @@ -2154,7 +2154,7 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Ink(&self, newink: P0) -> ::windows_core::Result<()> @@ -2165,7 +2165,7 @@ impl IInkOverlay { } pub unsafe fn AutoRedraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoRedraw(&self, autoredraw: P0) -> ::windows_core::Result<()> where @@ -2175,18 +2175,18 @@ impl IInkOverlay { } pub unsafe fn CollectingInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CollectionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCollectionMode(&self, mode: InkCollectionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCollectionMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn DynamicRendering(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDynamicRendering(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -2196,7 +2196,7 @@ impl IInkOverlay { } pub unsafe fn DesiredPacketDescription(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDesiredPacketDescription(&self, packetguids: P0) -> ::windows_core::Result<()> where @@ -2207,7 +2207,7 @@ impl IInkOverlay { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MouseIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMouseIcon(&self, mouseicon: P0) -> ::windows_core::Result<()> @@ -2225,14 +2225,14 @@ impl IInkOverlay { } pub unsafe fn MousePointer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMousePointer(&self, mousepointer: InkMousePointer) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMousePointer)(::windows_core::Interface::as_raw(self), mousepointer).ok() } pub unsafe fn EditingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EditingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EditingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEditingMode(&self, editingmode: InkOverlayEditingMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEditingMode)(::windows_core::Interface::as_raw(self), editingmode).ok() @@ -2240,7 +2240,7 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Selection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSelection(&self, selection: P0) -> ::windows_core::Result<()> @@ -2251,21 +2251,21 @@ impl IInkOverlay { } pub unsafe fn EraserMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EraserMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EraserMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEraserMode(&self, erasermode: InkOverlayEraserMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEraserMode)(::windows_core::Interface::as_raw(self), erasermode).ok() } pub unsafe fn EraserWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EraserWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EraserWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEraserWidth(&self, neweraserwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEraserWidth)(::windows_core::Interface::as_raw(self), neweraserwidth).ok() } pub unsafe fn AttachMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachMode(&self, attachmode: InkOverlayAttachMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttachMode)(::windows_core::Interface::as_raw(self), attachmode).ok() @@ -2273,18 +2273,18 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cursors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarginX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginX(&self, marginx: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginX)(::windows_core::Interface::as_raw(self), marginx).ok() } pub unsafe fn MarginY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginY(&self, marginy: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginY)(::windows_core::Interface::as_raw(self), marginy).ok() @@ -2292,11 +2292,11 @@ impl IInkOverlay { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportHighContrastInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportHighContrastInk(&self, support: P0) -> ::windows_core::Result<()> where @@ -2306,7 +2306,7 @@ impl IInkOverlay { } pub unsafe fn SupportHighContrastSelectionUI(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportHighContrastSelectionUI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportHighContrastSelectionUI)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportHighContrastSelectionUI(&self, support: P0) -> ::windows_core::Result<()> where @@ -2316,7 +2316,7 @@ impl IInkOverlay { } pub unsafe fn HitTestSelection(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTestSelection)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTestSelection)(::windows_core::Interface::as_raw(self), x, y, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Draw(&self, rect: P0) -> ::windows_core::Result<()> @@ -2333,7 +2333,7 @@ impl IInkOverlay { } pub unsafe fn GetGestureStatus(&self, gesture: InkApplicationGesture) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWindowInputRectangle(&self, windowinputrectangle: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -2361,7 +2361,7 @@ impl IInkOverlay { } pub unsafe fn GetEventInterest(&self, eventid: InkCollectorEventInterest) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).map(|| result__) } pub unsafe fn SetEventInterest(&self, eventid: InkCollectorEventInterest, listen: P0) -> ::windows_core::Result<()> where @@ -2489,12 +2489,12 @@ pub struct IInkOverlay_Vtbl { impl IInkPicture { pub unsafe fn hWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).hWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultDrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultDrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DefaultDrawingAttributes(&self, newattributes: P0) -> ::windows_core::Result<()> @@ -2506,7 +2506,7 @@ impl IInkPicture { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Renderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Renderer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Renderer(&self, newinkrenderer: P0) -> ::windows_core::Result<()> @@ -2518,7 +2518,7 @@ impl IInkPicture { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Ink(&self, newink: P0) -> ::windows_core::Result<()> @@ -2529,7 +2529,7 @@ impl IInkPicture { } pub unsafe fn AutoRedraw(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoRedraw)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoRedraw(&self, autoredraw: P0) -> ::windows_core::Result<()> where @@ -2539,18 +2539,18 @@ impl IInkPicture { } pub unsafe fn CollectingInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectingInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CollectionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CollectionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCollectionMode(&self, mode: InkCollectionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCollectionMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn DynamicRendering(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DynamicRendering)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDynamicRendering(&self, enabled: P0) -> ::windows_core::Result<()> where @@ -2560,7 +2560,7 @@ impl IInkPicture { } pub unsafe fn DesiredPacketDescription(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DesiredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDesiredPacketDescription(&self, packetguids: P0) -> ::windows_core::Result<()> where @@ -2571,7 +2571,7 @@ impl IInkPicture { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn MouseIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MouseIcon)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn SetMouseIcon(&self, mouseicon: P0) -> ::windows_core::Result<()> @@ -2589,14 +2589,14 @@ impl IInkPicture { } pub unsafe fn MousePointer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MousePointer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMousePointer(&self, mousepointer: InkMousePointer) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMousePointer)(::windows_core::Interface::as_raw(self), mousepointer).ok() } pub unsafe fn EditingMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EditingMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EditingMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEditingMode(&self, editingmode: InkOverlayEditingMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEditingMode)(::windows_core::Interface::as_raw(self), editingmode).ok() @@ -2604,7 +2604,7 @@ impl IInkPicture { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Selection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Selection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetSelection(&self, selection: P0) -> ::windows_core::Result<()> @@ -2615,14 +2615,14 @@ impl IInkPicture { } pub unsafe fn EraserMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EraserMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EraserMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEraserMode(&self, erasermode: InkOverlayEraserMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEraserMode)(::windows_core::Interface::as_raw(self), erasermode).ok() } pub unsafe fn EraserWidth(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EraserWidth)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EraserWidth)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEraserWidth(&self, neweraserwidth: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetEraserWidth)(::windows_core::Interface::as_raw(self), neweraserwidth).ok() @@ -2644,37 +2644,37 @@ impl IInkPicture { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn Picture(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Picture)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Picture)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSizeMode(&self, smnewsizemode: InkPictureSizeMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSizeMode)(::windows_core::Interface::as_raw(self), smnewsizemode).ok() } pub unsafe fn SizeMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SizeMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SizeMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBackColor(&self, newcolor: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBackColor)(::windows_core::Interface::as_raw(self), newcolor).ok() } pub unsafe fn BackColor(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BackColor)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Cursors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Cursors)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn MarginX(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginX)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginX(&self, marginx: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginX)(::windows_core::Interface::as_raw(self), marginx).ok() } pub unsafe fn MarginY(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MarginY)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMarginY(&self, marginy: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMarginY)(::windows_core::Interface::as_raw(self), marginy).ok() @@ -2682,11 +2682,11 @@ impl IInkPicture { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Tablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Tablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportHighContrastInk(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportHighContrastInk)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportHighContrastInk(&self, support: P0) -> ::windows_core::Result<()> where @@ -2696,7 +2696,7 @@ impl IInkPicture { } pub unsafe fn SupportHighContrastSelectionUI(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportHighContrastSelectionUI)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportHighContrastSelectionUI)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSupportHighContrastSelectionUI(&self, support: P0) -> ::windows_core::Result<()> where @@ -2706,7 +2706,7 @@ impl IInkPicture { } pub unsafe fn HitTestSelection(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTestSelection)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTestSelection)(::windows_core::Interface::as_raw(self), x, y, &mut result__).map(|| result__) } pub unsafe fn SetGestureStatus(&self, gesture: InkApplicationGesture, listen: P0) -> ::windows_core::Result<()> where @@ -2716,7 +2716,7 @@ impl IInkPicture { } pub unsafe fn GetGestureStatus(&self, gesture: InkApplicationGesture) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGestureStatus)(::windows_core::Interface::as_raw(self), gesture, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetWindowInputRectangle(&self, windowinputrectangle: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -2744,7 +2744,7 @@ impl IInkPicture { } pub unsafe fn GetEventInterest(&self, eventid: InkCollectorEventInterest) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEventInterest)(::windows_core::Interface::as_raw(self), eventid, &mut result__).map(|| result__) } pub unsafe fn SetEventInterest(&self, eventid: InkCollectorEventInterest, listen: P0) -> ::windows_core::Result<()> where @@ -2754,7 +2754,7 @@ impl IInkPicture { } pub unsafe fn InkEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InkEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InkEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInkEnabled(&self, collecting: P0) -> ::windows_core::Result<()> where @@ -2764,7 +2764,7 @@ impl IInkPicture { } pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, vbool: P0) -> ::windows_core::Result<()> where @@ -2903,46 +2903,46 @@ pub struct IInkPicture_Vtbl { impl IInkRecognitionAlternate { pub unsafe fn String(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).String)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).String)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Confidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Confidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Baseline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Baseline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Baseline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Midline(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Midline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Midline)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Ascender(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ascender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ascender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Descender(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Descender)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Descender)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LineNumber(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineNumber)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineNumber)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LineAlternates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LineAlternates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LineAlternates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ConfidenceAlternates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ConfidenceAlternates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ConfidenceAlternates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStrokesFromStrokeRanges(&self, strokes: P0) -> ::windows_core::Result @@ -2950,7 +2950,7 @@ impl IInkRecognitionAlternate { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStrokesFromStrokeRanges)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStrokesFromStrokeRanges)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStrokesFromTextRange(&self, selectionstart: *mut i32, selectionlength: *mut i32, getstrokesfromtextrange: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -2969,14 +2969,14 @@ impl IInkRecognitionAlternate { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternatesWithConstantPropertyValues)(::windows_core::Interface::as_raw(self), propertytype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternatesWithConstantPropertyValues)(::windows_core::Interface::as_raw(self), propertytype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyValue(&self, propertytype: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), propertytype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyValue)(::windows_core::Interface::as_raw(self), propertytype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3029,21 +3029,21 @@ pub struct IInkRecognitionAlternate_Vtbl { impl IInkRecognitionAlternates { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3070,26 +3070,26 @@ pub struct IInkRecognitionAlternates_Vtbl { impl IInkRecognitionResult { pub unsafe fn TopString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TopString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TopString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn TopAlternate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TopAlternate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TopAlternate)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TopConfidence(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TopConfidence)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TopConfidence)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AlternatesFromSelection(&self, selectionstart: i32, selectionlength: i32, maximumalternates: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AlternatesFromSelection)(::windows_core::Interface::as_raw(self), selectionstart, selectionlength, maximumalternates, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AlternatesFromSelection)(::windows_core::Interface::as_raw(self), selectionstart, selectionlength, maximumalternates, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ModifyTopAlternate(&self, alternate: P0) -> ::windows_core::Result<()> @@ -3135,32 +3135,32 @@ pub struct IInkRecognitionResult_Vtbl { impl IInkRecognizer { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Vendor(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Vendor)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Capabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Capabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Languages(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Languages)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SupportedProperties(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SupportedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SupportedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PreferredPacketDescription(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredPacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreateRecognizerContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRecognizerContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRecognizerContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3187,11 +3187,11 @@ pub struct IInkRecognizer_Vtbl { impl IInkRecognizer2 { pub unsafe fn Id(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Id)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UnicodeRanges(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).UnicodeRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).UnicodeRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3211,7 +3211,7 @@ impl IInkRecognizerContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Strokes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Strokes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Strokes(&self, strokes: P0) -> ::windows_core::Result<()> @@ -3222,14 +3222,14 @@ impl IInkRecognizerContext { } pub unsafe fn CharacterAutoCompletionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CharacterAutoCompletionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CharacterAutoCompletionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCharacterAutoCompletionMode(&self, mode: InkRecognizerCharacterAutoCompletionMode) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCharacterAutoCompletionMode)(::windows_core::Interface::as_raw(self), mode).ok() } pub unsafe fn Factoid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFactoid(&self, factoid: P0) -> ::windows_core::Result<()> where @@ -3240,7 +3240,7 @@ impl IInkRecognizerContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Guide(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Guide)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Guide)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Guide(&self, recognizerguide: P0) -> ::windows_core::Result<()> @@ -3251,7 +3251,7 @@ impl IInkRecognizerContext { } pub unsafe fn PrefixText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PrefixText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PrefixText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPrefixText(&self, prefix: P0) -> ::windows_core::Result<()> where @@ -3261,7 +3261,7 @@ impl IInkRecognizerContext { } pub unsafe fn SuffixText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SuffixText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SuffixText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSuffixText(&self, suffix: P0) -> ::windows_core::Result<()> where @@ -3271,7 +3271,7 @@ impl IInkRecognizerContext { } pub unsafe fn RecognitionFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecognitionFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecognitionFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRecognitionFlags(&self, modes: InkRecognitionModes) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRecognitionFlags)(::windows_core::Interface::as_raw(self), modes).ok() @@ -3279,7 +3279,7 @@ impl IInkRecognizerContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn WordList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WordList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WordList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_WordList(&self, wordlist: P0) -> ::windows_core::Result<()> @@ -3291,7 +3291,7 @@ impl IInkRecognizerContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recognizer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Recognizer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Recognize(&self, recognitionstatus: *mut InkRecognitionStatus, recognitionresult: *mut ::core::option::Option) -> ::windows_core::Result<()> { @@ -3318,14 +3318,14 @@ impl IInkRecognizerContext { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsStringSupported(&self, string: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsStringSupported)(::windows_core::Interface::as_raw(self), string.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsStringSupported)(::windows_core::Interface::as_raw(self), string.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -3393,7 +3393,7 @@ pub struct IInkRecognizerContext_Vtbl { impl IInkRecognizerContext2 { pub unsafe fn EnabledUnicodeRanges(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnabledUnicodeRanges)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnabledUnicodeRanges)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetEnabledUnicodeRanges(&self, unicoderanges: P0) -> ::windows_core::Result<()> where @@ -3419,7 +3419,7 @@ impl IInkRecognizerGuide { #[cfg(feature = "Win32_System_Com")] pub unsafe fn WritingBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WritingBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WritingBox)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetWritingBox(&self, rectangle: P0) -> ::windows_core::Result<()> @@ -3431,7 +3431,7 @@ impl IInkRecognizerGuide { #[cfg(feature = "Win32_System_Com")] pub unsafe fn DrawnBox(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DrawnBox)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DrawnBox)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetDrawnBox(&self, rectangle: P0) -> ::windows_core::Result<()> @@ -3442,21 +3442,21 @@ impl IInkRecognizerGuide { } pub unsafe fn Rows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Rows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Rows)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRows(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRows)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Columns(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Columns)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetColumns(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetColumns)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Midline(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Midline)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Midline)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMidline(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMidline)(::windows_core::Interface::as_raw(self), units).ok() @@ -3506,21 +3506,21 @@ pub struct IInkRecognizerGuide_Vtbl { impl IInkRecognizers { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDefaultRecognizer(&self, lcid: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultRecognizer)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultRecognizer)(::windows_core::Interface::as_raw(self), lcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -3547,35 +3547,35 @@ pub struct IInkRecognizers_Vtbl { impl IInkRectangle { pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetTop(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetTop)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetLeft(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetLeft)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Bottom(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Bottom)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Bottom)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetBottom(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetBottom)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Right(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Right)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Right)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetRight(&self, units: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetRight)(::windows_core::Interface::as_raw(self), units).ok() } pub unsafe fn Data(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Data)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetData(&self, rect: super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rect)).ok() @@ -3672,7 +3672,7 @@ impl IInkRenderer { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Measure)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Measure)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MeasureStroke(&self, stroke: P0, drawingattributes: P1) -> ::windows_core::Result @@ -3681,7 +3681,7 @@ impl IInkRenderer { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MeasureStroke)(::windows_core::Interface::as_raw(self), stroke.into_param().abi(), drawingattributes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MeasureStroke)(::windows_core::Interface::as_raw(self), stroke.into_param().abi(), drawingattributes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Move(&self, horizontalcomponent: f32, verticalcomponent: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Move)(::windows_core::Interface::as_raw(self), horizontalcomponent, verticalcomponent).ok() @@ -3749,16 +3749,16 @@ pub struct IInkRenderer_Vtbl { impl IInkStrokeDisp { pub unsafe fn ID(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn BezierPoints(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BezierPoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BezierPoints)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DrawingAttributes(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DrawingAttributes)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_DrawingAttributes(&self, drawattrs: P0) -> ::windows_core::Result<()> @@ -3770,45 +3770,45 @@ impl IInkStrokeDisp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn ExtendedProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExtendedProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PolylineCusps(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PolylineCusps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PolylineCusps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn BezierCusps(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).BezierCusps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BezierCusps)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SelfIntersections(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SelfIntersections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SelfIntersections)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PacketCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PacketCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PacketCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PacketSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PacketSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PacketSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PacketDescription(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PacketDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Deleted(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Deleted)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Deleted)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingBox(&self, boundingboxmode: InkBoundingBoxMode) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn FindIntersections(&self, strokes: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -3816,7 +3816,7 @@ impl IInkStrokeDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindIntersections)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindIntersections)(::windows_core::Interface::as_raw(self), strokes.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetRectangleIntersections(&self, rectangle: P0) -> ::windows_core::Result<::windows_core::VARIANT> @@ -3824,7 +3824,7 @@ impl IInkStrokeDisp { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRectangleIntersections)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRectangleIntersections)(::windows_core::Interface::as_raw(self), rectangle.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Clip(&self, rectangle: P0) -> ::windows_core::Result<()> @@ -3835,7 +3835,7 @@ impl IInkStrokeDisp { } pub unsafe fn HitTestCircle(&self, x: i32, y: i32, radius: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HitTestCircle)(::windows_core::Interface::as_raw(self), x, y, radius, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HitTestCircle)(::windows_core::Interface::as_raw(self), x, y, radius, &mut result__).map(|| result__) } pub unsafe fn NearestPoint(&self, x: i32, y: i32, distance: *mut f32, point: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).NearestPoint)(::windows_core::Interface::as_raw(self), x, y, distance, point).ok() @@ -3843,7 +3843,7 @@ impl IInkStrokeDisp { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Split(&self, splitat: f32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Split)(::windows_core::Interface::as_raw(self), splitat, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Split)(::windows_core::Interface::as_raw(self), splitat, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPacketDescriptionPropertyMetrics(&self, propertyname: P0, minimum: *mut i32, maximum: *mut i32, units: *mut TabletPropertyMetricUnit, resolution: *mut f32) -> ::windows_core::Result<()> where @@ -3853,25 +3853,25 @@ impl IInkStrokeDisp { } pub unsafe fn GetPoints(&self, index: i32, count: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPoints)(::windows_core::Interface::as_raw(self), index, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPoints)(::windows_core::Interface::as_raw(self), index, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPoints(&self, points: P0, index: i32, count: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetPoints)(::windows_core::Interface::as_raw(self), points.into_param().abi(), index, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetPoints)(::windows_core::Interface::as_raw(self), points.into_param().abi(), index, count, &mut result__).map(|| result__) } pub unsafe fn GetPacketData(&self, index: i32, count: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPacketData)(::windows_core::Interface::as_raw(self), index, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPacketData)(::windows_core::Interface::as_raw(self), index, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPacketValuesByProperty(&self, propertyname: P0, index: i32, count: i32) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPacketValuesByProperty)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), index, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPacketValuesByProperty)(::windows_core::Interface::as_raw(self), propertyname.into_param().abi(), index, count, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetPacketValuesByProperty(&self, bstrpropertyname: P0, packetvalues: P1, index: i32, count: i32) -> ::windows_core::Result where @@ -3879,11 +3879,11 @@ impl IInkStrokeDisp { P1: ::windows_core::IntoParam<::windows_core::VARIANT>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetPacketValuesByProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), packetvalues.into_param().abi(), index, count, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetPacketValuesByProperty)(::windows_core::Interface::as_raw(self), bstrpropertyname.into_param().abi(), packetvalues.into_param().abi(), index, count, &mut result__).map(|| result__) } pub unsafe fn GetFlattenedBezierPoints(&self, fittingerror: i32) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFlattenedBezierPoints)(::windows_core::Interface::as_raw(self), fittingerror, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFlattenedBezierPoints)(::windows_core::Interface::as_raw(self), fittingerror, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Transform(&self, transform: P0, applyonpenwidth: P1) -> ::windows_core::Result<()> @@ -3993,30 +3993,30 @@ pub struct IInkStrokeDisp_Vtbl { impl IInkStrokes { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn RecognitionResult(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RecognitionResult)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RecognitionResult)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ToString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ToString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ToString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Add(&self, inkstroke: P0) -> ::windows_core::Result<()> @@ -4056,7 +4056,7 @@ impl IInkStrokes { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetBoundingBox(&self, boundingboxmode: InkBoundingBoxMode) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingBox)(::windows_core::Interface::as_raw(self), boundingboxmode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Transform(&self, transform: P0, applyonpenwidth: P1) -> ::windows_core::Result<()> @@ -4166,27 +4166,27 @@ pub struct IInkStrokes_Vtbl { impl IInkTablet { pub unsafe fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Name)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PlugAndPlayId(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PlugAndPlayId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PlugAndPlayId)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn MaximumInputRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumInputRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumInputRectangle)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HardwareCapabilities(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HardwareCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HardwareCapabilities)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsPacketPropertySupported(&self, packetpropertyname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPacketPropertySupported)(::windows_core::Interface::as_raw(self), packetpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPacketPropertySupported)(::windows_core::Interface::as_raw(self), packetpropertyname.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPropertyMetrics(&self, propertyname: P0, minimum: *mut i32, maximum: *mut i32, units: *mut TabletPropertyMetricUnit, resolution: *mut f32) -> ::windows_core::Result<()> where @@ -4218,7 +4218,7 @@ pub struct IInkTablet_Vtbl { impl IInkTablet2 { pub unsafe fn DeviceKind(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DeviceKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DeviceKind)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4236,11 +4236,11 @@ pub struct IInkTablet2_Vtbl { impl IInkTablet3 { pub unsafe fn IsMultiTouch(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsMultiTouch)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsMultiTouch)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn MaximumCursors(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MaximumCursors)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MaximumCursors)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4259,28 +4259,28 @@ pub struct IInkTablet3_Vtbl { impl IInkTablets { pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn DefaultTablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultTablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultTablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Item(&self, index: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), index, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsPacketPropertySupported(&self, packetpropertyname: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPacketPropertySupported)(::windows_core::Interface::as_raw(self), packetpropertyname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPacketPropertySupported)(::windows_core::Interface::as_raw(self), packetpropertyname.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -4336,42 +4336,42 @@ impl IInkTransform { } pub unsafe fn eM11(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eM11)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eM11)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteM11(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteM11)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn eM12(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eM12)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eM12)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteM12(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteM12)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn eM21(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eM21)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eM21)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteM21(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteM21)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn eM22(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eM22)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eM22)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteM22(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteM22)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn eDx(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eDx)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eDx)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteDx(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteDx)(::windows_core::Interface::as_raw(self), value).ok() } pub unsafe fn eDy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).eDy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).eDy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SeteDy(&self, value: f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SeteDy)(::windows_core::Interface::as_raw(self), value).ok() @@ -4482,14 +4482,14 @@ pub struct IInkWordList2_Vtbl { impl IInputPanelWindowHandle { pub unsafe fn AttachedEditWindow32(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachedEditWindow32)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachedEditWindow32)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachedEditWindow32(&self, attachededitwindow: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttachedEditWindow32)(::windows_core::Interface::as_raw(self), attachededitwindow).ok() } pub unsafe fn AttachedEditWindow64(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachedEditWindow64)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachedEditWindow64)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachedEditWindow64(&self, attachededitwindow: i64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttachedEditWindow64)(::windows_core::Interface::as_raw(self), attachededitwindow).ok() @@ -4518,7 +4518,7 @@ impl IMathInputControl { } pub unsafe fn IsVisible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsVisible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsVisible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetPosition(&self, left: *mut i32, top: *mut i32, right: *mut i32, bottom: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPosition)(::windows_core::Interface::as_raw(self), left, top, right, bottom).ok() @@ -4559,7 +4559,7 @@ impl IMathInputControl { } pub unsafe fn GetPreviewHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreviewHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreviewHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreviewHeight(&self, height: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPreviewHeight)(::windows_core::Interface::as_raw(self), height).ok() @@ -4585,7 +4585,7 @@ impl IMathInputControl { #[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))] pub unsafe fn GetHoverIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHoverIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHoverIcon)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -4625,11 +4625,11 @@ pub struct IMathInputControl_Vtbl { impl IPenInputPanel { pub unsafe fn Busy(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Busy)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Busy)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Factoid(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Factoid)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFactoid(&self, factoid: P0) -> ::windows_core::Result<()> where @@ -4639,28 +4639,28 @@ impl IPenInputPanel { } pub unsafe fn AttachedEditWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachedEditWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachedEditWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachedEditWindow(&self, attachededitwindow: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetAttachedEditWindow)(::windows_core::Interface::as_raw(self), attachededitwindow).ok() } pub unsafe fn CurrentPanel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentPanel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentPanel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetCurrentPanel(&self, currentpanel: PanelType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetCurrentPanel)(::windows_core::Interface::as_raw(self), currentpanel).ok() } pub unsafe fn DefaultPanel(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultPanel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultPanel)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultPanel(&self, defaultpanel: PanelType) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultPanel)(::windows_core::Interface::as_raw(self), defaultpanel).ok() } pub unsafe fn Visible(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Visible)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVisible(&self, visible: P0) -> ::windows_core::Result<()> where @@ -4670,37 +4670,37 @@ impl IPenInputPanel { } pub unsafe fn Top(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Top)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Left(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Left)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Width(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Width)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Height(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Height)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn VerticalOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).VerticalOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).VerticalOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetVerticalOffset(&self, verticaloffset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetVerticalOffset)(::windows_core::Interface::as_raw(self), verticaloffset).ok() } pub unsafe fn HorizontalOffset(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HorizontalOffset)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HorizontalOffset)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHorizontalOffset(&self, horizontaloffset: i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHorizontalOffset)(::windows_core::Interface::as_raw(self), horizontaloffset).ok() } pub unsafe fn AutoShow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AutoShow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AutoShow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAutoShow(&self, autoshow: P0) -> ::windows_core::Result<()> where @@ -4760,7 +4760,7 @@ pub struct IPenInputPanel_Vtbl { impl IRealTimeStylus { pub unsafe fn Enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -4770,7 +4770,7 @@ impl IRealTimeStylus { } pub unsafe fn HWND(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HWND)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetHWND(&self, hwnd: P0) -> ::windows_core::Result<()> where @@ -4780,7 +4780,7 @@ impl IRealTimeStylus { } pub unsafe fn WindowInputRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).WindowInputRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).WindowInputRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetWindowInputRectangle(&self, prcwndinputrect: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetWindowInputRectangle)(::windows_core::Interface::as_raw(self), prcwndinputrect).ok() @@ -4799,11 +4799,11 @@ impl IRealTimeStylus { } pub unsafe fn GetStylusSyncPlugin(&self, iindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStylusSyncPlugin)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStylusSyncPlugin)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStylusSyncPluginCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStylusSyncPluginCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStylusSyncPluginCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn AddStylusAsyncPlugin(&self, iindex: u32, piplugin: P0) -> ::windows_core::Result<()> where @@ -4819,15 +4819,15 @@ impl IRealTimeStylus { } pub unsafe fn GetStylusAsyncPlugin(&self, iindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStylusAsyncPlugin)(::windows_core::Interface::as_raw(self), iindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStylusAsyncPlugin)(::windows_core::Interface::as_raw(self), iindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStylusAsyncPluginCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStylusAsyncPluginCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStylusAsyncPluginCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChildRealTimeStylusPlugin(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ChildRealTimeStylusPlugin)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ChildRealTimeStylusPlugin)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn putref_ChildRealTimeStylusPlugin(&self, pirts: P0) -> ::windows_core::Result<()> where @@ -4857,7 +4857,7 @@ impl IRealTimeStylus { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTablet(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTablet)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTablet)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTabletContextIdFromTablet(&self, pitablet: P0) -> ::windows_core::Result @@ -4865,12 +4865,12 @@ impl IRealTimeStylus { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTabletContextIdFromTablet)(::windows_core::Interface::as_raw(self), pitablet.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTabletContextIdFromTablet)(::windows_core::Interface::as_raw(self), pitablet.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetTabletFromTabletContextId(&self, tcid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTabletFromTabletContextId)(::windows_core::Interface::as_raw(self), tcid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTabletFromTabletContextId)(::windows_core::Interface::as_raw(self), tcid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAllTabletContextIds(&self, pctcidcount: *mut u32, pptcids: *mut *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAllTabletContextIds)(::windows_core::Interface::as_raw(self), pctcidcount, pptcids).ok() @@ -4878,12 +4878,12 @@ impl IRealTimeStylus { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStyluses(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStyluses)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStyluses)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetStylusForId(&self, sid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStylusForId)(::windows_core::Interface::as_raw(self), sid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStylusForId)(::windows_core::Interface::as_raw(self), sid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDesiredPacketDescription(&self, ppropertyguids: &[::windows_core::GUID]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDesiredPacketDescription)(::windows_core::Interface::as_raw(self), ppropertyguids.len().try_into().unwrap(), ::core::mem::transmute(ppropertyguids.as_ptr())).ok() @@ -4954,7 +4954,7 @@ pub struct IRealTimeStylus_Vtbl { impl IRealTimeStylus2 { pub unsafe fn FlicksEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FlicksEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FlicksEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFlicksEnabled(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -4975,7 +4975,7 @@ pub struct IRealTimeStylus2_Vtbl { impl IRealTimeStylus3 { pub unsafe fn MultiTouchEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MultiTouchEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MultiTouchEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetMultiTouchEnabled(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -5041,7 +5041,7 @@ impl IStrokeBuilder { #[cfg(feature = "Win32_System_Com")] pub unsafe fn Ink(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Ink)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn putref_Ink(&self, piinkobj: P0) -> ::windows_core::Result<()> @@ -5181,7 +5181,7 @@ impl IStylusAsyncPlugin { } pub unsafe fn DataInterest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5293,7 +5293,7 @@ impl IStylusPlugin { } pub unsafe fn DataInterest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5425,7 +5425,7 @@ impl IStylusSyncPlugin { } pub unsafe fn DataInterest(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.DataInterest)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5438,7 +5438,7 @@ pub struct IStylusSyncPlugin_Vtbl { impl ITextInputPanel { pub unsafe fn AttachedEditWindow(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AttachedEditWindow)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AttachedEditWindow)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetAttachedEditWindow(&self, attachededitwindow: P0) -> ::windows_core::Result<()> where @@ -5448,44 +5448,44 @@ impl ITextInputPanel { } pub unsafe fn CurrentInteractionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentInteractionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentInteractionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultInPlaceState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultInPlaceState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultInPlaceState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultInPlaceState(&self, state: InPlaceState) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultInPlaceState)(::windows_core::Interface::as_raw(self), state).ok() } pub unsafe fn CurrentInPlaceState(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentInPlaceState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentInPlaceState)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn DefaultInputArea(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DefaultInputArea)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DefaultInputArea)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefaultInputArea(&self, area: PanelInputArea) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetDefaultInputArea)(::windows_core::Interface::as_raw(self), area).ok() } pub unsafe fn CurrentInputArea(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentInputArea)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentInputArea)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CurrentCorrectionMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CurrentCorrectionMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CurrentCorrectionMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PreferredInPlaceDirection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PreferredInPlaceDirection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PreferredInPlaceDirection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetPreferredInPlaceDirection(&self, direction: InPlaceDirection) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetPreferredInPlaceDirection)(::windows_core::Interface::as_raw(self), direction).ok() } pub unsafe fn ExpandPostInsertionCorrection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExpandPostInsertionCorrection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExpandPostInsertionCorrection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetExpandPostInsertionCorrection(&self, expand: P0) -> ::windows_core::Result<()> where @@ -5495,7 +5495,7 @@ impl ITextInputPanel { } pub unsafe fn InPlaceVisibleOnFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InPlaceVisibleOnFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InPlaceVisibleOnFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetInPlaceVisibleOnFocus(&self, visible: P0) -> ::windows_core::Result<()> where @@ -5505,15 +5505,15 @@ impl ITextInputPanel { } pub unsafe fn InPlaceBoundingRectangle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InPlaceBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InPlaceBoundingRectangle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PopUpCorrectionHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PopUpCorrectionHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PopUpCorrectionHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn PopDownCorrectionHeight(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PopDownCorrectionHeight)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PopDownCorrectionHeight)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn CommitPendingInput(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).CommitPendingInput)(::windows_core::Interface::as_raw(self)).ok() @@ -5651,7 +5651,7 @@ pub struct ITextInputPanelEventSink_Vtbl { impl ITextInputPanelRunInfo { pub unsafe fn IsTipRunning(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsTipRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsTipRunning)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5688,7 +5688,7 @@ impl ITipAutoCompleteClient { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestShowUI)(::windows_core::Interface::as_raw(self), hwndlist.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestShowUI)(::windows_core::Interface::as_raw(self), hwndlist.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/TextServices/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/TextServices/mod.rs index 022b1eb0a0..60ec1ef18d 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/TextServices/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/TextServices/mod.rs @@ -22,22 +22,22 @@ impl IAccClientDocMgr { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocuments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupByHWND(&self, hwnd: P0, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupByHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupByHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupByPoint(&self, pt: super::super::Foundation::POINT, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupByPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupByPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocused(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocused)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocused)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -60,18 +60,18 @@ impl IAccDictionary { } pub unsafe fn GetParentTerm(&self, term: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentTerm)(::windows_core::Interface::as_raw(self), term, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentTerm)(::windows_core::Interface::as_raw(self), term, &mut result__).map(|| result__) } pub unsafe fn GetMnemonicString(&self, term: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMnemonicString)(::windows_core::Interface::as_raw(self), term, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMnemonicString)(::windows_core::Interface::as_raw(self), term, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupMnemonicTerm(&self, bstrmnemonic: P0) -> ::windows_core::Result<::windows_core::GUID> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupMnemonicTerm)(::windows_core::Interface::as_raw(self), bstrmnemonic.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupMnemonicTerm)(::windows_core::Interface::as_raw(self), bstrmnemonic.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ConvertValueToString(&self, term: *const ::windows_core::GUID, lcid: u32, varvalue: P0, pbstrresult: *mut ::windows_core::BSTR, plcid: *mut u32) -> ::windows_core::Result<()> where @@ -138,18 +138,18 @@ impl IAccStore { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetDocuments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocuments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupByHWND(&self, hwnd: P0, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupByHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupByHWND)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn LookupByPoint(&self, pt: super::super::Foundation::POINT, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LookupByPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LookupByPoint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pt), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnDocumentFocus(&self, punk: P0) -> ::windows_core::Result<()> where @@ -159,7 +159,7 @@ impl IAccStore { } pub unsafe fn GetFocused(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocused)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocused)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -185,21 +185,21 @@ impl IAnchor { } pub unsafe fn GetGravity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGravity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsEqual(&self, pawith: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pawith.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pawith.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Compare(&self, pawith: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), pawith.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Compare)(::windows_core::Interface::as_raw(self), pawith.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Shift(&self, dwflags: u32, cchreq: i32, pcch: *mut i32, pahaltanchor: P0) -> ::windows_core::Result<()> where @@ -215,21 +215,21 @@ impl IAnchor { } pub unsafe fn ShiftRegion(&self, dwflags: u32, dir: TsShiftDir) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShiftRegion)(::windows_core::Interface::as_raw(self), dwflags, dir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShiftRegion)(::windows_core::Interface::as_raw(self), dwflags, dir, &mut result__).map(|| result__) } pub unsafe fn SetChangeHistoryMask(&self, dwmask: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetChangeHistoryMask)(::windows_core::Interface::as_raw(self), dwmask).ok() } pub unsafe fn GetChangeHistory(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChangeHistory)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChangeHistory)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ClearChangeHistory(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ClearChangeHistory)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -256,7 +256,7 @@ impl IClonableWrapper { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CloneNewWrapper)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CloneNewWrapper)(::windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -311,7 +311,7 @@ impl IDocWrap { } pub unsafe fn GetWrappedDoc(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWrappedDoc)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWrappedDoc)(::windows_core::Interface::as_raw(self), riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -326,7 +326,7 @@ pub struct IDocWrap_Vtbl { impl IEnumITfCompositionView { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgcompositionview: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgcompositionview.len().try_into().unwrap(), ::core::mem::transmute(rgcompositionview.as_ptr()), pcfetched).ok() @@ -352,7 +352,7 @@ pub struct IEnumITfCompositionView_Vtbl { impl IEnumSpeechCommands { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, pspcmds: &mut [*mut u16], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), pspcmds.len().try_into().unwrap(), ::core::mem::transmute(pspcmds.as_ptr()), pcfetched).ok() @@ -378,7 +378,7 @@ pub struct IEnumSpeechCommands_Vtbl { impl IEnumTfCandidates { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppcand: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppcand.len().try_into().unwrap(), ::core::mem::transmute(ppcand.as_ptr()), pcfetched).ok() @@ -404,7 +404,7 @@ pub struct IEnumTfCandidates_Vtbl { impl IEnumTfContextViews { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgviews: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgviews.len().try_into().unwrap(), ::core::mem::transmute(rgviews.as_ptr()), pcfetched).ok() @@ -430,7 +430,7 @@ pub struct IEnumTfContextViews_Vtbl { impl IEnumTfContexts { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgcontext: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgcontext.len().try_into().unwrap(), ::core::mem::transmute(rgcontext.as_ptr()), pcfetched).ok() @@ -456,7 +456,7 @@ pub struct IEnumTfContexts_Vtbl { impl IEnumTfDisplayAttributeInfo { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rginfo: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rginfo.len().try_into().unwrap(), ::core::mem::transmute(rginfo.as_ptr()), pcfetched).ok() @@ -482,7 +482,7 @@ pub struct IEnumTfDisplayAttributeInfo_Vtbl { impl IEnumTfDocumentMgrs { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgdocumentmgr: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgdocumentmgr.len().try_into().unwrap(), ::core::mem::transmute(rgdocumentmgr.as_ptr()), pcfetched).ok() @@ -508,7 +508,7 @@ pub struct IEnumTfDocumentMgrs_Vtbl { impl IEnumTfFunctionProviders { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppcmdobj: &mut [::core::option::Option], pcfetch: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppcmdobj.len().try_into().unwrap(), ::core::mem::transmute(ppcmdobj.as_ptr()), pcfetch).ok() @@ -534,7 +534,7 @@ pub struct IEnumTfFunctionProviders_Vtbl { impl IEnumTfInputProcessorProfiles { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, pprofile: &mut [TF_INPUTPROCESSORPROFILE], pcfetch: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), pprofile.len().try_into().unwrap(), ::core::mem::transmute(pprofile.as_ptr()), pcfetch).ok() @@ -560,7 +560,7 @@ pub struct IEnumTfInputProcessorProfiles_Vtbl { impl IEnumTfLangBarItems { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppitem: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppitem.len().try_into().unwrap(), ::core::mem::transmute(ppitem.as_ptr()), pcfetched).ok() @@ -586,7 +586,7 @@ pub struct IEnumTfLangBarItems_Vtbl { impl IEnumTfLanguageProfiles { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, pprofile: &mut [TF_LANGUAGEPROFILE], pcfetch: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), pprofile.len().try_into().unwrap(), ::core::mem::transmute(pprofile.as_ptr()), pcfetch).ok() @@ -612,7 +612,7 @@ pub struct IEnumTfLanguageProfiles_Vtbl { impl IEnumTfLatticeElements { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgselements: &mut [TF_LMLATTELEMENT], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgselements.len().try_into().unwrap(), ::core::mem::transmute(rgselements.as_ptr()), pcfetched).ok() @@ -638,7 +638,7 @@ pub struct IEnumTfLatticeElements_Vtbl { impl IEnumTfProperties { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppprop: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppprop.len().try_into().unwrap(), ::core::mem::transmute(ppprop.as_ptr()), pcfetched).ok() @@ -664,7 +664,7 @@ pub struct IEnumTfProperties_Vtbl { impl IEnumTfPropertyValue { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, rgvalues: &mut [TF_PROPERTYVAL], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgvalues.len().try_into().unwrap(), ::core::mem::transmute(rgvalues.as_ptr()), pcfetched).ok() @@ -690,7 +690,7 @@ pub struct IEnumTfPropertyValue_Vtbl { impl IEnumTfRanges { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, pprange: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), pprange.len().try_into().unwrap(), ::core::mem::transmute(pprange.as_ptr()), pcfetched).ok() @@ -716,7 +716,7 @@ pub struct IEnumTfRanges_Vtbl { impl IEnumTfUIElements { pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Next(&self, ppelement: &mut [::core::option::Option], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppelement.len().try_into().unwrap(), ::core::mem::transmute(ppelement.as_ptr()), pcfetched).ok() @@ -755,7 +755,7 @@ pub struct IInternalDocWrap_Vtbl { impl ISpeechCommandProvider { pub unsafe fn EnumSpeechCommands(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumSpeechCommands)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumSpeechCommands)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ProcessCommand(&self, pszcommand: &[u16], langid: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ProcessCommand)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pszcommand.as_ptr()), pszcommand.len().try_into().unwrap(), langid).ok() @@ -785,11 +785,11 @@ impl ITextStoreACP { } pub unsafe fn RequestLock(&self, dwlockflags: u32) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryInsert(&self, acpteststart: i32, acptestend: i32, cch: u32, pacpresultstart: *mut i32, pacpresultend: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryInsert)(::windows_core::Interface::as_raw(self), acpteststart, acptestend, cch, pacpresultstart, pacpresultend).ok() @@ -805,21 +805,21 @@ impl ITextStoreACP { } pub unsafe fn SetText(&self, dwflags: u32, acpstart: i32, acpend: i32, pchtext: &[u16]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetText)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetText)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self, acpstart: i32, acpend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEmbedded(&self, acppos: i32, rguidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), acppos, rguidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), acppos, rguidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryInsertEmbedded(&self, pguidservice: *const ::windows_core::GUID, pformatetc: *const super::super::System::Com::FORMATETC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbedded(&self, dwflags: u32, acpstart: i32, acpend: i32, pdataobject: P0) -> ::windows_core::Result @@ -827,7 +827,7 @@ impl ITextStoreACP { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertEmbedded)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, pdataobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertEmbedded)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, pdataobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InsertTextAtSelection(&self, dwflags: u32, pchtext: &[u16], pacpstart: *mut i32, pacpend: *mut i32, pchange: *mut TS_TEXTCHANGE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertTextAtSelection)(::windows_core::Interface::as_raw(self), dwflags, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), pacpstart, pacpend, pchange).ok() @@ -856,26 +856,26 @@ impl ITextStoreACP { } pub unsafe fn GetEndACP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndACP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndACP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActiveView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetACPFromPoint(&self, vcview: u32, ptscreen: *const super::super::Foundation::POINT, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).map(|| result__) } pub unsafe fn GetTextExt(&self, vcview: u32, acpstart: i32, acpend: i32, prc: *mut super::super::Foundation::RECT, pfclipped: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTextExt)(::windows_core::Interface::as_raw(self), vcview, acpstart, acpend, prc, pfclipped).ok() } pub unsafe fn GetScreenExt(&self, vcview: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).map(|| result__) } pub unsafe fn GetWnd(&self, vcview: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), vcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), vcview, &mut result__).map(|| result__) } } #[repr(C)] @@ -938,11 +938,11 @@ impl ITextStoreACP2 { } pub unsafe fn RequestLock(&self, dwlockflags: u32) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryInsert(&self, acpteststart: i32, acptestend: i32, cch: u32, pacpresultstart: *mut i32, pacpresultend: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).QueryInsert)(::windows_core::Interface::as_raw(self), acpteststart, acptestend, cch, pacpresultstart, pacpresultend).ok() @@ -958,21 +958,21 @@ impl ITextStoreACP2 { } pub unsafe fn SetText(&self, dwflags: u32, acpstart: i32, acpend: i32, pchtext: &[u16]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SetText)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SetText)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self, acpstart: i32, acpend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEmbedded(&self, acppos: i32, rguidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), acppos, rguidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), acppos, rguidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryInsertEmbedded(&self, pguidservice: *const ::windows_core::GUID, pformatetc: *const super::super::System::Com::FORMATETC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbedded(&self, dwflags: u32, acpstart: i32, acpend: i32, pdataobject: P0) -> ::windows_core::Result @@ -980,7 +980,7 @@ impl ITextStoreACP2 { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertEmbedded)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, pdataobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertEmbedded)(::windows_core::Interface::as_raw(self), dwflags, acpstart, acpend, pdataobject.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InsertTextAtSelection(&self, dwflags: u32, pchtext: &[u16], pacpstart: *mut i32, pacpend: *mut i32, pchange: *mut TS_TEXTCHANGE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertTextAtSelection)(::windows_core::Interface::as_raw(self), dwflags, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), pacpstart, pacpend, pchange).ok() @@ -1009,22 +1009,22 @@ impl ITextStoreACP2 { } pub unsafe fn GetEndACP(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEndACP)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEndACP)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetActiveView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetACPFromPoint(&self, vcview: u32, ptscreen: *const super::super::Foundation::POINT, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).map(|| result__) } pub unsafe fn GetTextExt(&self, vcview: u32, acpstart: i32, acpend: i32, prc: *mut super::super::Foundation::RECT, pfclipped: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTextExt)(::windows_core::Interface::as_raw(self), vcview, acpstart, acpend, prc, pfclipped).ok() } pub unsafe fn GetScreenExt(&self, vcview: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).map(|| result__) } } #[repr(C)] @@ -1111,7 +1111,7 @@ impl ITextStoreACPServices { } pub unsafe fn CreateRange(&self, acpstart: i32, acpend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRange)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRange)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1224,11 +1224,11 @@ impl ITextStoreAnchor { } pub unsafe fn RequestLock(&self, dwlockflags: u32) -> ::windows_core::Result<::windows_core::HRESULT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestLock)(::windows_core::Interface::as_raw(self), dwlockflags, &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn QueryInsert(&self, pateststart: P0, patestend: P1, cch: u32, pparesultstart: *mut ::core::option::Option, pparesultend: *mut ::core::option::Option) -> ::windows_core::Result<()> where @@ -1265,14 +1265,14 @@ impl ITextStoreAnchor { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), pastart.into_param().abi(), paend.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), pastart.into_param().abi(), paend.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEmbedded(&self, dwflags: u32, papos: P0, rguidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), dwflags, papos.into_param().abi(), rguidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), dwflags, papos.into_param().abi(), rguidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbedded(&self, dwflags: u32, pastart: P0, paend: P1, pdataobject: P2) -> ::windows_core::Result<()> @@ -1310,19 +1310,19 @@ impl ITextStoreAnchor { } pub unsafe fn GetStart(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActiveView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAnchorFromPoint(&self, vcview: u32, ptscreen: *const super::super::Foundation::POINT, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAnchorFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAnchorFromPoint)(::windows_core::Interface::as_raw(self), vcview, ptscreen, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTextExt(&self, vcview: u32, pastart: P0, paend: P1, prc: *mut super::super::Foundation::RECT, pfclipped: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -1333,16 +1333,16 @@ impl ITextStoreAnchor { } pub unsafe fn GetScreenExt(&self, vcview: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), vcview, &mut result__).map(|| result__) } pub unsafe fn GetWnd(&self, vcview: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), vcview, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), vcview, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryInsertEmbedded(&self, pguidservice: *const ::windows_core::GUID, pformatetc: *const super::super::System::Com::FORMATETC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).map(|| result__) } pub unsafe fn InsertTextAtSelection(&self, dwflags: u32, pchtext: &[u16], ppastart: *mut ::core::option::Option, ppaend: *mut ::core::option::Option) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).InsertTextAtSelection)(::windows_core::Interface::as_raw(self), dwflags, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), ::core::mem::transmute(ppastart), ::core::mem::transmute(ppaend)).ok() @@ -1531,15 +1531,15 @@ pub struct ITfActiveLanguageProfileNotifySink_Vtbl { impl ITfCandidateList { pub unsafe fn EnumCandidates(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCandidates)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCandidates)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCandidate(&self, nindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCandidate)(::windows_core::Interface::as_raw(self), nindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCandidate)(::windows_core::Interface::as_raw(self), nindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCandidateNum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCandidateNum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCandidateNum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetResult(&self, nindex: u32, imcr: TfCandidateResult) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetResult)(::windows_core::Interface::as_raw(self), nindex, imcr).ok() @@ -1559,11 +1559,11 @@ pub struct ITfCandidateList_Vtbl { impl ITfCandidateListUIElement { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -1573,27 +1573,27 @@ impl ITfCandidateListUIElement { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUpdatedFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetString(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPageIndex(&self, pindex: &mut [u32], pupagecnt: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetPageIndex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pindex.as_ptr()), pindex.len().try_into().unwrap(), pupagecnt).ok() @@ -1603,7 +1603,7 @@ impl ITfCandidateListUIElement { } pub unsafe fn GetCurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1624,11 +1624,11 @@ pub struct ITfCandidateListUIElement_Vtbl { impl ITfCandidateListUIElementBehavior { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -1638,27 +1638,27 @@ impl ITfCandidateListUIElementBehavior { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUpdatedFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCount(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCount)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetSelection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSelection)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetString(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPageIndex(&self, pindex: &mut [u32], pupagecnt: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetPageIndex)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pindex.as_ptr()), pindex.len().try_into().unwrap(), pupagecnt).ok() @@ -1668,7 +1668,7 @@ impl ITfCandidateListUIElementBehavior { } pub unsafe fn GetCurrentPage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentPage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetSelection(&self, nindex: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetSelection)(::windows_core::Interface::as_raw(self), nindex).ok() @@ -1693,11 +1693,11 @@ pub struct ITfCandidateListUIElementBehavior_Vtbl { impl ITfCandidateString { pub unsafe fn GetString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1719,12 +1719,12 @@ impl ITfCategoryMgr { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCategoriesInItem(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCategoriesInItem)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCategoriesInItem)(::windows_core::Interface::as_raw(self), rguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumItemsInCategory(&self, rcatid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumItemsInCategory)(::windows_core::Interface::as_raw(self), rcatid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumItemsInCategory)(::windows_core::Interface::as_raw(self), rcatid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindClosestCategory(&self, rguid: *const ::windows_core::GUID, pcatid: *mut ::windows_core::GUID, ppcatidlist: &[*const ::windows_core::GUID]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FindClosestCategory)(::windows_core::Interface::as_raw(self), rguid, pcatid, ::core::mem::transmute(ppcatidlist.as_ptr()), ppcatidlist.len().try_into().unwrap()).ok() @@ -1737,7 +1737,7 @@ impl ITfCategoryMgr { } pub unsafe fn GetGUIDDescription(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUIDDescription)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUIDDescription)(::windows_core::Interface::as_raw(self), rguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterGUIDDWORD(&self, rclsid: *const ::windows_core::GUID, rguid: *const ::windows_core::GUID, dw: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegisterGUIDDWORD)(::windows_core::Interface::as_raw(self), rclsid, rguid, dw).ok() @@ -1747,19 +1747,19 @@ impl ITfCategoryMgr { } pub unsafe fn GetGUIDDWORD(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUIDDWORD)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUIDDWORD)(::windows_core::Interface::as_raw(self), rguid, &mut result__).map(|| result__) } pub unsafe fn RegisterGUID(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RegisterGUID)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RegisterGUID)(::windows_core::Interface::as_raw(self), rguid, &mut result__).map(|| result__) } pub unsafe fn GetGUID(&self, guidatom: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), guidatom, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), guidatom, &mut result__).map(|| result__) } pub unsafe fn IsEqualTfGuidAtom(&self, guidatom: u32, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualTfGuidAtom)(::windows_core::Interface::as_raw(self), guidatom, rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualTfGuidAtom)(::windows_core::Interface::as_raw(self), guidatom, rguid, &mut result__).map(|| result__) } } #[repr(C)] @@ -1825,7 +1825,7 @@ pub struct ITfCleanupContextSink_Vtbl { impl ITfClientId { pub unsafe fn GetClientId(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetClientId)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetClientId)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).map(|| result__) } } #[repr(C)] @@ -1842,7 +1842,7 @@ impl ITfCompartment { } pub unsafe fn GetValue(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1870,7 +1870,7 @@ pub struct ITfCompartmentEventSink_Vtbl { impl ITfCompartmentMgr { pub unsafe fn GetCompartment(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCompartment)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCompartment)(::windows_core::Interface::as_raw(self), rguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ClearCompartment(&self, tid: u32, rguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ClearCompartment)(::windows_core::Interface::as_raw(self), tid, rguid).ok() @@ -1878,7 +1878,7 @@ impl ITfCompartmentMgr { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumCompartments(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCompartments)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCompartments)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1897,7 +1897,7 @@ pub struct ITfCompartmentMgr_Vtbl { impl ITfComposition { pub unsafe fn GetRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ShiftStart(&self, ecwrite: u32, pnewstart: P0) -> ::windows_core::Result<()> where @@ -1945,11 +1945,11 @@ pub struct ITfCompositionSink_Vtbl { impl ITfCompositionView { pub unsafe fn GetOwnerClsid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOwnerClsid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOwnerClsid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetRange(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRange)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1984,11 +1984,11 @@ impl ITfContext { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).RequestEditSession)(::windows_core::Interface::as_raw(self), tid, pes.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).RequestEditSession)(::windows_core::Interface::as_raw(self), tid, pes.into_param().abi(), dwflags, &mut result__).map(|| result__) } pub unsafe fn InWriteSession(&self, tid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InWriteSession)(::windows_core::Interface::as_raw(self), tid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InWriteSession)(::windows_core::Interface::as_raw(self), tid, &mut result__).map(|| result__) } pub unsafe fn GetSelection(&self, ec: u32, ulindex: u32, pselection: &mut [TF_SELECTION], pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetSelection)(::windows_core::Interface::as_raw(self), ec, ulindex, pselection.len().try_into().unwrap(), ::core::mem::transmute(pselection.as_ptr()), pcfetched).ok() @@ -1998,50 +1998,50 @@ impl ITfContext { } pub unsafe fn GetStart(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStart)(::windows_core::Interface::as_raw(self), ec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEnd(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEnd)(::windows_core::Interface::as_raw(self), ec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActiveView(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveView)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumViews(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumViews)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumViews)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetProperty(&self, guidprop: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), guidprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), guidprop, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAppProperty(&self, guidprop: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAppProperty)(::windows_core::Interface::as_raw(self), guidprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAppProperty)(::windows_core::Interface::as_raw(self), guidprop, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TrackProperties(&self, prgprop: &[*const ::windows_core::GUID], prgappprop: &[*const ::windows_core::GUID]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TrackProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(prgprop.as_ptr()), prgprop.len().try_into().unwrap(), ::core::mem::transmute(prgappprop.as_ptr()), prgappprop.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TrackProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(prgprop.as_ptr()), prgprop.len().try_into().unwrap(), ::core::mem::transmute(prgappprop.as_ptr()), prgappprop.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumProperties(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumProperties)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateRangeBackup(&self, ec: u32, prange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRangeBackup)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRangeBackup)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2073,18 +2073,18 @@ impl ITfContextComposition { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).StartComposition)(::windows_core::Interface::as_raw(self), ecwrite, pcompositionrange.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).StartComposition)(::windows_core::Interface::as_raw(self), ecwrite, pcompositionrange.into_param().abi(), psink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumCompositions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumCompositions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumCompositions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindComposition(&self, ecread: u32, ptestrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindComposition)(::windows_core::Interface::as_raw(self), ecread, ptestrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindComposition)(::windows_core::Interface::as_raw(self), ecread, ptestrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TakeOwnership(&self, ecwrite: u32, pcomposition: P0, psink: P1) -> ::windows_core::Result where @@ -2092,7 +2092,7 @@ impl ITfContextComposition { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TakeOwnership)(::windows_core::Interface::as_raw(self), ecwrite, pcomposition.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TakeOwnership)(::windows_core::Interface::as_raw(self), ecwrite, pcomposition.into_param().abi(), psink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2113,7 +2113,7 @@ impl ITfContextKeyEventSink { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnKeyUp(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -2121,7 +2121,7 @@ impl ITfContextKeyEventSink { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnTestKeyDown(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -2129,7 +2129,7 @@ impl ITfContextKeyEventSink { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTestKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTestKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnTestKeyUp(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -2137,7 +2137,7 @@ impl ITfContextKeyEventSink { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTestKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTestKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2154,26 +2154,26 @@ pub struct ITfContextKeyEventSink_Vtbl { impl ITfContextOwner { pub unsafe fn GetACPFromPoint(&self, ptscreen: *const super::super::Foundation::POINT, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), ptscreen, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetACPFromPoint)(::windows_core::Interface::as_raw(self), ptscreen, dwflags, &mut result__).map(|| result__) } pub unsafe fn GetTextExt(&self, acpstart: i32, acpend: i32, prc: *mut super::super::Foundation::RECT, pfclipped: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTextExt)(::windows_core::Interface::as_raw(self), acpstart, acpend, prc, pfclipped).ok() } pub unsafe fn GetScreenExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetAttribute(&self, rguidattribute: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), rguidattribute, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAttribute)(::windows_core::Interface::as_raw(self), rguidattribute, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2196,18 +2196,18 @@ impl ITfContextOwnerCompositionServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.StartComposition)(::windows_core::Interface::as_raw(self), ecwrite, pcompositionrange.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.StartComposition)(::windows_core::Interface::as_raw(self), ecwrite, pcompositionrange.into_param().abi(), psink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumCompositions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumCompositions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumCompositions)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindComposition(&self, ecread: u32, ptestrange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindComposition)(::windows_core::Interface::as_raw(self), ecread, ptestrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindComposition)(::windows_core::Interface::as_raw(self), ecread, ptestrange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TakeOwnership(&self, ecwrite: u32, pcomposition: P0, psink: P1) -> ::windows_core::Result where @@ -2215,7 +2215,7 @@ impl ITfContextOwnerCompositionServices { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.TakeOwnership)(::windows_core::Interface::as_raw(self), ecwrite, pcomposition.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.TakeOwnership)(::windows_core::Interface::as_raw(self), ecwrite, pcomposition.into_param().abi(), psink.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TerminateComposition(&self, pcomposition: P0) -> ::windows_core::Result<()> where @@ -2238,7 +2238,7 @@ impl ITfContextOwnerCompositionSink { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnStartComposition)(::windows_core::Interface::as_raw(self), pcomposition.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnStartComposition)(::windows_core::Interface::as_raw(self), pcomposition.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnUpdateComposition(&self, pcomposition: P0, prangenew: P1) -> ::windows_core::Result<()> where @@ -2300,7 +2300,7 @@ impl ITfContextOwnerServices { } pub unsafe fn CreateRange(&self, acpstart: i32, acpend: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateRange)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateRange)(::windows_core::Interface::as_raw(self), acpstart, acpend, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2326,7 +2326,7 @@ pub struct ITfContextOwnerServices_Vtbl { impl ITfContextView { pub unsafe fn GetRangeFromPoint(&self, ec: u32, ppt: *const super::super::Foundation::POINT, dwflags: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRangeFromPoint)(::windows_core::Interface::as_raw(self), ec, ppt, dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRangeFromPoint)(::windows_core::Interface::as_raw(self), ec, ppt, dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTextExt(&self, ec: u32, prange: P0, prc: *mut super::super::Foundation::RECT, pfclipped: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2336,11 +2336,11 @@ impl ITfContextView { } pub unsafe fn GetScreenExt(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetScreenExt)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetWnd(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetWnd)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2361,7 +2361,7 @@ impl ITfCreatePropertyStore { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsStoreSerializable)(::windows_core::Interface::as_raw(self), guidprop, prange.into_param().abi(), ppropstore.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsStoreSerializable)(::windows_core::Interface::as_raw(self), guidprop, prange.into_param().abi(), ppropstore.into_param().abi(), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn CreatePropertyStore(&self, guidprop: *const ::windows_core::GUID, prange: P0, cb: u32, pstream: P1) -> ::windows_core::Result @@ -2370,7 +2370,7 @@ impl ITfCreatePropertyStore { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreatePropertyStore)(::windows_core::Interface::as_raw(self), guidprop, prange.into_param().abi(), cb, pstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreatePropertyStore)(::windows_core::Interface::as_raw(self), guidprop, prange.into_param().abi(), cb, pstream.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2388,11 +2388,11 @@ pub struct ITfCreatePropertyStore_Vtbl { impl ITfDisplayAttributeInfo { pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAttributeInfo(&self, pda: *mut TF_DISPLAYATTRIBUTE) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetAttributeInfo)(::windows_core::Interface::as_raw(self), pda).ok() @@ -2422,7 +2422,7 @@ impl ITfDisplayAttributeMgr { } pub unsafe fn EnumDisplayAttributeInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayAttributeInfo(&self, guid: *const ::windows_core::GUID, ppinfo: *mut ::core::option::Option, pclsidowner: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), guid, ::core::mem::transmute(ppinfo), pclsidowner).ok() @@ -2454,11 +2454,11 @@ pub struct ITfDisplayAttributeNotifySink_Vtbl { impl ITfDisplayAttributeProvider { pub unsafe fn EnumDisplayAttributeInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayAttributeInfo(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayAttributeInfo)(::windows_core::Interface::as_raw(self), guid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2488,15 +2488,15 @@ impl ITfDocumentMgr { } pub unsafe fn GetTop(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTop)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTop)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetBase(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBase)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBase)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumContexts(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumContexts)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumContexts)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2515,11 +2515,11 @@ pub struct ITfDocumentMgr_Vtbl { impl ITfEditRecord { pub unsafe fn GetSelectionStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectionStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectionStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTextAndPropertyUpdates(&self, dwflags: GET_TEXT_AND_PROPERTY_UPDATES_FLAGS, prgproperties: &[*const ::windows_core::GUID]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTextAndPropertyUpdates)(::windows_core::Interface::as_raw(self), dwflags, ::core::mem::transmute(prgproperties.as_ptr()), prgproperties.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTextAndPropertyUpdates)(::windows_core::Interface::as_raw(self), dwflags, ::core::mem::transmute(prgproperties.as_ptr()), prgproperties.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2570,7 +2570,7 @@ pub struct ITfEditTransactionSink_Vtbl { impl ITfFnAdviseText { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnTextUpdate(&self, prange: P0, pchtext: &[u16]) -> ::windows_core::Result<()> where @@ -2611,7 +2611,7 @@ pub struct ITfFnBalloon_Vtbl { impl ITfFnConfigure { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Show(&self, hwndparent: P0, langid: u16, rguidprofile: *const ::windows_core::GUID) -> ::windows_core::Result<()> where @@ -2631,7 +2631,7 @@ pub struct ITfFnConfigure_Vtbl { impl ITfFnConfigureRegisterEudc { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Show(&self, hwndparent: P0, langid: u16, rguidprofile: *const ::windows_core::GUID, bstrregistered: P1) -> ::windows_core::Result<()> where @@ -2652,7 +2652,7 @@ pub struct ITfFnConfigureRegisterEudc_Vtbl { impl ITfFnConfigureRegisterWord { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Show(&self, hwndparent: P0, langid: u16, rguidprofile: *const ::windows_core::GUID, bstrregistered: P1) -> ::windows_core::Result<()> where @@ -2673,7 +2673,7 @@ pub struct ITfFnConfigureRegisterWord_Vtbl { impl ITfFnCustomSpeechCommand { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetSpeechCommandProvider(&self, pspcmdprovider: P0) -> ::windows_core::Result<()> where @@ -2693,14 +2693,14 @@ pub struct ITfFnCustomSpeechCommand_Vtbl { impl ITfFnGetLinguisticAlternates { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetAlternates(&self, prange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAlternates)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAlternates)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2714,7 +2714,7 @@ pub struct ITfFnGetLinguisticAlternates_Vtbl { impl ITfFnGetPreferredTouchKeyboardLayout { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetLayout(&self, ptkblayouttype: *mut TKBLayoutType, pwpreferredlayoutid: *const u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetLayout)(::windows_core::Interface::as_raw(self), ptkblayouttype, pwpreferredlayoutid).ok() @@ -2731,11 +2731,11 @@ pub struct ITfFnGetPreferredTouchKeyboardLayout_Vtbl { impl ITfFnGetSAPIObject { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Get(&self, sobj: TfSapiObject) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), sobj, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Get)(::windows_core::Interface::as_raw(self), sobj, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2749,7 +2749,7 @@ pub struct ITfFnGetSAPIObject_Vtbl { impl ITfFnLMInternal { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryRange(&self, prange: P0, ppnewrange: *mut ::core::option::Option, pfaccepted: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2759,14 +2759,14 @@ impl ITfFnLMInternal { } pub unsafe fn QueryLangID(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryLangID)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryLangID)(::windows_core::Interface::as_raw(self), langid, &mut result__).map(|| result__) } pub unsafe fn GetReconversion(&self, prange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reconvert(&self, prange: P0) -> ::windows_core::Result<()> where @@ -2781,7 +2781,7 @@ impl ITfFnLMInternal { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.QueryKey)(::windows_core::Interface::as_raw(self), fup.into_param().abi(), vkey.into_param().abi(), lparamkeydata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.QueryKey)(::windows_core::Interface::as_raw(self), fup.into_param().abi(), vkey.into_param().abi(), lparamkeydata.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InvokeKey(&self, fup: P0, vkey: P1, lparamkeydata: P2) -> ::windows_core::Result<()> where @@ -2815,7 +2815,7 @@ pub struct ITfFnLMInternal_Vtbl { impl ITfFnLMProcessor { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryRange(&self, prange: P0, ppnewrange: *mut ::core::option::Option, pfaccepted: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2825,14 +2825,14 @@ impl ITfFnLMProcessor { } pub unsafe fn QueryLangID(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryLangID)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryLangID)(::windows_core::Interface::as_raw(self), langid, &mut result__).map(|| result__) } pub unsafe fn GetReconversion(&self, prange: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reconvert(&self, prange: P0) -> ::windows_core::Result<()> where @@ -2847,7 +2847,7 @@ impl ITfFnLMProcessor { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryKey)(::windows_core::Interface::as_raw(self), fup.into_param().abi(), vkey.into_param().abi(), lparamkeydata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryKey)(::windows_core::Interface::as_raw(self), fup.into_param().abi(), vkey.into_param().abi(), lparamkeydata.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn InvokeKey(&self, fup: P0, vkey: P1, lparamkeydata: P2) -> ::windows_core::Result<()> where @@ -2881,14 +2881,14 @@ pub struct ITfFnLMProcessor_Vtbl { impl ITfFnLangProfileUtil { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn RegisterActiveProfiles(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RegisterActiveProfiles)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn IsProfileAvailableForLang(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsProfileAvailableForLang)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsProfileAvailableForLang)(::windows_core::Interface::as_raw(self), langid, &mut result__).map(|| result__) } } #[repr(C)] @@ -2903,7 +2903,7 @@ pub struct ITfFnLangProfileUtil_Vtbl { impl ITfFnPlayBack { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryRange(&self, prange: P0, ppnewrange: *mut ::core::option::Option, pfplayable: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2930,11 +2930,11 @@ pub struct ITfFnPlayBack_Vtbl { impl ITfFnPropertyUIStatus { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetStatus(&self, refguidprop: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), refguidprop, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), refguidprop, &mut result__).map(|| result__) } pub unsafe fn SetStatus(&self, refguidprop: *const ::windows_core::GUID, dw: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), refguidprop, dw).ok() @@ -2952,7 +2952,7 @@ pub struct ITfFnPropertyUIStatus_Vtbl { impl ITfFnReconversion { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn QueryRange(&self, prange: P0, ppnewrange: *mut ::core::option::Option, pfconvertable: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> where @@ -2965,7 +2965,7 @@ impl ITfFnReconversion { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReconversion)(::windows_core::Interface::as_raw(self), prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Reconvert(&self, prange: P0) -> ::windows_core::Result<()> where @@ -2987,7 +2987,7 @@ pub struct ITfFnReconversion_Vtbl { impl ITfFnSearchCandidateProvider { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSearchCandidates(&self, bstrquery: P0, bstrapplicationid: P1) -> ::windows_core::Result where @@ -2995,7 +2995,7 @@ impl ITfFnSearchCandidateProvider { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSearchCandidates)(::windows_core::Interface::as_raw(self), bstrquery.into_param().abi(), bstrapplicationid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSearchCandidates)(::windows_core::Interface::as_raw(self), bstrquery.into_param().abi(), bstrapplicationid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetResult(&self, bstrquery: P0, bstrapplicationid: P1, bstrresult: P2) -> ::windows_core::Result<()> where @@ -3018,7 +3018,7 @@ pub struct ITfFnSearchCandidateProvider_Vtbl { impl ITfFnShowHelp { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Show(&self, hwndparent: P0) -> ::windows_core::Result<()> where @@ -3038,7 +3038,7 @@ pub struct ITfFnShowHelp_Vtbl { impl ITfFunction { pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3052,15 +3052,15 @@ pub struct ITfFunction_Vtbl { impl ITfFunctionProvider { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFunction(&self, rguid: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunction)(::windows_core::Interface::as_raw(self), rguid, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunction)(::windows_core::Interface::as_raw(self), rguid, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3110,7 +3110,7 @@ impl ITfInputProcessorProfileMgr { } pub unsafe fn EnumProfiles(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ReleaseInputProcessor(&self, rclsid: *const ::windows_core::GUID, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ReleaseInputProcessor)(::windows_core::Interface::as_raw(self), rclsid, dwflags).ok() @@ -3147,7 +3147,7 @@ pub struct ITfInputProcessorProfileMgr_Vtbl { impl ITfInputProcessorProfileSubstituteLayout { pub unsafe fn GetSubstituteKeyboardLayout(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubstituteKeyboardLayout)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubstituteKeyboardLayout)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).map(|| result__) } } #[repr(C)] @@ -3174,7 +3174,7 @@ impl ITfInputProcessorProfiles { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumInputProcessorInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumInputProcessorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumInputProcessorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultLanguageProfile(&self, langid: u16, catid: *const ::windows_core::GUID, pclsid: *mut ::windows_core::GUID, pguidprofile: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetDefaultLanguageProfile)(::windows_core::Interface::as_raw(self), langid, catid, pclsid, pguidprofile).ok() @@ -3190,11 +3190,11 @@ impl ITfInputProcessorProfiles { } pub unsafe fn GetLanguageProfileDescription(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLanguageProfileDescription)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLanguageProfileDescription)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCurrentLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCurrentLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCurrentLanguage(&self, langid: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ChangeCurrentLanguage)(::windows_core::Interface::as_raw(self), langid).ok() @@ -3204,7 +3204,7 @@ impl ITfInputProcessorProfiles { } pub unsafe fn EnumLanguageProfiles(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumLanguageProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumLanguageProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableLanguageProfile(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID, fenable: P0) -> ::windows_core::Result<()> where @@ -3214,7 +3214,7 @@ impl ITfInputProcessorProfiles { } pub unsafe fn IsEnabledLanguageProfile(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEnabledLanguageProfile)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEnabledLanguageProfile)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).map(|| result__) } pub unsafe fn EnableLanguageProfileByDefault(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID, fenable: P0) -> ::windows_core::Result<()> where @@ -3273,7 +3273,7 @@ impl ITfInputProcessorProfilesEx { #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumInputProcessorInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumInputProcessorInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumInputProcessorInfo)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDefaultLanguageProfile(&self, langid: u16, catid: *const ::windows_core::GUID, pclsid: *mut ::windows_core::GUID, pguidprofile: *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetDefaultLanguageProfile)(::windows_core::Interface::as_raw(self), langid, catid, pclsid, pguidprofile).ok() @@ -3289,11 +3289,11 @@ impl ITfInputProcessorProfilesEx { } pub unsafe fn GetLanguageProfileDescription(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetLanguageProfileDescription)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetLanguageProfileDescription)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCurrentLanguage(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetCurrentLanguage)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetCurrentLanguage)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn ChangeCurrentLanguage(&self, langid: u16) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.ChangeCurrentLanguage)(::windows_core::Interface::as_raw(self), langid).ok() @@ -3303,7 +3303,7 @@ impl ITfInputProcessorProfilesEx { } pub unsafe fn EnumLanguageProfiles(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumLanguageProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumLanguageProfiles)(::windows_core::Interface::as_raw(self), langid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnableLanguageProfile(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID, fenable: P0) -> ::windows_core::Result<()> where @@ -3313,7 +3313,7 @@ impl ITfInputProcessorProfilesEx { } pub unsafe fn IsEnabledLanguageProfile(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEnabledLanguageProfile)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEnabledLanguageProfile)(::windows_core::Interface::as_raw(self), rclsid, langid, guidprofile, &mut result__).map(|| result__) } pub unsafe fn EnableLanguageProfileByDefault(&self, rclsid: *const ::windows_core::GUID, langid: u16, guidprofile: *const ::windows_core::GUID, fenable: P0) -> ::windows_core::Result<()> where @@ -3348,15 +3348,15 @@ impl ITfInputScope { } pub unsafe fn GetRegularExpression(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRegularExpression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRegularExpression)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSRGS(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSRGS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSRGS)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXML(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3380,20 +3380,20 @@ impl ITfInputScope2 { } pub unsafe fn GetRegularExpression(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetRegularExpression)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetRegularExpression)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetSRGS(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSRGS)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSRGS)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetXML(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetXML)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetXML)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn EnumWordList(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumWordList)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumWordList)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3410,7 +3410,7 @@ pub struct ITfInputScope2_Vtbl { impl ITfInsertAtSelection { pub unsafe fn InsertTextAtSelection(&self, ec: u32, dwflags: INSERT_TEXT_AT_SELECTION_FLAGS, pchtext: &[u16]) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertTextAtSelection)(::windows_core::Interface::as_raw(self), ec, dwflags, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertTextAtSelection)(::windows_core::Interface::as_raw(self), ec, dwflags, ::core::mem::transmute(pchtext.as_ptr()), pchtext.len().try_into().unwrap(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbeddedAtSelection(&self, ec: u32, dwflags: u32, pdataobject: P0) -> ::windows_core::Result @@ -3418,7 +3418,7 @@ impl ITfInsertAtSelection { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InsertEmbeddedAtSelection)(::windows_core::Interface::as_raw(self), ec, dwflags, pdataobject.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InsertEmbeddedAtSelection)(::windows_core::Interface::as_raw(self), ec, dwflags, pdataobject.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3439,7 +3439,7 @@ impl ITfIntegratableCandidateListUIElement { } pub unsafe fn GetSelectionStyle(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSelectionStyle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSelectionStyle)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnKeyDown(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -3447,11 +3447,11 @@ impl ITfIntegratableCandidateListUIElement { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn ShowCandidateNumbers(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowCandidateNumbers)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowCandidateNumbers)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FinalizeExactCompositionString(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FinalizeExactCompositionString)(::windows_core::Interface::as_raw(self)).ok() @@ -3483,7 +3483,7 @@ impl ITfKeyEventSink { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTestKeyDown)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTestKeyDown)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnTestKeyUp(&self, pic: P0, wparam: P1, lparam: P2) -> ::windows_core::Result where @@ -3492,7 +3492,7 @@ impl ITfKeyEventSink { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTestKeyUp)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTestKeyUp)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnKeyDown(&self, pic: P0, wparam: P1, lparam: P2) -> ::windows_core::Result where @@ -3501,7 +3501,7 @@ impl ITfKeyEventSink { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnKeyDown)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnKeyUp(&self, pic: P0, wparam: P1, lparam: P2) -> ::windows_core::Result where @@ -3510,14 +3510,14 @@ impl ITfKeyEventSink { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnKeyUp)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnKeyUp)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn OnPreservedKey(&self, pic: P0, rguid: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnPreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnPreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), rguid, &mut result__).map(|| result__) } } #[repr(C)] @@ -3571,7 +3571,7 @@ impl ITfKeystrokeMgr { } pub unsafe fn GetForeground(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetForeground)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetForeground)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn TestKeyDown(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -3579,7 +3579,7 @@ impl ITfKeystrokeMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TestKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TestKeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn TestKeyUp(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -3587,7 +3587,7 @@ impl ITfKeystrokeMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).TestKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).TestKeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn KeyDown(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -3595,7 +3595,7 @@ impl ITfKeystrokeMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyDown)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn KeyUp(&self, wparam: P0, lparam: P1) -> ::windows_core::Result where @@ -3603,18 +3603,18 @@ impl ITfKeystrokeMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).KeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).KeyUp)(::windows_core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetPreservedKey(&self, pic: P0, pprekey: *const TF_PRESERVEDKEY) -> ::windows_core::Result<::windows_core::GUID> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), pprekey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), pprekey, &mut result__).map(|| result__) } pub unsafe fn IsPreservedKey(&self, rguid: *const ::windows_core::GUID, pprekey: *const TF_PRESERVEDKEY) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsPreservedKey)(::windows_core::Interface::as_raw(self), rguid, pprekey, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsPreservedKey)(::windows_core::Interface::as_raw(self), rguid, pprekey, &mut result__).map(|| result__) } pub unsafe fn PreserveKey(&self, tid: u32, rguid: *const ::windows_core::GUID, prekey: *const TF_PRESERVEDKEY, pchdesc: &[u16]) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).PreserveKey)(::windows_core::Interface::as_raw(self), tid, rguid, prekey, ::core::mem::transmute(pchdesc.as_ptr()), pchdesc.len().try_into().unwrap()).ok() @@ -3627,14 +3627,14 @@ impl ITfKeystrokeMgr { } pub unsafe fn GetPreservedKeyDescription(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreservedKeyDescription)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreservedKeyDescription)(::windows_core::Interface::as_raw(self), rguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SimulatePreservedKey(&self, pic: P0, rguid: *const ::windows_core::GUID) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).SimulatePreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).SimulatePreservedKey)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), rguid, &mut result__).map(|| result__) } } #[repr(C)] @@ -3661,11 +3661,11 @@ pub struct ITfKeystrokeMgr_Vtbl { impl ITfLMLattice { pub unsafe fn QueryType(&self, rguidtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryType)(::windows_core::Interface::as_raw(self), rguidtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryType)(::windows_core::Interface::as_raw(self), rguidtype, &mut result__).map(|| result__) } pub unsafe fn EnumLatticeElements(&self, dwframestart: u32, rguidtype: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumLatticeElements)(::windows_core::Interface::as_raw(self), dwframestart, rguidtype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumLatticeElements)(::windows_core::Interface::as_raw(self), dwframestart, rguidtype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3699,7 +3699,7 @@ impl ITfLangBarEventSink { } pub unsafe fn GetItemFloatingRect(&self, dwthreadid: u32, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFloatingRect)(::windows_core::Interface::as_raw(self), dwthreadid, rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFloatingRect)(::windows_core::Interface::as_raw(self), dwthreadid, rguid, &mut result__).map(|| result__) } } #[repr(C)] @@ -3721,7 +3721,7 @@ impl ITfLangBarItem { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, fshow: P0) -> ::windows_core::Result<()> where @@ -3731,7 +3731,7 @@ impl ITfLangBarItem { } pub unsafe fn GetTooltipString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3751,7 +3751,7 @@ impl ITfLangBarItemBalloon { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, fshow: P0) -> ::windows_core::Result<()> where @@ -3761,18 +3761,18 @@ impl ITfLangBarItemBalloon { } pub unsafe fn GetTooltipString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnClick(&self, click: TfLBIClick, pt: super::super::Foundation::POINT, prcarea: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnClick)(::windows_core::Interface::as_raw(self), click, ::core::mem::transmute(pt), prcarea).ok() } pub unsafe fn GetPreferredSize(&self, pszdefault: *const super::super::Foundation::SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).map(|| result__) } pub unsafe fn GetBalloonInfo(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBalloonInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBalloonInfo)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3791,7 +3791,7 @@ impl ITfLangBarItemBitmap { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, fshow: P0) -> ::windows_core::Result<()> where @@ -3801,14 +3801,14 @@ impl ITfLangBarItemBitmap { } pub unsafe fn GetTooltipString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnClick(&self, click: TfLBIClick, pt: super::super::Foundation::POINT, prcarea: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnClick)(::windows_core::Interface::as_raw(self), click, ::core::mem::transmute(pt), prcarea).ok() } pub unsafe fn GetPreferredSize(&self, pszdefault: *const super::super::Foundation::SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn DrawBitmap(&self, bmwidth: i32, bmheight: i32, dwflags: u32, phbmp: *mut super::super::Graphics::Gdi::HBITMAP, phbmpmask: *mut super::super::Graphics::Gdi::HBITMAP) -> ::windows_core::Result<()> { @@ -3834,7 +3834,7 @@ impl ITfLangBarItemBitmapButton { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, fshow: P0) -> ::windows_core::Result<()> where @@ -3844,7 +3844,7 @@ impl ITfLangBarItemBitmapButton { } pub unsafe fn GetTooltipString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnClick(&self, click: TfLBIClick, pt: super::super::Foundation::POINT, prcarea: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnClick)(::windows_core::Interface::as_raw(self), click, ::core::mem::transmute(pt), prcarea).ok() @@ -3860,7 +3860,7 @@ impl ITfLangBarItemBitmapButton { } pub unsafe fn GetPreferredSize(&self, pszdefault: *const super::super::Foundation::SIZE) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPreferredSize)(::windows_core::Interface::as_raw(self), pszdefault, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Gdi")] pub unsafe fn DrawBitmap(&self, bmwidth: i32, bmheight: i32, dwflags: u32, phbmp: *mut super::super::Graphics::Gdi::HBITMAP, phbmpmask: *mut super::super::Graphics::Gdi::HBITMAP) -> ::windows_core::Result<()> { @@ -3868,7 +3868,7 @@ impl ITfLangBarItemBitmapButton { } pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3893,7 +3893,7 @@ impl ITfLangBarItemButton { } pub unsafe fn GetStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, fshow: P0) -> ::windows_core::Result<()> where @@ -3903,7 +3903,7 @@ impl ITfLangBarItemButton { } pub unsafe fn GetTooltipString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTooltipString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnClick(&self, click: TfLBIClick, pt: super::super::Foundation::POINT, prcarea: *const super::super::Foundation::RECT) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnClick)(::windows_core::Interface::as_raw(self), click, ::core::mem::transmute(pt), prcarea).ok() @@ -3920,11 +3920,11 @@ impl ITfLangBarItemButton { #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetIcon(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3945,11 +3945,11 @@ pub struct ITfLangBarItemButton_Vtbl { impl ITfLangBarItemMgr { pub unsafe fn EnumItems(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumItems)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetItem(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItem)(::windows_core::Interface::as_raw(self), rguid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn AddItem(&self, punk: P0) -> ::windows_core::Result<()> where @@ -3974,14 +3974,14 @@ impl ITfLangBarItemMgr { } pub unsafe fn GetItemFloatingRect(&self, dwthreadid: u32, rguid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemFloatingRect)(::windows_core::Interface::as_raw(self), dwthreadid, rguid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemFloatingRect)(::windows_core::Interface::as_raw(self), dwthreadid, rguid, &mut result__).map(|| result__) } pub unsafe fn GetItemsStatus(&self, ulcount: u32, prgguid: *const ::windows_core::GUID, pdwstatus: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetItemsStatus)(::windows_core::Interface::as_raw(self), ulcount, prgguid, pdwstatus).ok() } pub unsafe fn GetItemNum(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemNum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemNum)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetItems(&self, ulcount: u32, ppitem: *mut ::core::option::Option, pinfo: *mut TF_LANGBARITEMINFO, pdwstatus: *mut u32, pcfetched: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetItems)(::windows_core::Interface::as_raw(self), ulcount, ::core::mem::transmute(ppitem), pinfo, pdwstatus, pcfetched).ok() @@ -4038,7 +4038,7 @@ impl ITfLangBarMgr { } pub unsafe fn GetThreadMarshalInterface(&self, dwthreadid: u32, dwtype: u32, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetThreadMarshalInterface)(::windows_core::Interface::as_raw(self), dwthreadid, dwtype, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetThreadMarshalInterface)(::windows_core::Interface::as_raw(self), dwthreadid, dwtype, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetThreadLangBarItemMgr(&self, dwthreadid: u32, pplbi: *mut ::core::option::Option, pdwthreadid: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetThreadLangBarItemMgr)(::windows_core::Interface::as_raw(self), dwthreadid, ::core::mem::transmute(pplbi), pdwthreadid).ok() @@ -4063,7 +4063,7 @@ impl ITfLangBarMgr { } pub unsafe fn GetShowFloatingStatus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetShowFloatingStatus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetShowFloatingStatus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4085,7 +4085,7 @@ pub struct ITfLangBarMgr_Vtbl { impl ITfLanguageProfileNotifySink { pub unsafe fn OnLanguageChange(&self, langid: u16) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnLanguageChange)(::windows_core::Interface::as_raw(self), langid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnLanguageChange)(::windows_core::Interface::as_raw(self), langid, &mut result__).map(|| result__) } pub unsafe fn OnLanguageChanged(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnLanguageChanged)(::windows_core::Interface::as_raw(self)).ok() @@ -4194,7 +4194,7 @@ pub struct ITfMessagePump_Vtbl { impl ITfMouseSink { pub unsafe fn OnMouseEvent(&self, uedge: u32, uquadrant: u32, dwbtnstatus: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnMouseEvent)(::windows_core::Interface::as_raw(self), uedge, uquadrant, dwbtnstatus, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnMouseEvent)(::windows_core::Interface::as_raw(self), uedge, uquadrant, dwbtnstatus, &mut result__).map(|| result__) } } #[repr(C)] @@ -4212,7 +4212,7 @@ impl ITfMouseTracker { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdviseMouseSink)(::windows_core::Interface::as_raw(self), range.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdviseMouseSink)(::windows_core::Interface::as_raw(self), range.into_param().abi(), psink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnadviseMouseSink(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnadviseMouseSink)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -4234,7 +4234,7 @@ impl ITfMouseTrackerACP { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdviseMouseSink)(::windows_core::Interface::as_raw(self), range.into_param().abi(), psink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdviseMouseSink)(::windows_core::Interface::as_raw(self), range.into_param().abi(), psink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnadviseMouseSink(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnadviseMouseSink)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -4253,7 +4253,7 @@ impl ITfPersistentPropertyLoaderACP { #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadProperty(&self, phdr: *const TF_PERSISTENT_PROPERTY_HEADER_ACP) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).LoadProperty)(::windows_core::Interface::as_raw(self), phdr, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).LoadProperty)(::windows_core::Interface::as_raw(self), phdr, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4283,7 +4283,7 @@ pub struct ITfPreservedKeyNotifySink_Vtbl { impl ITfProperty { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumRanges(&self, ec: u32, ppenum: *mut ::core::option::Option, ptargetrange: P0) -> ::windows_core::Result<()> where @@ -4296,11 +4296,11 @@ impl ITfProperty { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetValue)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindRange(&self, ec: u32, prange: P0, pprange: *mut ::core::option::Option, apos: TfAnchor) -> ::windows_core::Result<()> where @@ -4342,29 +4342,29 @@ pub struct ITfProperty_Vtbl { impl ITfPropertyStore { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDataType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDataType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetData(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnTextUpdated(&self, dwflags: u32, prangenew: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTextUpdated)(::windows_core::Interface::as_raw(self), dwflags, prangenew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTextUpdated)(::windows_core::Interface::as_raw(self), dwflags, prangenew.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Shrink(&self, prangenew: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), prangenew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Shrink)(::windows_core::Interface::as_raw(self), prangenew.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Divide(&self, prangethis: P0, prangenew: P1) -> ::windows_core::Result where @@ -4372,15 +4372,15 @@ impl ITfPropertyStore { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Divide)(::windows_core::Interface::as_raw(self), prangethis.into_param().abi(), prangenew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Divide)(::windows_core::Interface::as_raw(self), prangethis.into_param().abi(), prangenew.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetPropertyRangeCreator(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPropertyRangeCreator)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPropertyRangeCreator)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn Serialize(&self, pstream: P0) -> ::windows_core::Result @@ -4388,7 +4388,7 @@ impl ITfPropertyStore { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), pstream.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -4414,7 +4414,7 @@ impl ITfQueryEmbedded { #[cfg(feature = "Win32_System_Com")] pub unsafe fn QueryInsertEmbedded(&self, pguidservice: *const ::windows_core::GUID, pformatetc: *const super::super::System::Com::FORMATETC) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).QueryInsertEmbedded)(::windows_core::Interface::as_raw(self), pguidservice, pformatetc, &mut result__).map(|| result__) } } #[repr(C)] @@ -4438,11 +4438,11 @@ impl ITfRange { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormattedText)(::windows_core::Interface::as_raw(self), ec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEmbedded(&self, ec: u32, rguidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), ec, rguidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetEmbedded)(::windows_core::Interface::as_raw(self), ec, rguidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbedded(&self, ec: u32, dwflags: u32, pdataobject: P0) -> ::windows_core::Result<()> @@ -4471,15 +4471,15 @@ impl ITfRange { } pub unsafe fn ShiftStartRegion(&self, ec: u32, dir: TfShiftDir) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShiftStartRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShiftStartRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).map(|| result__) } pub unsafe fn ShiftEndRegion(&self, ec: u32, dir: TfShiftDir) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShiftEndRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShiftEndRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).map(|| result__) } pub unsafe fn IsEmpty(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEmpty)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEmpty)(::windows_core::Interface::as_raw(self), ec, &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, ec: u32, apos: TfAnchor) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Collapse)(::windows_core::Interface::as_raw(self), ec, apos).ok() @@ -4489,32 +4489,32 @@ impl ITfRange { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn IsEqualEnd(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEqualEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEqualEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn CompareStart(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn CompareEnd(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CompareEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CompareEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn AdjustForInsert(&self, ec: u32, cchinsert: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdjustForInsert)(::windows_core::Interface::as_raw(self), ec, cchinsert, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdjustForInsert)(::windows_core::Interface::as_raw(self), ec, cchinsert, &mut result__).map(|| result__) } pub unsafe fn GetGravity(&self, pgstart: *mut TfGravity, pgend: *mut TfGravity) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetGravity)(::windows_core::Interface::as_raw(self), pgstart, pgend).ok() @@ -4524,11 +4524,11 @@ impl ITfRange { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4576,11 +4576,11 @@ impl ITfRangeACP { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetFormattedText(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormattedText)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormattedText)(::windows_core::Interface::as_raw(self), ec, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetEmbedded(&self, ec: u32, rguidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetEmbedded)(::windows_core::Interface::as_raw(self), ec, rguidservice, riid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetEmbedded)(::windows_core::Interface::as_raw(self), ec, rguidservice, riid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn InsertEmbedded(&self, ec: u32, dwflags: u32, pdataobject: P0) -> ::windows_core::Result<()> @@ -4609,15 +4609,15 @@ impl ITfRangeACP { } pub unsafe fn ShiftStartRegion(&self, ec: u32, dir: TfShiftDir) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShiftStartRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShiftStartRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).map(|| result__) } pub unsafe fn ShiftEndRegion(&self, ec: u32, dir: TfShiftDir) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShiftEndRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShiftEndRegion)(::windows_core::Interface::as_raw(self), ec, dir, &mut result__).map(|| result__) } pub unsafe fn IsEmpty(&self, ec: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEmpty)(::windows_core::Interface::as_raw(self), ec, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEmpty)(::windows_core::Interface::as_raw(self), ec, &mut result__).map(|| result__) } pub unsafe fn Collapse(&self, ec: u32, apos: TfAnchor) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Collapse)(::windows_core::Interface::as_raw(self), ec, apos).ok() @@ -4627,32 +4627,32 @@ impl ITfRangeACP { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqualStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqualStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn IsEqualEnd(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsEqualEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsEqualEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn CompareStart(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareStart)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn CompareEnd(&self, ec: u32, pwith: P0, apos: TfAnchor) -> ::windows_core::Result where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CompareEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CompareEnd)(::windows_core::Interface::as_raw(self), ec, pwith.into_param().abi(), apos, &mut result__).map(|| result__) } pub unsafe fn AdjustForInsert(&self, ec: u32, cchinsert: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AdjustForInsert)(::windows_core::Interface::as_raw(self), ec, cchinsert, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AdjustForInsert)(::windows_core::Interface::as_raw(self), ec, cchinsert, &mut result__).map(|| result__) } pub unsafe fn GetGravity(&self, pgstart: *mut TfGravity, pgend: *mut TfGravity) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.GetGravity)(::windows_core::Interface::as_raw(self), pgstart, pgend).ok() @@ -4662,11 +4662,11 @@ impl ITfRangeACP { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetExtent(&self, pacpanchor: *mut i32, pcch: *mut i32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetExtent)(::windows_core::Interface::as_raw(self), pacpanchor, pcch).ok() @@ -4703,7 +4703,7 @@ pub struct ITfRangeBackup_Vtbl { impl ITfReadOnlyProperty { pub unsafe fn GetType(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnumRanges(&self, ec: u32, ppenum: *mut ::core::option::Option, ptargetrange: P0) -> ::windows_core::Result<()> where @@ -4716,11 +4716,11 @@ impl ITfReadOnlyProperty { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetValue)(::windows_core::Interface::as_raw(self), ec, prange.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4737,11 +4737,11 @@ pub struct ITfReadOnlyProperty_Vtbl { impl ITfReadingInformationUIElement { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -4751,31 +4751,31 @@ impl ITfReadingInformationUIElement { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetUpdatedFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUpdatedFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetMaxReadingStringLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetMaxReadingStringLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetMaxReadingStringLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetErrorIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetErrorIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetErrorIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn IsVerticalOrderPreferred(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsVerticalOrderPreferred)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsVerticalOrderPreferred)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4797,7 +4797,7 @@ impl ITfReverseConversion { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DoReverseConversion)(::windows_core::Interface::as_raw(self), lpstr.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DoReverseConversion)(::windows_core::Interface::as_raw(self), lpstr.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4811,11 +4811,11 @@ pub struct ITfReverseConversion_Vtbl { impl ITfReverseConversionList { pub unsafe fn GetLength(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetLength)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetString(&self, uindex: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4830,7 +4830,7 @@ pub struct ITfReverseConversionList_Vtbl { impl ITfReverseConversionMgr { pub unsafe fn GetReverseConversion(&self, langid: u16, guidprofile: *const ::windows_core::GUID, dwflag: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetReverseConversion)(::windows_core::Interface::as_raw(self), langid, guidprofile, dwflag, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetReverseConversion)(::windows_core::Interface::as_raw(self), langid, guidprofile, dwflag, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -4847,7 +4847,7 @@ impl ITfSource { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AdviseSink)(::windows_core::Interface::as_raw(self), riid, punk.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AdviseSink)(::windows_core::Interface::as_raw(self), riid, punk.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn UnadviseSink(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).UnadviseSink)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -4928,7 +4928,7 @@ impl ITfSystemDeviceTypeLangBarItem { } pub unsafe fn GetIconMode(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconMode)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconMode)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -4990,7 +4990,7 @@ impl ITfSystemLangBarItemText { } pub unsafe fn GetItemText(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetItemText)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetItemText)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5101,22 +5101,22 @@ pub struct ITfThreadFocusSink_Vtbl { impl ITfThreadMgr { pub unsafe fn Activate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Deactivate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Deactivate)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CreateDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDocumentMgrs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFocus(&self, pdimfocus: P0) -> ::windows_core::Result<()> where @@ -5130,23 +5130,23 @@ impl ITfThreadMgr { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AssociateFocus)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pdimnew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AssociateFocus)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pdimnew.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsThreadFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionProvider(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumFunctionProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGlobalCompartment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5170,22 +5170,22 @@ pub struct ITfThreadMgr_Vtbl { impl ITfThreadMgr2 { pub unsafe fn Activate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Activate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Deactivate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Deactivate)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CreateDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDocumentMgrs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFocus(&self, pdimfocus: P0) -> ::windows_core::Result<()> where @@ -5195,26 +5195,26 @@ impl ITfThreadMgr2 { } pub unsafe fn IsThreadFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionProvider(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumFunctionProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGlobalCompartment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivateEx(&self, ptid: *mut u32, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ActivateEx)(::windows_core::Interface::as_raw(self), ptid, dwflags).ok() } pub unsafe fn GetActiveFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SuspendKeystrokeHandling(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SuspendKeystrokeHandling)(::windows_core::Interface::as_raw(self)).ok() @@ -5292,22 +5292,22 @@ pub struct ITfThreadMgrEventSink_Vtbl { impl ITfThreadMgrEx { pub unsafe fn Activate(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Activate)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Activate)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Deactivate(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Deactivate)(::windows_core::Interface::as_raw(self)).ok() } pub unsafe fn CreateDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.CreateDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumDocumentMgrs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumDocumentMgrs)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFocus)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFocus(&self, pdimfocus: P0) -> ::windows_core::Result<()> where @@ -5321,30 +5321,30 @@ impl ITfThreadMgrEx { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.AssociateFocus)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pdimnew.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.AssociateFocus)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), pdimnew.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsThreadFocus(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsThreadFocus)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFunctionProvider(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFunctionProvider)(::windows_core::Interface::as_raw(self), clsid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumFunctionProviders(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumFunctionProviders)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGlobalCompartment(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGlobalCompartment)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ActivateEx(&self, ptid: *mut u32, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).ActivateEx)(::windows_core::Interface::as_raw(self), ptid, dwflags).ok() } pub unsafe fn GetActiveFlags(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActiveFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActiveFlags)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5359,11 +5359,11 @@ pub struct ITfThreadMgrEx_Vtbl { impl ITfToolTipUIElement { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -5373,11 +5373,11 @@ impl ITfToolTipUIElement { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetString(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetString)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5396,7 +5396,7 @@ impl ITfTransitoryExtensionSink { P2: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnTransitoryExtensionUpdated)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), ecreadonly, presultrange.into_param().abi(), pcompositionrange.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnTransitoryExtensionUpdated)(::windows_core::Interface::as_raw(self), pic.into_param().abi(), ecreadonly, presultrange.into_param().abi(), pcompositionrange.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -5410,11 +5410,11 @@ pub struct ITfTransitoryExtensionSink_Vtbl { impl ITfTransitoryExtensionUIElement { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -5424,11 +5424,11 @@ impl ITfTransitoryExtensionUIElement { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDocumentMgr(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDocumentMgr)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5442,11 +5442,11 @@ pub struct ITfTransitoryExtensionUIElement_Vtbl { impl ITfUIElement { pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Show(&self, bshow: P0) -> ::windows_core::Result<()> where @@ -5456,7 +5456,7 @@ impl ITfUIElement { } pub unsafe fn IsShown(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsShown)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsShown)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -5485,11 +5485,11 @@ impl ITfUIElementMgr { } pub unsafe fn GetUIElement(&self, dwuielementid: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUIElement)(::windows_core::Interface::as_raw(self), dwuielementid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUIElement)(::windows_core::Interface::as_raw(self), dwuielementid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumUIElements(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumUIElements)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumUIElements)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -5561,22 +5561,22 @@ pub struct IUIManagerEventSink_Vtbl { impl IVersionInfo { pub unsafe fn GetSubcomponentCount(&self, ulsub: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSubcomponentCount)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSubcomponentCount)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).map(|| result__) } pub unsafe fn GetImplementationID(&self, ulsub: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetImplementationID)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetImplementationID)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).map(|| result__) } pub unsafe fn GetBuildVersion(&self, ulsub: u32, pdwmajor: *mut u32, pdwminor: *mut u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetBuildVersion)(::windows_core::Interface::as_raw(self), ulsub, pdwmajor, pdwminor).ok() } pub unsafe fn GetComponentDescription(&self, ulsub: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetComponentDescription)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetComponentDescription)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInstanceDescription(&self, ulsub: u32) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstanceDescription)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstanceDescription)(::windows_core::Interface::as_raw(self), ulsub, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/UI/WindowsAndMessaging/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/WindowsAndMessaging/mod.rs index 168049bf9e..85127bedb1 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/WindowsAndMessaging/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/WindowsAndMessaging/mod.rs @@ -2273,7 +2273,7 @@ where { ::windows_targets::link!("mrmsupport.dll" "system" fn MrmGetPriFileContentChecksum(prifile : ::windows_core::PCWSTR, checksum : *mut u32) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - MrmGetPriFileContentChecksum(prifile.into_param().abi(), &mut result__).from_abi(result__) + MrmGetPriFileContentChecksum(prifile.into_param().abi(), &mut result__).map(|| result__) } #[inline] pub unsafe fn MrmIndexEmbeddedData(indexer: MrmResourceIndexerHandle, resourceuri: P0, embeddeddata: &[u8], qualifiers: P1) -> ::windows_core::Result<()> diff --git a/crates/libs/windows/src/Windows/Win32/UI/Wpf/mod.rs b/crates/libs/windows/src/Windows/Win32/UI/Wpf/mod.rs index 835fcd958a..664b79c913 100644 --- a/crates/libs/windows/src/Windows/Win32/UI/Wpf/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/UI/Wpf/mod.rs @@ -7,11 +7,11 @@ impl IMILBitmapEffect { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutput)(::windows_core::Interface::as_raw(self), uiindex, pcontext.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutput)(::windows_core::Interface::as_raw(self), uiindex, pcontext.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetParentEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn SetInputSource(&self, uiindex: u32, pbitmapsource: P0) -> ::windows_core::Result<()> @@ -40,11 +40,11 @@ pub struct IMILBitmapEffect_Vtbl { impl IMILBitmapEffectConnections { pub unsafe fn GetInputConnector(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputConnector(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -59,19 +59,19 @@ pub struct IMILBitmapEffectConnections_Vtbl { impl IMILBitmapEffectConnectionsInfo { pub unsafe fn GetNumberInputs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberInputs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberInputs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberOutputs(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberOutputs)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberOutputs)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetInputConnectorInfo(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputConnectorInfo)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputConnectorInfo)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetOutputConnectorInfo(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputConnectorInfo)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputConnectorInfo)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -88,27 +88,27 @@ pub struct IMILBitmapEffectConnectionsInfo_Vtbl { impl IMILBitmapEffectConnector { pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptimalFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitmapEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -123,19 +123,19 @@ pub struct IMILBitmapEffectConnector_Vtbl { impl IMILBitmapEffectConnectorInfo { pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptimalFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -176,15 +176,15 @@ pub struct IMILBitmapEffectEvents_Vtbl { impl IMILBitmapEffectFactory { pub unsafe fn CreateEffect(&self, pguideffect: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), pguideffect, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffect)(::windows_core::Interface::as_raw(self), pguideffect, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateContext(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateContext)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn CreateEffectOuter(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateEffectOuter)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateEffectOuter)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -200,11 +200,11 @@ pub struct IMILBitmapEffectFactory_Vtbl { impl IMILBitmapEffectGroup { pub unsafe fn GetInteriorInputConnector(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInteriorInputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInteriorInputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInteriorOutputConnector(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInteriorOutputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInteriorOutputConnector)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Add(&self, peffect: P0) -> ::windows_core::Result<()> where @@ -232,11 +232,11 @@ impl IMILBitmapEffectGroupImpl { } pub unsafe fn GetNumberChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberChildren)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetChildren(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetChildren)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -255,7 +255,7 @@ impl IMILBitmapEffectImpl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsInPlaceModificationAllowed)(::windows_core::Interface::as_raw(self), poutputconnector.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsInPlaceModificationAllowed)(::windows_core::Interface::as_raw(self), poutputconnector.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetParentEffect(&self, pparenteffect: P0) -> ::windows_core::Result<()> where @@ -266,7 +266,7 @@ impl IMILBitmapEffectImpl { #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn GetInputSource(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputSource)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputSource)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInputSourceBounds(&self, uiindex: u32, prect: *mut MilRectD) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetInputSourceBounds)(::windows_core::Interface::as_raw(self), uiindex, prect).ok() @@ -277,7 +277,7 @@ impl IMILBitmapEffectImpl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputBitmapSource)(::windows_core::Interface::as_raw(self), uiindex, prendercontext.into_param().abi(), pfmodifyinplace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputBitmapSource)(::windows_core::Interface::as_raw(self), uiindex, prendercontext.into_param().abi(), pfmodifyinplace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_Graphics_Imaging")] pub unsafe fn GetOutputBitmapSource(&self, uiindex: u32, prendercontext: P0, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result @@ -285,7 +285,7 @@ impl IMILBitmapEffectImpl { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputBitmapSource)(::windows_core::Interface::as_raw(self), uiindex, prendercontext.into_param().abi(), pfmodifyinplace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputBitmapSource)(::windows_core::Interface::as_raw(self), uiindex, prendercontext.into_param().abi(), pfmodifyinplace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Initialize(&self, pinner: P0) -> ::windows_core::Result<()> where @@ -320,27 +320,27 @@ pub struct IMILBitmapEffectImpl_Vtbl { impl IMILBitmapEffectInputConnector { pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptimalFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitmapEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn ConnectTo(&self, pconnector: P0) -> ::windows_core::Result<()> where @@ -350,7 +350,7 @@ impl IMILBitmapEffectInputConnector { } pub unsafe fn GetConnection(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -365,7 +365,7 @@ pub struct IMILBitmapEffectInputConnector_Vtbl { impl IMILBitmapEffectInteriorInputConnector { pub unsafe fn GetInputConnector(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInputConnector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInputConnector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -379,7 +379,7 @@ pub struct IMILBitmapEffectInteriorInputConnector_Vtbl { impl IMILBitmapEffectInteriorOutputConnector { pub unsafe fn GetOutputConnector(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputConnector)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputConnector)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -393,35 +393,35 @@ pub struct IMILBitmapEffectInteriorOutputConnector_Vtbl { impl IMILBitmapEffectOutputConnector { pub unsafe fn GetIndex(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetIndex)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetOptimalFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetOptimalFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetNumberFormats(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetNumberFormats)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetFormat(&self, ulindex: u32) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.base__.GetFormat)(::windows_core::Interface::as_raw(self), ulindex, &mut result__).map(|| result__) } pub unsafe fn IsConnected(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBitmapEffect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetBitmapEffect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNumberConnections(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNumberConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNumberConnections)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetConnection(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetConnection)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -463,7 +463,7 @@ impl IMILBitmapEffectPrimitive { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutput)(::windows_core::Interface::as_raw(self), uiindex, pcontext.into_param().abi(), pfmodifyinplace, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutput)(::windows_core::Interface::as_raw(self), uiindex, pcontext.into_param().abi(), pfmodifyinplace, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn TransformPoint(&self, uiindex: u32, p: *mut MilPoint2D, fforwardtransform: P0, pcontext: P1, pfpointtransformed: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()> where @@ -481,11 +481,11 @@ impl IMILBitmapEffectPrimitive { } pub unsafe fn HasAffineTransform(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasAffineTransform)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasAffineTransform)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).map(|| result__) } pub unsafe fn HasInverseTransform(&self, uiindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasInverseTransform)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasInverseTransform)(::windows_core::Interface::as_raw(self), uiindex, &mut result__).map(|| result__) } #[cfg(feature = "Win32_Graphics_Dwm")] pub unsafe fn GetAffineMatrix(&self, uiindex: u32, pmatrix: *mut super::super::Graphics::Dwm::MilMatrix3x2D) -> ::windows_core::Result<()> { @@ -517,7 +517,7 @@ impl IMILBitmapEffectPrimitiveImpl { } pub unsafe fn IsVolatile(&self, uioutputindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsVolatile)(::windows_core::Interface::as_raw(self), uioutputindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsVolatile)(::windows_core::Interface::as_raw(self), uioutputindex, &mut result__).map(|| result__) } } #[repr(C)] @@ -535,7 +535,7 @@ impl IMILBitmapEffectRenderContext { } pub unsafe fn GetOutputPixelFormat(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetOutputPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetOutputPixelFormat)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetUseSoftwareRenderer(&self, fsoftware: P0) -> ::windows_core::Result<()> where @@ -577,7 +577,7 @@ pub struct IMILBitmapEffectRenderContext_Vtbl { impl IMILBitmapEffectRenderContextImpl { pub unsafe fn GetUseSoftwareRenderer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUseSoftwareRenderer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUseSoftwareRenderer)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetTransform(&self, pmatrix: *mut MILMatrixF) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetTransform)(::windows_core::Interface::as_raw(self), pmatrix).ok() @@ -607,19 +607,19 @@ pub struct IMILBitmapEffectRenderContextImpl_Vtbl { impl IMILBitmapEffects { pub unsafe fn _NewEnum(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self)._NewEnum)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Parent(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Parent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Item(&self, uindex: u32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), uindex, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Item)(::windows_core::Interface::as_raw(self), uindex, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] diff --git a/crates/libs/windows/src/Windows/Win32/Web/InternetExplorer/mod.rs b/crates/libs/windows/src/Windows/Win32/Web/InternetExplorer/mod.rs index 93c915738c..2bac363d90 100644 --- a/crates/libs/windows/src/Windows/Win32/Web/InternetExplorer/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Web/InternetExplorer/mod.rs @@ -12,13 +12,13 @@ where { ::windows_targets::link!("imgutil.dll" "system" fn CreateDDrawSurfaceOnDIB(hbmdib : super::super::Graphics::Gdi:: HBITMAP, ppsurface : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateDDrawSurfaceOnDIB(hbmdib.into_param().abi(), &mut result__).from_abi(result__) + CreateDDrawSurfaceOnDIB(hbmdib.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[inline] pub unsafe fn CreateMIMEMap() -> ::windows_core::Result { ::windows_targets::link!("imgutil.dll" "system" fn CreateMIMEMap(ppmap : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - CreateMIMEMap(&mut result__).from_abi(result__) + CreateMIMEMap(&mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] #[inline] @@ -130,14 +130,14 @@ where pub unsafe fn IEGetWriteableFolderPath(clsidfolderid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> { ::windows_targets::link!("ieframe.dll" "system" fn IEGetWriteableFolderPath(clsidfolderid : *const ::windows_core::GUID, lppwstrpath : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IEGetWriteableFolderPath(clsidfolderid, &mut result__).from_abi(result__) + IEGetWriteableFolderPath(clsidfolderid, &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Registry")] #[inline] pub unsafe fn IEGetWriteableLowHKCU() -> ::windows_core::Result { ::windows_targets::link!("ieframe.dll" "system" fn IEGetWriteableLowHKCU(phkey : *mut super::super::System::Registry:: HKEY) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IEGetWriteableLowHKCU(&mut result__).from_abi(result__) + IEGetWriteableLowHKCU(&mut result__).map(|| result__) } #[inline] pub unsafe fn IEInPrivateFilteringEnabled() -> super::super::Foundation::BOOL { @@ -153,7 +153,7 @@ pub unsafe fn IEIsInPrivateBrowsing() -> super::super::Foundation::BOOL { pub unsafe fn IEIsProtectedModeProcess() -> ::windows_core::Result { ::windows_targets::link!("ieframe.dll" "system" fn IEIsProtectedModeProcess(pbresult : *mut super::super::Foundation:: BOOL) -> ::windows_core::HRESULT); let mut result__ = ::std::mem::zeroed(); - IEIsProtectedModeProcess(&mut result__).from_abi(result__) + IEIsProtectedModeProcess(&mut result__).map(|| result__) } #[inline] pub unsafe fn IEIsProtectedModeURL(lpwstrurl: P0) -> ::windows_core::Result<()> @@ -469,7 +469,7 @@ where impl IActiveXUIHandlerSite { pub unsafe fn CreateScrollableContextMenu(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateScrollableContextMenu)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateScrollableContextMenu)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn PickFileAndGetResult(&self, filepicker: P0, allowmultipleselections: P1) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -477,7 +477,7 @@ impl IActiveXUIHandlerSite { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).PickFileAndGetResult)(::windows_core::Interface::as_raw(self), filepicker.into_param().abi(), allowmultipleselections.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).PickFileAndGetResult)(::windows_core::Interface::as_raw(self), filepicker.into_param().abi(), allowmultipleselections.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -492,7 +492,7 @@ pub struct IActiveXUIHandlerSite_Vtbl { impl IActiveXUIHandlerSite2 { pub unsafe fn AddSuspensionExemption(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).AddSuspensionExemption)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).AddSuspensionExemption)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn RemoveSuspensionExemption(&self, ullcookie: u64) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).RemoveSuspensionExemption)(::windows_core::Interface::as_raw(self), ullcookie).ok() @@ -515,7 +515,7 @@ impl IActiveXUIHandlerSite3 { P2: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).MessageBoxW)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), text.into_param().abi(), caption.into_param().abi(), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).MessageBoxW)(::windows_core::Interface::as_raw(self), hwnd.into_param().abi(), text.into_param().abi(), caption.into_param().abi(), r#type, &mut result__).map(|| result__) } } #[repr(C)] @@ -546,7 +546,7 @@ pub struct IAnchorClick_Vtbl { impl IAudioSessionSite { pub unsafe fn GetAudioSessionGuid(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetAudioSessionGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetAudioSessionGuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn OnAudioStreamCreated(&self, endpointid: P0) -> ::windows_core::Result<()> where @@ -631,7 +631,7 @@ impl IDocObjectService { P4: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FireBeforeNavigate2)(::windows_core::Interface::as_raw(self), pdispatch.into_param().abi(), lpszurl.into_param().abi(), dwflags, lpszframename.into_param().abi(), ppostdata, cbpostdata, lpszheaders.into_param().abi(), fplaynavsound.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FireBeforeNavigate2)(::windows_core::Interface::as_raw(self), pdispatch.into_param().abi(), lpszurl.into_param().abi(), dwflags, lpszframename.into_param().abi(), ppostdata, cbpostdata, lpszheaders.into_param().abi(), fplaynavsound.into_param().abi(), &mut result__).map(|| result__) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_Web_MsHtml"))] pub unsafe fn FireNavigateComplete2(&self, phtmlwindow2: P0, dwflags: u32) -> ::windows_core::Result<()> @@ -662,7 +662,7 @@ impl IDocObjectService { } pub unsafe fn GetPendingUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPendingUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPendingUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(all(feature = "Win32_System_Com", feature = "Win32_Web_MsHtml"))] pub unsafe fn ActiveElementChanged(&self, phtmlelement: P0) -> ::windows_core::Result<()> @@ -673,14 +673,14 @@ impl IDocObjectService { } pub unsafe fn GetUrlSearchComponent(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUrlSearchComponent)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUrlSearchComponent)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsErrorUrl(&self, lpszurl: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsErrorUrl)(::windows_core::Interface::as_raw(self), lpszurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsErrorUrl)(::windows_core::Interface::as_raw(self), lpszurl.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -769,7 +769,7 @@ impl IEnumManagerFrames { } pub unsafe fn Count(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok() @@ -779,7 +779,7 @@ impl IEnumManagerFrames { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -806,7 +806,7 @@ impl IEnumOpenServiceActivity { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -832,7 +832,7 @@ impl IEnumOpenServiceActivityCategory { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -858,7 +858,7 @@ impl IEnumSTATURL { } pub unsafe fn Clone(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFilter(&self, poszfilter: P0, dwflags: u32) -> ::windows_core::Result<()> where @@ -889,11 +889,11 @@ impl IExtensionValidation { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), extensionguid, extensionmodulepath.into_param().abi(), extensionfileversionms, extensionfileversionls, htmldocumenttop.into_param().abi(), htmldocumentsubframe.into_param().abi(), htmlelement.into_param().abi(), contexts, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Validate)(::windows_core::Interface::as_raw(self), extensionguid, extensionmodulepath.into_param().abi(), extensionfileversionms, extensionfileversionls, htmldocumenttop.into_param().abi(), htmldocumentsubframe.into_param().abi(), htmlelement.into_param().abi(), contexts, &mut result__).map(|| result__) } pub unsafe fn DisplayName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).DisplayName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -914,18 +914,18 @@ impl IHTMLPersistData { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).save)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), ltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).save)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), ltype, &mut result__).map(|| result__) } pub unsafe fn load(&self, punk: P0, ltype: i32) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).load)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), ltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).load)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), ltype, &mut result__).map(|| result__) } pub unsafe fn queryType(&self, ltype: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).queryType)(::windows_core::Interface::as_raw(self), ltype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).queryType)(::windows_core::Interface::as_raw(self), ltype, &mut result__).map(|| result__) } } #[repr(C)] @@ -945,14 +945,14 @@ impl IHTMLPersistDataOM { #[cfg(feature = "Win32_System_Com")] pub unsafe fn XMLDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn getAttribute(&self, name: P0) -> ::windows_core::Result<::windows_core::VARIANT> where P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setAttribute(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -990,7 +990,7 @@ impl IHTMLUserDataOM { #[cfg(feature = "Win32_System_Com")] pub unsafe fn XMLDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).XMLDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn save(&self, strname: P0) -> ::windows_core::Result<()> where @@ -1009,7 +1009,7 @@ impl IHTMLUserDataOM { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).getAttribute)(::windows_core::Interface::as_raw(self), name.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn setAttribute(&self, name: P0, value: P1) -> ::windows_core::Result<()> where @@ -1032,7 +1032,7 @@ impl IHTMLUserDataOM { } pub unsafe fn expires(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).expires)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).expires)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1060,11 +1060,11 @@ pub struct IHTMLUserDataOM_Vtbl { impl IHeaderFooter { pub unsafe fn htmlHead(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).htmlHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).htmlHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn htmlFoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).htmlFoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).htmlFoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettextHead(&self, v: P0) -> ::windows_core::Result<()> where @@ -1074,7 +1074,7 @@ impl IHeaderFooter { } pub unsafe fn textHead(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).textHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).textHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettextFoot(&self, v: P0) -> ::windows_core::Result<()> where @@ -1084,21 +1084,21 @@ impl IHeaderFooter { } pub unsafe fn textFoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).textFoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).textFoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setpage(&self, v: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Setpage)(::windows_core::Interface::as_raw(self), v).ok() } pub unsafe fn page(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).page)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).page)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetpageTotal(&self, v: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetpageTotal)(::windows_core::Interface::as_raw(self), v).ok() } pub unsafe fn pageTotal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).pageTotal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).pageTotal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetURL(&self, v: P0) -> ::windows_core::Result<()> where @@ -1108,7 +1108,7 @@ impl IHeaderFooter { } pub unsafe fn URL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).URL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settitle(&self, v: P0) -> ::windows_core::Result<()> where @@ -1118,7 +1118,7 @@ impl IHeaderFooter { } pub unsafe fn title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdateShort(&self, v: P0) -> ::windows_core::Result<()> where @@ -1128,7 +1128,7 @@ impl IHeaderFooter { } pub unsafe fn dateShort(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dateShort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dateShort)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdateLong(&self, v: P0) -> ::windows_core::Result<()> where @@ -1138,7 +1138,7 @@ impl IHeaderFooter { } pub unsafe fn dateLong(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).dateLong)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).dateLong)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettimeShort(&self, v: P0) -> ::windows_core::Result<()> where @@ -1148,7 +1148,7 @@ impl IHeaderFooter { } pub unsafe fn timeShort(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).timeShort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).timeShort)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettimeLong(&self, v: P0) -> ::windows_core::Result<()> where @@ -1158,7 +1158,7 @@ impl IHeaderFooter { } pub unsafe fn timeLong(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).timeLong)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).timeLong)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1197,11 +1197,11 @@ pub struct IHeaderFooter_Vtbl { impl IHeaderFooter2 { pub unsafe fn htmlHead(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.htmlHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.htmlHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn htmlFoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.htmlFoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.htmlFoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettextHead(&self, v: P0) -> ::windows_core::Result<()> where @@ -1211,7 +1211,7 @@ impl IHeaderFooter2 { } pub unsafe fn textHead(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.textHead)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.textHead)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettextFoot(&self, v: P0) -> ::windows_core::Result<()> where @@ -1221,21 +1221,21 @@ impl IHeaderFooter2 { } pub unsafe fn textFoot(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.textFoot)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.textFoot)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setpage(&self, v: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Setpage)(::windows_core::Interface::as_raw(self), v).ok() } pub unsafe fn page(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.page)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.page)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetpageTotal(&self, v: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.SetpageTotal)(::windows_core::Interface::as_raw(self), v).ok() } pub unsafe fn pageTotal(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.pageTotal)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.pageTotal)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetURL(&self, v: P0) -> ::windows_core::Result<()> where @@ -1245,7 +1245,7 @@ impl IHeaderFooter2 { } pub unsafe fn URL(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.URL)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.URL)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Settitle(&self, v: P0) -> ::windows_core::Result<()> where @@ -1255,7 +1255,7 @@ impl IHeaderFooter2 { } pub unsafe fn title(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.title)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.title)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdateShort(&self, v: P0) -> ::windows_core::Result<()> where @@ -1265,7 +1265,7 @@ impl IHeaderFooter2 { } pub unsafe fn dateShort(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dateShort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dateShort)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetdateLong(&self, v: P0) -> ::windows_core::Result<()> where @@ -1275,7 +1275,7 @@ impl IHeaderFooter2 { } pub unsafe fn dateLong(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.dateLong)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.dateLong)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettimeShort(&self, v: P0) -> ::windows_core::Result<()> where @@ -1285,7 +1285,7 @@ impl IHeaderFooter2 { } pub unsafe fn timeShort(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.timeShort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.timeShort)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SettimeLong(&self, v: P0) -> ::windows_core::Result<()> where @@ -1295,7 +1295,7 @@ impl IHeaderFooter2 { } pub unsafe fn timeLong(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.timeLong)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.timeLong)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Setfont(&self, v: P0) -> ::windows_core::Result<()> where @@ -1305,7 +1305,7 @@ impl IHeaderFooter2 { } pub unsafe fn font(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).font)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).font)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1336,7 +1336,7 @@ impl IHomePage { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).isHomePage)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).isHomePage)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1364,7 +1364,7 @@ impl IHomePageSetting { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsHomePage)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsHomePage)(::windows_core::Interface::as_raw(self), uri.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn SetHomePageToBrowserDefault(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetHomePageToBrowserDefault)(::windows_core::Interface::as_raw(self)).ok() @@ -1389,7 +1389,7 @@ impl IIEWebDriverManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ExecuteCommand)(::windows_core::Interface::as_raw(self), command.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ExecuteCommand)(::windows_core::Interface::as_raw(self), command.into_param().abi(), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -1420,7 +1420,7 @@ impl IIEWebDriverSite { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCapabilityValue)(::windows_core::Interface::as_raw(self), punkwd.into_param().abi(), capname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCapabilityValue)(::windows_core::Interface::as_raw(self), punkwd.into_param().abi(), capname.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1437,7 +1437,7 @@ pub struct IIEWebDriverSite_Vtbl { impl IImageDecodeEventSink { pub unsafe fn GetSurface(&self, nwidth: i32, nheight: i32, bfid: *const ::windows_core::GUID, npasses: u32, dwhints: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), nwidth, nheight, bfid, npasses, dwhints, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetSurface)(::windows_core::Interface::as_raw(self), nwidth, nheight, bfid, npasses, dwhints, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnBeginDecode(&self, pdwevents: *mut u32, pnformats: *mut u32, ppformats: *mut *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).OnBeginDecode)(::windows_core::Interface::as_raw(self), pdwevents, pnformats, ppformats).ok() @@ -1474,7 +1474,7 @@ pub struct IImageDecodeEventSink_Vtbl { impl IImageDecodeEventSink2 { pub unsafe fn GetSurface(&self, nwidth: i32, nheight: i32, bfid: *const ::windows_core::GUID, npasses: u32, dwhints: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetSurface)(::windows_core::Interface::as_raw(self), nwidth, nheight, bfid, npasses, dwhints, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetSurface)(::windows_core::Interface::as_raw(self), nwidth, nheight, bfid, npasses, dwhints, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnBeginDecode(&self, pdwevents: *mut u32, pnformats: *mut u32, ppformats: *mut *mut ::windows_core::GUID) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.OnBeginDecode)(::windows_core::Interface::as_raw(self), pdwevents, pnformats, ppformats).ok() @@ -1496,7 +1496,7 @@ impl IImageDecodeEventSink2 { } pub unsafe fn IsAlphaPremultRequired(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsAlphaPremultRequired)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsAlphaPremultRequired)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1544,7 +1544,7 @@ pub struct IImageDecodeFilter_Vtbl { impl IIntelliForms { pub unsafe fn enabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).enabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).enabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn Setenabled(&self, bval: P0) -> ::windows_core::Result<()> where @@ -1570,7 +1570,7 @@ impl IInternetExplorerManager { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), dwconfig, pszurl.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateObject)(::windows_core::Interface::as_raw(self), dwconfig, pszurl.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1584,7 +1584,7 @@ pub struct IInternetExplorerManager_Vtbl { impl IInternetExplorerManager2 { pub unsafe fn EnumFrameWindows(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumFrameWindows)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumFrameWindows)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1607,7 +1607,7 @@ impl ILayoutRect { } pub unsafe fn nextRect(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nextRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nextRect)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetcontentSrc(&self, varcontentsrc: P0) -> ::windows_core::Result<()> where @@ -1617,7 +1617,7 @@ impl ILayoutRect { } pub unsafe fn contentSrc(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentSrc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentSrc)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SethonorPageBreaks(&self, v: P0) -> ::windows_core::Result<()> where @@ -1627,7 +1627,7 @@ impl ILayoutRect { } pub unsafe fn honorPageBreaks(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).honorPageBreaks)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).honorPageBreaks)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SethonorPageRules(&self, v: P0) -> ::windows_core::Result<()> where @@ -1637,7 +1637,7 @@ impl ILayoutRect { } pub unsafe fn honorPageRules(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).honorPageRules)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).honorPageRules)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn SetnextRectElement(&self, pelem: P0) -> ::windows_core::Result<()> @@ -1649,12 +1649,12 @@ impl ILayoutRect { #[cfg(feature = "Win32_System_Com")] pub unsafe fn nextRectElement(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).nextRectElement)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).nextRectElement)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn contentDocument(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).contentDocument)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).contentDocument)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Win32_System_Com")] @@ -1735,7 +1735,7 @@ pub struct IMediaActivityNotifySite_Vtbl { impl IOpenService { pub unsafe fn IsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefault(&self, fdefault: P0, hwnd: P1) -> ::windows_core::Result<()> where @@ -1746,7 +1746,7 @@ impl IOpenService { } pub unsafe fn GetID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1762,7 +1762,7 @@ pub struct IOpenService_Vtbl { impl IOpenServiceActivity { pub unsafe fn IsDefault(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.IsDefault)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetDefault(&self, fdefault: P0, hwnd: P1) -> ::windows_core::Result<()> where @@ -1773,7 +1773,7 @@ impl IOpenServiceActivity { } pub unsafe fn GetID(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetID)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn Execute(&self, pinput: P0, poutput: P1) -> ::windows_core::Result<()> where @@ -1788,11 +1788,11 @@ impl IOpenServiceActivity { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanExecute)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanExecute)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CanExecuteType(&self, r#type: OpenServiceActivityContentType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanExecuteType)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanExecuteType)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn Preview(&self, pinput: P0, poutput: P1) -> ::windows_core::Result<()> where @@ -1807,38 +1807,38 @@ impl IOpenServiceActivity { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPreview)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPreview)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn CanPreviewType(&self, r#type: OpenServiceActivityContentType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanPreviewType)(::windows_core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanPreviewType)(::windows_core::Interface::as_raw(self), r#type, &mut result__).map(|| result__) } pub unsafe fn GetStatusText(&self, pinput: P0) -> ::windows_core::Result<::windows_core::BSTR> where P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetStatusText)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetStatusText)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetHomepageUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetHomepageUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetHomepageUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetCategoryName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategoryName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategoryName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetIconPath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIconPath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe fn GetIcon(&self, fsmallicon: P0) -> ::windows_core::Result @@ -1846,23 +1846,23 @@ impl IOpenServiceActivity { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), fsmallicon.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetIcon)(::windows_core::Interface::as_raw(self), fsmallicon.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetDescriptionFilePath(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDescriptionFilePath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDescriptionFilePath)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDownloadUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDownloadUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetInstallUrl(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetInstallUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetInstallUrl)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn IsEnabled(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsEnabled)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetEnabled(&self, fenable: P0) -> ::windows_core::Result<()> where @@ -1902,11 +1902,11 @@ pub struct IOpenServiceActivity_Vtbl { impl IOpenServiceActivityCategory { pub unsafe fn HasDefaultActivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasDefaultActivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasDefaultActivity)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetDefaultActivity(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDefaultActivity)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDefaultActivity)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetDefaultActivity(&self, pactivity: P0, hwnd: P1) -> ::windows_core::Result<()> where @@ -1917,7 +1917,7 @@ impl IOpenServiceActivityCategory { } pub unsafe fn GetName(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetName)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityEnumerator(&self, pinput: P0, poutput: P1) -> ::windows_core::Result where @@ -1925,7 +1925,7 @@ impl IOpenServiceActivityCategory { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityEnumerator)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityEnumerator)(::windows_core::Interface::as_raw(self), pinput.into_param().abi(), poutput.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -1947,7 +1947,7 @@ impl IOpenServiceActivityInput { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVariable)(::windows_core::Interface::as_raw(self), pwzvariablename.into_param().abi(), pwzvariabletype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVariable)(::windows_core::Interface::as_raw(self), pwzvariablename.into_param().abi(), pwzvariabletype.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn HasVariable(&self, pwzvariablename: P0, pwzvariabletype: P1) -> ::windows_core::Result where @@ -1955,11 +1955,11 @@ impl IOpenServiceActivityInput { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).HasVariable)(::windows_core::Interface::as_raw(self), pwzvariablename.into_param().abi(), pwzvariabletype.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).HasVariable)(::windows_core::Interface::as_raw(self), pwzvariablename.into_param().abi(), pwzvariabletype.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn GetType(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -1975,14 +1975,14 @@ pub struct IOpenServiceActivityInput_Vtbl { impl IOpenServiceActivityManager { pub unsafe fn GetCategoryEnumerator(&self, etype: OpenServiceActivityContentType) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetCategoryEnumerator)(::windows_core::Interface::as_raw(self), etype, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetCategoryEnumerator)(::windows_core::Interface::as_raw(self), etype, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityByID(&self, pwzactivityid: P0) -> ::windows_core::Result where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityByID)(::windows_core::Interface::as_raw(self), pwzactivityid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityByID)(::windows_core::Interface::as_raw(self), pwzactivityid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetActivityByHomepageAndCategory(&self, pwzhomepage: P0, pwzcategory: P1) -> ::windows_core::Result where @@ -1990,11 +1990,11 @@ impl IOpenServiceActivityManager { P1: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetActivityByHomepageAndCategory)(::windows_core::Interface::as_raw(self), pwzhomepage.into_param().abi(), pwzcategory.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetActivityByHomepageAndCategory)(::windows_core::Interface::as_raw(self), pwzhomepage.into_param().abi(), pwzcategory.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetVersionCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetVersionCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetVersionCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -2028,7 +2028,7 @@ impl IOpenServiceActivityOutputContext { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CanNavigate)(::windows_core::Interface::as_raw(self), pwzuri.into_param().abi(), pwzmethod.into_param().abi(), pwzheaders.into_param().abi(), ppostdata.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CanNavigate)(::windows_core::Interface::as_raw(self), pwzuri.into_param().abi(), pwzmethod.into_param().abi(), pwzheaders.into_param().abi(), ppostdata.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2052,7 +2052,7 @@ impl IOpenServiceManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).InstallService)(::windows_core::Interface::as_raw(self), pwzserviceurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).InstallService)(::windows_core::Interface::as_raw(self), pwzserviceurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn UninstallService(&self, pservice: P0) -> ::windows_core::Result<()> where @@ -2065,7 +2065,7 @@ impl IOpenServiceManager { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetServiceByID)(::windows_core::Interface::as_raw(self), pwzid.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetServiceByID)(::windows_core::Interface::as_raw(self), pwzid.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2093,7 +2093,7 @@ impl IPersistHistory { #[cfg(feature = "Win32_System_Com")] pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn LoadHistory(&self, pstream: P0, pbc: P1) -> ::windows_core::Result<()> @@ -2115,7 +2115,7 @@ impl IPersistHistory { } pub unsafe fn GetPositionCookie(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetPositionCookie)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetPositionCookie)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[cfg(feature = "Win32_System_Com")] @@ -2177,7 +2177,7 @@ impl IScrollableContextMenu { } pub unsafe fn ShowModal(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).ShowModal)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).ShowModal)(::windows_core::Interface::as_raw(self), x, y, &mut result__).map(|| result__) } } #[repr(C)] @@ -2198,7 +2198,7 @@ impl IScrollableContextMenu2 { } pub unsafe fn ShowModal(&self, x: i32, y: i32) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.ShowModal)(::windows_core::Interface::as_raw(self), x, y, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.ShowModal)(::windows_core::Interface::as_raw(self), x, y, &mut result__).map(|| result__) } pub unsafe fn AddSeparator(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).AddSeparator)(::windows_core::Interface::as_raw(self)).ok() @@ -2294,12 +2294,12 @@ pub struct ISurfacePresenterFlipBuffer_Vtbl { impl ITargetContainer { pub unsafe fn GetFrameUrl(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameUrl)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameUrl)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetFramesContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2317,7 +2317,7 @@ pub struct ITargetContainer_Vtbl { impl ITargetEmbedding { pub unsafe fn GetTargetFrame(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetFrame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2337,11 +2337,11 @@ impl ITargetFrame { } pub unsafe fn GetFrameName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentFrame(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentFrame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFrame(&self, psztargetname: P0, ppunkcontextframe: P1, dwflags: u32) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -2349,7 +2349,7 @@ impl ITargetFrame { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFrame)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), ppunkcontextframe.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFrame)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), ppunkcontextframe.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrameSrc(&self, pszframesrc: P0) -> ::windows_core::Result<()> where @@ -2359,19 +2359,19 @@ impl ITargetFrame { } pub unsafe fn GetFrameSrc(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameSrc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameSrc)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetFramesContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrameOptions(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrameOptions)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn GetFrameOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFrameMargins(&self, dwwidth: u32, dwheight: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrameMargins)(::windows_core::Interface::as_raw(self), dwwidth, dwheight).ok() @@ -2428,11 +2428,11 @@ impl ITargetFrame2 { } pub unsafe fn GetFrameName(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameName)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetParentFrame(&self) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetParentFrame)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetParentFrame)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrameSrc(&self, pszframesrc: P0) -> ::windows_core::Result<()> where @@ -2442,19 +2442,19 @@ impl ITargetFrame2 { } pub unsafe fn GetFrameSrc(&self) -> ::windows_core::Result<::windows_core::PWSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameSrc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameSrc)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn GetFramesContainer(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFramesContainer)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetFrameOptions(&self, dwflags: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrameOptions)(::windows_core::Interface::as_raw(self), dwflags).ok() } pub unsafe fn GetFrameOptions(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFrameOptions)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn SetFrameMargins(&self, dwwidth: u32, dwheight: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetFrameMargins)(::windows_core::Interface::as_raw(self), dwwidth, dwheight).ok() @@ -2467,14 +2467,14 @@ impl ITargetFrame2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFrame)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFrame)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetTargetAlias(&self, psztargetname: P0) -> ::windows_core::Result<::windows_core::PWSTR> where P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTargetAlias)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTargetAlias)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2505,7 +2505,7 @@ impl ITargetFramePriv { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFrameDownwards)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFrameDownwards)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFrameInContext(&self, psztargetname: P0, punkcontextframe: P1, dwflags: u32) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -2513,7 +2513,7 @@ impl ITargetFramePriv { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindFrameInContext)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), punkcontextframe.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindFrameInContext)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), punkcontextframe.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnChildFrameActivate(&self, punkchildframe: P0) -> ::windows_core::Result<()> where @@ -2540,7 +2540,7 @@ impl ITargetFramePriv { } pub unsafe fn FindBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FindBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FindBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2565,7 +2565,7 @@ impl ITargetFramePriv2 { P0: ::windows_core::IntoParam<::windows_core::PCWSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFrameDownwards)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFrameDownwards)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn FindFrameInContext(&self, psztargetname: P0, punkcontextframe: P1, dwflags: u32) -> ::windows_core::Result<::windows_core::IUnknown> where @@ -2573,7 +2573,7 @@ impl ITargetFramePriv2 { P1: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindFrameInContext)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), punkcontextframe.into_param().abi(), dwflags, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindFrameInContext)(::windows_core::Interface::as_raw(self), psztargetname.into_param().abi(), punkcontextframe.into_param().abi(), dwflags, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn OnChildFrameActivate(&self, punkchildframe: P0) -> ::windows_core::Result<()> where @@ -2600,7 +2600,7 @@ impl ITargetFramePriv2 { } pub unsafe fn FindBrowserByIndex(&self, dwid: u32) -> ::windows_core::Result<::windows_core::IUnknown> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.FindBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.FindBrowserByIndex)(::windows_core::Interface::as_raw(self), dwid, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Com")] pub unsafe fn AggregatedNavigation2(&self, grfhlnf: u32, pbc: P0, pibsc: P1, psztargetname: P2, puri: P3, pszlocation: P4) -> ::windows_core::Result<()> @@ -2682,7 +2682,7 @@ impl ITimer { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), vtimemin.into_param().abi(), vtimemax.into_param().abi(), vtimeinterval.into_param().abi(), dwflags, ptimersink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), vtimemin.into_param().abi(), vtimemax.into_param().abi(), vtimeinterval.into_param().abi(), dwflags, ptimersink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -2695,7 +2695,7 @@ impl ITimer { } pub unsafe fn GetTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2718,7 +2718,7 @@ impl ITimerEx { P3: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), vtimemin.into_param().abi(), vtimemax.into_param().abi(), vtimeinterval.into_param().abi(), dwflags, ptimersink.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.Advise)(::windows_core::Interface::as_raw(self), vtimemin.into_param().abi(), vtimemax.into_param().abi(), vtimeinterval.into_param().abi(), dwflags, ptimersink.into_param().abi(), &mut result__).map(|| result__) } pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).base__.Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok() @@ -2731,7 +2731,7 @@ impl ITimerEx { } pub unsafe fn GetTime(&self) -> ::windows_core::Result<::windows_core::VARIANT> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.GetTime)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetMode(&self, dwmode: u32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).SetMode)(::windows_core::Interface::as_raw(self), dwmode).ok() @@ -2751,11 +2751,11 @@ impl ITimerService { P0: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateTimer)(::windows_core::Interface::as_raw(self), preferencetimer.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateTimer)(::windows_core::Interface::as_raw(self), preferencetimer.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetNamedTimer(&self, rguidname: *const ::windows_core::GUID) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetNamedTimer)(::windows_core::Interface::as_raw(self), rguidname, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetNamedTimer)(::windows_core::Interface::as_raw(self), rguidname, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn SetNamedTimerReference(&self, rguidname: *const ::windows_core::GUID, preferencetimer: P0) -> ::windows_core::Result<()> where @@ -2797,7 +2797,7 @@ impl ITridentTouchInput { P1: ::windows_core::IntoParam, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).OnPointerMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).OnPointerMessage)(::windows_core::Interface::as_raw(self), msg, wparam.into_param().abi(), lparam.into_param().abi(), &mut result__).map(|| result__) } } #[repr(C)] @@ -2876,11 +2876,11 @@ impl IUrlHistoryStg { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), pocsurl.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), pocsurl.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).EnumUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).EnumUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -2921,11 +2921,11 @@ impl IUrlHistoryStg2 { T: ::windows_core::Interface, { let mut result__ = ::std::ptr::null_mut(); - (::windows_core::Interface::vtable(self).base__.BindToObject)(::windows_core::Interface::as_raw(self), pocsurl.into_param().abi(), &T::IID, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.BindToObject)(::windows_core::Interface::as_raw(self), pocsurl.into_param().abi(), &T::IID, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn EnumUrls(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).base__.EnumUrls)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).base__.EnumUrls)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } #[cfg(feature = "Win32_System_Ole")] pub unsafe fn AddUrlAndNotify(&self, pocsurl: P0, pocstitle: P1, dwflags: u32, fwritehistory: P2, poctnotify: P3, punkisfolder: P4) -> ::windows_core::Result<()> @@ -3004,11 +3004,11 @@ impl IViewObjectPresentFlipSite { P0: ::windows_core::IntoParam<::windows_core::IUnknown>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).CreateSurfacePresenterFlip)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), width, height, backbuffercount, format, mode, &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).CreateSurfacePresenterFlip)(::windows_core::Interface::as_raw(self), pdevice.into_param().abi(), width, height, backbuffercount, format, mode, &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn GetDeviceLuid(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetDeviceLuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetDeviceLuid)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn EnterFullScreen(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).EnterFullScreen)(::windows_core::Interface::as_raw(self)).ok() @@ -3018,18 +3018,18 @@ impl IViewObjectPresentFlipSite { } pub unsafe fn IsFullScreen(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).IsFullScreen)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).IsFullScreen)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetBoundingRect(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetBoundingRect)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetBoundingRect)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn GetMetrics(&self, ppos: *mut super::super::Foundation::POINT, psize: *mut super::super::Foundation::SIZE, pscalex: *mut f32, pscaley: *mut f32) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).GetMetrics)(::windows_core::Interface::as_raw(self), ppos, psize, pscalex, pscaley).ok() } pub unsafe fn GetFullScreenSize(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetFullScreenSize)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetFullScreenSize)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3054,7 +3054,7 @@ impl IViewObjectPresentFlipSite2 { #[cfg(feature = "Win32_Graphics_Dxgi_Common")] pub unsafe fn GetRotationForCurrentOutput(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetRotationForCurrentOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetRotationForCurrentOutput)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } } #[repr(C)] @@ -3071,7 +3071,7 @@ pub struct IViewObjectPresentFlipSite2_Vtbl { impl IWebBrowserEventsService { pub unsafe fn FireBeforeNavigate2Event(&self) -> ::windows_core::Result { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).FireBeforeNavigate2Event)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).FireBeforeNavigate2Event)(::windows_core::Interface::as_raw(self), &mut result__).map(|| result__) } pub unsafe fn FireNavigateComplete2Event(&self) -> ::windows_core::Result<()> { (::windows_core::Interface::vtable(self).FireNavigateComplete2Event)(::windows_core::Interface::as_raw(self)).ok() @@ -3101,7 +3101,7 @@ pub struct IWebBrowserEventsService_Vtbl { impl IWebBrowserEventsUrlService { pub unsafe fn GetUrlForEvents(&self) -> ::windows_core::Result<::windows_core::BSTR> { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).GetUrlForEvents)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).GetUrlForEvents)(::windows_core::Interface::as_raw(self), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } } #[repr(C)] @@ -3121,7 +3121,7 @@ impl Iwfolders { P0: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).navigate)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).navigate)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn navigateFrame(&self, bstrurl: P0, bstrtargetframe: P1) -> ::windows_core::Result<::windows_core::BSTR> where @@ -3129,7 +3129,7 @@ impl Iwfolders { P1: ::windows_core::IntoParam<::windows_core::BSTR>, { let mut result__ = ::std::mem::zeroed(); - (::windows_core::Interface::vtable(self).navigateFrame)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), bstrtargetframe.into_param().abi(), &mut result__).from_abi(result__) + (::windows_core::Interface::vtable(self).navigateFrame)(::windows_core::Interface::as_raw(self), bstrurl.into_param().abi(), bstrtargetframe.into_param().abi(), &mut result__).and_then(|| ::windows_core::Type::from_abi(result__)) } pub unsafe fn navigateNoSite(&self, bstrurl: P0, bstrtargetframe: P1, dwhwnd: u32, pwb: P2) -> ::windows_core::Result<()> where diff --git a/crates/samples/components/json_validator_winrt/src/bindings.rs b/crates/samples/components/json_validator_winrt/src/bindings.rs index 37c7c82dc4..51a0823418 100644 --- a/crates/samples/components/json_validator_winrt/src/bindings.rs +++ b/crates/samples/components/json_validator_winrt/src/bindings.rs @@ -58,7 +58,7 @@ impl JsonValidator { ::core::mem::transmute_copy(value), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance( @@ -71,7 +71,7 @@ impl JsonValidator { ::core::mem::transmute_copy(schema), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/samples/components/json_validator_winrt_client/src/bindings.rs b/crates/samples/components/json_validator_winrt_client/src/bindings.rs index 121389f47f..7e7f26bb09 100644 --- a/crates/samples/components/json_validator_winrt_client/src/bindings.rs +++ b/crates/samples/components/json_validator_winrt_client/src/bindings.rs @@ -58,7 +58,7 @@ impl JsonValidator { ::core::mem::transmute_copy(value), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateInstance( @@ -71,7 +71,7 @@ impl JsonValidator { ::core::mem::transmute_copy(schema), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] diff --git a/crates/tests/component/src/bindings.rs b/crates/tests/component/src/bindings.rs index b79d44d76e..a4eb094c30 100644 --- a/crates/tests/component/src/bindings.rs +++ b/crates/tests/component/src/bindings.rs @@ -145,7 +145,7 @@ impl Class { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetProperty(&self, value: i32) -> ::windows_core::Result<()> { @@ -166,7 +166,7 @@ impl Class { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Int32Array( @@ -189,7 +189,7 @@ impl Class { ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _, ) - .and_then(|| result__.assume_init()) + .map(|| result__.assume_init()) } } pub fn StringArray( @@ -214,7 +214,7 @@ impl Class { ), result__.as_mut_ptr() as *mut _ as _, ) - .and_then(|| result__.assume_init()) + .map(|| result__.assume_init()) } } pub fn Input(&self, a: P0, b: P1, c: P2, d: P3) -> ::windows_core::Result<()> @@ -332,7 +332,7 @@ impl Callback { a, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } diff --git a/crates/tests/component_client/src/bindings.rs b/crates/tests/component_client/src/bindings.rs index a36011b649..2c149184f3 100644 --- a/crates/tests/component_client/src/bindings.rs +++ b/crates/tests/component_client/src/bindings.rs @@ -113,7 +113,7 @@ impl Class { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetProperty(&self, value: i32) -> ::windows_core::Result<()> { @@ -134,7 +134,7 @@ impl Class { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Int32Array( @@ -157,7 +157,7 @@ impl Class { ::windows_core::Array::::set_abi_len(::std::mem::transmute(&mut result__)), result__.as_mut_ptr() as *mut _ as _, ) - .and_then(|| result__.assume_init()) + .map(|| result__.assume_init()) } } pub fn StringArray( @@ -182,7 +182,7 @@ impl Class { ), result__.as_mut_ptr() as *mut _ as _, ) - .and_then(|| result__.assume_init()) + .map(|| result__.assume_init()) } } pub fn Input(&self, a: P0, b: P1, c: P2, d: P3) -> ::windows_core::Result<()> @@ -300,7 +300,7 @@ impl Callback { a, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } diff --git a/crates/tests/riddle/src/generic_interfaces.rs b/crates/tests/riddle/src/generic_interfaces.rs index 0196546d89..f31a0f947b 100644 --- a/crates/tests/riddle/src/generic_interfaces.rs +++ b/crates/tests/riddle/src/generic_interfaces.rs @@ -29,7 +29,7 @@ impl IIterable { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -83,7 +83,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn get_HasCurrent(&self) -> ::windows_core::Result { @@ -94,7 +94,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { @@ -105,7 +105,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } @@ -170,7 +170,7 @@ impl ::windows_core::Result { @@ -181,7 +181,7 @@ impl ::windows_core::Result { @@ -277,7 +277,7 @@ impl( @@ -295,7 +295,7 @@ impl ::windows_core::Result>> { @@ -306,7 +306,7 @@ impl ::windows_core::Result { @@ -46,7 +46,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn U8(&self, a: &mut u8, b: &mut u8) -> ::windows_core::Result { @@ -59,7 +59,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn I16(&self, a: &mut i16, b: &mut i16) -> ::windows_core::Result { @@ -72,7 +72,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn U16(&self, a: &mut u16, b: &mut u16) -> ::windows_core::Result { @@ -85,7 +85,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn I32(&self, a: &mut i32, b: &mut i32) -> ::windows_core::Result { @@ -98,7 +98,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn U32(&self, a: &mut u32, b: &mut u32) -> ::windows_core::Result { @@ -111,7 +111,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn I64(&self, a: &mut i64, b: &mut i64) -> ::windows_core::Result { @@ -124,7 +124,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn U64(&self, a: &mut u64, b: &mut u64) -> ::windows_core::Result { @@ -137,7 +137,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn F32(&self, a: &mut f32, b: &mut f32) -> ::windows_core::Result { @@ -150,7 +150,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn F64(&self, a: &mut f64, b: &mut f64) -> ::windows_core::Result { @@ -163,7 +163,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn ISize(&self, a: &mut isize, b: &mut isize) -> ::windows_core::Result { @@ -176,7 +176,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn USize(&self, a: &mut usize, b: &mut usize) -> ::windows_core::Result { @@ -189,7 +189,7 @@ impl IParams { b, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } diff --git a/crates/tests/standalone/src/b_calendar.rs b/crates/tests/standalone/src/b_calendar.rs index 4e44ddd092..2baa71d617 100644 --- a/crates/tests/standalone/src/b_calendar.rs +++ b/crates/tests/standalone/src/b_calendar.rs @@ -39,7 +39,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetToMin(&self) -> ::windows_core::Result<()> { @@ -68,7 +68,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -79,7 +79,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -100,7 +100,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeCalendarSystem( @@ -124,7 +124,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeClock(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -145,7 +145,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetDateTime(&self, value: DateTime) -> ::windows_core::Result<()> { @@ -175,7 +175,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastEra(&self) -> ::windows_core::Result { @@ -186,7 +186,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfEras(&self) -> ::windows_core::Result { @@ -197,7 +197,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Era(&self) -> ::windows_core::Result { @@ -208,7 +208,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetEra(&self, value: i32) -> ::windows_core::Result<()> { @@ -239,7 +239,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EraAsString(&self, ideallength: i32) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -251,7 +251,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstYearInThisEra(&self) -> ::windows_core::Result { @@ -262,7 +262,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastYearInThisEra(&self) -> ::windows_core::Result { @@ -273,7 +273,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfYearsInThisEra(&self) -> ::windows_core::Result { @@ -284,7 +284,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Year(&self) -> ::windows_core::Result { @@ -295,7 +295,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetYear(&self, value: i32) -> ::windows_core::Result<()> { @@ -326,7 +326,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsTruncatedString( @@ -341,7 +341,7 @@ impl Calendar { remainingdigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsPaddedString( @@ -356,7 +356,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstMonthInThisYear(&self) -> ::windows_core::Result { @@ -367,7 +367,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastMonthInThisYear(&self) -> ::windows_core::Result { @@ -378,7 +378,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfMonthsInThisYear(&self) -> ::windows_core::Result { @@ -389,7 +389,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Month(&self) -> ::windows_core::Result { @@ -400,7 +400,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetMonth(&self, value: i32) -> ::windows_core::Result<()> { @@ -431,7 +431,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsString( @@ -446,7 +446,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -457,7 +457,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsSoloString( @@ -472,7 +472,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsNumericString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -483,7 +483,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsPaddedNumericString( @@ -498,7 +498,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddWeeks(&self, weeks: i32) -> ::windows_core::Result<()> { @@ -519,7 +519,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastDayInThisMonth(&self) -> ::windows_core::Result { @@ -530,7 +530,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfDaysInThisMonth(&self) -> ::windows_core::Result { @@ -541,7 +541,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Day(&self) -> ::windows_core::Result { @@ -552,7 +552,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetDay(&self, value: i32) -> ::windows_core::Result<()> { @@ -583,7 +583,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayAsPaddedString( @@ -598,7 +598,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeek(&self) -> ::windows_core::Result { @@ -609,7 +609,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn DayOfWeekAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -620,7 +620,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsString( @@ -635,7 +635,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -646,7 +646,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsSoloString( @@ -661,7 +661,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstPeriodInThisDay(&self) -> ::windows_core::Result { @@ -672,7 +672,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastPeriodInThisDay(&self) -> ::windows_core::Result { @@ -683,7 +683,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfPeriodsInThisDay(&self) -> ::windows_core::Result { @@ -694,7 +694,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Period(&self) -> ::windows_core::Result { @@ -705,7 +705,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetPeriod(&self, value: i32) -> ::windows_core::Result<()> { @@ -736,7 +736,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PeriodAsString( @@ -751,7 +751,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstHourInThisPeriod(&self) -> ::windows_core::Result { @@ -762,7 +762,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastHourInThisPeriod(&self) -> ::windows_core::Result { @@ -773,7 +773,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfHoursInThisPeriod(&self) -> ::windows_core::Result { @@ -784,7 +784,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Hour(&self) -> ::windows_core::Result { @@ -795,7 +795,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetHour(&self, value: i32) -> ::windows_core::Result<()> { @@ -826,7 +826,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HourAsPaddedString( @@ -841,7 +841,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Minute(&self) -> ::windows_core::Result { @@ -852,7 +852,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetMinute(&self, value: i32) -> ::windows_core::Result<()> { @@ -883,7 +883,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinuteAsPaddedString( @@ -898,7 +898,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Second(&self) -> ::windows_core::Result { @@ -909,7 +909,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetSecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -940,7 +940,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SecondAsPaddedString( @@ -955,7 +955,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Nanosecond(&self) -> ::windows_core::Result { @@ -966,7 +966,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetNanosecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -997,7 +997,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NanosecondAsPaddedString( @@ -1012,7 +1012,7 @@ impl Calendar { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compare(&self, other: P0) -> ::windows_core::Result @@ -1027,7 +1027,7 @@ impl Calendar { other.into_param().abi(), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CompareDateTime(&self, other: DateTime) -> ::windows_core::Result { @@ -1039,7 +1039,7 @@ impl Calendar { other, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CopyTo(&self, other: P0) -> ::windows_core::Result<()> @@ -1063,7 +1063,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastMinuteInThisHour(&self) -> ::windows_core::Result { @@ -1074,7 +1074,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfMinutesInThisHour(&self) -> ::windows_core::Result { @@ -1085,7 +1085,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn FirstSecondInThisMinute(&self) -> ::windows_core::Result { @@ -1096,7 +1096,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastSecondInThisMinute(&self) -> ::windows_core::Result { @@ -1107,7 +1107,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfSecondsInThisMinute(&self) -> ::windows_core::Result { @@ -1118,7 +1118,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1129,7 +1129,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDaylightSavingTime(&self) -> ::windows_core::Result { @@ -1140,7 +1140,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CreateCalendarDefaultCalendarAndClock( @@ -1156,7 +1156,7 @@ impl Calendar { languages.into_param().abi(), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCalendar( @@ -1176,7 +1176,7 @@ impl Calendar { ::core::mem::transmute_copy(clock), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCalendarWithTimeZone( @@ -1198,7 +1198,7 @@ impl Calendar { ::core::mem::transmute_copy(timezoneid), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTimeZone(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1209,7 +1209,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTimeZone( @@ -1233,7 +1233,7 @@ impl Calendar { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeZoneAsString( @@ -1248,7 +1248,7 @@ impl Calendar { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -1708,7 +1708,7 @@ impl IIterable { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -1776,7 +1776,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasCurrent(&self) -> ::windows_core::Result { @@ -1787,7 +1787,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { @@ -1798,7 +1798,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -1814,7 +1814,7 @@ impl IIterator { ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } @@ -1921,7 +1921,7 @@ impl IVectorView { index, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { @@ -1932,7 +1932,7 @@ impl IVectorView { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -1948,7 +1948,7 @@ impl IVectorView { index, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -1966,7 +1966,7 @@ impl IVectorView { ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn First(&self) -> ::windows_core::Result> { @@ -1977,7 +1977,7 @@ impl IVectorView { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/tests/standalone/src/b_stringable.rs b/crates/tests/standalone/src/b_stringable.rs index 99cca0ef34..5447b3c668 100644 --- a/crates/tests/standalone/src/b_stringable.rs +++ b/crates/tests/standalone/src/b_stringable.rs @@ -26,7 +26,7 @@ impl IStringable { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } diff --git a/crates/tests/standalone/src/b_uri.rs b/crates/tests/standalone/src/b_uri.rs index 66ee08fac9..8ee713176c 100644 --- a/crates/tests/standalone/src/b_uri.rs +++ b/crates/tests/standalone/src/b_uri.rs @@ -29,7 +29,7 @@ impl IIterable { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -97,7 +97,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasCurrent(&self) -> ::windows_core::Result { @@ -108,7 +108,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { @@ -119,7 +119,7 @@ impl IIterator { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -135,7 +135,7 @@ impl IIterator { ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } @@ -206,7 +206,7 @@ impl IStringable { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -386,7 +386,7 @@ impl IVectorView { index, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { @@ -397,7 +397,7 @@ impl IVectorView { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -413,7 +413,7 @@ impl IVectorView { index, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -431,7 +431,7 @@ impl IVectorView { ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn First(&self) -> ::windows_core::Result> { @@ -442,7 +442,7 @@ impl IVectorView { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -546,7 +546,7 @@ impl IWwwFormUrlDecoderEntry { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Value(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -557,7 +557,7 @@ impl IWwwFormUrlDecoderEntry { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } @@ -626,7 +626,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UnescapeComponent( @@ -639,7 +639,7 @@ impl Uri { ::core::mem::transmute_copy(tounescape), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn EscapeComponent( @@ -652,7 +652,7 @@ impl Uri { ::core::mem::transmute_copy(toescape), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AbsoluteUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -663,7 +663,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -674,7 +674,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Domain(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -685,7 +685,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Extension(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -696,7 +696,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Fragment(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -707,7 +707,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Host(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -718,7 +718,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Password(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -729,7 +729,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Path(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -740,7 +740,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Query(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -751,7 +751,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn QueryParsed(&self) -> ::windows_core::Result { @@ -762,7 +762,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn RawUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -773,7 +773,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SchemeName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -784,7 +784,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn UserName(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -795,7 +795,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Port(&self) -> ::windows_core::Result { @@ -806,7 +806,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Suspicious(&self) -> ::windows_core::Result { @@ -817,7 +817,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Equals(&self, puri: P0) -> ::windows_core::Result @@ -832,7 +832,7 @@ impl Uri { puri.into_param().abi(), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CombineUri(&self, relativeuri: &::windows_core::HSTRING) -> ::windows_core::Result { @@ -844,7 +844,7 @@ impl Uri { ::core::mem::transmute_copy(relativeuri), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateUri(uri: &::windows_core::HSTRING) -> ::windows_core::Result { @@ -855,7 +855,7 @@ impl Uri { ::core::mem::transmute_copy(uri), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateWithRelativeUri( @@ -870,7 +870,7 @@ impl Uri { ::core::mem::transmute_copy(relativeuri), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn AbsoluteCanonicalUri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -882,7 +882,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DisplayIri(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -894,7 +894,7 @@ impl Uri { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -952,7 +952,7 @@ impl WwwFormUrlDecoder { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn GetAt(&self, index: u32) -> ::windows_core::Result { @@ -964,7 +964,7 @@ impl WwwFormUrlDecoder { index, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { @@ -975,7 +975,7 @@ impl WwwFormUrlDecoder { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -991,7 +991,7 @@ impl WwwFormUrlDecoder { index, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -1009,7 +1009,7 @@ impl WwwFormUrlDecoder { ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetFirstValueByName( @@ -1024,7 +1024,7 @@ impl WwwFormUrlDecoder { ::core::mem::transmute_copy(name), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn CreateWwwFormUrlDecoder( @@ -1037,7 +1037,7 @@ impl WwwFormUrlDecoder { ::core::mem::transmute_copy(query), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } #[doc(hidden)]